Construindo Modelos de Fatores no Python

Os modelos de fatores de risco em finanças são utilizados para explicar as variações no retorno de um ativo ou carteira em relação a fatores/características macroeconômicas e da própria empresa. Esses modelos são usados para avaliar o risco de investimentos e gerenciamento de portfólio, permitindo a criação de estratégias e análises com objetivo de tomar decisões mais assertivas. A construção desses modelos geralmente envolve o uso de regressão linear ou outras técnicas estatísticas avançadas. Como ferramenta, podemos utilizar o Python para auxiliar na coleta, tratamento, análise e construção dos modelos.

O que é Factor Investing?

Factor investing é uma estratégia de investimento sistemática que se concentra em investir em fatores de risco específicos que podem explicar as diferenças no desempenho dos ativos ou carteiras. Esses fatores podem variar de características individuais, como as vendas da empresa (receita indicada no demonstrativo de resultados) ou dívida (passivos totais indicados no balanço patrimonial), até seu desempenho em ambientes macroeconômicos, como inflação ou crescimento econômico. Um fator é uma característica que pode explicar o desempenho de um determinado grupo de ações durante várias condições de mercado.

A ideia por trás do factor investing é que, ao selecionar ativos com base nesses fatores de risco, um investidor pode obter retornos superiores e melhorar o perfil de risco do portfólio. A estratégia é baseada em evidências empíricas que mostram que certos fatores de risco têm uma relação de longo prazo com o desempenho dos ativos.

Existem duas categorias principais de fatores: Style factors e fatores macroeconômicos.

Style factors procuram identificar as características relevantes dos títulos individuais (às vezes referidos como traços ou características microeconômicas). Exemplos incluem a volatilidade da ação, tamanho de mercado e valuation.

Fatores macroeconômicos referem-se aos aspectos ambientais e econômicos gerais do mercado. Exemplos são o crescimento do PIB (Produto Interno Bruto) e a inflação.

Quais são os principais Fatores?

Como mencionado, existem dois grandes grupos de tipos de fatores, que englobam diversos outros tipos de fatores.

Style factors

Style factors levam em conta as características do ativo individual, como seu tamanho de mercado, valor e setor/indústria, volatilidade e ações de crescimento versus valor. Os Style factors ajudam a explicar ou identificar as características que explicam o desempenho de preços desse ativo no mercado.

Esses fatores também são referidos como microeconômicos, porque eles são ativos que explicam seu desempenho como um membro ou participante do mercado e da economia.

Valor (value)

Fatores de valor significam, geralmente, avaliar os fundamentos da empresa. Os fundamentos são dados financeiros extremamente importantes da empresa, como as vendas e lucros líquidos, balanço patrimonial (ativos e passivos) e indicadores, como o índice preço/lucro (P/E ratio).

Tamanho (size)

O tamanho do ativo, neste caso, empresa aberta listada na bolsa, refere-se ao seu tamanho de mercado com base na capitalização de mercado (número total de ações em circulação multiplicado pelo preço por ação). Os tamanhos de capitalização mais comuns usados são small cap e large cap.

Para empresas com alto potencial de crescimento, o fator small-cap é o mais indicado. Já os ativos large-cap são mais seguros, visto que são empresas já consolidadas, entretanto, geralmente não apresentam o mesmo crescimento ou apreciação de preço em relação às ações small-cap.

Qualidade (quality)

O fator de qualidade, basicamente, explica se a empresa possui fundamentos bons ou ruins, ou seja, é ligada ao fator de valor.  Qualidade refere-se à força financeira da empresa e pode ser vista através de fatores como baixas relações dívida/ativo, alto retorno sobre o patrimônio líquido e crescimento de lucros estáveis. É um fator muito acompanhado por investidores de longo prazo.

Dividendo (dividend/yield)

Dividendos são pagamentos aos acionistas da empresa, e são um sinal de saúde financeira a longo prazo quando a empresa tem pago dividendos por um período prolongado de tempo (anos e décadas). Dividendos devem estar entre os principais fatores considerados, especialmente se o objetivo é a busca de renda e também redução do risco e da volatilidade.

