동적 포트폴리오 분산 계산
이 연습 문제에서는 GARCH 기반의 동적 공분산을 사용해 두 자산으로 구성된 간단한 포트폴리오의 분산을 계산해 봅니다.
현대 포트폴리오 이론에 따르면, 분산 효과를 활용해 목표 기대수익을 최소한의 위험으로 달성하도록 포트폴리오를 최적으로 구성할 수 있습니다. 특히 자산 수익률 간 공분산이 음수일 때 이 효과가 두드러집니다.
두 자산만 포함된 포트폴리오, 즉 EUR/USD와 CAD/USD 통화쌍이 있다고 가정해 봅시다. GARCH 모델에서 얻은 각 자산의 분산은 variance_eur와 variance_cad에 저장되어 있고, 공분산은 covariance에 저장되어 있습니다. 두 자산의 가중치를 바꿔 가며 전체 포트폴리오 분산을 계산하고, 그 차이를 시각화하세요.
이 연습은 강의의 일부입니다
Python으로 배우는 GARCH 모델
연습 안내
- 포트폴리오 a에서 EUR/USD의 가중치
Wa1을 0.9로, 포트폴리오 b에서Wb1을 0.5로 설정하세요. - 포트폴리오 a의 분산
portvar_a를variance_eur,variance_cad,covariance로 계산하세요. 같은 방식으로 포트폴리오 b의portvar_b도 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define weights
Wa1 = ____
Wa2 = 1 - Wa1
Wb1 = ____
Wb2 = 1 - Wb1
# Calculate portfolio variance
portvar_a = Wa1**2 * ____ + Wa2**2 * ____ + 2*Wa1*Wa2 *____
portvar_b = Wb1**2 * ____ + Wb2**2 * ____ + 2*Wb1*Wb2*____
# Plot the data
plt.plot(portvar_a, color = 'green', label = 'Portfolio a')
plt.plot(portvar_b, color = 'deepskyblue', label = 'Portfolio b')
plt.legend(loc = 'upper right')
plt.show()