Sobre o projeto

Esta é uma infraestrutura de simulador de trading e pesquisa quantitativa com prioridade local, voltada para as regras de negociação de ações A da China. O projeto não se conecta a corretoras nem manipula fundos reais; o repositório público contém apenas código-fonte, configurações de container e documentação anonimizada. A abordagem central é integrar as regras de ações A diretamente no caminho de correspondência (matching) e validação de pedidos, em vez de realizar correções aproximadas após o backtest. Regras como T+1, lotes de 100 ações, limites de alta/baixa, suspensões, comissões, impostos e slippage são validadas antes do envio do pedido. O fluxo de dados de mercado opera no modo fail-closed: cotações obsoletas, ausentes ou com cobertura insuficiente não são convertidas silenciosamente em "preços em tempo real"; na ausência de evidências, a execução simulada é rejeitada. No lado dos dados, utiliza-se a captura de múltiplas fontes com verificação independente. Os preços em tempo real possuem timestamps e origens claros, e os snapshots do mercado possuem portões de cobertura; em caso de falha na fonte de dados, a riqueza do sinal é reduzida ou o caminho correspondente é bloqueado. O controle de risco é implementado via máquina de estados em camadas. Cada operação de compra ou venda passa por uma camada de risco independente, gerando resultados estruturados como approved, rejected, deferred_capacity ou downside_warning. Suporta stop-loss rígido, stop-loss móvel, take-profit escalonado, rotação de qualidade, compressão de capacidade e guarda de concentração. A proteção contra quedas utiliza uma máquina de estados para redução gradual de posições até a liquidação total, com motivos de risco registrados em logs de auditoria estáveis. O capital é gerenciado por um pool compartilhado com atribuição de orçamento por estratégia, incluindo limites de assento, orçamento por ativo, proteção de equidade e teto rígido de capital. A reserva de fundos e a dedução formal são separadas, utilizando savepoints do SQLite para evitar ocupações duplicadas durante varreduras concorrentes. O agendamento suporta seis tipos de slots: auction, open, risk, intraday, close e weekly-review. O agendador intraday de 3 minutos é ativado por padrão, mas pode ser desativado se houver um agendador externo. Leases de runtime, heartbeats e fencing tokens são usados para prevenir pedidos duplicados, escritores zumbis e sobreposições concorrentes. No nível de estratégia, cinco definições são mantidas e integradas ao registro de estratégias, replay histórico e exibição de auditoria: tq_breakout (rompimento forte), trend_pullback (correção de tendência), sector_rotation (rotação de setor), reported_profit_breakout (rompimento de qualidade) e main_force_top10 (fluxo de capital principal). Elas compartilham a infraestrutura de matching, pool de capital, risco e auditoria, mas possuem canais de candidatos, assentos de posição e regras de saída próprios. O projeto explicitamente não realiza roteamento para trading real, alavancagem, vendas a descoberto ou T+0 para ações comuns. Sinais, candidatos, decisões de risco, pedidos, execuções, posições, NAV e resultados de varredura por rodada geram evidências rastreáveis. Módulos de pesquisa como adaptive_*, news_learning, neural_shadow e dual_ai_tuner salvam observações independentes (shadow) sem contornar o caminho formal de matching. Capacidades de LLM são opcionais; o simulador básico não depende de LLM. Para a implantação, requer-se Python 3.11+. São fornecidos start.ps1/start.bat para Windows e start.sh para Linux/macOS, com seleção automática entre modo Docker ou local, permitindo a especificação de portas, abertura de navegador e ativação do agendador interno. O Docker Compose fornece imagens de aplicação e volumes nomeados, mapeando a porta 8600 por padrão. O repositório alerta que o mapeamento atual do Compose escuta em todas as interfaces de rede, recomendando 127.0.0.1 para uso pessoal, e observa que a aplicação ainda não possui autenticação interna completa. Para usuários que não desejam conectar dados reais inicialmente, a configuração ASTOCK_DEMO=1 injeta dados sintéticos na primeira inicialização, sem necessidade de rede ou chaves de API. Isso inclui 10 ativos sintéticos e um livro de narrativas completo cobrindo cenários como compra normal, rejeição de venda T+1 no mesmo dia, rejeição por cotação obsoleta, venda por stop-loss rígido e compra no limite de alta. Esta injeção é idempotente e o conteúdo estruturado é comparado byte a byte no CI como um golden replay para evitar desvios narrativos. O repositório contém o motor principal de matching/risco/auditoria, modelo de leitura do dashboard, captura de dados, motor de decisão, definições de estratégia, API HTTP com entrada FastAPI/Web e testes de regressão offline. O CI executa regressões em Python 3.11/3.12, verificações estáticas com Ruff, consistência de lockfiles, pip-audit e testes de fumaça no Docker. O projeto utiliza a licença MIT e o README inclui um aviso de risco, enfatizando que o simulador, backtests e resultados históricos não garantem lucros futuros nem constituem conselhos de investimento.