Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน
Dakota Wixom
Quantitative Analyst | QuantCourse.com

Sharpe ratio คือตัววัด ผลตอบแทนที่ปรับตามความเสี่ยง
สูตรคำนวณ Sharpe ratio ปี 1966:
$$ S = \frac{ R_a - r_f }{\sigma_a} $$

ทุกจุดบนเส้นขอบเขตประสิทธิภาพคือพอร์ตโฟลิโอที่เหมาะสมที่สุด
สองจุดที่พบบ่อยเรียกว่า Markowitz Portfolios:

จะเลือกพอร์ตโฟลิโอที่ดีที่สุดได้อย่างไร?
สมมติว่ามี DataFrame df ของพอร์ตโฟลิโอแบบสุ่มที่มีคอลัมน์ Volatility และ Returns:
numstocks = 5
risk_free = 0
df["Sharpe"] = (df["Returns"] - risk_free) / df["Volatility"]
MSR = df.sort_values(by=['Sharpe'], ascending=False)
MSR_weights = MSR.iloc[0, 0:numstocks]
np.array(MSR_weights)
array([0.15, 0.35, 0.10, 0.15, 0.25])
แม้พอร์ตโฟลิโอ Max Sharpe Ratio จะฟังดูน่าสนใจ แต่ในทางปฏิบัติการพยากรณ์ผลตอบแทนทำได้ยากมาก
สมมติว่ามี DataFrame df ของพอร์ตโฟลิโอแบบสุ่มที่มีคอลัมน์ Volatility และ Returns:
numstocks = 5
GMV = df.sort_values(by=['Volatility'], ascending=True)
GMV_weights = GMV.iloc[0, 0:numstocks]
np.array(GMV_weights)
array([0.25, 0.15, 0.35, 0.15, 0.10])
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน