teste / README.md
torxyton's picture
docs: Adiciona fluxograma completo do sistema
597a01f

A newer version of the Gradio SDK is available: 6.6.0

Upgrade
metadata
title: Sistema de Análise Financeira com IA
emoji: 📈
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.44.0
app_file: app.py
pinned: false
license: mit
short_description: Sistema de análise financeira com IA e ensemble de modelos

📈 Sistema de Análise Financeira com IA

Um sistema completo de análise financeira que combina múltiplos modelos de IA para fornecer insights precisos sobre mercados financeiros, análise de sentimento e processamento avançado de dados.

🚀 Funcionalidades Principais

🤖 Sistema Ensemble de IA

  • Múltiplos Modelos: Integração de FinBERT, RoBERTa e modelos customizados
  • Votação Inteligente: Sistema de consenso entre modelos para maior precisão
  • Otimização Automática: Ajuste dinâmico de pesos baseado na performance

📊 Análise de Mercado Avançada

  • Swing Points: Detecção automática de pontos de reversão
  • Zonas de Confluência: Identificação de níveis críticos de suporte/resistência
  • Padrões Harmônicos: Reconhecimento de padrões Gartley, Butterfly, Bat e Crab
  • Análise Fibonacci: Cálculos automáticos de retracement e extensão

💹 Análise de Sentimento

  • Processamento de Texto: Análise de notícias e relatórios financeiros
  • Classificação Multi-classe: Bullish, Bearish, Neutral com scores de confiança
  • Contexto Financeiro: Especializado em terminologia do mercado financeiro

🎨 Interface

  • Interface Web Moderna: Interface Gradio responsiva e intuitiva
  • Tema Escuro/Claro: Sistema de temas dinâmico com modo noturno
  • Visualizações Interativas: Gráficos e métricas em tempo real
  • Design Responsivo: Otimizado para desktop e mobile
  • Feedback Visual: Indicadores de status e progresso

📝 Sistema de Logging Avançado

  • Armazenamento SQLite3: Banco de dados estruturado para logs persistentes
  • Interface Web: Visualizador de logs com filtros avançados e estatísticas
  • Decoradores Automáticos: Logging automático com decoradores Python
  • Métricas de Performance: Monitoramento em tempo real com gráficos
  • Categorização Inteligente: Logs organizados por categoria e nível
  • Limpeza Automática: Gerenciamento automático de logs antigos
  • Eventos do Sistema: Rastreamento de eventos críticos e alertas

🧪 Sistema de Testes Robusto

  • Pytest Framework: Framework de testes otimizado e moderno
  • Testes Unitários: Cobertura completa de módulos individuais
  • Testes de Integração: Validação de fluxos completos do sistema
  • Fixtures Reutilizáveis: Setup/teardown automatizado para testes
  • Mocking Avançado: Isolamento de dependências externas
  • Relatórios de Cobertura: Análise detalhada em HTML, XML e terminal
  • Testes Parametrizados: Múltiplos cenários com dados variados
  • Execução Paralela: Testes rápidos com pytest-xdist
  • Benchmarking: Testes de performance e uso de memória
  • CI/CD Ready: Integração completa com pipelines de desenvolvimento

🏗️ Arquitetura do Sistema

📁 Projeto/
├── 📁 src/                    # Código fonte organizado
│   ├── 📁 ai/                 # Modelos de IA e ensemble
│   ├── 📁 analysis/           # Análises de mercado e sentimento
│   ├── 📁 core/               # Funcionalidades centrais
│   ├── 📁 integrations/       # Integrações externas
│   ├── 📁 ui/                 # Interface do usuário
│   │   ├── 📄 gradio_interface.py
│   │   ├── 📄 theme_manager.py
│   │   └── 📄 dark_theme_components.py
│   └── 📁 utils/              # Utilitários e helpers
├── 📁 config/                 # Configurações do sistema
├── 📁 docs/                   # Documentação completa
├── 📁 tests/                  # Estrutura completa de testes
│   ├── 📁 unit/               # Testes unitários
│   ├── 📁 integration/        # Testes de integração
│   ├── 📁 data/               # Dados de teste
│   ├── 📄 conftest.py         # Configurações globais
│   └── 📄 test_patterns.py    # Padrões e exemplos
├── 📁 scripts/                # Scripts utilitários
│   └── 📁 log_analysis/       # Análise de logs
├── 📄 pytest.ini             # Configuração do pytest
├── 📄 Makefile                # Comandos automatizados
└── 📄 app.py                  # Aplicação principal

