Exposure history feed, daily — every trading day for a list of names (join locally)
Daily version of POST /portfolio/exposure/history: the same columns, with the same start dates, for every trading day from 2010-12-08 (or start), read directly from the ERM3 hedge-weights and returns stores. Names are delivered as one Parquet file per calendar year (files.names.parts); the ETF covariance stays month-end, and each day should use the latest month-end on or before it (the Python SDK does this: client.exposure_history(tickers, frequency="daily")). Tickers only; holdings never leave the client. Derived data only.
Large requests take longer: measured 2026-10-08 on history back to 2006 (before the served-history start applied), 1000 names read in ~18 s and wrote ~95 MB of Parquet in ~51 s. Identical requests reuse the stored files.
Billing: per successful call, by names delivered: $2.50 up to 25, $10.00 above 25. A request with nothing to deliver returns 422 and is not charged.
Request
- Base URL: https://riskmodels.app/api
- URL: https://riskmodels.app/api/portfolio/exposure/history/daily
- Auth: HTTP bearer
Request body
Response
Signed Parquet URLs (names per year, month-end covariance) plus coverage, history_available_from and warnings (same shape as /portfolio/exposure/history).
Changes
No recorded changes to this operation across all 1 revision of this API.