Crescimento (growth)

O fator de crescimento destaca a mudança nas vendas e lucros da empresa em relação ao seu grupo (como em setores ou indústrias individuais). Se a ação está crescendo melhor do que seus pares, este fator deve ser considerado. Empresas com vendas e receita em crescimento apresentam uma apreciação de preço de ações relativa mais forte, já que os investidores notam o crescimento e compram as ações.

Volatilidade (volatility)

Ações de baixa volatilidade tendem a apresentar um retorno melhor a longo prazo em comparação com ações de alta volatilidade. Um indicador útil a ser observado é o beta do ativo, que indica o quanto mais (ou menos) uma determinada ação é volátil em comparação com o mercado em geral.

Momentum

Momentum é a referência de quão bem o preço da ação se moveu para cima em um determinado período de tempo (como seis meses ou um ano) em comparação com seus pares nessa categoria particular. Alguns investidores e especuladores de curto prazo acreditam que se uma ação estiver apresentando um desempenho muito melhor em uma tendência de alta (os preços do mercado de ações estão em alta), ela continuará a fazê-lo no curto prazo. Nesse caso, ela forneceria ganhos superiores de curto prazo em relação aos seus pares.

Fatores Macroeconômicos

Fatores macroeconômicos são os indicadores econômicos que afetam a economia em geral, em oposição aos fatores microeconômicos que afetam empresas individuais. Alguns exemplos de fatores macroeconômicos incluem a inflação, o produto interno bruto (PIB), as taxas de juros, as políticas monetárias e fiscais do governo, as condições do mercado de trabalho, as tendências demográficas e as condições políticas e sociais. Esses fatores macroeconômicos têm um impacto significativo no desempenho do mercado de ações e, portanto, devem ser levados em consideração pelos investidores ao tomar decisões de investimento.

Porque o uso de Fatores para avaliar um portfólio?

A abordagem baseada em fatores realiza as escolhas de um portfólio com base em características dos ativos, de forma tenta proporcionar um desempenho melhor do que uma mistura aleatória de ativos financeiros. As ações seriam selecionadas com base em fatores, como valor e qualidade, de modo que as escolhas fossem mais ideais dadas as condições gerais do mercado naquele momento.

Por exemplo, se o mercado em geral estivesse enfrentando inflação, então seriam usados fatores de inflação para selecionar ações que tivessem um desempenho melhor do que a média em um ambiente inflacionário, e isso se aplica aos outros fatores também.

Mas como avaliar os fatores? Além da obtenção de dados relativos aos fatores de risco do mercado acionário de um país, é necessário também formas de avaliar. Para tanto, modelos de apreçamento foram criados com o objetivos de avaliar os retornos de ações/carteiras. Entre os modelos mais conhecidos, temos o CAPM (Capital Asset Pricing Model) e o Modelo de 3 fatores de Fama e French, além de técnicas econométricas especificas, como por exemplo a regressão Fama-Macbeth.

Factor Investing no Python

A construção de análises/estratégias utilizando fatores é facilitado usando o Python. Com a linguagem é possível seguir as etapas relativas ao processo de análise de dados. Estas etapas são:

  1. Carregamento das bibliotecas do Python;
  2. Coleta e tratamento dos dados de fatores de risco e ativos;
  3. Visualização e análise dos fatores;
  4. Especificação e ajuste do modelo econométrico

Mostramos aos membros do Clube AM como construir um código em Python que realize todos os procedimentos listados acima.

Fonte de dados

Para a fonte de dados, utilizamos o site do Centro Brasileiro de Pesquisa em Economia Financeira da Universidade de São Paulo, que disponibiliza diversos dados de fatores de risco. Dentre os disponíveis, encontramos os seguintes fatores:

  • Fator de Mercado (risco de mercado);
  • SMB (Small minus Big);
  • HML (High minus Low);
  • WML (Winner Minus Losers);
  • IML (Illiquid Minus Liquid);
  • Risk Free (Taxa de juros livre de risco).

