Alpha และโมเดลหลายปัจจัย

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

Dakota Wixom

Quantitative Analyst | QuantCourse.com

โมเดล Fama-French 3 ปัจจัย

$$ R_{P} = $$

$$ RF + \beta_{M}(R_{M}-RF)+b_{SMB} \cdot SMB + b_{HML} \cdot HML + \alpha $$

  • SMB: ปัจจัย small minus big
  • $b_{SMB}$: ความเปิดรับต่อปัจจัย SMB
  • HML: ปัจจัย high minus low
  • $b_{HML}$: ความเปิดรับต่อปัจจัย HML
  • $\alpha $: ผลตอบแทนที่ปัจจัยอื่นอธิบายไม่ได้
  • $\beta_{M}$: Beta ต่อพอร์ตโฟลิโอตลาดกว้าง B
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

โมเดล Fama-French 3 ปัจจัย

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

โมเดล Fama-French 3 ปัจจัยใน Python

สมมติว่ามีผลตอบแทนส่วนเกินของพอร์ตโฟลิโอและตลาดอยู่แล้วในออบเจกต์ Data:

import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess + SMB + HML', 
                data=Data)
fit = model.fit()
adjusted_r_squared = fit.rsquared_adj
adjusted_r_squared
0.90
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

P-value และนัยสำคัญทางสถิติ

การดึงค่า p-value ของ HML โดยสมมติว่ามีออบเจกต์โมเดลที่ฟิตแล้วชื่อ fit อยู่ในพื้นที่ทำงาน:

fit.pvalues["HML"]
0.0063

ในการทดสอบนัยสำคัญทางสถิติ ให้ตรวจสอบว่าค่าดังกล่าวน้อยกว่าเกณฑ์ที่กำหนด ซึ่งปกติคือ 0.05 หรือไม่:

fit.pvalues["HML"] < 0.05
True
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

การดึงค่าสัมประสิทธิ์

การดึงค่าสัมประสิทธิ์ของ HML โดยสมมติว่ามีออบเจกต์โมเดลที่ฟิตแล้วชื่อ fit อยู่ในพื้นที่ทำงาน:

fit.params["HML"]
0.502
fit.params["SMB"]
-0.243
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

Alpha และสมมติฐานตลาดที่มีประสิทธิภาพ

สมมติว่ามีการวิเคราะห์การถดถอยที่ฟิตแล้วอยู่ในออบเจกต์ fit:

portfolio_alpha = fit.params["Intercept"]
portfolio_alpha_annualized = ((1 + portfolio_alpha) ** 252) - 1
portfolio_alpha_annualized
0.045
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน

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

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

Preparing Video For Download...