การคำนวณ Beta ด้วย CAPM
มีหลายวิธีในการสร้างโมเดลผลตอบแทนของหุ้น แต่ Capital Asset Pricing Model หรือ CAPM นั้นเป็นหนึ่งในโมเดลที่รู้จักกันอย่างแพร่หลายที่สุด:
$$ E(R_{P}) - RF = \beta_{{P}}(E(R_{M})-RF)\ $$
- \(E(R_{P}) - RF\): ผลตอบแทนส่วนเกินที่คาดหวังของหุ้นหรือพอร์ตโฟลิโอ P
- \(E(R_{M}) - RF\): ผลตอบแทนส่วนเกินที่คาดหวังของพอร์ตโฟลิโอตลาดในวงกว้าง B
- \(RF\): อัตราผลตอบแทนปราศจากความเสี่ยงของภูมิภาค
- \(\beta_{{P}}\): Beta ของพอร์ตโฟลิโอ หรือระดับการรับความเสี่ยงต่อพอร์ตโฟลิโอตลาดในวงกว้าง B
สามารถเรียกใช้เมธอด .fit() จาก statsmodels.formula.api บนออบเจกต์โมเดล .ols(formula, data) เพื่อทำการวิเคราะห์ และเรียกเมธอด .summary() บนออบเจกต์ผลการวิเคราะห์เพื่อตรวจสอบผลลัพธ์
DataFrame FamaFrenchData มีอยู่ใน workspace ของคุณแล้ว และมีข้อมูลที่จำเป็นสำหรับแบบฝึกหัดนี้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับการบริหารความเสี่ยงพอร์ตการลงทุน
คำแนะนำการฝึกหัด
- ขั้นแรก ให้ import
statsmodels.formula.apiโดยใช้ชื่อว่าsmf - กำหนดโมเดลการถดถอยที่อธิบาย
Portfolio_Excessในรูปฟังก์ชันของMarket_Excess - ดึงค่า adjusted r-squared ของโมเดลการถดถอยที่ fit แล้ว และแสดงผลออกมา
- ดึงค่า market beta ของพอร์ตโฟลิโอ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import statsmodels.formula.api
import ____ as ____
# Define the regression formula
CAPM_model = smf.ols(formula=____, data=FamaFrenchData)
# Print adjusted r-squared of the fitted regression
CAPM_fit = CAPM_model.fit()
print(CAPM_fit____)
# Extract the beta
regression_beta = CAPM_fit____
print(regression_beta)