Além disso, realizamos a coleta de um portfolio disponibilizado pelo NEFIN, contendo os retornos de 7 setores da economia. Através desse portfolio, criamos um modelo de fator de risco para todos os setores.

Visualização dos dados

A partir da coleta e tratamento de dados, verificamos como cada fator de risco performou ao longo dos anos.

De acordo com os dados construídos pelo Centro, podemos perceber que o fator de risco mais relevante na última década foi o HML, o fator que representa o Mometum, enquanto os outros ficaram relativamente estagnados, se comparados ao HML. Além disso, apesar de não ser um fator de risco, a taxa de juros livre de risco apresenta um retorno maior que outros fatores, além de possuir baixa volatilidade.

Vamos verificar os Portfólio que representam os setores da economia.

O portfólio que melhor performou no período analisado foi o setor de Manufatura, seguido do setor de produtos básicos. O pior portfólio do período analisado foi o de construção.

Modelos de Factor Investing

O uso da Regressão Linear

A regressão linear é um modelo estatístico que é frequentemente usado para analisar a relação entre duas variáveis. No factor investing, a regressão linear é utilizada para analisar a relação entre a rentabilidade de uma ação e os fatores selecionados. Por exemplo, uma regressão pode ser usada para avaliar a relação entre a rentabilidade de uma ação e seu valor relativo (um style factor comum).

CAPM (Capital Asset Pricing Model)

O CAPM (Capital Asset Pricing Model) é um modelo financeiro utilizado para estimar o retorno esperado de um ativo financeiro. Ele foi desenvolvido com base na ideia de que o retorno de um ativo financeiro é composto por dois componentes: o retorno livre de risco e o prêmio de risco.

O retorno livre de risco é o retorno que um investidor pode obter sem correr risco algum, geralmente associado a investimentos em títulos públicos. O prêmio de risco, por sua vez, é a compensação que um investidor deve receber para correr o risco de investir em um ativo financeiro mais arriscado, como ações.

Com o retorno da carteira de mercado representando o risco sistemático, chega-se a conclusão de que as variações do portfólio de mercado representaria um fator importante na variação do retorno de uma ação. Para tanto, na formulação do CAPM foi levado em conta o quanto estes retornos se relacionam, representado pelo Beta de mercado, formando então a seguinte equação calculada através de uma Regressão Linear via MQO:

     $$r_{i,t} -r_{f,t} = \alpha_i + \beta_i (r_{m,t} - r_{f,t}) + \varepsilon_{i,t}$$

em que r_{i,t} -r_{f,t} representa o excesso de retorno de um ativo, dado pela subtração do retorno do ativo em relação ao retorno da taxa de juros livre de risco. r_{m,t} - r_{f,t} o excesso de retorno do portfolio de mercado, sendo representado pela diferença do retorno de mercado e do retorno da taxa de juros livre de risco. \beta_i é o coeficiente da regressão que demonstrará o efeito da variação do excesso de retorno do mercado no excesso de retorno do ativo. \varepsilon_{i,t} é o erro da regressão.

O objetivo então é obter as taxas de retorno do ativo, do portfólio de mercado  e da taxa de juros livre de risco e estimar o Beta de mercado (coeficiente de regressão) .

Modelo de 3 fatores de Fama e French

Como uma extensão do CAPM, o modelo de Fama French relaciona o excesso de retorno (diferença do retorno do ativo com o retorno livre de risco) em relação ao prêmio pelo risco do mercado, além também de dois outro fatores: HML (High minus Low), sendo a diferença entre os retornos das firmas que tenham um alto book-to-market e baixo book-to-market; e SMB (Small minus Big Factor), sendo a diferença entre empresas grandes e pequenas.

     $$r_{i,t+1} = \alpha_i +  \beta^M_{i,t} +  \beta^{SMB}_{i,t} + \beta^{HML}_{i,t} + \epsilon_{i,t}$$

