Modelos de fatores

Introdução à Análise de Portfólios em Python

Charlotte Werger

Data Scientist

Usando fatores para explicar desempenho

$$

  • Fatores são usados para gestão de risco.
  • Fatores ajudam a explicar o desempenho.
  • Modelos de fatores relacionam fatores aos retornos do portfólio.
  • Existem modelos empíricos testados em dados históricos.
  • O modelo de 3 fatores de Fama-French é bem conhecido.
Introdução à Análise de Portfólios em Python

Modelo multifatorial de Fama-French

$ $

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

  • MKT é o excesso de retorno do mercado, ou seja, $R_m - R_f$

  • SMB (Small Minus Big): fator de tamanho
  • HML (High Minus Low): fator de valor
Introdução à Análise de Portfólios em Python

Revisão de modelo de regressão

Ajustando uma linha a pontos de dados usando regressão linear

Introdução à Análise de Portfólios em Python

Diferença entre beta e correlação

Tabela comparando beta e correlação

Introdução à Análise de Portfólios em Python

Modelo de regressão em Python

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
Introdução à Análise de Portfólios em Python

Saída do resumo da regressão

# Print out the summary statistics
model.summary()

Resumo do modelo de regressão linear

Introdução à Análise de Portfólios em Python

Obtendo betas rapidamente

# 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
Introdução à Análise de Portfólios em Python

Vamos praticar!

Introdução à Análise de Portfólios em Python

Preparing Video For Download...