Preveja o preço de ações da próxima semana e otimize seu portfólio de investimentos utilizando modelos avançados de redes neurais LSTM e o Modelo de Otimização de Markowitz.
Este projeto combina a previsão de séries temporais com LSTM e a otimização de portfólios com o Modelo de Markowitz, permitindo que você:
- Preveja os preços de ações da próxima semana com base em dados históricos.
- Avalie o desempenho do modelo utilizando métricas de erro como MSE e MAE.
- Otimize a alocação do seu portfólio com base no retorno esperado e no risco.
- LSTM Model: Treina um modelo para prever preços de ações futuros.
- Portfolio Optimization: Utiliza o Modelo de Markowitz para recomendar a melhor alocação de ativos com base na previsão.
- Price Prediction: Prevê o preço de ações para os próximos 5 dias úteis.
- Fácil de usar: Apenas insira o símbolo da ação (ex: AAPL para Apple Inc.) e veja a previsão de preços e a recomendação de compra/venda.
Primeiro, faça o clone deste repositório:
git clone https://github.com/joseabrantesjr/trade.git
cd trade
Use o pip
para instalar as dependências listadas no arquivo requirements.txt
.
pip install -r requirements.txt
Rode o script Python diretamente no terminal e insira o símbolo de uma empresa listada na bolsa para prever seus preços e otimizar seu portfólio:
python run.py
-
Prever preços de ações:
Após rodar o programa, insira um símbolo de ação, como
AAPL
, e veja as previsões de preços para os próximos 5 dias úteis, junto com recomendações de compra ou venda:Digite o símbolo da empresa (por exemplo, AAPL para Apple Inc.): PBR Preço de Fechamento Atual: $14.53 Previsão de preços para a próxima semana: 16/09/2024: $14.53 17/09/2024: $14.56 18/09/2024: $14.60 19/09/2024: $14.64 20/09/2024: $14.69 Erro Quadrático Médio (MSE) do modelo: 0.0019 Erro Absoluto Médio (MAE) do modelo: 0.0329 Variação percentual prevista: 1.07% Recomendação: Considere comprar. O modelo prevê uma tendência de alta.
-
Otimizar Portfólio:
O modelo de Markowitz calcula o peso ideal da ação na sua carteira com base nas previsões de retorno e no seu nível de tolerância ao risco.
Peso ótimo da ação na carteira: 15.23%
O projeto está estruturado da seguinte forma:
preprocess_data
: Pré-processamento dos dados, incluindo escalonamento e criação de janelas de dados para treinamento.create_lstm_model
: Criação do modelo LSTM.train_model
: Treinamento do modelo e divisão dos dados em treino e teste.predict_next_week
: Previsão de preços para os próximos 5 dias úteis.optimize_portfolio
: Otimização da carteira utilizando o modelo de Markowitz.
Se você quiser aprender mais sobre as técnicas utilizadas neste projeto, confira:
Sinta-se à vontade para contribuir com este projeto! Aqui está como você pode ajudar:
- Dê uma estrela: Se este projeto ajudou você, dê uma estrela no GitHub!
- Fork este repositório: Crie sua própria cópia deste projeto e adicione novos recursos.
- Envie um Pull Request: Quer sugerir uma melhoria? Faça um fork, adicione sua melhoria e envie um pull request.
- Reportar Problemas: Encontrou um bug ou um erro? Abra uma issue no GitHub.
- Faça o fork deste repositório.
- Crie um branch com sua feature:
git checkout -b minha-feature
. - Faça o commit das suas mudanças:
git commit -m 'Adiciona minha feature'
. - Faça o push para o branch:
git push origin minha-feature
. - Envie um Pull Request.
Nosso objetivo é criar um projeto de código aberto robusto, onde todos possam colaborar e aprender sobre redes neurais, séries temporais e otimização de portfólio. Esperamos que este projeto se torne uma referência para quem deseja entender essas técnicas aplicadas ao mercado financeiro.
- Siga-me no GitHub para mais projetos como este!
- Gostou deste projeto? Dê uma estrela e compartilhe com seus amigos!
Licença: Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.