Teste a sua lógica de agente, não apenas a sua estratégia
Autor: Equipa FXMacroData
Publicação: 21 de Maio de 2026
A maioria das equipes de negociação de IA ainda testam apenas uma camada: sinal para PnL. Isso perde o componente de maior risco nos sistemas modernos, o próprio agente. Se o seu modelo ler mal uma impressão macro, desviar do esquema ou violar a política sob pressão, uma boa estratégia ainda pode produzir maus negócios.
O backtesting lógico do agente resolve isso reproduzindo contextos históricos e avaliando a qualidade da decisão antes de qualquer ordem chegar ao seu corretor. USD/JPY E ... EUR/USD- Não .
Por que os backtests de estratégia perdem modos reais de fracasso
Quando você só avalia PnL, você esconde três classes de falha crítica:
- Erros de interpretação: O modelo interpreta mal uma versão como PNFP e constrói uma tese na direcção errada.
- Erros de contrato: A saída quebra o seu esquema durante períodos de alta volatilidade.
- Desvio da política de risco: O modelo recomenda o dimensionamento excessivo ou ignora os critérios de invalidação.
Estes problemas aparecem muitas vezes antes de a degradação da PnL se tornar óbvia.
O quadro de teste de retorno de agentes de quatro camadas
Camada 1: Repetição de contexto
Reconstruir cada marca de tempo como o modelo teria visto em tempo real. Calendário de lançamento- Não .
curl "https://fxmacrodata.com/api/v1/announcements/usd/core_pce?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/forex?base=EUR"e=USD&api_key=YOUR_API_KEY"
Camada 2: Repetição de decisão
Execute o agente em cada contexto com o prompt de produção exato e restrições. Armazenar saída bruta mais saída analisada para que você possa auditar tanto o raciocínio quanto a estrutura.
{
"pair": "EUR/USD",
"action": "long|short|flat",
"confidence": 0.0,
"thesis": "string",
"invalidation": "string",
"size_pct": 0.0
}
Camada 3: Simulação de políticas
Refaça as mesmas regras do guardião que usou ao vivo: risco máximo, bloqueio de janela de eventos, limites de confiança e restrições de concentração.
Camada 4: Atribuição de resultados
Resultados separados:
- Tese correta, boa conformidade com a política, lucrativo.
- Tese correta, má qualidade de execução.
- Tese incorreta, a política devia ter bloqueado.
- Falha de esquema ou processo independente da direcção do mercado.
Isto diz-lhe se deve melhorar os sinais, políticas ou canalização de execução.
Projetar um conjunto de dados de repetição de alta qualidade
A maioria dos canais de repetição falha porque o conjunto de dados é muito limpo ou muito estreito.
Uma divisão prática:
- 40% sessões normais: misturas de baixo volume, de tendência e de gama.
- 35% de janelas de eventos: emissões de alto impacto como PCE de base e dias de taxa de juro.
- Fonte de tensão de 25%: dias de risco alargado com uma variação anormalmente elevada e ruído de latência.
Para cada marca de tempo, capture apenas o que era conhecido na época. Isso inclui o contexto do calendário de lançamento, o caminho atual do ponto e qualquer contexto de política dos arquivos de comunicação do banco central.
Replay row fields (recommended):
- ts_utc
- pair
- context_payload_hash
- prompt_version
- model_version
- raw_output
- parsed_output
- policy_decision
- simulated_execution
- realized_outcome
Hashing contextual cargas úteis ajuda a detectar acidental futuro vazamento de dados durante refactores.
Como avaliar o raciocínio, não apenas a direção
Adicione uma rubrica de raciocínio simples marcada por verificações determinísticas mais uma auditoria humana leve:
- Correcção da causa: A tese faz referência ao motor macro certo?
- Consciência das restrições: A recomendação reflete as regras de risco?
- Calibração da incerteza: A confiança corresponde à qualidade do contexto?
- Disciplina de acção: O modelo escolhe ?
flatquando a evidência é fraca?
Segure isto como ReasoningConsistency para que você possa comparar modelos e instruções além do PnL.
Qualidade do agente de pontuação (além da taxa de acerto)
Um quadro de avaliação robusto deve registar pelo menos estas métricas:
- Taxa de aprovação do esquema: percentagem de saídas que analisam limpam.
- Taxa de cumprimento das políticas: % das saídas que satisfazem restrições duras.
- Consistência de raciocínio: Quantas vezes a tese se alinha com o contexto fornecido.
- Distribuição da latência: tempo de decisão p50/p95 em condições realistas de oleoduto.
- Estabilidade do regime: A pontuação desloca-se através de tendências, de intervalos e de janelas de choque de eventos.
Exemplo de pontuação ponderada:
AgentScore = 0.30 * SchemaPass
+ 0.25 * PolicyCompliance
+ 0.20 * ReasoningConsistency
+ 0.15 * RegimeStability
+ 0.10 * LatencyScore
Se você executar um fluxo de trabalho com segurança em primeiro lugar, aumente o peso no esquema e conformidade de políticas.
Arneses de repetição mínimos
Use um jogador de repetição que registra cada decisão e componente de pontuação.
from dataclasses import dataclass
@dataclass
class ReplayResult:
ts: str
parsed_ok: bool
policy_ok: bool
reasoning_ok: bool
latency_ms: int
pnl_r: float
def evaluate_one(ctx, agent, gatekeeper) -> ReplayResult:
raw = agent.run(ctx)
parsed = agent.parse(raw)
parsed_ok = parsed is not None
if not parsed_ok:
return ReplayResult(ctx["ts"], False, False, False, agent.last_latency_ms, 0.0)
gate = gatekeeper.validate(parsed, ctx)
policy_ok = gate.allowed
reasoning_ok = gate.reasoning_consistent
pnl_r = gate.simulated_r if policy_ok else 0.0
return ReplayResult(
ts=ctx["ts"],
parsed_ok=parsed_ok,
policy_ok=policy_ok,
reasoning_ok=reasoning_ok,
latency_ms=agent.last_latency_ms,
pnl_r=pnl_r,
)
A chave é a repetição determinista: o mesmo contexto de entrada, a mesma versão imediata, as mesmas regras de validação.
De resultados de repetição a decisões de envio
Não promova alterações de modelo ou de prompt diretamente a partir de métricas de pontos.
- Portão 1: A taxa de aprovação do esquema não deve regredir.
- Portão 2: A conformidade com a política deve permanecer acima do limiar nas janelas de eventos.
- Portão 3: A coerência do raciocínio deve melhorar ou permanecer estável.
- Portão 4: A latência p95 deve manter-se dentro do orçamento operacional.
Só se todos os portões passarem, deve começar o modo sombra de negociação de papel.
Promotion policy example:
- Replay pass: required
- Shadow mode: 3 weeks minimum
- Live rollout: 20% traffic for 5 days, then full
- Auto-rollback: any schema fail burst or policy breach cluster
Isto evita o ciclo clássico em que as equipas se adaptam demais para reproduzir e sub-testam o comportamento operacional.
Erros comuns de teste
- Fugas: Incluindo acidentalmente campos futuros no contexto.
- Drift imediato: backtesting com um prompt e negociação ao vivo com outro.
- Não há segmentação do regime: A média dos resultados em estados de volatilidade muito diferentes.
- Não há repetição de política: Tratar todos os resultados do modelo como negociáveis.
Como isso melhora a confiabilidade das negociações ao vivo
O backtesting de lógica de agente melhora a confiabilidade de maneiras que os backtests clássicos não podem:
- Encontrar aglomerados de falhas em torno de dias do banco central, a partir do Reserva Federal Para o ... Banco da Inglaterra- Não .
- Revelar quais erros estão relacionados com o prompt versus com a política.
- Suporta atualizações de modelos mais seguras porque você pode comparar o comportamento de decisão entre versões antes da implantação.
- Criar uma trilha de auditoria reutilizável para cada candidato comercial aceite ou rejeitado.
Se já rastrearmos PnL, isso adiciona a camada de observabilidade que falta e impede que a automação da IA se degrade silenciosamente.
Resumo
O backtesting é necessário para a lógica da estratégia. O backtesting é o que torna os fluxos de trabalho de negociação de IA duráveis. Os sistemas mais fortes avaliam ambos: vantagem de mercado e integridade de decisão.
Próximo passo: criar um benchmark de repetição mensal e exigir que cada mudança de prompt/modelo seja aprovada antes de chegar ao modo ao vivo. COT e filtros de sessão de Sessões de câmbio para o comportamento de teste de esforço em diferentes estados de mercado.