พอร์ตโฟลิโอ Markowitz

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Dakota Wixom

Quantitative Analyst | QuantCourse.com

พอร์ตโฟลิโอที่สุ่มสร้างขึ้น 100,000 พอร์ต

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Sharpe ratio

Sharpe ratio คือตัววัด ผลตอบแทนที่ปรับตามความเสี่ยง

สูตรคำนวณ Sharpe ratio ปี 1966:

$$ S = \frac{ R_a - r_f }{\sigma_a} $$

  • S: Sharpe Ratio
  • $ R_a $: ผลตอบแทนของสินทรัพย์
  • $ r_f $: อัตราผลตอบแทนปราศจากความเสี่ยง
  • $ \sigma_a $: ความผันผวนของสินทรัพย์
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

เส้นขอบเขตประสิทธิภาพ (Efficient Frontier)

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

พอร์ตโฟลิโอ Markowitz

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

สองจุดที่พบบ่อยเรียกว่า Markowitz Portfolios:

  • MSR: พอร์ตโฟลิโอ Max Sharpe Ratio
  • GMV: พอร์ตโฟลิโอ Global Minimum Volatility

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

การเลือกพอร์ตโฟลิโอ

จะเลือกพอร์ตโฟลิโอที่ดีที่สุดได้อย่างไร?

  • พยายามเลือกพอร์ตโฟลิโอที่อยู่บนขอบของเส้นขอบเขตประสิทธิภาพ
  • หากรับความเสี่ยงได้มากขึ้น ก็มีโอกาสได้ผลตอบแทนสูงขึ้น
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

การเลือก MSR ด้วย Python

สมมติว่ามี 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])
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

ผลการดำเนินงานในอดีตไม่ใช่สิ่งรับประกันผลตอบแทนในอนาคต

แม้พอร์ตโฟลิโอ Max Sharpe Ratio จะฟังดูน่าสนใจ แต่ในทางปฏิบัติการพยากรณ์ผลตอบแทนทำได้ยากมาก

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

การเลือก GMV ด้วย Python

สมมติว่ามี 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 เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

มาฝึกกันเถอะ!

Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Preparing Video For Download...