ผลตอบแทนและความเสี่ยงแบบ Exponentially Weighted
ในแบบฝึกหัดนี้ คุณจะทำการ optimize พอร์ตโฟลิโอด้วยวิธีการประเมินความเสี่ยงและผลตอบแทนที่แตกต่างออกไปเล็กน้อย นั่นคือการให้น้ำหนักกับข้อมูลล่าสุดมากขึ้นในกระบวนการ optimization
วิธีนี้เป็นแนวทางที่ชาญฉลาดในการรับมือกับข้อมูลหุ้นที่มักไม่อยู่ในสถานะ stationary กล่าวคือ การกระจายของข้อมูลเปลี่ยนแปลงไปตามเวลา การนำไปใช้งานทำได้อย่างรวดเร็วโดยเปลี่ยนโมเดลความเสี่ยงที่ใช้คำนวณ Sigma และวิธีคำนวณผลตอบแทนเพื่อหา mu ชุดข้อมูลราคาหุ้นพร้อมใช้งานในตัวแปร stock_prices แล้ว มาลองทำกันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์พอร์ตโฟลิโอด้วย Python
คำแนะนำการฝึกหัด
- ใช้ exponential weighted covariance matrix จาก
risk_modelsและฟังก์ชัน exponential weighted historical returns จากexpected_returnsเพื่อคำนวณSigmaและmuโดยกำหนด span เป็น 180 และ frequency (จำนวนวันซื้อขาย) เป็น 252 - คำนวณ efficient frontier ด้วย
muและSigmaชุดใหม่ - คำนวณค่าน้ำหนักสำหรับพอร์ตโฟลิโอที่มี Sharpe ratio สูงสุด
- ดึงรายงานประสิทธิภาพของพอร์ตโฟลิโอ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)
# Calculate the efficient frontier
ef = ____(____, ____)
# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()
# Show portfolio performance
ef.____(verbose=True)