A sensitividade de cada fator é medido pelos $\beta$ da equação, sendo possível mensurar os riscos que uma carteira de ativos sofrem, bem como traçar estratégias com as informações da influência de cada fator de risco.

Regressão de Fama-Macbeth

A regressão de Fama-MacBeth é um método utilizado para estimar parâmetros de modelos de fatores de ativos. O método estima os betas e as premiações de risco para quaisquer fatores de risco que se espera determinar os preços dos ativos. O método trabalha com vários ativos ao longo do tempo (dados em painel). Os parâmetros são estimados em duas etapas:

Essencialmente, as regressões de duas etapas de Fama-MacBeth exploram uma relação linear entre retornos esperados e exposição a fatores de risco (preços). A ideia básica da abordagem de regressão é projetar retornos de ativos em exposições de fatores ou características que se assemelham à exposição a um fator de risco na seção transversal em cada período de tempo. Em seguida, na segunda etapa, as estimativas são agregadas ao longo do tempo para testar se um fator de risco é precificado. Em princípio, as regressões de Fama-MacBeth podem ser usadas da mesma forma que as classificações de portfólio introduzidas nos capítulos anteriores.

O procedimento de Fama-MacBeth é uma abordagem simples em duas etapas: A primeira etapa usa as exposições (características) como variáveis explicativas em T regressões de seção cruzada. Por exemplo, se r_{i,t} denota os retornos em excesso do ativo i no mês t+1, então o modelo de três fatores de Fama-French implica o seguinte processo de geração de retornos.

    \[r_{i,t+1} = \alpha_i + \lambda^{M}_t \beta^M_{i,t} + \lambda^{SMB}_t \beta^{SMB}_{i,t} + \lambda^{HML}_t \beta^{HML}_{i,t} + \epsilon_{i,t}\]

Aqui, estamos interessados na compensação de \lambda^{f}_t pela exposição a cada fator de risco \beta^{f}_{i,t} em cada ponto no tempo, ou seja, o prêmio de risco. Observe a terminologia: \beta^{f}_{i,t} é uma característica específica do ativo, como uma exposição a fator ou uma variável contábil. Se houver uma relação linear entre os retornos esperados e a característica em um determinado mês, esperamos que o coeficiente de regressão reflita essa relação, ou seja, \lambda_t^{f}\neq0 representa a compensação pelo risco.

Para estimar a equação acima, usamos a biblioteca linearmodels. Além do fatores mencionado do modelo de 3 fatores, acrescentamos os fatores coletados através do site da NEFIN.

Abaixo, o resultado do modelo:

É possível avaliar os coeficientes estimado, verificando um heatmap entre cada fator para cada setor. Dado o coeficiente para cada fator, é proposto, portanto, uma tese de que se compre o setor que possua um melhor resultado para determinado fator que possuirá ascensão em determinado momento no mercado.

Por exemplo, se há uma tendência de que o Mercado subirá em determinado momento, é recomendado adquirir o setor que possui o maior valor do coeficiente no momento (isso não é recomendação de compra de ativos!).

_____________________

Quer saber mais?

Veja nossa trilha de cursos de Finanças Quantitativas

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Transfer Learning: mostrando porque o Python está na ponta do desenvolvimento

A aprendizagem por transferência (transfer learning) é o reuso de um modelo pré-treinado em um novo problema. Portanto, sua utilização torna-se um avanço enorme para a previsão de diferentes tipos de variáveis, principalmente para aquelas ordenadas no tempo. Mostramos nesta postagem o uso do Transfer Learning com o Python para o caso de Séries Temporais.

Criando Tabelas com o Python: mostrando o poder da linguagem sobre o Excel

Nos dias atuais, pessoas que trabalham com dados estão constantemente confrontados com um dilema: criar uma tabela não tão genial no Excel ou manter em um formato ainda pior, como um dataframe, mas mantendo a flexibilidade de obtenção dos dados. Podemos resolver esse grande problema, unindo a flexibilidade e beleza ao usar a biblioteca great_tables do Python.

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.