Resultados medidos, nao alegacoes de marketing. Benchmarks detalhados serao publicados juntamente com o lancamento da v1.0.
Comparacao direta nas operacoes principais de backtest.
| Metrica | Python | StratForge | Melhoria |
|---|---|---|---|
| Indicador Unico (por barra) | TBD | TBD | TBD |
| Passo de Estrategia | TBD | TBD | TBD |
| Backtest Completo (1M barras) | TBD | TBD | TBD |
| Throughput | TBD | TBD | TBD |
| Consumo de Memoria | TBD | TBD | TBD |
Como o StratForge compoe otimizacoes ao longo do pipeline de backtest.
As barras sao armazenadas em buffers colunares amigaveis para a cache. As computacoes de indicadores fluem atraves de memoria contIgua em vez de perseguir ponteiros.
Cada indicador mantem estado interno e atualiza em O(1) por barra. Sem recomputacao de janela deslizante.
A logica de entrada/saida da estrategia e reescrita como aritmetica sem ramificacoes onde possivel para evitar paragens de pipeline em codigo condicional de preco.
Parametros de indicadores conhecidos em tempo de compilacao tornam-se consteval. Templates especializados eliminam despacho em tempo de execucao.
Executar uma passagem de backtest no caminho critico.
| Operacao | Backtester Python | StratForge |
|---|---|---|
| Alocacoes de Heap | Muitas (objetos Python por barra) | 0 |
| Armazenamento de Barras | Copias de pandas DataFrame | Vistas std::span em buffer colunar |
| Estado do Indicador | Alocacao de array por chamada | Estado rotativo pre-alocado |
| Consumo de Memoria | Dinamico, conduzido por GC | Estatico, pre-alocado |
| Determinismo | Desvio de ponto flutuante entre execucoes | Reprodutivel bit-exato |
Decisoes de design que se compoem para backtesting deterministico e de baixa latencia.
| Tecnica | Backtester Python | StratForge |
|---|---|---|
| Layout de Memoria | Orientado por linhas (DataFrame) | Colunar (amigavel para cache) |
| Atualizacoes de Indicador | Recomputar janela a cada chamada | Incremental O(1) por barra |
| Despacho de Loop | Loop Python interpretado | Loop template C++ inlined |
| Determinismo Numerico | Dependente da versao NumPy / pandas | Bit-exato entre execucoes |
| Composicao de Estrategia | Hierarquia de classes + despacho dinamico | Concepts + polimorfismo estatico |
| Tratamento de Erros | Excecoes | std::expected (sem throw) |
Bibliotecas e frameworks lideres da industria estudados durante o design do StratForge.
| Biblioteca | O Que Aprendemos | O Que Construimos | Resultado |
|---|---|---|---|
| TA-Lib | Definicoes canonicas de indicadores e tratamento de casos limite | Biblioteca de indicadores header-only em C++23 | 138 indicadores |
| vectorbt | API de backtest vetorizada e varrimentos de parametros | Expansao de parametros por template em tempo de compilacao | TBD |
| backtrader | Ciclo de vida de estrategia e hooks de eventos | Interface de estrategia orientada por concepts | Ciclo de vida type-safe |
| QuantLib | Arquitetura modular de precificacao e analitica | Modulos analiticos plugaveis | TBD |
| Eigen | Expression templates para matematica de sobrecarga zero | Composicao preguicosa de indicadores | Sem buffers temporarios |
| Arrow | Padroes de layout de memoria colunar | Armazenamento de barras colunar nativo | Amigavel para linha de cache |
| Folly | Primitivos lock-free e small_vector | Diarios de transacoes pre-alocados | TBD |
| Highway | Abstracao SIMD portavel | Loops internos de indicadores compativeis com SIMD | TBD |
| fmt | Strings de formato em tempo de compilacao | Formatacao de relatorios de custo zero | TBD |
| Boost.PMR | Buffer monotonico para alocacao de arena | Pool std::pmr::monotonic_buffer_resource | Zero alocacao de heap |
| Catch2 | Testes unitarios de indicadores em estilo BDD | Suite de regressao bit-exata | CI reprodutivel |
Tres comandos para clonar e comecar a fazer backtest.
git clone https://github.com/StratCraftsAI/StratForge.git
cd StratForge
./start.sh build