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

Onde encontrar dados e ferramentas para text mining?

A aplicação das técnicas de mineração de texto pode trazer análises quantitativas informativas sobre a emoção, tom, categoria e outros padrões de interesse em documentos textuais. O primeiro passo é identificar, coletar e preparar estes dados brutos. Neste artigo, apresentamos bases de dados públicas de Economia e Finanças que podem ser exploradas, assim como ferramentas de programação úteis.

O que é mineração de textos e sua relação com IA?

Com uma matéria prima em comum, a mineração de textos e a inteligência artificial generativa usam grandes volumes de dados não estruturados para fins distintos e com aplicações em Economia, Finanças, Marketing e outras áreas. Mas quando devemos usar uma técnica e não a outra? O que é possível fazer e o que é mineração de textos? Neste artigo introduzimos estes tópicos e fornecemos alguns exemplos de aplicações.

Avaliando a evolução do Funcionalismo Público nos Estados Brasileiros usando Controle Sintético no R

O objetivo deste exercício é introduzir o uso do método de Controle Sintético na linguagem de programação R, aplicando-o a um exemplo prático relevante para a análise de políticas públicas. Vamos focar na utilização dessa técnica para avaliar o impacto do Regime de Recuperação Fiscal (RRF) sobre o número de vínculos do poder executivo nos estados brasileiros, com ênfase no caso do Rio de Janeiro.

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.