Risk Methodology
PortRisk measures portfolio risk from supplied positions and available market history. It does not predict prices or recommend buying, selling, or holding an asset.
Risk Score
The 0–100 score combines concentration, average pairwise correlation, and crypto allocation.
Risk Score = 50% concentration + 30% correlation + 20% crypto allocation
- Concentration is the largest position weight multiplied by 1.4 and capped at 100.
- Correlation uses available portfolio pairs. If no valid pair exists, the neutral fallback is 40.
- Crypto allocation is the portfolio weight of non-stock positions, capped at 100.
Historical analytics
VaR and CVaR use the empirical distribution of daily portfolio returns at 95% confidence. The default minimum is 60 common daily observations, and at least 95% of portfolio value must have usable history. Missing weight is disclosed and is not redistributed.
Volatility, Sharpe, and Sortino use 252 trading days when covered positions include stocks and 365 days otherwise. The risk-free rate is zero. Maximum drawdown comes from the historical portfolio curve; beta uses Bitcoin where sufficient aligned history exists.
Stress tests
The selected asset receives the full requested shock. Another position receives cascade impact only when its historical correlation with the selected asset is greater than 0.3. Cascade loss is proportional to value, correlation, and shock size. This is a scenario, not a forecast.
Coverage and data status
Financial responses include an as-of timestamp, freshness, and a state:
- Available — the requested result is available.
- Partial — some provider data, prices, or history are missing or stale.
- Unavailable — the result cannot currently be produced.
Advanced analytics also expose included and excluded assets, sample days, covered portfolio weight, and an unavailable reason.
Versioning and changelog
Material changes to formulas, thresholds, coverage, annualization, or stress propagation require a new public version.
- v2.0 — one implementation for Risk Score, coverage, historical tail risk, and stress tests; explicit coverage and data-as-of fields.