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}}\): 시장 포트폴리오 B에 대한 포트폴리오 P의 베타(노출도)
statsmodels.formula.api의 .ols(formula, data)로 생성한 모델 객체에 .fit() 메서드를 호출해 분석을 수행할 수 있고, 결과 객체에서 .summary() 메서드로 결과를 확인할 수 있어요.
FamaFrenchData DataFrame은 이 연습 문제에 필요한 적절한 데이터를 담고 있으며 작업 공간에 준비되어 있어요.
이 연습은 강의의 일부입니다
Python으로 시작하는 포트폴리오 리스크 관리
연습 안내
- 먼저
statsmodels.formula.api를smf로 임포트하세요. Portfolio_Excess를Market_Excess의 함수로 설명하는 회귀 모델을 정의하세요.- 적합된 회귀 모델의 보정된 결정계수(adjusted r-squared)를 추출해 출력하세요.
- 포트폴리오의 마켓 베타를 추출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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)