Previsão de retornos de ações com IA usando Python

Neste exercício, nosso objetivo é utilizar fatores de investimento como preditores para o retorno de uma ação, combinando-os com o uso da Regressão de Lasso para ajustar uma série de fatores de risco no Python. Este método nos permite explorar como diferentes variáveis influenciam os retornos das ações e como a Regressão de Lasso pode nos ajudar a selecionar os fatores mais relevantes, contribuindo para uma análise mais precisa. Todo o exercício é construído usando o Python como ferramenta.

Introdução

É amplamente reconhecido que uma série de variáveis, frequentemente referidas como fatores, exercem influência sobre o desempenho excessivo das ações de forma geral. Entre esses fatores, destaca-se o conhecido fator de mercado.

Ao longo das últimas décadas, a pesquisa acadêmica tem se aprofundado na análise dos fatores que compõem as características das empresas, expandindo para o modelo de três fatores de Fama e French. Este modelo, além do fator de mercado, introduziu os fatores Small Minus Big (SMB) e High minus Low (HML), refletindo assim uma compreensão mais abrangente dos elementos que influenciam os retornos das ações.

Além desses fatores fundamentais, diversos outros têm sido identificados e estudados, variando conforme o mercado em questão. Exemplos incluem Winners Minus Losers (WML), também conhecido como Momentum, e Illiquid Minus Liquid (IML), evidenciando a complexidade e a variedade de fatores que os investidores consideram ao analisar e precificar ativos.

Regressão Lasso

O Lasso (least absolute shrinkage and selection operator) é um método de regressão linear que visa não apenas prever a variável de resposta, mas também realizar a seleção de variáveis de forma automática. Ao contrário de métodos tradicionais de regressão, o Lasso penaliza os coeficientes dos preditores, levando alguns deles a zero. Isso significa que o Lasso não apenas reduz o tamanho dos coeficientes, mas também realiza uma seleção eficiente de variáveis, eliminando aquelas que têm pouco impacto na predição do resultado. Essa propriedade torna o Lasso particularmente útil em situações em que se lida com um grande número de variáveis preditoras, permitindo a identificação das mais relevantes para o modelo.

O Estimador viesado do Lasso é obtido da seguinte forma:

    \[\hat\beta_\lambda^\text{Lasso} = \arg\min_\beta \left(Y - X\beta\right)'\left(Y - X\beta\right) + \lambda\sum\limits_{k=1}^K|\beta_k|.\]

Aqui, \lambda é hiperparâmetro que deve ser especificado previamente.

Dados

Em relação aos dados, é possível obter os fatores de risco do site da NEFIN, onde também é detalhado a metodologia de criação de cada fator. Para o retorno da ação PETR4, buscamos os dados através do Yahoo Finance.

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Aprenda a coletar, processar e analisar dados do mercado financeiro no curso de Python para Investimentos.

Criando o Modelo

Após a coleta dos dados podemos criar o modelo utilizando a regressão Lasso. Faremos todo o procedimento dentro do workflow do sklearn. Escolhemos previamente um alpha de 0.007, sem nenhum motivo plausível, apenas para exemplificar a criação do modelo. A seguir, apresentamos o gráfico dos valores ajustados e os valores reais do retornos. No retângulo encontram-se os valores fora da amostra de estimação dos parâmetros do modelo.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise exploratória para modelagem preditiva no Python

Antes de desenvolver bons modelos preditivos é necessário organizar e conhecer muito bem os dados. Neste artigo, damos algumas dicas de recursos, como gráficos, análises e estatísticas, que podem ser usados para melhorar o entendimento sobre os dados usando Python.

Como usar modelos do Sklearn para previsão? Uma introdução ao Skforecast

Prever séries temporais é uma tarefa frequente em diversas áreas, porém exige conhecimento e ferramentas específicas. Os modelos de machine learning do Sklearn são populadores, porém são difíceis de aplicar em estruturas temporais de dados. Neste sentido, introduzimos a biblioteca Skforecast, que integra os modelos do Sklearn e a previsão de séries temporais de forma simples.

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.