BEQI: kit de código aberto para auditar a execução de corretoras forex Segunda-feira, 4 de Maio de 2026 – Posted in: Arbitrage Software
BEQI: um kit de código aberto para auditar a qualidade de execução de qualquer corretora forex
As corretoras de forex para varejo não publicam dados de qualidade de execução. Não existe referência pública para latência de casamento, assimetria de slippage, ampliação de spread ou tempo de retenção do last look. Estamos mudando isso. O BEQI — Broker Execution Quality Index (Índice de Qualidade de Execução de Corretoras) — é uma metodologia aberta, um kit de ferramentas aberto em Python e uma planilha pública para a qual qualquer pessoa pode contribuir. Meça sua própria corretora em 30 minutos; os dados se acumulam em uma referência.
Por que uma auditoria pública de corretoras não existia antes
A execução no forex de varejo é a camada mais opaca de toda a cadeia de trading. Os spreads são anunciados. A comissão é publicada. Tudo o que acontece entre o envio da ordem e a execução confirmada — latência de casamento, simetria de slippage, retenção do last look, frequência de requotes, ampliação de spread nos momentos de sinal — é invisível para o trader e não é publicado pela corretora. Os backtests de estratégias pressupõem execuções com latência zero (um problema que documentamos em detalhes em Por que backtests de arbitragem de latência não sobrevivem em produção). As avaliações de corretoras pontuam UX e saques. Ninguém mede as variáveis que realmente decidem se uma estratégia sobrevive em produção.
O BEQI resolve um problema específico: não existe metodologia pública, nem kit de ferramentas compartilhado, nem conjunto de dados de referência para a qualidade de execução no forex de varejo. Medimos isso internamente na BJF Trading Group há anos para incorporar o suporte aos dialetos das corretoras no SharpTrader Pro e no SharpTrader Optimizer. Agora estamos abrindo o código e a metodologia.
O objetivo não é publicar um ranking com nomes de corretoras (isso é um campo minado jurídico e comprometeria a integridade dos dados). O objetivo é dar a todo trader, quant e pesquisador de tecnologia de corretoras a mesma forma padronizada de medir, os mesmos scripts em Python para executar e um local público para depositar resultados anonimizados. Com o passar dos meses, a planilha se torna uma referência. Qualquer pessoa pode replicar a metodologia, contestá-la ou ampliá-la.
A tese do BEQI em uma frase
Se 10.000 traders medirem a qualidade de execução de suas corretoras com a mesma metodologia aberta, o resultado será uma referência pública que nenhuma corretora individual pode negar, nenhum site de avaliações pode falsificar e que todo desenvolvedor de estratégias pode usar para alocar capital com os olhos abertos.
As cinco dimensões do BEQI
A qualidade de execução não é um número único. O BEQI a decompõe em cinco dimensões ortogonais, cada uma mensurável de forma independente a partir de um extrato de negociação (e, para duas delas, a partir de um fluxo de ticks combinado com o extrato):
| Dimensão do BEQI | O que mede | Unidade | Fonte | Melhor é… |
|---|---|---|---|---|
| 1. Latência de casamento | Tempo mediano entre o envio da ordem e a execução confirmada | milissegundos | Timestamps do extrato + registro do horário de envio | Menor |
| 2. Assimetria de slippage | Proporção entre execuções com slippage negativo e execuções com slippage positivo | proporção (1,0 = simétrico, >1,0 = contra o trader) | Extrato: preço solicitado vs. preço executado | Mais próximo de 1,0 |
| 3. Fator de ampliação de spread | Expansão do spread nos momentos de sinal vs. referência | multiplicador (1,0 = sem ampliação, 3,0 = ampliação de 3x) | Fluxo de ticks em torno dos timestamps das ordens | Mais próximo de 1,0 |
| 4. Tempo de retenção do last look | Atraso mediano entre o timestamp de casamento e a confirmação | milissegundos | Log FIX ou extrato estendido | Menor / zero |
| 5. Taxa de requotes | Requotes a cada 100 ordens | quantidade por 100 | Eventos de requote no extrato | Menor / zero |
Cada dimensão tem significado próprio. Uma corretora pode ter baixa latência de casamento, mas alta assimetria de slippage, ou vice-versa — as combinações contam histórias diferentes sobre como a corretora realmente se comporta. O kit reporta cada dimensão separadamente e, ao final, uma pontuação BEQI composta (ponderada).
Como executar a auditoria na sua própria corretora (30 minutos)
Você precisa de três coisas: (a) um extrato de negociação com pelo menos 200 execuções abrangendo pelo menos uma semana de trading, (b) Python 3.10+ em qualquer máquina, (c) 30 minutos. O kit cuida do resto.
Passo 1 — Exporte seu extrato
O kit aceita três formatos de entrada:
- Extrato HTML de terminal comum (salvo pela função “salvar como relatório” da sua plataforma de trading de varejo) — a maioria dos traders de varejo usará este
- Log FIX (dump de mensagens FIX 4.4) — para traders que operam por meio de uma ponte FIX ou conexão institucional
- CSV com as colunas
order_id, send_time, fill_time, requested_price, filled_price, side, volume— para todos os demais, incluindo logs personalizados
Se a sua plataforma não expõe o horário de envio (o momento em que sua estratégia decidiu enviar a ordem), ainda é possível medir as dimensões 2 e 5 (assimetria de slippage e taxa de requotes) a partir de um extrato básico. As dimensões 1, 3 e 4 exigem um log mais detalhado.
Passo 2 — Instale e execute
$ cd forex-broker-audit-toolkit
$ pip install -r requirements.txt
$ python beqi.py –input my_statement.html –tick-data eurusd_ticks.csv –output report.json
O kit detecta automaticamente o formato de entrada. O beqi.py distribui o trabalho entre os analisadores de cada dimensão, imprime um resumo e grava um relatório JSON que você pode enviar para a planilha pública.
Passo 3 — Analise o relatório
O relatório inclui as cinco pontuações por dimensão, o BEQI composto, diagnósticos de tamanho de amostra (N menor = confiança menor) e uma classificação por nível (de 1 a 4, veja abaixo). Execute-o com mais dados para estreitar os intervalos de confiança.
Anonimato por padrão
O kit nunca vê o número da sua conta, o saldo, o P&L ou o tamanho das posições. Ele consome apenas timestamps, preços, diferenças entre solicitado e executado e tipos de evento. O JSON de saída contém as pontuações BEQI, o tamanho da amostra, os pares de moedas abrangidos e o período — nada que identifique você. Você pode enviá-lo anonimamente para a planilha pública.
Interpretando os resultados: os quatro níveis do BEQI
Com base em medições internas nas corretoras suportadas pelo SharpTrader Pro, estes são os níveis empíricos. São referências iniciais — a planilha pública os refinará ao longo do tempo.
Nível 1 · ECN institucional
BEQI 85–100
- Latência de casamento: 5–15 ms
- Assimetria de slippage: 1,0–1,05
- Ampliação de spread: 1,0–1,3x
- Last look: 0–5 ms
- Taxa de requotes: <0,5 / 100
Nível 2 · Varejo rápido / ponte rápida
BEQI 65–85
- Latência de casamento: 30–80 ms
- Assimetria de slippage: 1,05–1,20
- Ampliação de spread: 1,3–2,0x
- Last look: 50–150 ms
- Taxa de requotes: 0,5–2 / 100
Nível 3 · Varejo padrão
BEQI 40–65
- Latência de casamento: 80–200 ms
- Assimetria de slippage: 1,20–1,50
- Ampliação de spread: 2,0–3,5x
- Last look: 200–500 ms
- Taxa de requotes: 2–5 / 100
Nível 4 · Problemático
BEQI 0–40
- Latência de casamento: 200+ ms
- Assimetria de slippage: 1,50+
- Ampliação de spread: 3,5x+
- Last look: 500+ ms
- Taxa de requotes: 5+ / 100
A classificação por nível importa porque a mesma estratégia de trading produzirá resultados reais muito diferentes em cada nível. Uma estratégia de arbitragem de latência lucrativa no Nível 1 desmorona no Nível 3. Uma estratégia de seguimento de tendência que mantém posições por horas é praticamente indiferente entre o Nível 1 e o Nível 3, mas sofre visivelmente no Nível 4. Conhecer o nível da sua corretora antes de comprometer capital é o que define o jogo.
A planilha pública do BEQI
A planilha é o ativo de longo prazo. Qualquer pessoa pode contribuir com uma linha por auditoria. Cada linha contém as cinco pontuações por dimensão, o composto, o tamanho da amostra, os pares de moedas abrangidos, o período e (opcional e voluntariamente) o nome da corretora. Esperamos — e acolhemos — envios anônimos em que a corretora fica em branco; com o tempo, até esses produzem distribuições agregadas úteis da qualidade de execução em todo o setor de forex de varejo.
Abrir em nova aba →
Para enviar: execute o kit, copie a saída JSON e cole-a no formulário de envio (link dentro da planilha). As novas linhas são revisadas quanto à plausibilidade e aceitas em até 24 horas. Não editamos as pontuações enviadas; podemos marcar como de baixa confiança as linhas com amostra <100 execuções.
Detalhes da metodologia (para revisores e replicadores)
A especificação matemática completa está em METHODOLOGY.md no repositório, mas as decisões centrais são:
1. Latência de casamento
Mediana (não média) de fill_time − send_time. Usamos a mediana porque as distribuições de latência de casamento são assimétricas à direita devido a outliers ocasionais de 1–5 segundos (reroteamento de rede, pausas de GC da corretora) que não representam a execução típica. Reportamos mediana, p90 e p99 separadamente para que o leitor possa ver a cauda.
2. Assimetria de slippage
Para cada execução, o slippage tem sinal: positivo significa que o trader obteve um preço melhor do que o solicitado, negativo significa pior. Assimetria = (número de eventos de slippage negativo) / (número de eventos de slippage positivo). Uma corretora simétrica e neutra pontua ~1,0. Acima de 1,2 indica que o casamento da corretora é enviesado contra o trader — seja por regras de roteamento, por last look seletivo ou por um motor de slippage assimétrico.
3. Fator de ampliação de spread
Para cada timestamp de ordem, medimos o spread em uma janela de 50 ms centrada na ordem vs. o spread na janela de referência de 5 minutos centrada no mesmo horário do dia ao longo da semana anterior. A razão entre eles é o fator de ampliação. Isso exige um fluxo de ticks que cubra o período da auditoria; o kit aceita CSVs do BJF Feed e o formato padrão de histórico de ticks das plataformas comuns.
4. Tempo de retenção do last look
Só é mensurável a partir de um log FIX ou de um extrato estendido que exponha tanto o estado casado-mas-pendente quanto o estado confirmado. Extratos HTML padrão de varejo normalmente não expõem isso; nesse caso, o kit reporta null para esta dimensão e o BEQI composto é calculado a partir das quatro restantes. O last look é uma de várias técnicas de interferência na execução do lado da corretora — veja nossa análise aprofundada sobre os sete plugins antiarbitragem de corretoras para conhecer a categoria mais ampla.
5. Taxa de requotes
Contada a partir de eventos explícitos de requote no extrato. Se o extrato não sinaliza requotes (alguns terminais não o fazem), o kit os infere detectando trios envio/cancelamento/reenvio dentro de uma janela de 200 ms.
BEQI composto
Cada dimensão é convertida em uma subpontuação de 0–100 usando as definições de nível acima. O composto é uma média geométrica ponderada: BEQI = (L^0.30 × A^0.25 × W^0.20 × H^0.15 × R^0.10), em que L, A, W, H, R são as cinco subpontuações. Usamos média geométrica em vez de aritmética para que uma pontuação catastrófica em uma única dimensão (por exemplo, last look = 1500ms) não possa ser escondida por boas pontuações nas outras. Os pesos são discutíveis e publicados explicitamente para que os revisores possam recalcular com pesos diferentes a partir das subpontuações brutas.
Limitações e divulgações
- Dependência do tamanho da amostra. Uma auditoria com 50 execuções é uma impressão; com 500, é uma medição; com 5.000, é uma referência. O kit reporta intervalos de confiança conforme o tamanho da amostra; os leitores devem ponderar os envios com N baixo de acordo.
- Variação conforme o horário. A mesma corretora pode apresentar resultados de Nível 2 na abertura de Londres e de Nível 3 durante o rollover asiático. As auditorias devem especificar a janela de tempo.
- Diferenças no nível da conta. As corretoras podem aplicar lógicas de roteamento diferentes por conta, com base no perfil, no saldo e no padrão de negociação. A auditoria de um trader pode não se generalizar para a de outro na mesma corretora nominal. Para orientação na escolha de corretoras independente da auditoria de execução, veja nosso guia de corretoras para arbitragem forex.
- Assimetria não prova má-fé. Uma assimetria de 1,4 é estatisticamente evidente, mas a causa pode ser o roteamento por pools de LP assimétricos, e não manipulação ativa. O kit mede comportamento, não intenção.
- A metodologia estará errada em algum ponto. É por isso que ela é de código aberto. Abra issues, envie PRs, proponha pesos alternativos, replique com uma corretora que ainda não cobrimos. A versão 2 da metodologia incorporará as críticas mais fortes.
Roteiro
| Versão | O que será entregue | Prazo |
|---|---|---|
| v1.0 | Metodologia + kit em Python + planilha pública (você está aqui) | Q2 2026 |
| v1.1 | Melhorias no parser de logs FIX; detecção de last look a partir de padrões heurísticos quando não há timestamps explícitos | Q3 2026 |
| v1.2 | Dimensão de sinalização de padrões por IA (sexta dimensão): critérios de detecção para comportamento de limitação adaptativa | Q3 2026 |
| v2.0 | Painel público ao vivo em beqi.bjftradinggroup.com; distribuições agregadas dos envios; atualização da metodologia com base no feedback da comunidade |
Q4 2026 |
Perguntas frequentes
Não. O BEQI é uma metodologia aberta e um conjunto de dados público de auditorias anonimizadas. Deliberadamente, não publicamos rankings de corretoras a partir desses dados porque (a) isso comprometeria a integridade dos dados — as corretoras otimizariam para o sinal da auditoria em vez da qualidade de execução, e (b) é um campo minado jurídico. Quem quiser publicar um ranking é livre para fazê-lo usando os dados abertos; nós publicamos a ferramenta, a metodologia e as medições.
A maioria dos sites de avaliação de corretoras pontua UX, velocidade de saque, atendimento ao cliente e spreads anunciados — variáveis superficiais. Nenhum deles mede latência de casamento, assimetria de slippage ou retenção do last look. O BEQI preenche essa lacuna específica: é uma medição de qualidade de execução, não uma avaliação geral de corretora.
O kit lida com isso de forma adequada. As dimensões que não podem ser medidas a partir da sua entrada são reportadas como null, e não como zero, e o BEQI composto é calculado a partir das dimensões que SÃO mensuráveis, com os pesos renormalizados. O JSON de saída deixa explícito quais dimensões foram ignoradas e por quê, de modo que o resultado é honesto sobre sua cobertura.
Auditorias em demo são úteis, mas não equivalentes. Muitas corretoras roteiam as contas demo pelo motor de casamento institucional (sem last look, sem ampliação de spread, latência rápida), enquanto as contas reais passam pelo motor de varejo. Sempre audite uma conta real com volume real (pequeno) para medir o comportamento real. O kit aceita dados de demo e marca o resultado como “demo” no JSON de saída.
200 execuções é o mínimo prático para um sinal utilizável. Com 500–1.000 execuções, os intervalos de confiança ficam estreitos o suficiente para definir a classificação de nível com segurança. Acima de 5.000 execuções, a auditoria passa a ser uma medição de nível de pesquisa. Você pode chegar a 200 execuções em uma semana negociando 30–40 pequenas ordens a mercado por dia (não é preciso fazer isso com capital significativo).
Na forma atual, a metodologia é específica para forex — ampliação de spread e last look são conceitos do forex, não de exchanges. Um índice equivalente para cripto precisaria de dimensões diferentes (por exemplo, profundidade do livro de ofertas no preço de execução, slippage por impacto de mercado, latência de saque). Poderemos publicar um índice cripto CEQI no futuro. Por enquanto, veja nossa metodologia de arbitragem de criptomoedas — métricas diferentes, mesma filosofia de dados abertos. O kit de forex não produzirá resultados significativos com dados de cripto.
Diretamente. O SharpTrader Optimizer faz backtests de estratégias com tempo de execução configurável e slippage resolvido por tick — ou seja, as variáveis que o BEQI mede na sua corretora real. Se a sua corretora ficar no Nível 3 (latência de casamento de 80–200 ms), você deve configurar o Optimizer com tempo de execução = 100–200 ms antes de concluir que a estratégia é viável. O BEQI mede a corretora; o Optimizer simula a estratégia nas condições reais dessa corretora. Juntos, eles dizem se vale a pena operar. A mesma lógica se aplica, de forma mais ampla, se você opera estratégias de arbitragem forex — meça primeiro a corretora e depois dimensione a estratégia ao perfil real de execução.
Pergunta justa. Temos interesse comercial em que a arbitragem e o backtesting com consciência da execução sejam levados a sério, algo a que o BEQI obviamente atende. Não temos interesse comercial em que qualquer corretora específica pontue bem ou mal — o SharpTrader Pro suporta corretoras dos quatro níveis, e nossos clientes escolhem por conta própria onde operar. Estamos publicando a metodologia em código aberto justamente para que você não precise acreditar na nossa palavra: o código é auditável, as medições são reproduzíveis e qualquer pesquisador pode replicar ou contradizer nossos números internos.
De cinco formas: (1) execute o kit na sua própria corretora e envie o JSON para a planilha pública; (2) abra issues no repositório do GitHub quando o parser falhar com o formato do seu extrato; (3) envie pull requests com novos parsers de formatos de extrato; (4) proponha refinamentos da metodologia nas discussões; (5) escreva sua própria análise usando o conjunto de dados aberto e inclua um link para nós — destacaremos bons textos externos em nossa newsletter.
Os envios para a planilha pública são anônimos por padrão — a corretora é opcional, o ID da conta nunca é coletado e o JSON de saída não contém informações de identificação. Não temos notícia de corretoras retaliando medições de qualidade de execução (seria difícil fazer isso sem admitir que a auditoria estava correta), mas a opção de anonimato existe justamente para eliminar esse risco.
Audite sua corretora hoje
30 minutos. Código aberto. Metodologia pública. Envio anônimo. A referência só existe se os traders contribuírem — comece pela sua.