Implied Risk Premia

10Charts
4Assets
25Years
Part 1

Data Generation

Synthetic multi-asset returns generated with realistic volatility clustering. We simulate Equity, Bond, Commodity, and Currency returns using multivariate normal distributions with time-varying covariance to capture market dynamics.

Multi-Asset Returns
Multi-Asset Returns
Cumulative Performance
Cumulative Performance
Part 2

GARCH Models

GARCH(1,1) models conditional volatility: sigma_t^2 = omega + alpha*epsilon_{t-1}^2 + beta*sigma_{t-1}^2. Stationarity requires alpha + beta < 1. The unconditional variance is sigma^2 = omega/(1-alpha-beta). Forecasts converge to long-run volatility.

GARCH Volatility Forecast
GARCH Volatility Forecast
Volatility Surface
Volatility Surface
Part 3

Covariance Estimation

EWMA covariance: Sigma_t = lambda*Sigma_{t-1} + (1-lambda)*r_t*r_t^T with lambda=0.94 (11-day half-life). Sample covariance: Sigma_hat = (1/T)*sum(r_t*r_t^T). Higham's algorithm projects non-PSD matrices to nearest valid covariance.

Asset Correlation Matrix
Asset Correlation Matrix
Time-Varying Variance
Time-Varying Variance
Part 4

PCA & Risk Premia

Eigendecomposition Sigma = Q*Lambda*Q^T identifies principal factors. Variance explained by PC_k is lambda_k/sum(lambda). Factor risk premia lambda_k = E[F_k] - R^f estimated via cross-sectional regression.

PCA Scree Plot
PCA Scree Plot
Factor Loadings
Factor Loadings
Factor Risk Premia
Factor Risk Premia
Rolling Risk Premia
Rolling Risk Premia

Key Formulas

GARCH: \(\sigma_t^2 = \omega + \alpha\varepsilon_{t-1}^2 + \beta\sigma_{t-1}^2\) EWMA: \(\Sigma_t = \lambda\Sigma_{t-1} + (1-\lambda)r_tr_t^T\) PCA: \(\Sigma = Q\Lambda Q^T\)