Skip to content

Uma ferramenta de análise técnica para identificar tendências de mercado e cruzamentos de médias móveis em ativos da B3 - eventos de Golden Cross (potencial alta) e Death Cross (potencial baixa) no gráfico.

License

Notifications You must be signed in to change notification settings

esscova/trendMA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TrendMA

Python Streamlit Plotly Pandas

Uma ferramenta de análise técnica para identificar tendências de mercado e cruzamentos de médias móveis em ativos da B3.

Desenvolvido por Wellington M Santos

Screenshot do TrendMA

Funcionalidades

  • Análise Gráfica Interativa: Visualize o histórico de preços de um ativo juntamente com suas médias móveis de 50 e 200 períodos.

  • Detecção Automática de Cruzamentos: Identifica e sinaliza automaticamente os eventos de Golden Cross (potencial alta) e Death Cross (potencial baixa) no gráfico.

  • Métricas Essenciais: Acesso rápido ao último preço de fechamento e aos valores atuais das médias móveis para uma análise ágil.

  • Indicador de Tendência: Receba uma interpretação clara e direta da tendência atual do ativo (Alta, Baixa ou Neutra) com base na posição do preço em relação às médias.

  • Foco no Mercado Brasileiro: Utiliza um coletor para buscar dinamicamente os tickers que compõem o índice IBOVESPA da B3.

  • Rápido e Responsivo: Construído com Streamlit para uma experiência de usuário fluida e interativa.

Estrutura do Projeto

TrendMA/
├── .streamlit/
│   └── config.toml
├── docs/
│   ├── b3_tickers.md
│   └── yahoo_finance_collector.md
├── assets/
│   └── screenshot.png
├── src/
│   ├── main.py
│   ├── b3_tickers.py
│   └── yahoo_finance_collector.py
├── pyproject.toml
└── README.md
  • src/: Diretório principal que contém todo o código-fonte da aplicação.
    • main.py: Ponto de entrada da aplicação Streamlit, responsável pela UI e lógica de análise.
    • b3_tickers.py: Módulo que coleta dinamicamente os tickers de ativos da B3.
    • yahoo_finance_collector.py: Módulo que baixa dados históricos de mercado do Yahoo Finance.
  • docs/: Contém a documentação detalhada dos módulos do projeto.
  • assets/: Armazena imagens e outros recursos visuais, como o screenshot da aplicação.
  • pyproject.toml: Arquivo de configuração do projeto e gerenciamento de dependências para uv.

Requisitos

As dependências do projeto são gerenciadas através do pyproject.toml e podem ser instaladas com uv. As principais bibliotecas são:

  • streamlit
  • pandas & numpy
  • plotly
  • yfinance
  • requests

Instalação

Siga os passos abaixo para configurar e executar o projeto localmente.

  1. Clone o repositório:

    git clone https://github.com/esscova/TrendMA.git
    cd TrendMA
  2. Instale o uv (recomendado): Se você ainda não tem o uv, pode instalá-lo via pip:

    pip install uv
  3. Crie o ambiente virtual e instale as dependências: O comando uv sync cria um ambiente virtual (se não existir) e instala todas as dependências listadas no pyproject.toml.

    uv sync

    Alternativa com pip: Se preferir não usar uv, você pode criar um ambiente virtual manualmente e instalar as dependências:

    python -m venv .venv
    source .venv/bin/activate  # No Windows: .venv\Scripts\activate
    pip install streamlit pandas numpy plotly yfinance requests

Configuração de LLMs / APIs

Este projeto não requer chaves de API. Ele utiliza duas fontes de dados públicas:

  • API da B3: Para obter a lista de tickers do IBOVESPA.
  • Yahoo Finance: Para obter os dados históricos de preços dos ativos.

Atenção: o uso excessivo ou muito frequente pode levar a bloqueios temporários (rate limiting) por parte dos provedores de dados.

Uso

Com o ambiente configurado, inicie a aplicação com o seguinte comando:

streamlit run src/main.py

A aplicação será aberta automaticamente em seu navegador.

  1. Selecione um Ativo: Use o menu suspenso para escolher um ticker da B3.
  2. Inicie a Análise: Clique no botão "Analisar".
  3. Explore os Resultados: O gráfico interativo, as métricas e o indicador de tendência serão exibidos na tela.

Exemplos de Uso

O TrendMA é uma ferramenta versátil para diferentes perfis de investidores e entusiastas do mercado:

  • Análise Rápida de Tendência: Verifique rapidamente a tendência de um ativo antes de uma decisão de compra ou venda, usando o indicador visual (Alta, Baixa, Neutra).
  • Identificação de Pontos de Virada: Monitore ativos de interesse para identificar a formação de um Golden Cross ou Death Cross, que podem sinalizar mudanças significativas na tendência de longo prazo.
  • Ferramenta de Estudo: Utilize o gráfico para entender visualmente como o preço de um ativo se comporta em relação às suas médias móveis de 50 e 200 períodos.
  • Validação de Estratégias: Se você utiliza estratégias baseadas em médias móveis, o TrendMA serve como uma forma rápida de validar sinais para múltiplos ativos.

Limitações

  • A análise é baseada exclusivamente em dois indicadores de análise técnica e não constitui recomendação financeira.
  • A qualidade e disponibilidade dos dados dependem inteiramente dos serviços do Yahoo Finance.
  • O endpoint da B3 para busca de tickers é público e pode sofrer alterações, o que impactaria a funcionalidade de seleção de ativos.

Possíveis Melhorias

  • Adicionar mais indicadores técnicos, como IFR, MACD e Bandas de Bollinger.
  • Implementar um seletor de intervalo de datas para a análise histórica.
  • Adicionar a funcionalidade de comparar múltiplos ativos no mesmo gráfico.
  • Desenvolver um sistema de alerta por e-mail para cruzamentos de médias.

Contribuição

Contribuições são muito bem-vindas! Se você tem ideias para melhorar o projeto, por favor, siga estes passos:

  1. Faça um Fork do repositório.
  2. Crie uma nova Branch (git checkout -b feature/minha-melhoria).
  3. Faça o Commit de suas alterações (git commit -m 'Adiciona nova feature incrível').
  4. Faça o Push para a Branch (git push origin feature/minha-melhoria).
  5. Abra um Pull Request.

Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.

Contato

Wellington M Santos - LinkedIn

About

Uma ferramenta de análise técnica para identificar tendências de mercado e cruzamentos de médias móveis em ativos da B3 - eventos de Golden Cross (potencial alta) e Death Cross (potencial baixa) no gráfico.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages