Get Performance Analytics

Live NAV-based performance and risk metrics for 1-20 funds, with peer enrichment.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Request body for POST /api/portfolio/performance-analytics.

Two mutually exclusive date-range modes:

  • Mode Aas_of + horizon: evaluation window ends at
    as_of, starts horizon before it.
  • Mode Bstart_date + end_date: explicit window.

Trailing-only callers still send a full Mode A or Mode B payload;
trailing ignores horizon (Mode A) or start_date (Mode B) and
always emits its 9 fixed-horizon points anchored at as_of (Mode A)
or end_date (Mode B).

  • rolling_window is required when rolling_return in metrics.
  • discrete_returns_frequency is required when discrete_return
    in metrics.

frequency (the old top-level cadence field) is gone: rolling is
hardcoded daily, discrete uses discrete_returns_frequency, trailing
has no cadence, and non-return metrics (volatility / sharpe / sortino /
max_drawdown) never used it.

instrument_ids
array of strings
required
length between 1 and 20

1–20 instrument unique_ids

Instrument Ids*
metrics
array of strings
required
length ≥ 1
Defaults to cumulative_return,volatility

One or more metric tokens

Metrics*
string

unique_id of the instrument beta / treynor / up_capture / down_capture are measured against — normally the fund the caller selected as its benchmark. There is no default: without it those four metrics are null rather than silently measured against an index the caller never chose. The response's benchmark_name name the leg actually used.

string
enum

Trailing lookback for rolling_return at each daily anchor. Required when 'rolling_return' is in metrics; ignored otherwise. Options: 3M | 6M | 1Y.

Allowed:
string
enum

Bucket cadence for discrete_return (calendar-aligned). Required when 'discrete_return' is in metrics; ignored otherwise. Options: monthly | quarterly | annual.

Allowed:
string
enum
Defaults to monthly

Return cadence for volatility / sharpe / sortino. 'monthly' (default) resamples NAV to month-end and annualises by sqrt(12), matching how AMFI factsheets publish these figures. 'daily' keeps the raw NAV series and annualises by sqrt(252). Ignored by every other metric.

Allowed:
boolean
Defaults to false

If true, every point in every metric series carries a 'category_avg' field with the peer average for that metric at that step.

boolean
Defaults to false

If true, every point in every rankable metric series carries 'rank' and 'out_of' fields with the fund's DENSE_RANK against category peers on that metric at that step.

date

Mode A: last evaluation point / trailing anchor

string
enum

Mode A: outer window size — as_of − horizon becomes the evaluation window start. Ignored by trailing_return. Full HorizonToken set including 10Y, YTD, MAX.

date

Mode B: first evaluation point

date

Mode B: last evaluation point / trailing anchor

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json