相关与协方差

Python 投资组合风险管理入门

Dakota Wixom

Quantitative Analyst | QuantCourse.com

皮尔逊相关

两个随机变量不同相关性的示例:

Python 投资组合风险管理入门

皮尔逊相关

相关矩阵的热力图:

Python 投资组合风险管理入门

Python 中的相关矩阵

假设 StockReturns 是包含股票收益的 pandas DataFrame,可按如下计算相关矩阵:

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Python 投资组合风险管理入门

组合标准差

双资产组合的标准差:

$$ \sigma_p = \sqrt{ w_1^2 \sigma_1^2 + w_2^2 \sigma_2^2 + 2 w_1 w_2 \rho_{1, 2} \sigma_1 \sigma_2 }$$

  • $\sigma_p$:组合标准差
  • w:资产权重
  • $\sigma$:资产波动率
  • $\rho_{1, 2}$:资产 1 与 2 的相关系数
Python 投资组合风险管理入门

协方差矩阵

计算收益 X 的协方差矩阵($ \Sigma $):

Python 投资组合风险管理入门

Python 中的协方差矩阵

假设 StockReturns 是包含股票收益的 pandas DataFrame,可按如下计算协方差矩阵:

cov_mat = StockReturns.cov()
cov_mat

Python 投资组合风险管理入门

协方差矩阵的年化

将协方差矩阵年化:

cov_mat_annual = cov_mat * 252
Python 投资组合风险管理入门

用协方差计算组合标准差

投资组合波动率公式:

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

  • $ \sigma_{Portfolio} $:组合波动率
  • $ \Sigma $:收益的协方差矩阵
  • w:组合权重($ w_T $ 为转置)
  • $ \cdot $ 点乘运算符
Python 投资组合风险管理入门

矩阵转置

矩阵转置示例:

Python 投资组合风险管理入门

点积

两个向量 ab点积

Python 投资组合风险管理入门

用 Python 计算组合标准差

计算组合波动率时,给定权重数组与协方差矩阵:

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Python 投资组合风险管理入门

Passons à la pratique !

Python 投资组合风险管理入门

Preparing Video For Download...