Skip to content

DavidPanduro/stock_price_prediction_hybrid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Stock Price Prediction with Deep Learning and MLP: A Hybrid Approach

by David Panduro

image

CONTEXTO:

Nos últimos meses temos acompanhado uma queda nas ações da Bolsa Brasileira, a mesma que vem diretamente proporcional a queda das ações da empresa Vale. Mas quem é a empresa Vale?
A Vale é uma empresa mineradora multinacional brasileira. É uma das maiores empresas de mineração do mundo e também a maior produtora de minério de ferro.
Podemos definir, de maneira resumida, suas operações em duas alas de extrações:

  • Minerio de ferro das minas Brasileiras e a maior parte é importada para China.
  • Metais básicos (níquel, cobre) para transição energética de carros elétricos.

Já que o mercado dos metais básicos ainda é muito pequeno, então a Vale depende muito do minério de ferro e principalmente do preço de minério de ferrocotado na China.

Disclaimer: Exitem básicamente 02 formas de vender aço:

  1. Crecimento populacional (+ nascem, - morrem).
  2. Crecimento econômico.

En contrapartida, a China tem mostrado Desacelaração no crecimento econômico e a taxa de natalidade vem caindo.

image

Agora, consideraremos a rentabilidade da Vale3 (investindo R$. 100)

  • Sem reinvestimento dos dividendos ( últimos 10 anos): R$. 240.22
  • Com reinvestimento dos dividendos ( últimos 10 anos): R$. 400.20

Representando 65% A MAIS REINVESTINDO OS DIVIDENDOS.

OBJETIVO:

Nesse contexto, neste estúdo temos como objetivo, desenvolver a previsão de preços de ações da empresa Vale S.A.; da Bolsa de Valores Brasileira B3, mediante uma abordagem hibrida, combinando algoritmos de aprendizado profundo (LSTM) e multilayer perceptron (MLP).
Evaluaremos cada um dos resultados para concluir em qual dos cenários as previsões apresentam maior precisão.

BASES:

No estudo, consideramos dados de movimentações da Bolsa Brasileira, no período desde 2018-01-01 até 2023-06-30. Totalizando cinco (05) anos, mais os restantes seis (06) meses do 2023.

image
Para o estudo utilizaremos o preço das ações no Fechamento diário.

DISTRIBUIÇÂO DOS DADOS:

A distribuição dos dados no periodo mostra seus picos de frequência mais altos ente o 40 e 60 de valor de fechamento.
image

No histórico do preço das ações da Vale podemos observar que até o ano 2020 não tinha mostrado um crecimento substancial, e sem embargo, tinha conseguido uma estabilidade interessante.
No periodo de pandemia, naturalmente apresentou uma queda no valor, mas imediatamente conseguiu se reeguer e mostrou um crecimento exponecial, para depois flutuar entre valores acima de 60 e 100.
image

SIMULAÇÃO DE MONTE CARLO:
Como ponto de partida aproveitamos para fazer uma Simulação de Monte Carlo, que pode servir como um baseline para determinar um range de cenários e com os que poderíamos trabalhar caso querramos nos localizar dentro de um melhor cenário e um pior cenário, para a partir disso gerar, definir ou planejar as nossas estrategias.
A nossa simulação consiste em fazer a previsão dos proximos 70 passos (poco mais de 03 meses da Bolsa) e um range de 30 cenários.

image

O melhor cenário corresponde a um erro de 2.68 e o gráfico ficou como segue:

image

PREVISÃO DE PREÇOS COM MULTILAYER PERCEPTRON (MLP):

Também conhecido como rede neural feedforward, é um tipo de rede neural artificial que consiste em múltiplas camadas de neurônios, ou unidades de processamento, dispostas em camadas interconectadas.
Consiste em três tipos principais de camadas de neurônios: a camada de entrada, uma ou mais camadas ocultas e a camada de saída.

A seguir as fórmulas matemáticas básicas para um neurônio em uma camada oculta de um MLP:
image

As previsões foram executadas, considerando os próximos 70 passos da série MLP. Obtendo os seguintes resultados:
image

MSE: 3.45

