Aplicação de Regressão Logística no mercado financeiro

O objetivo do post de hoje será realizar a aplicação da Regressão Logística para prever a direção do movimento do preço de um ativo financeiro no Python.

Regressão Logística

O recurso que temos em mãos é poder estimar a probabilidade associada a ocorrência de determinado evento, usualmente binário. Como a ideia é estimar uma probabilidade, os resultados estarão contidos entre 0 e 1.  Se utiliza do estimador de máxima verossimilhança, como forma de maximizar a probabilidade de ocorrência da amostra, dado os coeficientes das variáveis independentes.

Por meio da regressão logística, podemos estimar a probabilidade da direção do preço do ativo se mover positivamente ou negativamente, utilizando como inputs a direção defasada do preço.

Aplicação

Vamos utilizar como exemplo a ação do ITUB4 no periodo de 2019 até 21/12/2022, no qual coletamos os dados por meio do pandas_datareader. Para a constituição dos inputs, utiliza-se apenas os dados do preço de fechamento para transforma-los em log-retornos e em seguida obtém o direcionamento do movimento do preço.


import pandas as pd
import numpy as np
import pandas_datareader.data as pdr
!pip install yfinance --upgrade --no-cache-dir
import yfinance as yf
yf.pdr_override()

</pre>
# datas
inicio = '2019-01-01'
fim = '2022-12-21'

# ticker
symbol = 'ITUB4.SA'

# importa os dados
data = pdr.get_data_yahoo(tickers = symbol,
                        start = inicio,
                        end = fim)[['Close']]

# Log retornos
data['returns'] = np.log(data / data.shift(1))

# Direção dos retornos (positivo/negativo)
data['direction'] = np.sign(data['returns'])
Em seguida, iremos construir funções para aplicar
  • a defasagem do preço/retorno de fechamento;
  • transformar o valor da direção do preço/retorno em binário, obtendo quatro possíveis combinações (0, 0), (0, 1), (1, 0), (1, 1).
  • aplicação do modelo e previsão usando o sklearn;
  • backtest vetorizado.

A construção de todos os procedimentos acima você pode obter fazendo parte do Clube AM, o repositório especial de códigos da Análise Macro.

Como resultado obtemos o seguinte resultado da aplicação da Regressão Logística para o ativo utilizado, em que returns refere-se aos retornos caso tivesse comprado somente o ativo, e strat_log_return a estratégia do modelo.

_____________________________________

Quer aprender mais?

Seja um aluno da nossa trilha de Macroeconomia Aplicada e aprenda a criar projetos voltados para a Macroeconomia

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como selecionar variáveis para modelos de previsão no Python?

Em oposição à crença popular, grande parte dos modelos de machine learning não produzem previsões magicamente. É papel do cientista de dados executar uma boa engenharia de variáveis para não cair no clássico problema de “garbage in, garbage out” (GIGO) em aprendizado de máquina. Neste sentido, aprender a fazer uma boa seleção de variáveis é fundamental e neste artigo exploramos algumas possibilidades práticas usando o Python.

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PNADc Trimestral - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PNADc Trimestral do 3º trimestre de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

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.