View as Markdown

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).


GET/api/v2/performance/reporting-entities/{id}

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

GET/api/v2/performance/reporting-entities/{id}
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

GET/api/v2/summarized-performance/reporting-entities/{id}

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

GET/api/v2/summarized-performance/reporting-entities/{id}
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

GET/api/v2/performance/reporting-entities/{id}/private-markets

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

GET/api/v2/performance/reporting-entities/{id}/private-markets
curl https://platform.aleta.io/api/v2/performance/reporting-entities/{id}/private-markets \
  -H "Authorization: Bearer {access_token}"