Fund analytics
GET /v1/funds/{fund_id}/analytics 🔑
Performance analytics computed server-side from the fund's full daily NAV history, so you don't have to do the maths yourself.
curl -H "X-API-Key: pk_live_xxx" "https://api.pakdatahub.com/v1/funds/12843/analytics"
{
"success": true,
"fund_id": 12843,
"trailing_returns": { "1m": -3.38, "3m": -3.35, "6m": 9.44, "ytd": -6.3, "1y": -0.11,
"3y": 160.7, "5y": 130.68, "since_inception": 126.04 },
"annualized_returns": { "3y": 37.66, "5y": 18.21 },
"cagr_since_inception": 8.14,
"volatility_annualized": 21.96,
"max_drawdown": -57.0,
"first_date": "2016-04-18",
"last_date": "2026-09-18",
"observations": 3379
}
| Field | Meaning |
|---|---|
trailing_returns.* |
Total % change in NAV over the period, ending at last_date. ytd runs from the calendar year start |
annualized_returns.3y/5y |
CAGR-style annualized % over 3 and 5 years |
cagr_since_inception |
Annualized % from the first NAV |
volatility_annualized |
Standard deviation of month-end returns, annualized, in % |
max_drawdown |
Largest peak-to-trough fall, in % (negative) |
observations |
NAV points used |
Notes
- Returns are computed from NAV, so dividend payouts show up as NAV drops on the ex-date. For income funds that distribute heavily, compare with MUFAP's published returns (
/returns), which account for payouts. - A period longer than the fund's history returns
null. On Free and Developer plans, NAVs older than your history window aren't used, so long-horizon fields may benull. - Results are cached for about an hour; NAVs update daily.