Annualizing Portfolio Volatility from Daily Covariance
Summary
The document asks whether portfolio volatility can be annualized by computing daily portfolio variance from asset weights and the return covariance matrix, then multiplying the resulting standard deviation by the square root of the number of trading days in a year. It contrasts this with annualizing individual asset returns before weighting them, and focuses on the correct treatment of portfolio risk across multiple assets.
The excerpt poses the question but does not include an answer, derivation, or empirical evidence. Its proposed calculation relies on the usual square-root-of-time convention for volatility; that convention assumes returns are sufficiently independent and variance is stable over the period. The covariance matrix must also correspond to the same daily return observations and weight convention as the portfolio calculation. The source therefore frames a useful portfolio-measurement issue but leaves its assumptions and limitations unresolved.
Key ideas
- Portfolio daily volatility can be calculated from portfolio weights and the assets’ return covariance matrix.
- The proposed annualization scales daily volatility by the square root of annual trading days.
- The document does not provide an answer or evidence validating the proposed calculation.
- Square-root-of-time annualization depends on assumptions about return dependence and variance stability.
Tags
Full text
# How to properly annualize portfolio volatility
# How to properly annualize portfolio volatility
I have a portfolio consisting of several assets and I'm using daily data to calculate various portfolio metrics, including historical returns and volatility. In order to compare portfolio performance to other performance metrics I'd like to annualize both returns and volatility.
With returns, it seems pretty simple, I annualize each asset return and then do:
```
weights.T @ annualized_returns
```
where: weights - a list of assets weights in a portfolio.
I'd like to use the same approach for volatility: \begin{equation} \sigma_{p}=\sqrt{\mathbf{w}^{\mathbf{T}} \boldsymbol{\Sigma} \mathbf{w}} \end{equation}
```
covariance_matrix = returns_series.cov()
np.sqrt(weights.T @ covariance_matrix @ weights)*np.sqrt(252)
```
So I'm calculating portfolio daily volatility and then annualizing it by multiplying it by square root of number of trading days in a year.
Will this approach work to properly annualize portfolio volatility?Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.