คำนวณ variance ของพอร์ตโฟลิโอแบบ dynamic
ในแบบฝึกหัดนี้ จะได้ฝึกคำนวณ variance ของพอร์ตโฟลิโอแบบสองสินทรัพย์ โดยใช้ dynamic covariance จากโมเดล GARCH
ทฤษฎีพอร์ตโฟลิโอสมัยใหม่ (Modern Portfolio Theory) ระบุว่ามีวิธีที่เหมาะสมที่สุดในการจัดสรรพอร์ตโฟลิโอ เพื่อใช้ประโยชน์จากเอฟเฟกต์การกระจายความเสี่ยง ทำให้ได้ผลตอบแทนที่ต้องการโดยรับความเสี่ยงน้อยที่สุด เอฟเฟกต์นี้จะเห็นได้ชัดเป็นพิเศษเมื่อ covariance ระหว่างผลตอบแทนของสินทรัพย์มีค่าติดลบ
สมมติว่ามีพอร์ตโฟลิโอที่ประกอบด้วยสินทรัพย์เพียงสองชนิด ได้แก่ คู่สกุลเงิน EUR/USD และ CAD/USD โดย variance จากโมเดล GARCH ถูกบันทึกไว้ใน variance_eur และ variance_cad ส่วน covariance ได้คำนวณและบันทึกไว้ใน covariance ให้คำนวณ variance รวมของพอร์ตโฟลิโอโดยปรับเปลี่ยนสัดส่วนน้ำหนักของสินทรัพย์ทั้งสอง แล้วแสดงผลการเปรียบเทียบ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
GARCH Models ใน Python
คำแนะนำการฝึกหัด
- กำหนดน้ำหนักของ EUR/USD คือ
Wa1ในพอร์ตโฟลิโอ a เป็น 0.9 และWb1ในพอร์ตโฟลิโอ b เป็น 0.5 - คำนวณ variance
portvar_aสำหรับพอร์ตโฟลิโอ a โดยใช้variance_eur,variance_cadและcovarianceแล้วทำแบบเดียวกันเพื่อคำนวณportvar_bสำหรับพอร์ตโฟลิโอ 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()