เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ผลตอบแทนและความเสี่ยงแบบ 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)
แก้ไขและรันโค้ด