Skip to content

Previsão de Tendência de Ações com Random Forest


Etapa 1 – Exploração dos Dados

O conjunto de dados utilizado contém informações históricas de preços de diversas ações do mercado americano, incluindo as colunas:

  • date: data da cotação
  • open: preço de abertura
  • high: preço máximo do dia
  • low: preço mínimo do dia
  • close: preço de fechamento
  • volume: número de ações negociadas
  • Name: ticker da empresa

Durante a análise inicial, foi possível observar que os preços variam consideravelmente entre empresas e ao longo do tempo.
As colunas numéricas apresentaram valores contínuos e consistentes, ideais para uso em modelos de aprendizado supervisionado.


Etapa 2 – Pré-processamento

Foi realizada a limpeza e preparação dos dados: - Remoção de valores ausentes (NaN) nas colunas principais (open, high, low, close, volume);
- Criação da variável alvo (target), que indica se o preço subiu (1) ou caiu (0) no dia seguinte:
[ target = \begin{cases} 1, & \text{se } close_{t+1} > close_t \ 0, & \text{caso contrário} \end{cases} ] - Nenhuma normalização adicional foi aplicada, pois os modelos de árvore não exigem escalonamento de dados.


Etapa 3 – Divisão dos Dados

Os dados foram divididos em: - Treino: 75%
- Teste: 25%

Essa separação permite avaliar o desempenho do modelo em dados nunca vistos, evitando overfitting.


Etapa 4 – Treinamento do Modelo

O modelo escolhido foi o Random Forest Classifier, com os principais hiperparâmetros: - n_estimators = 200
- random_state = 42
- n_jobs = -1 (para paralelismo)

O modelo foi treinado com as features:
open, high, low, close, volume.

O objetivo é prever se o preço de fechamento da ação no próximo dia será maior (1) ou menor (0) que o do dia atual.


Etapa 5 – Avaliação do Modelo

🔹 Relatório de Classificação

Classe Precision Recall F1-score Suporte
0 (queda) 0.48 0.44 0.46 74 109
1 (alta) 0.52 0.56 0.54 80 648

Acurácia geral: 0.50
Média ponderada (weighted avg): 0.50


Interpretação dos Resultados

O modelo apresentou acurácia de 50%, indicando desempenho equivalente a uma previsão aleatória.
Isso ocorre porque a variação diária do preço das ações é altamente volátil e depende de fatores externos (notícias, economia global, eventos corporativos) não presentes nos dados numéricos usados.

Apesar do baixo desempenho, as métricas mostram: - Um ligeiro viés positivo (classe 1 – subida) foi melhor identificada pelo modelo;
- As classes estão razoavelmente balanceadas, o que torna a acurácia um bom indicador;
- A importância das variáveis indica que as features mais relevantes foram: - close (fechamento do dia anterior); - high e low, que refletem volatilidade diária; - volume, com menor peso.


Visualizações

Matriz de Confusão

Matriz de Confusão

Importância das Variáveis

Importância das Variáveis


Etapa 6 – Relatório Final

Conclusões

  • O modelo Random Forest foi implementado com sucesso e executou previsões binárias sobre a tendência de preço diário.
  • O desempenho de 50% de acurácia mostra que, sem variáveis externas (notícias, indicadores econômicos ou de sentimento), é difícil prever movimentos de curto prazo no mercado de ações.
  • O modelo, contudo, demonstra corretamente a aplicação do método e a pipeline de Machine Learning.

Possíveis Melhorias

  • Adicionar novas features, como médias móveis ou retornos percentuais acumulados;
  • Incluir variáveis de contexto, como indicadores econômicos (ex: S&P500, juros, inflação);
  • Testar modelos sequenciais (ex: LSTM, Prophet) mais adequados para séries temporais.