20 de setembro de 2026 · execução

A sua conta de simulação rejeitou a execução do backtest: uma carta sobre filtros da exchange

A sua conta de simulação rejeitou a execução do backtest: uma carta sobre filtros da exchange

Tem uma pequena estratégia de futuros de criptoativos que negoceia vários contratos e acabou de passar do backtest para a negociação simulada. O primeiro rebalanceamento pede 0.037 BTC. O simulador aceita a ordem; a plataforma rejeita-a porque o incremento de quantidade do contrato é 0.001 e a ordem, depois de arredondada, fica abaixo do valor nocional mínimo. A sua posição mantém-se neutra, enquanto o backtest regista uma execução.

É fácil desvalorizar esta diferença como um erro de formatação. Mas também pode alterar os ativos que detém, o momento do rebalanceamento e o risco que permanece após uma ordem falhar. Trate os filtros de negociação de cada plataforma como parte das regras de execução da estratégia e faça com que o backtest e o adaptador de simulação apliquem as mesmas regras pela mesma ordem.

Que filtros da exchange podem invalidar uma ordem?

Comece pelos metadados do instrumento de que a sua ordem precisa: incremento de quantidade, quantidade mínima, valor nocional mínimo, incremento de preço e eventuais limites de dimensão da ordem ou de banda de preços. Os nomes e o âmbito destes filtros variam consoante a plataforma. Um par à vista pode ter um mínimo diferente do respetivo contrato perpétuo; um filtro pode mudar enquanto a sua estratégia está em execução.

Considere uma posição-alvo no valor de $12 num contrato cujo valor mínimo de ordem é $10. Se o incremento de quantidade fizer com que a sua ordem seja arredondada para baixo até $9.80, a ordem é inválida, apesar de o alvo não arredondado ultrapassar o mínimo. Arredondar para cima até $10.20 pode torná-la válida, mas também excede o alvo em $0.20. Esta diferença pode ser significativa quando a conta é pequena ou a estratégia negoceia muitos instrumentos.

RegraO que condicionaConsequência no backtest
Incremento de quantidadeVariações permitidas na dimensão da ordemA dimensão arredondada difere do alvo
Quantidade ou valor nocional mínimoMenor ordem aceiteAlgumas operações não têm efeito ou exigem arredondamento para cima
Tick de preçoPreços limite e de ativação permitidosO arredondamento do preço altera a probabilidade de execução da ordem
Banda de preços ou limite de dimensãoLimites definidos pela plataforma para os campos da ordemAs ordens podem ser rejeitadas durante mercados voláteis ou grandes rebalanceamentos

Em que ponto do processo da ordem deve aplicar o arredondamento?

Arredonde os campos da ordem depois de calcular a variação de posição pretendida e antes de decidir se a vai submeter. Mantenha o alvo não arredondado para análise e, em seguida, derive uma ordem executável a partir da posição atual, do multiplicador do contrato e dos incrementos da plataforma. Com um incremento de quantidade de venda de 0.001, uma redução pretendida de 0.0017 passa a 0.001 ou 0.002, consoante a regra definida. Estas opções deixam posições residuais diferentes, pelo que «arredondar à precisão indicada» não é uma política completa.

Para as quantidades, arredondar por defeito em direção a zero evita aumentar acidentalmente a exposição para além da variação pedida, mas pode deixar resíduos pequenos que nunca chegam a ser negociados. Arredondar ao valor mais próximo reduz o erro médio, embora possa ultrapassar o alvo. O tratamento do valor nocional mínimo exige uma decisão própria: ignorar a operação, acumular até atingir o limite ou aumentar a dimensão e aceitar o excedente. Não alterne silenciosamente entre estas opções.

Registe também o motivo pelo qual uma ordem não foi executada. «Sem ordem: abaixo do valor nocional mínimo» significa algo diferente de «executada a zero». Num rebalanceamento de carteira, uma ordem ignorada pode deixar dinheiro parado ou manter exposição ao ativo anterior; registe esse resultado no estado da conta.

Como manter alinhadas a execução no backtest e na simulação?

Use a mesma função de validação de ordens nos dois percursos, sempre que a arquitetura do sistema o permita. Forneça-lhe as mesmas regras do instrumento válidas naquele momento, a ordem pretendida e o estado da conta. A função deve devolver uma ordem normalizada ou um motivo específico de rejeição. O simulador pode então aplicar os pressupostos de execução às ordens normalizadas, enquanto o adaptador de simulação envia campos equivalentes à plataforma.

Guarde uma cópia datada dos metadados dos filtros juntamente com cada execução. Se um incremento de quantidade ou um mínimo mudar, tem de saber que regra foi usada no backtest. Consultar os metadados de hoje para reproduzir uma estratégia de há um ano pode fazer com que ordens antigas pareçam inválidas ou com que ordens históricas pareçam possíveis quando não eram.

Quando a plataforma de simulação comunicar uma rejeição, compare os campos submetidos e a cópia dos filtros antes de alterar o sinal. Se o normalizador de ordens do backtest produziu 0.037 BTC, mas a plataforma permitia incrementos de 0.001 BTC, a discrepância está no adaptador ou nos metadados. Se a ordem submetida era válida, mas nunca foi executada, está perante um aspeto do comportamento da execução, como o preço, a liquidez ou a validade da ordem.

O que deve verificar antes de confiar na comparação?

Em cada rebalanceamento, mantenha um pequeno registo de auditoria: posição-alvo, posição atual, ordem em bruto, ordem normalizada, versão dos filtros aplicáveis e estado final. Depois, compare os registos da simulação e do backtest para o mesmo momento de decisão.

A sua estratégia pode continuar a ser sólida mesmo que o primeiro rebalanceamento em simulação falhe. Mas, até o simulador conseguir explicar por que motivo essa ordem teria sido aceite, arredondada, ignorada ou rejeitada, a curva de capital descreve um sistema de execução diferente daquele que está a tentar pôr em prática.

filtros da exchangenegociação simuladadimensionamento de ordensbacktestingfuturos de criptoativos
← Todos os artigos