ส่วนเบี่ยงเบนมาตรฐานของพอร์ตโฟลิโอ
ในการคำนวณความผันผวนของพอร์ตโฟลิโอ จำเป็นต้องใช้เมทริกซ์ความแปรปรวนร่วม น้ำหนักของพอร์ตโฟลิโอ และการดำเนินการ Transpose ซึ่ง Transpose ของ NumPy array คำนวณได้จาก attribute .T ส่วนฟังก์ชัน np.dot() ใช้สำหรับคำนวณผลคูณดอตของอาร์เรย์สองชุด
สูตรคำนวณความผันผวนของพอร์ตโฟลิโอคือ:
$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$
- \( \sigma_{Portfolio} \): ความผันผวนของพอร์ตโฟลิโอ
- \( \Sigma \): เมทริกซ์ความแปรปรวนร่วมของผลตอบแทน
- w: น้ำหนักของพอร์ตโฟลิโอ (\( w_T \) คือน้ำหนักที่ผ่านการ Transpose แล้ว)
- \( \cdot \) ตัวดำเนินการคูณแบบดอต
portfolio_weights และ cov_mat_annual พร้อมใช้งานใน workspace แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน
คำแนะนำการฝึกหัด
คำนวณความผันผวนของพอร์ตโฟลิโอโดยใช้ portfolio_weights ตามสูตรข้างต้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import numpy as np
import numpy as np
# Calculate the portfolio standard deviation
portfolio_volatility = ____(np.dot(portfolio_weights.T, np.dot(cov_mat_annual, portfolio_weights)))
print(portfolio_volatility)