Backtest é prática essencial em trading sistemático. Mas backtest com LLM (OpenClaw) tem características únicas e limites importantes. Esta página explica honestamente.
O problema fundamental
Backtest tradicional (Freqtrade, Backtrader) roda strategy determinística em dados históricos. Mesma input = mesma output. Trivial reproduzir.
OpenClaw com LLM é probabilístico. Mesma input pode dar outputs ligeiramente diferentes. Como avaliar strategy se cada run é diferente?
Solução: backtests múltiplos
Em vez de 1 backtest, rode 10-20 com mesma config. Avalie:
- Mean PnL
- Standard deviation
- Worst case vs best case
- Consistency das decisões
Strategy boa: mean positivo + std baixo. Strategy ruim: alta variance ou mean negativo.
Custo
Backtests OpenClaw custam tokens. Para 1 mês de dados com decisão a cada hora:
- ~720 LLM calls × $0.01 = $7.20 por backtest
- 10 backtests = $72
- Pra strategy completa testar 6 meses em 5 configs = ~$2000
Backtest tradicional Freqtrade: $0.
Implicação: use Freqtrade pra backtest grosso (parameter sweep), use OpenClaw pra validar setup final.
Setup técnico
OpenClaw permite backtest mode com data histórica em vez de live APIs:
# config.yml backtest mode
mode: backtest
backtest:
start_date: "2024-01-01"
end_date: "2024-06-30"
data_source: "binance_klines"
initial_capital: 10000
fees_pct: 0.10
random_seed: null # deixa LLM variar; ou seed pra reproducibility
O que backtest OpenClaw mostra bem
- Quality de decisão do LLM em situações reais históricas
- Consistency de strategy across diferentes regimes de mercado
- Edge cases que strategy determinística não capturaria
O que backtest OpenClaw NÃO mostra bem
- Latência real: backtest é instantâneo; real tem 1-3s de delay
- Slippage real: backtest assume preço médio; real tem bid/ask spread
- API failures: backtest não simula exchange downtime
- News impact em rebrace LLM: LLM pode ter visto news em treinamento e influenciar decisão
Look-ahead bias particular do LLM
Problema único com LLMs: training cutoff. Se LLM foi treinado em dados até 2024-12 e você backtesta período 2024-06, LLM "sabe" o que aconteceu depois.
Não é exatamente cheating (LLM não sabe explicitamente "o preço subiu em julho"), mas pode haver bias sutil — tom de news positive sobre projeto que LLM "sabe" foi sucesso depois.
Mitigation: backtest períodos pós-cutoff sempre que possível.
Walk-forward analysis
Best practice: divida período em janelas. Train em janela 1, test em janela 2. Repeat.
- Train: 2024-01 a 2024-06 (ajuste config)
- Test: 2024-07 a 2024-09 (mantém config, avalia)
- Train: 2024-10 a 2025-03
- Test: 2025-04 a 2025-06
Mostra robustness em condições não-vistas.
Alternativas a backtest puro
- Paper trading: opera live com dinheiro fake. Validation real-time mas demorada.
- Dry run no Freqtrade: usa dados live mas não executa ordens
- Forward testing pequeno: US$ 50 em conta real por 2-4 semanas
Combine: backtest pra rejeitar strategies horríveis, paper/forward pra validar antes de capital sério.
A pergunta correta
Não "qual o win rate do backtest?". Sim:
- Strategy é robust across diferentes regimes (trending, ranging, volatile)?
- Worst case drawdown é tolerável?
- Sharpe ratio > 1.0 consistently?
- Strategy faz sentido fundamentalmente (não overfit)?
Backtest é tool de rejection — descartar strategies ruins. Não promete sucesso live.
Veja: DCA simples — strategy que mantém qualidade em backtest E live. 🦞