returns required | object | Per-period historical return series by symbol. All series must be the same length (≥2 observations). |
weights required | object | Portfolio weights by symbol. Must cover exactly the same symbols as `returns` and sum to 1. |
riskFreeRate | number | Annualized risk-free rate, e.g. 0.04 for 4%. |
periodsPerYear | number | Periods per year in the return series (252 for daily equities, 365 for daily crypto). |
confidenceLevels | array | Confidence levels for VaR/Expected Shortfall. Supported: 0.9, 0.95, 0.975, 0.99, 0.995. |
baseCurrency | string | |
minimumAcceptableReturn | number | Per-period MAR used for downside deviation / Sortino ratio. |
benchmarkReturns | array | Optional per-period benchmark series (same length as each `returns` series) to compute beta and correlation. |
currencyExposure | object | Optional weight distribution by currency, for concentration analysis. |
geographyExposure | object | Optional weight distribution by geography, for concentration analysis. |
sectorExposure | object | Optional weight distribution by sector, for concentration analysis. |
stressScenarios | array | Optional stress scenarios. Shocks on the listed symbols propagate to unshocked symbols via covariance-based beta mapping (correlated impact), alongside the direct-only impact. |