Obliczanie bety za pomocą CAPM
Istnieje wiele sposobów modelowania stóp zwrotu z akcji, jednak Capital Asset Pricing Model, czyli CAPM, jest jednym z najpopularniejszych:
$$ E(R_{P}) - RF = \beta_{{P}}(E(R_{M})-RF)\ $$
- \(E(R_{P}) - RF\): Nadwyżkowa oczekiwana stopa zwrotu z akcji lub portfela P
- \(E(R_{M}) - RF\): Nadwyżkowa oczekiwana stopa zwrotu z szerokiego portfela rynkowego B
- \(RF\): Regionalna stopa wolna od ryzyka
- \(\beta_{{P}}\): Beta portfela, czyli ekspozycja na szeroki portfel rynkowy B
Aby przeprowadzić analizę, wywołaj metodę .fit() z biblioteki statsmodels.formula.api na obiekcie modelu .ols(formula, data). Wyniki możesz przeanalizować, używając metody .summary() na obiekcie wynikowym.
DataFrame FamaFrenchData jest dostępny w twoim środowisku roboczym i zawiera dane potrzebne do tego ćwiczenia.
To ćwiczenie jest częścią kursu
Wprowadzenie do zarządzania ryzykiem portfela w Pythonie
Instrukcje do ćwiczenia
- Na początku zaimportuj
statsmodels.formula.apijakosmf. - Zdefiniuj model regresji, który wyjaśnia
Portfolio_Excessjako funkcję zmiennejMarket_Excess. - Wyodrębnij i wyświetl skorygowane R-kwadrat dopasowanego modelu regresji.
- Wyodrębnij betę rynkową swojego portfela.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)