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 } $$
행렬 전치 연산의 예:

두 벡터 a와 b의 내적 연산:

포트폴리오 변동성 계산을 위해 비중 배열과 공분산 행렬을 가정합니다:
import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Python으로 시작하는 포트폴리오 리스크 관리