Seleção de Fatores via Machine Learning no R

É conhecido que variáveis (comumente ditas como fatores), afetam o excesso de retorno de ações no geral. Um fator bastante difundido é o fator de risco de mercado utilizado no modelo Capital Asset Pricing Model. Nas últimas décadas, a literatura aprofundou-se nos estudos dos fatores que fazem parte da características das empresas, ampliando para o modelo de três fatores de Fama French, que introduziu os fatores Small Minus Big (SMB) e High minus Low (HML). Outros diversos fatores também são utilizados, a depender do mercado a ser investigado. O objetivo do post de hoje será utilizar fatores de investimento em conjunto com uma Regressão de Lasso para ajustar uma série de fatores de risco com o R.

Os fatores de risco são importantes mecanismo para traçar estratégias de investimento, principalmente para entender as características de ativos e antecipar possíveis movimentos de mercado. Como dito, é bem conhecido o fator Risco de Mercado, que leva em conta o risco sistemático produzido por um índice que representa o portfólio de mercado. O fator Small Minus Big (SMB), que representa a diferença do retorno de empresas com baixa capitalização e alta capitalização de mercado. High minus Low (HML), que representa a diferença do retorno de empresas com alto book-to-market e baixo book-to-market.

Outro fatores podem também ser levados em conta, tanto por conta da característica das empresas, quanto por fatores macroeconômicos. Adicionaremos mais três, sendo eles: Winners Minus Losers (WML), que leva em conta o retorno de ações que tiveram altos retornos no passado e ações que tiveram baixo retornos.  Illiquid Minus Liquid (IML) que representa os retornos de ações com baixo liquidez e alta liquidez. E por fim, apenas um representado o fator macroeconômico de juros, que será a taxa de juros livre de risco, também útil para obter o excesso de retorno do ativo e do fator risco de mercado.

Todos os fatores são importados do site da NEFIN, onde também é detalhado a metodologia de criação de cada fator, bem como suas características. Para a ação que será utilizada como variável dependente, escolhemos a ITUB4 de forma totalmente aleatória, representado pelo seu log retorno diário dos preços ajustados.

O modelo utilizado será uma Regressão Lasso, útil para diminuir a limitação da regressão linear, representado pela seguinte equação:

Abaixo, representaremos os códigos para a importação dos dados do ativo selecionado e dos fatores disponibilizados pelo NEFIN.

Após obter todos os dados, nosso objetivo será utilizar a série de funções do universo do Tidymodels para aplicar uma Regressão de Lasso. Primeiro iremos separar os dados de teste e treino, como forma de obter uma ideia do quão bem o modelo ajustou os dados. Selecionaremos o modelo com uma penalidade de 0.0001.

Com as amostras produzidas e o modelo em mãos, podemos rodar com a função fit(), escolhendo a fórmula do modelo e os dados utilizado (no caso a amostra de treino). Obtemos também os valores preditos pelo modelo. Por fim podemos comparar com os dados de teste.

Quer saber mais sobre Finanças?

Veja nossas postagens realizadas sobre o assunto:

E nossos curso aplicados ao Mercado Financeiro:

Referências

Tidy Finance with R. 2022

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como planejar um pipeline de previsão macroeconômica: da coleta ao dashboard

Montar um pipeline de previsão macroeconômica não é apenas uma tarefa técnica — é um exercício de integração entre dados, modelos e automação. Neste post, apresento uma visão geral de como estruturar esse processo de ponta a ponta, da coleta de dados até a construção de um dashboard interativo, que exibe previsões automatizadas de inflação, câmbio, PIB e taxa Selic.

Coletando e integrando dados do BCB, IBGE e IPEA de forma automatizada

Quem trabalha com modelagem e previsão macroeconômica sabe o quanto é demorado reunir dados de diferentes fontes — Banco Central, IBGE, IPEA, FRED, IFI... Cada um com sua API, formato, frequência e estrutura. Esse gargalo de coleta e padronização consome tempo que poderia estar sendo usado na análise, nos modelos ou na comunicação dos resultados.

Foi exatamente por isso que criamos uma rotina de coleta automatizada, que busca, trata e organiza séries temporais econômicas diretamente das APIs oficiais, pronta para ser integrada a pipelines de previsão, dashboards ou agentes de IA econometristas.

Criando operações SQL com IA Generativa no R com querychat

No universo da análise de dados, a velocidade para obter respostas é um diferencial competitivo. Frequentemente, uma simples pergunta de negócio — “Qual foi nosso produto mais vendido no último trimestre na região Nordeste?” — inicia um processo que envolve abrir o RStudio, escrever código dplyr ou SQL, executar e, finalmente, obter a resposta. E se pudéssemos simplesmente perguntar isso aos nossos dados em português, diretamente no nosso dashboard Shiny?

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.