Portfolio standard deviation

In order to calculate portfolio volatility, you will need the covariance matrix, the portfolio weights, and knowledge of the transpose operation. The transpose of a numpy array can be calculated using the .T attribute. The np.dot() function is the dot-product of two arrays.

The formula for portfolio volatility is:

$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$

  • \( \sigma_{Portfolio} \): Portfolio volatility
  • \( \Sigma \): Covariance matrix of returns
  • w: Portfolio weights (\( w_T \) is transposed portfolio weights)
  • \( \cdot \) The dot-multiplication operator

portfolio_weights and cov_mat_annual are available in your workspace.

This is a part of the course

“Introduction to Portfolio Risk Management in Python”

View Course

Exercise instructions

Calculate the portfolio volatility assuming you use the portfolio_weights by following the formula above.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Import numpy as np
import numpy as np

# Calculate the portfolio standard deviation
portfolio_volatility = ____(np.dot(portfolio_weights.T, np.dot(cov_mat_annual, portfolio_weights)))
print(portfolio_volatility)