Performance
Performance endpoints return Time-Weighted Return (TWR) series for a reporting entity over an arbitrary period, plus a separate set of metrics for private-market exposure where TWR doesn't apply cleanly. Public-market and private-market performance are split because they answer different questions and the second one requires commitment / call / distribution data only meaningful for illiquid holdings.
How TWR is computed
Aleta computes daily TWR with a flow-timing convention: positive net flows are assumed invested at the start of the day, negative flows at the end of the day. Cumulative TWR over a window is the chained product of the daily figures:
TWR_cum = ∏_d (1 + TWR_d) − 1
The convention matters for inter-vendor reconciliation — Aleta's daily numbers will differ from a Modified Dietz daily approximation when intra-day flows are large.
Expand parameters
The performance endpoints accept an expand query parameter that breaks the response down by an additional axis. Pass it more than once to expand multiple axes simultaneously.
- Name
- portfolios
- Type
- expand axis
- Description
Break performance out per portfolio inside the reporting entity.
- Name
- depositories
- Type
- expand axis
- Description
Break performance out per depository.
- Name
- instruments
- Type
- expand axis
- Description
Break performance out per instrument held over the window.
- Name
- instrumentClasses
- Type
- expand axis
- Description
Break performance out per top-level instrument class (C1).
- Name
- instrumentClassesDetailed
- Type
- expand axis
- Description
Break performance out per detailed instrument class (C2).
Performance series
Daily TWR series over the requested window in the reporting entity's reference currency.
Query parameters
- Name
- fromDate
- Type
- ISO 8601 date
- Description
Inclusive lower bound of the performance window.
- Name
- toDate
- Type
- ISO 8601 date
- Description
Inclusive upper bound of the performance window.
- Name
- expand
- Type
- repeated
- Description
Optional. Pass once per axis to expand — see the list above.
Request
curl -G https://platform.aleta.io/api/v2/performance/reporting-entities/{id} \
-H "Authorization: Bearer {access_token}" \
-d fromDate=2026-01-01 \
-d toDate=2026-03-31 \
-d expand=portfolios \
-d expand=instrumentClasses
Summarized performance
A pre-aggregated rollup over the same window — total return, period contribution, and the headline figures dashboards typically render. Cheaper than fetching the full daily series when you only need the summary.
Request
curl -G https://platform.aleta.io/api/v2/summarized-performance/reporting-entities/{id} \
-H "Authorization: Bearer {access_token}" \
-d fromDate=2026-01-01 \
-d toDate=2026-03-31
Private-market performance
Separate endpoint because the right metrics are different — IRR, TVPI, DPI, and RVPI rather than TWR. Drawdowns don't apply the same way when capital is called over time rather than invested up front.
Request
curl https://platform.aleta.io/api/v2/performance/reporting-entities/{id}/private-markets \
-H "Authorization: Bearer {access_token}"
Related
- Reporting entities — the scope performance is computed against.
- Transactions — the ledger TWR is computed off.
- Holdings (v3) — the position state implied by the same ledger.