Modele czynnikowe

Wprowadzenie do analizy portfela w Pythonie

Charlotte Werger

Data Scientist

Wykorzystanie czynników do wyjaśniania wyników

$$

  • Czynniki służą do zarządzania ryzykiem.
  • Czynniki pomagają wyjaśniać wyniki inwestycyjne.
  • Modele czynnikowe pozwalają powiązać czynniki ze stopami zwrotu portfela.
  • Istnieją empiryczne modele czynnikowe testowane na danych historycznych.
  • Model trójczynnikowy Famy-Frencha jest jednym z najbardziej znanych modeli czynnikowych.
Wprowadzenie do analizy portfela w Pythonie

Model wieloczynnikowy Famy-Frencha

$ $

  • $ R_{pf} = \alpha + \beta_m MKT + \beta_s SMB + \beta_h HML $

  • MKT to nadwyżkowa stopa zwrotu rynku, tj. $R_m - R_f$

  • SMB (Small Minus Big) – czynnik wielkości
  • HML (High Minus Low) – czynnik wartości
Wprowadzenie do analizy portfela w Pythonie

Przypomnienie modelu regresji

Dopasowanie prostej do punktów danych za pomocą regresji liniowej

Wprowadzenie do analizy portfela w Pythonie

Różnica między betą a korelacją

Tabela porównująca współczynnik beta z korelacją

Wprowadzenie do analizy portfela w Pythonie

Model regresji w Pythonie

import statsmodels.api as sm
# Define the model
model = sm.OLS(factor_data['sp500'],
               factor_data[['momentum','value']]).fit()
# Get the model predictions
predictions = model.predict(factor_data[['momentum','value']])
b1, b2 = model.params
Wprowadzenie do analizy portfela w Pythonie

Wyniki podsumowania regresji

# Print out the summary statistics
model.summary()

Podsumowanie modelu regresji liniowej

Wprowadzenie do analizy portfela w Pythonie

Szybkie uzyskiwanie współczynników beta

# Get just beta coefficients from linear regression model
b1, b2 = regression.linear_model.OLS(df['returns'], 
                          df[['F1', 'F2']]).fit().params
# Print the coefficients 
print('Sensitivities of active returns to factors:'
      '\nF1: %f\nF2: %f' % (b1, b2))
Sensitivities of active returns to factors:
F1: -0.0381
F2: 0.9858
Wprowadzenie do analizy portfela w Pythonie

Czas na ćwiczenia!

Wprowadzenie do analizy portfela w Pythonie

Preparing Video For Download...