Model disagreement
Compare long-window, short-window and EWMA covariance estimates.
Explore how uncertainty-aware risk budgeting changes allocations, forecast disagreement, and the cost of protection.
Annualized volatility across three estimated covariance matrices.
Forecast estimates, not realized investment performance.
| Metric | Standard | UQ |
|---|
Three risk estimates reveal model disagreement. Historical forecasting errors inform a risk margin. Every allocation exposes the trade-off between risk protection and expected return.
Compare long-window, short-window and EWMA covariance estimates.
Use only completed months to measure historical volatility underprediction.
Require allocation feasibility under the selected risk scenarios.
Show risk, return assumptions, weight changes and rebalancing costs.
Pass your own daily returns and holdings. The full library uses SciPy; this static page uses a checked browser approximation.
from portfolio_risk_lab import PortfolioAnalyzer
lab = PortfolioAnalyzer(
returns,
cash_asset="Cash_Proxy",
risk_budget=0.12,
max_weight=0.40
)
result = lab.compare(
methods=["standard", "scenario_robust"],
uncertainty="historical_calibration"
)
print(result.risk_budget_analysis)pip install -e .