PREVISÃO DE PREÇOS COM LONG SHORT-TERM MEMORY LSTM:

É um tipo especial de unidade recorrente em redes neurais artificiais, projetada para capturar e lembrar informações de longo prazo em sequências de dados.
A principal vantagem das LSTMs é a capacidade de lidar com o problema do desaparecimento de gradientes que ocorre em redes neurais recorrentes tradicionais. Graças às portas de controle, as LSTMs podem aprender a reter informações úteis e ignorar informações irrelevantes ao longo do tempo.

Matemáticamente, existem diferentes equações que explicam o fluxo de uma LSTM, como por exemplo:

  • Equação de combinação de Entrada.
  • Equação de combinação da porta de aquecimento.
  • Atualização da célula de memória.
  • Equação de atualização de célula de memória.
  • Saída da LSTM.

Mostraremos só as duas úlimas representações matemáticas.

image

As previsões resultaram assim:
image

MSE: 3.11

PREVISÃO DE PREÇOS COM MODELO HÍBRIDO (MLP + LSTM):

Modelos de previsão híbridos que combinam Multilayer Perceptrons (MLPs) e Long Short-Term Memory (LSTM) são uma abordagem interessante para combinar o poder de redes neurais profundas com a capacidade das LSTMs de lidar com sequências e informações temporais de longo prazo. Esses modelos híbridos são projetados para aproveitar o melhor de ambos os mundos, ou seja, a capacidade de aprendizado profundo e a capacidade de modelar dependências temporais complexas.

Podemos mencionar alguns beneficios do modelo híbrido:

  • Modelos híbridos podem ser mais eficazes do que apenas MLPs ou apenas LSTMs em tarefas que exigem tanto aprendizado profundo quanto modelagem de sequências temporais.
  • Eles podem aprender a partir de dados brutos, o que significa que não é necessário fazer muita engenharia de recursos manual.
  • Permitem que a rede neural aprenda automaticamente a importância das características e sequências temporais.
  • São versáteis e podem ser aplicados a várias tarefas, incluindo previsão de séries temporais, classificação de texto e muito mais.
  • A combinação de MLPs e LSTMs é especialmente útil quando você tem dados que têm tanto informações tabulares (ou seja, características estáticas) quanto informações sequenciais (ou seja, informações temporais).

No nosso caso, criamos os modelos com as camadas e função de ativação , e a continuação fazemos a combinação dos modelos:

image

Depois de fazermos as previsções, obtemos o seguinte resultado:

image

MSE: 3.10

Ao mesmo tempo, damos um ajuste nos hyperparametros do modelo Híbrido, que básicamente consistiu em acrescentar as camadas LSTM e MLP:

image
Basicamente, a combinação do LSTM e MLP permite que o modelo utilize as características de curto prazo e longo prazo do seu conjunto de dados para fazer previsões mais precisas. O LSTM é bom para capturar dependências temporais de curto e longo prazo, enquanto o MLP pode aprender representações complexas e não lineares dos dados. A camada de achatamento é necessária para fazer a transição da saída 3D do LSTM para a camada de saída densa.

Cabe mencionar que devemos prestar muita atenção ao acrescentar as camadas e as épocas no treinamento, para não acabarmos Overfittando o modelo.

Depois desses ajustes conseguimos os seguinte resultado:

image

MSE: 2.20

Perceba-se que conseguimos um melhor resultado com o Modelo Híbrido Hyperparametrizado.



BACKTESTE:
Tenatamos fazer a previsão dos próximos 77 passos (dias úteis da Bolsa de Balores Brasileira), obtendo os seguintes resultados:

image

CONCLUSÂO:
Ainda conseguindo um bom resultado MSE no modelo com os dados de teste, ele não parece estar fazendo uma boa previsão ante as mudanças de conceito no comportamento real dos dados, mas sim parece estar seguindo a tendencia introducida pela última sequencia (últimos 20 dias considerados) e a partir daí identificando as previsões como tendencia negativa.

PRÓXIMOS PASSOS:
Resultaria muito interessante considerar algumas outras características, próprias de mudança de conceito, como o caso de cenários de risco sistemático.







About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published