🛠️ Tecnologias Utilizadas

  • Python 3.8+: Linguagem principal
  • Gradio 5.44.0: Interface web interativa (compatível com HF Spaces)
  • Transformers: Modelos de linguagem (FinBERT, RoBERTa)
  • NumPy/Pandas: Processamento de dados
  • Scikit-learn: Machine learning
  • SQLite3: Banco de dados para logging avançado
  • Plotly: Gráficos interativos para métricas
  • Threading: Processamento assíncrono

📋 Pré-requisitos

  • Python 3.8 ou superior
  • 4GB+ de RAM (recomendado 8GB)
  • Conexão com internet para download de modelos

🚀 Instalação e Execução

1. Clone o repositório

git clone <repository-url>
cd hugging_face_spaces

2. Instale as dependências

pip install -r requirements.txt

3. Execute a aplicação

python app.py

4. Acesse a interface

Abra seu navegador em http://localhost:7860

🧪 Executando Testes

Comandos Rápidos (Makefile)

# Executar todos os testes
make test

# Testes unitários apenas
make test-unit

# Testes de integração
make test-integration

# Testes com relatório de cobertura
make test-coverage

# Testes rápidos (sem os lentos)
make test-fast

# Testes em paralelo
make test-parallel

Comandos Pytest Diretos

# Executar todos os testes
pytest -v

# Testes por categoria
pytest -m unit                    # Apenas unitários
pytest -m integration             # Apenas integração
pytest -m "not slow"              # Excluir testes lentos

# Com cobertura
pytest --cov=src --cov-report=html

# Teste específico
pytest tests/unit/test_voting_system.py::test_majority_voting

Relatórios de Cobertura

Após executar make test-coverage, abra htmlcov/index.html para ver o relatório detalhado.

🌐 Hugging Face Spaces

Este projeto está 100% compatível com Hugging Face Spaces:

✅ Correções Implementadas

  • SSR Desabilitado: ssr_mode=False para evitar erro 500
  • Configurações Otimizadas: Parâmetros específicos para HF Spaces
  • Detecção Automática: Sistema detecta ambiente HF Spaces automaticamente
  • Fallback Inteligente: Configurações locais como backup

🚀 Deploy no HF Spaces

  1. Faça fork/clone do repositório
  2. Crie um novo Space no Hugging Face
  3. Configure como Gradio App
  4. O sistema aplicará automaticamente as configurações corretas

🔧 Configurações HF Spaces

  • SDK: Gradio 5.44.0
  • Python: 3.8+
  • Arquivo Principal: app.py
  • SSR: Desabilitado automaticamente

📋 Troubleshooting

Para problemas específicos do HF Spaces, consulte:

📖 Documentação

Documentação completa disponível em:

🔧 Configuração

O sistema pode ser configurado através do arquivo config/config.py:

# Configurações dos modelos
MODEL_WEIGHTS = {
    'finbert': 0.4,
    'roberta': 0.35,
    'custom': 0.25
}

# Configurações de análise
SWING_DETECTION = {
    'lookback_period': 5,
    'min_strength': 0.3
}

📊 Exemplos de Uso

Análise de Sentimento

from src.analysis.sentiment_analysis import SentimentAnalyzer

analyzer = SentimentAnalyzer()
result = analyzer.analyze_text("O mercado está em alta com perspectivas positivas")
print(f"Sentimento: {result['sentiment']} (Confiança: {result['confidence']:.2f})")

Análise de Mercado

from src.core.advanced_market_processing import AdvancedMarketProcessor

processor = AdvancedMarketProcessor()
result = processor.process_market_data(prices, volumes)
print(f"Estrutura do mercado: {result['market_structure']}")

Sistema de Logging

from src.utils.logging_decorators import log_execution, quick_log
from src.core.database_logger import LogLevel, LogCategory

# Logging automático com decorador
@log_execution(LogCategory.MARKET_ANALYSIS, log_performance=True)
def analyze_market():
    # Sua análise aqui
    return results

# Logging rápido
quick_log("Operação concluída", LogLevel.INFO, LogCategory.SYSTEM)

Visualização de Logs

from src.ui.log_viewer import create_log_viewer_interface

# Criar interface de visualização
interface = create_log_viewer_interface()
interface.launch()

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

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

🆘 Suporte

Para suporte e dúvidas:

📈 Status do Projeto

  • ✅ Sistema Ensemble de IA implementado
  • ✅ Análise de mercado avançada
  • ✅ Sistema de logging completo
  • ✅ Interface web funcional
  • ✅ Documentação atualizada
  • ✅ Estrutura refatorada

Desenvolvido com ❤️ para análise financeira inteligente