Sortino Ratio
ในแบบฝึกหัดนี้ ข้อมูลผลตอบแทนของพอร์ตโฟลิโอถูกเก็บไว้ใน DataFrame ชื่อ df ซึ่งจะนำมาใช้คำนวณ Sortino ratio โดย Sortino ratio มีลักษณะคล้ายกับ Sharpe ratio แต่ใช้ ส่วนเบี่ยงเบนมาตรฐานของผลตอบแทนติดลบเท่านั้น จึงให้ความสำคัญกับ ความเสี่ยงขาลงของการลงทุน มากกว่า
มาดูกันว่า Sortino ratio มีค่ามากน้อยเพียงใดเมื่อเทียบกับ Sharpe ratio ที่คำนวณไว้ก่อนหน้านี้ โดยอัตราผลตอบแทนปราศจากความเสี่ยง rfr และผลตอบแทนเป้าหมาย target ถูกกำหนดไว้แล้ว และมีค่าเท่ากับศูนย์ทั้งคู่
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์พอร์ตโฟลิโอด้วย Python
คำแนะนำการฝึกหัด
- เลือกผลตอบแทนโดยใช้
.locที่มีค่า น้อยกว่า target อย่างเคร่งครัด แล้วเก็บไว้ใน DataFrame ใหม่ชื่อdownside_returns - คำนวณค่าเฉลี่ยของผลตอบแทนที่คาดหวัง และส่วนเบี่ยงเบนมาตรฐานของผลตอบแทนขาลง
- คำนวณ Sortino ratio โดยใช้
rfrเป็นอัตราผลตอบแทนปราศจากความเสี่ยง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a downside return column with the negative returns only
downside_returns = df.loc[df['pf_returns'] ____ target]
# Calculate expected return and std dev of downside
expected_return = df['____'].____()
down_stdev = downside_returns['pf_returns'].____()
# Calculate the sortino ratio
sortino_ratio = (____ - ____)/____
# Print the results
print("Expected return : ", expected_return*100)
print("Downside risk : ", down_stdev*100)
print("Sortino ratio : ", sortino_ratio)