Pythonで学ぶポートフォリオ・リスク管理入門
Dakota Wixom
Quantitative Analyst | QuantCourse.com


StockReturns が株式リターンの pandas DataFrame の場合、相関行列は以下のように計算できます:
correlation_matrix = StockReturns.corr()
print(correlation_matrix)

2資産ポートフォリオの標準偏差:
$$ \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 }$$
リターンXの共分散行列($ \Sigma $)の計算式:

StockReturns が株式リターンの pandas DataFrame の場合、共分散行列は以下のように計算できます:
cov_mat = StockReturns.cov()
cov_mat

共分散行列を年率化するには:
cov_mat_annual = cov_mat * 252
ポートフォリオボラティリティの計算式:
$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$
行列転置演算の例:

2つのベクトル a と b のドット積演算:

ポートフォリオボラティリティの計算には、ウェイト配列と共分散行列を使用します:
import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Pythonで学ぶポートフォリオ・リスク管理入門