BEQI: kit de código abierto para auditar la ejecución de brókers de forex 04/05/2026 – Publicado en: Arbitrage Software
BEQI: un kit de código abierto para auditar la calidad de ejecución de cualquier bróker de forex
Los brókers minoristas de forex no publican datos sobre la calidad de ejecución. No existe una referencia pública para la latencia de casamiento, la asimetría del slippage, la ampliación del spread ni el tiempo de retención del last look. Estamos cambiando eso. BEQI (Broker Execution Quality Index, índice de calidad de ejecución de brókers) es una metodología abierta, un kit abierto en Python y una hoja de cálculo pública a la que cualquiera puede contribuir. Mida su propio bróker en 30 minutos; los datos se acumulan hasta formar una referencia.
Por qué no existía antes una auditoría pública de brókers
La ejecución en el forex minorista es la capa más opaca de toda la cadena de trading. Los spreads se anuncian. Las comisiones se publican. Todo lo que ocurre entre el envío de la orden y la ejecución confirmada (latencia de casamiento, simetría del slippage, retención de last look, frecuencia de recotizaciones, ampliación del spread en los momentos de señal) es invisible para el trader y el bróker no lo publica. Los backtests de estrategias suponen ejecuciones con latencia cero (un problema que documentamos en detalle en Por qué los backtests de arbitraje de latencia no sobreviven en producción). Las reseñas de brókers puntúan la experiencia de usuario y los retiros. Nadie mide las variables que realmente deciden si una estrategia sobrevive en producción.
BEQI resuelve un problema concreto: no existe una metodología pública, ni un kit compartido, ni un conjunto de datos de referencia sobre la calidad de ejecución en el forex minorista. En BJF Trading Group llevamos años midiendo esto internamente para incorporar el soporte de los distintos «dialectos» de brókers en SharpTrader Pro y SharpTrader Optimizer. Ahora publicamos como código abierto la metodología y el código.
El objetivo no es publicar una clasificación con nombres de brókers (eso es un campo minado legal y comprometería la integridad de los datos). El objetivo es dar a cada trader, analista cuantitativo e investigador de tecnología de brókers la misma forma estandarizada de medir, los mismos scripts de Python y un lugar público donde depositar resultados anonimizados. Con los meses, la hoja de cálculo se convierte en una referencia. Cualquiera puede replicar la metodología, cuestionarla o ampliarla.
La tesis de BEQI en una frase
Si 10.000 traders miden la calidad de ejecución de su bróker con la misma metodología abierta, el resultado es una referencia pública que ningún bróker puede negar, ningún sitio de reseñas puede falsificar y que cualquier desarrollador de estrategias puede usar para asignar capital con conocimiento de causa.
Las cinco dimensiones de BEQI
La calidad de ejecución no es un único número. BEQI la descompone en cinco dimensiones ortogonales, cada una medible de forma independiente a partir de un extracto de operaciones (y, en dos de ellas, a partir de un flujo de ticks combinado con el extracto):
| Dimensión BEQI | Qué mide | Unidad | Fuente | Mejor es… |
|---|---|---|---|---|
| 1. Latencia de casamiento | Tiempo mediano desde el envío de la orden hasta la ejecución confirmada | milisegundos | Marcas de tiempo del extracto + registro de hora de envío | Menor |
| 2. Asimetría del slippage | Proporción de ejecuciones con slippage negativo frente a ejecuciones con slippage positivo | ratio (1.0 = simétrico, >1.0 = en contra del trader) | Extracto: precio solicitado vs. ejecutado | Más cerca de 1.0 |
| 3. Factor de ampliación del spread | Expansión del spread en los momentos de señal frente a la referencia | multiplicador (1.0 = sin ampliación, 3.0 = ampliación de 3x) | Flujo de ticks alrededor de las marcas de tiempo de las órdenes | Más cerca de 1.0 |
| 4. Tiempo de retención de last look | Retraso mediano entre la marca de tiempo del casamiento y la confirmación | milisegundos | Registro FIX o extracto ampliado | Menor / cero |
| 5. Tasa de recotizaciones | Recotizaciones por cada 100 órdenes | cantidad por cada 100 | Eventos de recotización en el extracto | Menor / cero |
Cada dimensión tiene sentido por sí sola. Un bróker puede tener una latencia de casamiento baja pero una asimetría del slippage alta, o viceversa: las combinaciones cuentan historias distintas sobre cómo se comporta realmente el bróker. El kit informa de cada dimensión por separado y, al final, de una puntuación BEQI compuesta (ponderada).
Cómo ejecutar la auditoría sobre su propio bróker (30 minutos)
Necesita tres cosas: (a) un extracto de operaciones con al menos 200 ejecuciones que abarque al menos una semana de trading, (b) Python 3.10+ en cualquier equipo, (c) 30 minutos. El kit se encarga del resto.
Paso 1: exporte su extracto
El kit acepta tres formatos de entrada:
- Extracto HTML estándar del terminal (guardado con la función «guardar como informe» de su plataforma de trading minorista): la mayoría de los traders minoristas usarán este
- Registro FIX (volcado de mensajes FIX 4.4): para traders que operan a través de un puente FIX o una conexión institucional
- CSV con las columnas
order_id, send_time, fill_time, requested_price, filled_price, side, volume: para todos los demás, incluidos los registros personalizados
Si su plataforma no muestra la hora de envío (el momento en que su estrategia decidió enviar la orden), aun así puede medir las dimensiones 2 y 5 (asimetría del slippage y tasa de recotizaciones) con un extracto básico. Las dimensiones 1, 3 y 4 requieren un registro más completo.
Paso 2: instale y ejecute
$ 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
El kit detecta automáticamente el formato de entrada. beqi.py distribuye el trabajo a los analizadores de cada dimensión, imprime un resumen y escribe un informe JSON que puede enviar a la hoja de cálculo pública.
Paso 3: revise el informe
El informe incluye las cinco puntuaciones por dimensión, el BEQI compuesto, diagnósticos del tamaño de la muestra (N menor = menor confianza) y una clasificación por niveles (del 1 al 4, ver más abajo). Ejecútelo con más datos para estrechar los intervalos de confianza.
Anonimato por defecto
El kit nunca ve su número de cuenta, el saldo, las ganancias y pérdidas ni el tamaño de las posiciones. Solo utiliza marcas de tiempo, precios, diferencias entre lo solicitado y lo ejecutado y tipos de eventos. El JSON de salida contiene las puntuaciones BEQI, el tamaño de la muestra, los pares de divisas cubiertos y el periodo: nada que lo identifique. Puede enviarlo a la hoja de cálculo pública de forma anónima.
Cómo interpretar sus resultados: los cuatro niveles de BEQI
A partir de mediciones internas en los brókers compatibles con SharpTrader Pro, estos son los niveles empíricos. Son referencias iniciales: la hoja de cálculo pública los irá afinando con el tiempo.
Nivel 1 · ECN institucional
BEQI 85–100
- Latencia de casamiento: 5–15 ms
- Asimetría del slippage: 1.0–1.05
- Ampliación del spread: 1.0–1.3x
- Last look: 0–5 ms
- Tasa de recotizaciones: <0.5 / 100
Nivel 2 · Minorista rápido / puente rápido
BEQI 65–85
- Latencia de casamiento: 30–80 ms
- Asimetría del slippage: 1.05–1.20
- Ampliación del spread: 1.3–2.0x
- Last look: 50–150 ms
- Tasa de recotizaciones: 0.5–2 / 100
Nivel 3 · Minorista estándar
BEQI 40–65
- Latencia de casamiento: 80–200 ms
- Asimetría del slippage: 1.20–1.50
- Ampliación del spread: 2.0–3.5x
- Last look: 200–500 ms
- Tasa de recotizaciones: 2–5 / 100
Nivel 4 · Problemático
BEQI 0–40
- Latencia de casamiento: 200+ ms
- Asimetría del slippage: 1.50+
- Ampliación del spread: 3.5x+
- Last look: 500+ ms
- Tasa de recotizaciones: 5+ / 100
La clasificación por niveles importa porque la misma estrategia de trading producirá resultados reales muy distintos según el nivel. Una estrategia de arbitraje de latencia rentable en el nivel 1 se desploma en el nivel 3. Una estrategia de seguimiento de tendencia que mantiene posiciones durante horas es prácticamente indiferente entre el nivel 1 y el nivel 3, pero sufre de forma visible en el nivel 4. Conocer el nivel de su bróker antes de comprometer capital lo es todo.
La hoja de cálculo pública de BEQI
La hoja de cálculo es el activo a largo plazo. Cualquiera puede aportar una fila por auditoría. Cada fila contiene las cinco puntuaciones por dimensión, la compuesta, el tamaño de la muestra, los pares de divisas cubiertos, el periodo y (de forma opcional y voluntaria) el nombre del bróker. Esperamos (y agradecemos) envíos anónimos en los que el bróker se deje en blanco; con el tiempo, incluso esos producen distribuciones agregadas útiles de la calidad de ejecución en todo el sector del forex minorista.
Abrir en una pestaña nueva →
Para enviar: ejecute el kit, copie la salida JSON y péguela en el formulario de envío (enlace dentro de la hoja). Las filas nuevas se revisan para comprobar su verosimilitud y se aceptan en 24 horas. No editamos las puntuaciones enviadas; podemos marcar como de baja confianza las filas con un tamaño de muestra <100 ejecuciones.
Detalles de la metodología (para revisores y replicadores)
La especificación matemática completa está en METHODOLOGY.md en el repositorio, pero las decisiones clave son:
1. Latencia de casamiento
Mediana (no media) de fill_time − send_time. Usamos la mediana porque las distribuciones de latencia de casamiento presentan asimetría a la derecha debido a valores atípicos ocasionales de 1–5 segundos (reenrutamiento de red, pausas de GC del bróker) que no representan la ejecución típica. Informamos por separado de la mediana, p90 y p99 para que el lector pueda ver la cola.
2. Asimetría del slippage
Para cada ejecución, el slippage lleva signo: positivo significa que el trader obtuvo un precio mejor que el solicitado, negativo significa peor. Asimetría = (número de eventos de slippage negativo) / (número de eventos de slippage positivo). Un bróker simétrico y neutral obtiene ~1.0. Por encima de 1.2 indica que el casamiento del bróker está sesgado en contra del trader, ya sea por reglas de enrutamiento, por last look selectivo o por un motor de slippage asimétrico.
3. Factor de ampliación del spread
Para cada marca de tiempo de orden, medimos el spread en una ventana de 50 ms centrada en la orden frente al spread en una ventana de referencia de 5 minutos centrada en la misma hora del día durante la semana anterior. La proporción es el factor de ampliación. Esto requiere un flujo de ticks que cubra el periodo auditado; el kit acepta CSV de BJF Feed y el formato estándar de historial de ticks de las plataformas habituales.
4. Tiempo de retención de last look
Solo se puede medir a partir de un registro FIX o de un extracto ampliado que muestre tanto el estado casado-pero-pendiente como el estado confirmado. Los extractos HTML minoristas estándar normalmente no lo muestran, en cuyo caso el kit informa null para esta dimensión y el BEQI compuesto se calcula a partir de las cuatro restantes. El last look es una de varias técnicas de interferencia en la ejecución del lado del bróker: consulte nuestro análisis detallado sobre los siete plugins antiarbitraje de los brókers para ver la categoría más amplia.
5. Tasa de recotizaciones
Se cuenta a partir de los eventos explícitos de recotización en el extracto. Si el extracto no marca las recotizaciones (algunos terminales no lo hacen), el kit las infiere detectando tripletes de envío/cancelación/reenvío dentro de una ventana de 200 ms.
BEQI compuesto
Cada dimensión se convierte en una subpuntuación de 0–100 usando las definiciones de niveles anteriores. La compuesta es una media geométrica ponderada: BEQI = (L^0.30 × A^0.25 × W^0.20 × H^0.15 × R^0.10), donde L, A, W, H, R son las cinco subpuntuaciones. Usamos la media geométrica en lugar de la aritmética para que una puntuación catastrófica en una sola dimensión (p. ej., last look = 1500ms) no pueda ocultarse tras buenas puntuaciones en las demás. Las ponderaciones son discutibles y se publican explícitamente para que los revisores puedan recalcular con otras ponderaciones a partir de las subpuntuaciones brutas.
Limitaciones y advertencias
- Dependencia del tamaño de la muestra. Una auditoría de 50 ejecuciones es una impresión; una de 500 es una medición; una de 5.000 es una referencia. El kit informa de intervalos de confianza según el tamaño de la muestra; los lectores deben ponderar en consecuencia los envíos con N bajo.
- Variación según la hora del día. El mismo bróker puede dar resultados de nivel 2 durante la apertura de Londres y de nivel 3 durante el rollover asiático. Las auditorías deben especificar la ventana horaria.
- Diferencias a nivel de cuenta. Los brókers pueden aplicar distinta lógica de enrutamiento por cuenta según el perfil, el saldo y el patrón de trading. La auditoría de un trader puede no ser extrapolable a la de otro en el mismo bróker nominal. Para orientación sobre la selección de brókers independiente de la auditoría de ejecución, consulte nuestra guía de brókers para arbitraje en forex.
- La asimetría no demuestra mala fe. Una asimetría de 1.4 es estadísticamente llamativa, pero la causa podría ser el enrutamiento a través de pools de LP asimétricos y no una manipulación activa. El kit mide el comportamiento, no la intención.
- La metodología se equivocará en algo. Por eso es de código abierto. Abra issues, envíe PR, proponga ponderaciones alternativas, replíquela con un bróker que no hayamos cubierto. La metodología v2 incorporará las críticas más sólidas.
Hoja de ruta
| Versión | Qué incluye | Plazo |
|---|---|---|
| v1.0 | Metodología + kit en Python + hoja de cálculo pública (usted está aquí) | Q2 2026 |
| v1.1 | Mejoras en el analizador de registros FIX; detección de last look mediante patrones heurísticos cuando faltan marcas de tiempo explícitas | Q3 2026 |
| v1.2 | Dimensión de detección de patrones por IA (sexta dimensión): criterios de detección del comportamiento de limitación adaptativa | Q3 2026 |
| v2.0 | Panel público en vivo en beqi.bjftradinggroup.com; distribuciones agregadas de los envíos; actualización de la metodología a partir de los comentarios de la comunidad |
Q4 2026 |
Preguntas frecuentes
No. BEQI es una metodología abierta y un conjunto de datos público de auditorías anonimizadas. Deliberadamente no publicamos clasificaciones de brókers a partir de estos datos porque (a) comprometería su integridad (los brókers optimizarían para la señal de la auditoría en lugar de para la calidad de ejecución) y (b) es un campo minado legal. Quien quiera publicar una clasificación es libre de hacerlo con los datos abiertos; nosotros publicamos la herramienta, la metodología y las mediciones.
La mayoría de los sitios de reseñas de brókers puntúan la experiencia de usuario, la rapidez de los retiros, la atención al cliente y los spreads anunciados: variables superficiales. Ninguno mide la latencia de casamiento, la asimetría del slippage ni la retención de last look. BEQI cubre ese hueco concreto: es una medición de la calidad de ejecución, no una reseña general del bróker.
El kit lo gestiona sin problemas. Las dimensiones que no se pueden medir con sus datos se informan como null en lugar de cero, y el BEQI compuesto se calcula con las dimensiones que SÍ se pueden medir, con las ponderaciones renormalizadas. El JSON de salida indica explícitamente qué dimensiones se omitieron y por qué, de modo que el resultado es honesto sobre su cobertura.
Las auditorías en demo son útiles, pero no equivalentes. Muchos brókers enrutan las cuentas demo a través del motor de casamiento institucional (sin last look, sin ampliación del spread, latencia rápida), mientras que las cuentas reales pasan por el motor minorista. Audite siempre una cuenta real con volumen real (pequeño) para medir el comportamiento real. El kit acepta datos de demo y marca el resultado como «demo» en el JSON de salida.
200 ejecuciones es el mínimo práctico para una señal utilizable. Con 500–1.000 ejecuciones los intervalos de confianza se estrechan lo suficiente como para asignar niveles con seguridad. Por encima de 5.000 ejecuciones, la auditoría pasa a ser una medición de nivel de investigación. Puede llegar a 200 ejecuciones en una semana operando 30–40 órdenes de mercado pequeñas al día (no es necesario hacerlo con un capital significativo).
En su forma actual, la metodología es específica de forex: la ampliación del spread y el last look son conceptos de forex, no de exchanges. Un índice equivalente para cripto necesitaría otras dimensiones (p. ej., profundidad del libro de órdenes al precio de ejecución, slippage por impacto de mercado, latencia de retiros). Es posible que más adelante publiquemos un índice CEQI para cripto. Por ahora, consulte nuestra metodología de arbitraje de criptomonedas: métricas distintas, la misma filosofía de datos abiertos. El kit de forex no producirá resultados significativos con datos de cripto.
Muy estrecha. SharpTrader Optimizer realiza backtests de estrategias con tiempo de ejecución configurable y slippage calculado a nivel de tick; es decir, las variables que BEQI mide en su bróker real. Si su bróker obtiene el nivel 3 (latencia de casamiento 80–200 ms), debería configurar el Optimizer con un tiempo de ejecución = 100–200 ms antes de decidir si la estrategia es viable. BEQI mide el bróker; el Optimizer simula la estrategia en las condiciones reales de ese bróker. Juntos le indican si operar o no. La misma lógica se aplica si opera estrategias de arbitraje en forex en general: mida primero el bróker y luego dimensione la estrategia según su perfil de ejecución real.
Pregunta justa. Tenemos un interés comercial en que el arbitraje y los backtests que tienen en cuenta la ejecución se tomen en serio, y BEQI obviamente contribuye a ello. No tenemos interés comercial en que ningún bróker concreto obtenga una puntuación buena o mala: SharpTrader Pro es compatible con brókers de los cuatro niveles y nuestros clientes eligen por sí mismos dónde operar. Publicamos la metodología como código abierto precisamente para que no tenga que fiarse de nuestra palabra: el código es auditable, las mediciones son reproducibles y cualquier investigador puede replicar o contradecir nuestras cifras internas.
De cinco maneras: (1) ejecute el kit con su propio bróker y envíe el JSON a la hoja de cálculo pública; (2) abra issues en el repositorio de GitHub cuando el analizador falle con el formato de su extracto; (3) envíe pull requests con nuevos analizadores de formatos de extracto; (4) proponga mejoras de la metodología en los hilos de discusión; (5) redacte su propio análisis con el conjunto de datos abierto y enlácenos: destacaremos los buenos análisis externos en nuestro boletín.
Los envíos a la hoja de cálculo pública son anónimos por defecto: el bróker es opcional, el ID de cuenta nunca se recoge y el JSON de salida no contiene información identificativa. No tenemos constancia de brókers que hayan tomado represalias por medir la calidad de ejecución (sería difícil hacerlo sin admitir que la auditoría era correcta), pero la opción de anonimato existe precisamente para eliminar ese riesgo.
Audite su bróker hoy
30 minutos. Código abierto. Metodología pública. Envío anónimo. La referencia solo existe si los traders contribuyen: empiece con la suya.