{"id":12955,"date":"2026-05-04T15:41:02","date_gmt":"2026-05-04T15:41:02","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?p=12955"},"modified":"2026-09-25T15:46:18","modified_gmt":"2026-09-25T15:46:18","slug":"forex-broker-audit-toolkit","status":"publish","type":"post","link":"https:\/\/bjftradinggroup.com\/es\/forex-broker-audit-toolkit\/","title":{"rendered":"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex"},"content":{"rendered":"<p><\/p>\n<div class=\"bat-page\">\n<p><!-- ============================================================ --><br \/>\n<!-- HERO + H1 --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"bat-hero\"><span class=\"bat-hero-tag\">BJF TRADING GROUP  \u00b7  INVESTIGACI\u00d3N ABIERTA<\/span><\/p>\n<h2>BEQI: un kit de c\u00f3digo abierto para auditar <span class=\"bat-gold\">la calidad de ejecuci\u00f3n de cualquier br\u00f3ker de forex<\/span><\/h2>\n<p class=\"bat-hero-sub\">Los br\u00f3kers minoristas de forex no publican datos sobre la calidad de ejecuci\u00f3n. No existe una referencia p\u00fablica para la latencia de casamiento, la asimetr\u00eda del slippage, la ampliaci\u00f3n del spread ni el tiempo de retenci\u00f3n del last look. Estamos cambiando eso. <strong>BEQI<\/strong> (Broker Execution Quality Index, \u00edndice de calidad de ejecuci\u00f3n de br\u00f3kers) es una metodolog\u00eda abierta, un kit abierto en Python y una hoja de c\u00e1lculo p\u00fablica a la que cualquiera puede contribuir. Mida su propio br\u00f3ker en 30 minutos; los datos se acumulan hasta formar una referencia.<\/p>\n<div class=\"bat-hero-row\"><a class=\"bat-hero-cta\" href=\"https:\/\/github.com\/bjftradinggroup-inc\/forex-broker-audit-toolkit\">Obtenga el kit en GitHub \u2192<\/a><br \/>\n<a class=\"bat-hero-link\" href=\"#bat-sheets\">Consultar la hoja de c\u00e1lculo p\u00fablica<\/a><\/div>\n<div class=\"bat-hero-meta\"><strong>5<\/strong> dimensiones medidas<br \/>\n<strong>3<\/strong> formatos de entrada compatibles<br \/>\nLicencia <strong>MIT<\/strong><br \/>\n<strong>~30 min<\/strong> hasta la primera auditor\u00eda<\/div>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #1 \u2014 Why this exists --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>Por qu\u00e9 no exist\u00eda antes una auditor\u00eda p\u00fablica de br\u00f3kers<\/h2>\n<div class=\"bat-answer\">\n<p><strong>La ejecuci\u00f3n en el forex minorista es la capa m\u00e1s opaca de toda la cadena de trading.<\/strong> Los spreads se anuncian. Las comisiones se publican. Todo lo que ocurre entre el env\u00edo de la orden y la ejecuci\u00f3n confirmada (latencia de casamiento, simetr\u00eda del slippage, retenci\u00f3n de last look, frecuencia de recotizaciones, ampliaci\u00f3n del spread en los momentos de se\u00f1al) es invisible para el trader y el br\u00f3ker no lo publica. Los backtests de estrategias suponen ejecuciones con latencia cero (un problema que documentamos en detalle en <a href=\"\/latency-arbitrage-backtest-execution-time-gap\/\">Por qu\u00e9 los backtests de arbitraje de latencia no sobreviven en producci\u00f3n<\/a>). Las rese\u00f1as de br\u00f3kers punt\u00faan la experiencia de usuario y los retiros. Nadie mide las variables que realmente deciden si una estrategia sobrevive en producci\u00f3n.<\/p>\n<\/div>\n<p>BEQI resuelve un problema concreto: no existe una metodolog\u00eda p\u00fablica, ni un kit compartido, ni un conjunto de datos de referencia sobre la calidad de ejecuci\u00f3n en el forex minorista. En BJF Trading Group llevamos a\u00f1os midiendo esto internamente para incorporar el soporte de los distintos \u00abdialectos\u00bb de br\u00f3kers en <a href=\"\/product\/sharptrader-forex-crypto-arbitrage\/\">SharpTrader Pro<\/a> y <a href=\"\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a>. Ahora publicamos como c\u00f3digo abierto la metodolog\u00eda y el c\u00f3digo.<\/p>\n<p>El objetivo no es publicar una clasificaci\u00f3n con nombres de br\u00f3kers (eso es un campo minado legal y comprometer\u00eda la integridad de los datos). El objetivo es dar a cada trader, analista cuantitativo e investigador de tecnolog\u00eda de br\u00f3kers la misma forma estandarizada de medir, los mismos scripts de Python y un lugar p\u00fablico donde depositar resultados anonimizados. Con los meses, la hoja de c\u00e1lculo se convierte en una referencia. Cualquiera puede replicar la metodolog\u00eda, cuestionarla o ampliarla.<\/p>\n<div class=\"bat-callout\">\n<h3>La tesis de BEQI en una frase<\/h3>\n<p>Si <strong>10.000 traders miden la calidad de ejecuci\u00f3n de su br\u00f3ker con la misma metodolog\u00eda abierta<\/strong>, el resultado es una referencia p\u00fablica que ning\u00fan br\u00f3ker puede negar, ning\u00fan sitio de rese\u00f1as puede falsificar y que cualquier desarrollador de estrategias puede usar para asignar capital con conocimiento de causa.<\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #2 \u2014 The 5 dimensions --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>Las cinco dimensiones de BEQI<\/h2>\n<p>La calidad de ejecuci\u00f3n no es un \u00fanico n\u00famero. 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):<\/p>\n<table class=\"bat-tbl\">\n<thead>\n<tr>\n<th>Dimensi\u00f3n BEQI<\/th>\n<th>Qu\u00e9 mide<\/th>\n<th>Unidad<\/th>\n<th>Fuente<\/th>\n<th>Mejor es\u2026<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"bat-cell-feat\">1. Latencia de casamiento<\/td>\n<td>Tiempo mediano desde el env\u00edo de la orden hasta la ejecuci\u00f3n confirmada<\/td>\n<td>milisegundos<\/td>\n<td>Marcas de tiempo del extracto + registro de hora de env\u00edo<\/td>\n<td>Menor<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">2. Asimetr\u00eda del slippage<\/td>\n<td>Proporci\u00f3n de ejecuciones con slippage negativo frente a ejecuciones con slippage positivo<\/td>\n<td>ratio (1.0 = sim\u00e9trico, &gt;1.0 = en contra del trader)<\/td>\n<td>Extracto: precio solicitado vs. ejecutado<\/td>\n<td>M\u00e1s cerca de 1.0<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">3. Factor de ampliaci\u00f3n del spread<\/td>\n<td>Expansi\u00f3n del spread en los momentos de se\u00f1al frente a la referencia<\/td>\n<td>multiplicador (1.0 = sin ampliaci\u00f3n, 3.0 = ampliaci\u00f3n de 3x)<\/td>\n<td>Flujo de ticks alrededor de las marcas de tiempo de las \u00f3rdenes<\/td>\n<td>M\u00e1s cerca de 1.0<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">4. Tiempo de retenci\u00f3n de last look<\/td>\n<td>Retraso mediano entre la marca de tiempo del casamiento y la confirmaci\u00f3n<\/td>\n<td>milisegundos<\/td>\n<td>Registro FIX o extracto ampliado<\/td>\n<td>Menor \/ cero<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">5. Tasa de recotizaciones<\/td>\n<td>Recotizaciones por cada 100 \u00f3rdenes<\/td>\n<td>cantidad por cada 100<\/td>\n<td>Eventos de recotizaci\u00f3n en el extracto<\/td>\n<td>Menor \/ cero<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Cada dimensi\u00f3n tiene sentido por s\u00ed sola. Un br\u00f3ker puede tener una latencia de casamiento baja pero una asimetr\u00eda del slippage alta, o viceversa: las combinaciones cuentan historias distintas sobre c\u00f3mo se comporta realmente el br\u00f3ker. El kit informa de cada dimensi\u00f3n por separado y, al final, de una puntuaci\u00f3n BEQI compuesta (ponderada).<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #3 \u2014 How to run the audit --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>C\u00f3mo ejecutar la auditor\u00eda sobre su propio br\u00f3ker (30 minutos)<\/h2>\n<p>Necesita tres cosas: <strong>(a)<\/strong> un extracto de operaciones con al menos 200 ejecuciones que abarque al menos una semana de trading, <strong>(b)<\/strong> Python 3.10+ en cualquier equipo, <strong>(c)<\/strong> 30 minutos. El kit se encarga del resto.<\/p>\n<h3>Paso 1: exporte su extracto<\/h3>\n<p>El kit acepta tres formatos de entrada:<\/p>\n<ul class=\"bat-list\">\n<li><strong>Extracto HTML est\u00e1ndar del terminal<\/strong> (guardado con la funci\u00f3n \u00abguardar como informe\u00bb de su plataforma de trading minorista): la mayor\u00eda de los traders minoristas usar\u00e1n este<\/li>\n<li><strong>Registro FIX<\/strong> (volcado de mensajes FIX 4.4): para traders que operan a trav\u00e9s de un puente FIX o una conexi\u00f3n institucional<\/li>\n<li><strong>CSV<\/strong> con las columnas <code>order_id, send_time, fill_time, requested_price, filled_price, side, volume<\/code>: para todos los dem\u00e1s, incluidos los registros personalizados<\/li>\n<\/ul>\n<p>Si su plataforma no muestra la hora de env\u00edo (el momento en que su estrategia decidi\u00f3 enviar la orden), aun as\u00ed puede medir las dimensiones 2 y 5 (asimetr\u00eda del slippage y tasa de recotizaciones) con un extracto b\u00e1sico. Las dimensiones 1, 3 y 4 requieren un registro m\u00e1s completo.<\/p>\n<h3>Paso 2: instale y ejecute<\/h3>\n<div class=\"bat-code\">$ git clone https:\/\/github.com\/bjftradinggroup-inc\/forex-broker-audit-toolkit<br \/>\n$ cd forex-broker-audit-toolkit<br \/>\n$ pip install -r requirements.txt<br \/>\n$ python beqi.py &#8211;input my_statement.html &#8211;tick-data eurusd_ticks.csv &#8211;output report.json<\/div>\n<p>El kit detecta autom\u00e1ticamente el formato de entrada. <code>beqi.py<\/code> distribuye el trabajo a los analizadores de cada dimensi\u00f3n, imprime un resumen y escribe un informe JSON que puede enviar a la hoja de c\u00e1lculo p\u00fablica.<\/p>\n<h3>Paso 3: revise el informe<\/h3>\n<p>El informe incluye las cinco puntuaciones por dimensi\u00f3n, el BEQI compuesto, diagn\u00f3sticos del tama\u00f1o de la muestra (N menor = menor confianza) y una clasificaci\u00f3n por niveles (del 1 al 4, ver m\u00e1s abajo). Ejec\u00fatelo con m\u00e1s datos para estrechar los intervalos de confianza.<\/p>\n<div class=\"bat-callout\">\n<h3>Anonimato por defecto<\/h3>\n<p>El kit nunca ve su n\u00famero de cuenta, el saldo, las ganancias y p\u00e9rdidas ni el tama\u00f1o 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\u00f1o de la muestra, los pares de divisas cubiertos y el periodo: nada que lo identifique. Puede enviarlo a la hoja de c\u00e1lculo p\u00fablica de forma an\u00f3nima.<\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #4 \u2014 Reading your results --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>C\u00f3mo interpretar sus resultados: los cuatro niveles de BEQI<\/h2>\n<p>A partir de mediciones internas en los br\u00f3kers compatibles con SharpTrader Pro, estos son los niveles emp\u00edricos. Son referencias iniciales: la hoja de c\u00e1lculo p\u00fablica los ir\u00e1 afinando con el tiempo.<\/p>\n<div class=\"bat-tier-grid\">\n<div class=\"bat-tier-card bat-tier-1\">\n<p class=\"bat-tier-label\">Nivel 1 \u00b7 ECN institucional<\/p>\n<h3>BEQI 85\u2013100<\/h3>\n<ul>\n<li>Latencia de casamiento: 5\u201315 ms<\/li>\n<li>Asimetr\u00eda del slippage: 1.0\u20131.05<\/li>\n<li>Ampliaci\u00f3n del spread: 1.0\u20131.3x<\/li>\n<li>Last look: 0\u20135 ms<\/li>\n<li>Tasa de recotizaciones: &lt;0.5 \/ 100<\/li>\n<\/ul>\n<\/div>\n<div class=\"bat-tier-card bat-tier-2\">\n<p class=\"bat-tier-label\">Nivel 2 \u00b7 Minorista r\u00e1pido \/ puente r\u00e1pido<\/p>\n<h3>BEQI 65\u201385<\/h3>\n<ul>\n<li>Latencia de casamiento: 30\u201380 ms<\/li>\n<li>Asimetr\u00eda del slippage: 1.05\u20131.20<\/li>\n<li>Ampliaci\u00f3n del spread: 1.3\u20132.0x<\/li>\n<li>Last look: 50\u2013150 ms<\/li>\n<li>Tasa de recotizaciones: 0.5\u20132 \/ 100<\/li>\n<\/ul>\n<\/div>\n<div class=\"bat-tier-card bat-tier-3\">\n<p class=\"bat-tier-label\">Nivel 3 \u00b7 Minorista est\u00e1ndar<\/p>\n<h3>BEQI 40\u201365<\/h3>\n<ul>\n<li>Latencia de casamiento: 80\u2013200 ms<\/li>\n<li>Asimetr\u00eda del slippage: 1.20\u20131.50<\/li>\n<li>Ampliaci\u00f3n del spread: 2.0\u20133.5x<\/li>\n<li>Last look: 200\u2013500 ms<\/li>\n<li>Tasa de recotizaciones: 2\u20135 \/ 100<\/li>\n<\/ul>\n<\/div>\n<div class=\"bat-tier-card bat-tier-4\">\n<p class=\"bat-tier-label\">Nivel 4 \u00b7 Problem\u00e1tico<\/p>\n<h3>BEQI 0\u201340<\/h3>\n<ul>\n<li>Latencia de casamiento: 200+ ms<\/li>\n<li>Asimetr\u00eda del slippage: 1.50+<\/li>\n<li>Ampliaci\u00f3n del spread: 3.5x+<\/li>\n<li>Last look: 500+ ms<\/li>\n<li>Tasa de recotizaciones: 5+ \/ 100<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p>La clasificaci\u00f3n por niveles importa porque la misma estrategia de trading producir\u00e1 resultados reales muy distintos seg\u00fan el nivel. Una estrategia de <a href=\"\/latency-arbitrage\/\">arbitraje de latencia<\/a> rentable en el nivel 1 se desploma en el nivel 3. Una estrategia de seguimiento de tendencia que mantiene posiciones durante horas es pr\u00e1cticamente indiferente entre el nivel 1 y el nivel 3, pero sufre de forma visible en el nivel 4. Conocer el nivel de su br\u00f3ker antes de comprometer capital lo es todo.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #5 \u2014 The community spreadsheet --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"bat-sheets\">La hoja de c\u00e1lculo p\u00fablica de BEQI<\/h2>\n<p>La hoja de c\u00e1lculo es el activo a largo plazo. Cualquiera puede aportar una fila por auditor\u00eda. Cada fila contiene las cinco puntuaciones por dimensi\u00f3n, la compuesta, el tama\u00f1o de la muestra, los pares de divisas cubiertos, el periodo y (de forma opcional y voluntaria) el nombre del br\u00f3ker. Esperamos (y agradecemos) <strong>env\u00edos an\u00f3nimos en los que el br\u00f3ker se deje en blanco<\/strong>; con el tiempo, incluso esos producen distribuciones agregadas \u00fatiles de la calidad de ejecuci\u00f3n en todo el sector del forex minorista.<\/p>\n<div class=\"bat-sheets-wrap\">\n<div class=\"bat-sheets-head\">Base de datos p\u00fablica de auditor\u00edas BEQI<br \/>\n<a class=\"bat-sheets-link\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/10TOJd1NVzAyqwAdw8_l5r9ucnhCogJJ83tjKpunnnko\/edit?usp=sharing\">Abrir en una pesta\u00f1a nueva \u2192<\/a><\/div>\n<div class=\"bat-sheets-frame\"><iframe title=\"Base de datos p\u00fablica de auditor\u00edas BEQI\" src=\"https:\/\/docs.google.com\/spreadsheets\/d\/10TOJd1NVzAyqwAdw8_l5r9ucnhCogJJ83tjKpunnnko\/htmlembed?widget=true&amp;headers=false\"><\/iframe><\/div>\n<\/div>\n<p><strong>Para enviar:<\/strong> ejecute el kit, copie la salida JSON y p\u00e9guela en el formulario de env\u00edo (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\u00f1o de muestra &lt;100 ejecuciones.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #6 \u2014 Methodology details --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>Detalles de la metodolog\u00eda (para revisores y replicadores)<\/h2>\n<p>La especificaci\u00f3n matem\u00e1tica completa est\u00e1 en <code>METHODOLOGY.md<\/code> en el repositorio, pero las decisiones clave son:<\/p>\n<h3>1. Latencia de casamiento<\/h3>\n<p>Mediana (no media) de <code>fill_time \u2212 send_time<\/code>. Usamos la mediana porque las distribuciones de latencia de casamiento presentan asimetr\u00eda a la derecha debido a valores at\u00edpicos ocasionales de 1\u20135 segundos (reenrutamiento de red, pausas de GC del br\u00f3ker) que no representan la ejecuci\u00f3n t\u00edpica. Informamos por separado de la mediana, p90 y p99 para que el lector pueda ver la cola.<\/p>\n<h3>2. Asimetr\u00eda del slippage<\/h3>\n<p>Para cada ejecuci\u00f3n, el slippage lleva signo: <strong>positivo<\/strong> significa que el trader obtuvo un precio mejor que el solicitado, <strong>negativo<\/strong> significa peor. Asimetr\u00eda = (n\u00famero de eventos de slippage negativo) \/ (n\u00famero de eventos de slippage positivo). Un br\u00f3ker sim\u00e9trico y neutral obtiene ~1.0. Por encima de 1.2 indica que el casamiento del br\u00f3ker est\u00e1 sesgado en contra del trader, ya sea por reglas de enrutamiento, por last look selectivo o por un motor de slippage asim\u00e9trico.<\/p>\n<h3>3. Factor de ampliaci\u00f3n del spread<\/h3>\n<p>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\u00eda durante la semana anterior. La proporci\u00f3n es el factor de ampliaci\u00f3n. Esto requiere un flujo de ticks que cubra el periodo auditado; el kit acepta CSV de BJF Feed y el formato est\u00e1ndar de historial de ticks de las plataformas habituales.<\/p>\n<h3>4. Tiempo de retenci\u00f3n de last look<\/h3>\n<p>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\u00e1ndar normalmente no lo muestran, en cuyo caso el kit informa <code>null<\/code> para esta dimensi\u00f3n y el BEQI compuesto se calcula a partir de las cuatro restantes. El last look es una de varias t\u00e9cnicas de interferencia en la ejecuci\u00f3n del lado del br\u00f3ker: consulte nuestro an\u00e1lisis detallado sobre <a href=\"\/anti-arbitrage-plugins\/\">los siete plugins antiarbitraje de los br\u00f3kers<\/a> para ver la categor\u00eda m\u00e1s amplia.<\/p>\n<h3>5. Tasa de recotizaciones<\/h3>\n<p>Se cuenta a partir de los eventos expl\u00edcitos de recotizaci\u00f3n en el extracto. Si el extracto no marca las recotizaciones (algunos terminales no lo hacen), el kit las infiere detectando tripletes de env\u00edo\/cancelaci\u00f3n\/reenv\u00edo dentro de una ventana de 200 ms.<\/p>\n<h3>BEQI compuesto<\/h3>\n<p>Cada dimensi\u00f3n se convierte en una subpuntuaci\u00f3n de 0\u2013100 usando las definiciones de niveles anteriores. La compuesta es una media geom\u00e9trica ponderada: <code>BEQI = (L^0.30 \u00d7 A^0.25 \u00d7 W^0.20 \u00d7 H^0.15 \u00d7 R^0.10)<\/code>, donde L, A, W, H, R son las cinco subpuntuaciones. Usamos la media geom\u00e9trica en lugar de la aritm\u00e9tica para que una puntuaci\u00f3n catastr\u00f3fica en una sola dimensi\u00f3n (p. ej., last look = 1500ms) no pueda ocultarse tras buenas puntuaciones en las dem\u00e1s. Las ponderaciones son discutibles y se publican expl\u00edcitamente para que los revisores puedan recalcular con otras ponderaciones a partir de las subpuntuaciones brutas.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #7 \u2014 Limitations --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>Limitaciones y advertencias<\/h2>\n<ul class=\"bat-list\">\n<li><strong>Dependencia del tama\u00f1o de la muestra.<\/strong> Una auditor\u00eda de 50 ejecuciones es una impresi\u00f3n; una de 500 es una medici\u00f3n; una de 5.000 es una referencia. El kit informa de intervalos de confianza seg\u00fan el tama\u00f1o de la muestra; los lectores deben ponderar en consecuencia los env\u00edos con N bajo.<\/li>\n<li><strong>Variaci\u00f3n seg\u00fan la hora del d\u00eda.<\/strong> El mismo br\u00f3ker puede dar resultados de nivel 2 durante la apertura de Londres y de nivel 3 durante el rollover asi\u00e1tico. Las auditor\u00edas deben especificar la ventana horaria.<\/li>\n<li><strong>Diferencias a nivel de cuenta.<\/strong> Los br\u00f3kers pueden aplicar distinta l\u00f3gica de enrutamiento por cuenta seg\u00fan el perfil, el saldo y el patr\u00f3n de trading. La auditor\u00eda de un trader puede no ser extrapolable a la de otro en el mismo br\u00f3ker nominal. Para orientaci\u00f3n sobre la selecci\u00f3n de br\u00f3kers independiente de la auditor\u00eda de ejecuci\u00f3n, consulte nuestra <a href=\"\/forex-arbitrage-brokers\/\">gu\u00eda de br\u00f3kers para arbitraje en forex<\/a>.<\/li>\n<li><strong>La asimetr\u00eda no demuestra mala fe.<\/strong> Una asimetr\u00eda de 1.4 es estad\u00edsticamente llamativa, pero la causa podr\u00eda ser el enrutamiento a trav\u00e9s de pools de LP asim\u00e9tricos y no una manipulaci\u00f3n activa. El kit mide el comportamiento, no la intenci\u00f3n.<\/li>\n<li><strong>La metodolog\u00eda se equivocar\u00e1 en algo.<\/strong> Por eso es de c\u00f3digo abierto. Abra issues, env\u00ede PR, proponga ponderaciones alternativas, repl\u00edquela con un br\u00f3ker que no hayamos cubierto. La metodolog\u00eda v2 incorporar\u00e1 las cr\u00edticas m\u00e1s s\u00f3lidas.<\/li>\n<\/ul>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #8 \u2014 Roadmap --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>Hoja de ruta<\/h2>\n<table class=\"bat-tbl\">\n<thead>\n<tr>\n<th>Versi\u00f3n<\/th>\n<th>Qu\u00e9 incluye<\/th>\n<th>Plazo<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"bat-cell-feat\">v1.0<\/td>\n<td>Metodolog\u00eda + kit en Python + hoja de c\u00e1lculo p\u00fablica (usted est\u00e1 aqu\u00ed)<\/td>\n<td>Q2 2026<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">v1.1<\/td>\n<td>Mejoras en el analizador de registros FIX; detecci\u00f3n de last look mediante patrones heur\u00edsticos cuando faltan marcas de tiempo expl\u00edcitas<\/td>\n<td>Q3 2026<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">v1.2<\/td>\n<td>Dimensi\u00f3n de detecci\u00f3n de patrones por IA (sexta dimensi\u00f3n): criterios de detecci\u00f3n del comportamiento de limitaci\u00f3n adaptativa<\/td>\n<td>Q3 2026<\/td>\n<\/tr>\n<tr>\n<td class=\"bat-cell-feat\">v2.0<\/td>\n<td>Panel p\u00fablico en vivo en <code>beqi.bjftradinggroup.com<\/code>; distribuciones agregadas de los env\u00edos; actualizaci\u00f3n de la metodolog\u00eda a partir de los comentarios de la comunidad<\/td>\n<td>Q4 2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- H2 #9 \u2014 FAQ --><br \/>\n<!-- ============================================================ --><\/p>\n<h2>Preguntas frecuentes<\/h2>\n<div class=\"bat-faq\">\n<div class=\"bat-faq-q\">\u00bfEs BEQI una clasificaci\u00f3n de br\u00f3kers con nombre?<\/div>\n<div class=\"bat-faq-a\">\n<p>No. BEQI es una metodolog\u00eda abierta y un conjunto de datos p\u00fablico de auditor\u00edas anonimizadas. Deliberadamente no publicamos clasificaciones de br\u00f3kers a partir de estos datos porque (a) comprometer\u00eda su integridad (los br\u00f3kers optimizar\u00edan para la se\u00f1al de la auditor\u00eda en lugar de para la calidad de ejecuci\u00f3n) y (b) es un campo minado legal. Quien quiera publicar una clasificaci\u00f3n es libre de hacerlo con los datos abiertos; nosotros publicamos la herramienta, la metodolog\u00eda y las mediciones.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfPor qu\u00e9 no usar simplemente las rese\u00f1as de br\u00f3kers de terceros?<\/div>\n<div class=\"bat-faq-a\">\n<p>La mayor\u00eda de los sitios de rese\u00f1as de br\u00f3kers punt\u00faan la experiencia de usuario, la rapidez de los retiros, la atenci\u00f3n al cliente y los spreads anunciados: variables superficiales. Ninguno mide la latencia de casamiento, la asimetr\u00eda del slippage ni la retenci\u00f3n de last look. BEQI cubre ese hueco concreto: es una medici\u00f3n de la calidad de ejecuci\u00f3n, no una rese\u00f1a general del br\u00f3ker.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfY si el extracto de mi br\u00f3ker no muestra la hora de env\u00edo ni el last look?<\/div>\n<div class=\"bat-faq-a\">\n<p>El kit lo gestiona sin problemas. Las dimensiones que no se pueden medir con sus datos se informan como <code>null<\/code> en lugar de cero, y el BEQI compuesto se calcula con las dimensiones que S\u00cd se pueden medir, con las ponderaciones renormalizadas. El JSON de salida indica expl\u00edcitamente qu\u00e9 dimensiones se omitieron y por qu\u00e9, de modo que el resultado es honesto sobre su cobertura.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfPuedo auditar un br\u00f3ker operando en una cuenta demo?<\/div>\n<div class=\"bat-faq-a\">\n<p>Las auditor\u00edas en demo son \u00fatiles, pero no equivalentes. Muchos br\u00f3kers enrutan las cuentas demo a trav\u00e9s del motor de casamiento institucional (sin last look, sin ampliaci\u00f3n del spread, latencia r\u00e1pida), mientras que las cuentas reales pasan por el motor minorista. Audite siempre una cuenta real con volumen real (peque\u00f1o) para medir el comportamiento real. El kit acepta datos de demo y marca el resultado como \u00abdemo\u00bb en el JSON de salida.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfCu\u00e1nto volumen necesito operar para obtener una auditor\u00eda significativa?<\/div>\n<div class=\"bat-faq-a\">\n<p>200 ejecuciones es el m\u00ednimo pr\u00e1ctico para una se\u00f1al utilizable. Con 500\u20131.000 ejecuciones los intervalos de confianza se estrechan lo suficiente como para asignar niveles con seguridad. Por encima de 5.000 ejecuciones, la auditor\u00eda pasa a ser una medici\u00f3n de nivel de investigaci\u00f3n. Puede llegar a 200 ejecuciones en una semana operando 30\u201340 \u00f3rdenes de mercado peque\u00f1as al d\u00eda (no es necesario hacerlo con un capital significativo).<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfFunciona BEQI con exchanges de criptomonedas?<\/div>\n<div class=\"bat-faq-a\">\n<p>En su forma actual, la metodolog\u00eda es espec\u00edfica de forex: la ampliaci\u00f3n del spread y el last look son conceptos de forex, no de exchanges. Un \u00edndice equivalente para cripto necesitar\u00eda otras dimensiones (p. ej., profundidad del libro de \u00f3rdenes al precio de ejecuci\u00f3n, slippage por impacto de mercado, latencia de retiros). Es posible que m\u00e1s adelante publiquemos un \u00edndice CEQI para cripto. Por ahora, consulte nuestra <a href=\"\/crypto-arbitrage\/\">metodolog\u00eda de arbitraje de criptomonedas<\/a>: m\u00e9tricas distintas, la misma filosof\u00eda de datos abiertos. El kit de forex no producir\u00e1 resultados significativos con datos de cripto.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfQu\u00e9 relaci\u00f3n tiene con SharpTrader Optimizer?<\/div>\n<div class=\"bat-faq-a\">\n<p>Muy estrecha. <a href=\"\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a> realiza backtests de estrategias con tiempo de ejecuci\u00f3n configurable y slippage calculado a nivel de tick; es decir, las variables que BEQI mide en su br\u00f3ker real. Si su br\u00f3ker obtiene el nivel 3 (latencia de casamiento 80\u2013200 ms), deber\u00eda configurar el Optimizer con un tiempo de ejecuci\u00f3n = 100\u2013200 ms antes de decidir si la estrategia es viable. BEQI mide el br\u00f3ker; el Optimizer simula la estrategia en las condiciones reales de ese br\u00f3ker. Juntos le indican si operar o no. La misma l\u00f3gica se aplica si opera <a href=\"\/forex-currency-arbitrage-strategies\/\">estrategias de arbitraje en forex<\/a> en general: mida primero el br\u00f3ker y luego dimensione la estrategia seg\u00fan su perfil de ejecuci\u00f3n real.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfEs BJF Trading Group imparcial en esto? Ustedes venden software de trading.<\/div>\n<div class=\"bat-faq-a\">\n<p>Pregunta justa. Tenemos un inter\u00e9s comercial en que el arbitraje y los backtests que tienen en cuenta la ejecuci\u00f3n se tomen en serio, y BEQI obviamente contribuye a ello. No tenemos inter\u00e9s comercial en que ning\u00fan br\u00f3ker concreto obtenga una puntuaci\u00f3n buena o mala: SharpTrader Pro es compatible con br\u00f3kers de los cuatro niveles y nuestros clientes eligen por s\u00ed mismos d\u00f3nde operar. Publicamos la metodolog\u00eda como c\u00f3digo abierto precisamente para que no tenga que fiarse de nuestra palabra: el c\u00f3digo es auditable, las mediciones son reproducibles y cualquier investigador puede replicar o contradecir nuestras cifras internas.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfC\u00f3mo puedo contribuir?<\/div>\n<div class=\"bat-faq-a\">\n<p>De cinco maneras: (1) ejecute el kit con su propio br\u00f3ker y env\u00ede el JSON a la hoja de c\u00e1lculo p\u00fablica; (2) abra issues en el repositorio de GitHub cuando el analizador falle con el formato de su extracto; (3) env\u00ede pull requests con nuevos analizadores de formatos de extracto; (4) proponga mejoras de la metodolog\u00eda en los hilos de discusi\u00f3n; (5) redacte su propio an\u00e1lisis con el conjunto de datos abierto y enl\u00e1cenos: destacaremos los buenos an\u00e1lisis externos en nuestro bolet\u00edn.<\/p>\n<\/div>\n<div class=\"bat-faq-q\">\u00bfTomar\u00e1n represalias los br\u00f3kers contra los traders que publiquen auditor\u00edas?<\/div>\n<div class=\"bat-faq-a\">\n<p>Los env\u00edos a la hoja de c\u00e1lculo p\u00fablica son an\u00f3nimos por defecto: el br\u00f3ker es opcional, el ID de cuenta nunca se recoge y el JSON de salida no contiene informaci\u00f3n identificativa. No tenemos constancia de br\u00f3kers que hayan tomado represalias por medir la calidad de ejecuci\u00f3n (ser\u00eda dif\u00edcil hacerlo sin admitir que la auditor\u00eda era correcta), pero la opci\u00f3n de anonimato existe precisamente para eliminar ese riesgo.<\/p>\n<\/div>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- CTA --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"bat-cta\">\n<h2>Audite su br\u00f3ker hoy<\/h2>\n<p>30 minutos. C\u00f3digo abierto. Metodolog\u00eda p\u00fablica. Env\u00edo an\u00f3nimo. La referencia solo existe si los traders contribuyen: empiece con la suya.<\/p>\n<p><a class=\"bat-cta-btn\" href=\"https:\/\/github.com\/bjftradinggroup-inc\/forex-broker-audit-toolkit\">Obtenga el kit en GitHub<\/a><br \/>\n<a class=\"bat-cta-btn bat-cta-btn-out\" href=\"https:\/\/docs.google.com\/spreadsheets\/d\/10TOJd1NVzAyqwAdw8_l5r9ucnhCogJJ83tjKpunnnko\/edit?usp=sharing\">Consultar la hoja de c\u00e1lculo<\/a><\/p>\n<\/div>\n<\/div>\n<p><!-- ====================================================================== --><br \/>\n<!-- END BODY --><br \/>\n<!-- ====================================================================== --><\/p>\n<p><!-- ====================================================================== --><br \/>\n<!-- JSON-LD --><br \/>\n<!-- ====================================================================== --><br \/>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#article\",\n      \"headline\": \"BEQI: An Open-Source Toolkit to Audit Any Forex Broker's Execution Quality\",\n      \"description\": \"BEQI (Broker Execution Quality Index) is an open methodology, open Python toolkit, and public spreadsheet for measuring retail forex broker execution quality across five dimensions: matching latency, slippage asymmetry, spread widening, last-look hold time, and requote rate. Anyone can audit their own broker in 30 minutes; the data accumulates into a public benchmark.\",\n      \"image\": \"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/beqi-cover.png\",\n      \"datePublished\": \"2026-05-05T10:00:00-04:00\",\n      \"dateModified\": \"2026-05-05T10:00:00-04:00\",\n      \"author\": {\n        \"@type\": \"Person\",\n        \"@id\": \"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person\",\n        \"name\": \"Boris Fesenko\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"@id\": \"https:\/\/bjftradinggroup.com\/#organization\",\n        \"name\": \"BJF Trading Group Inc.\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\",\n        \"logo\": { \"@type\": \"ImageObject\", \"url\": \"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/bjf-logo.png\" }\n      },\n      \"mainEntityOfPage\": {\n        \"@type\": \"WebPage\",\n        \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/\"\n      },\n      \"wordCount\": 3200,\n      \"articleSection\": \"Broker Execution Research\",\n      \"keywords\": \"forex broker audit, broker execution quality, BEQI, matching latency, slippage asymmetry, spread widening, last-look, requote rate, open-source forex toolkit, broker benchmark\",\n      \"about\": [\n        {\"@type\": \"Thing\", \"name\": \"Forex broker execution quality\"},\n        {\"@type\": \"Thing\", \"name\": \"Matching latency\"},\n        {\"@type\": \"Thing\", \"name\": \"Slippage asymmetry\"},\n        {\"@type\": \"Thing\", \"name\": \"Last-look execution\"},\n        {\"@type\": \"Thing\", \"name\": \"Open-source trading research\"}\n      ]\n    },\n    {\n      \"@type\": \"DefinedTerm\",\n      \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#beqi\",\n      \"name\": \"BEQI\",\n      \"alternateName\": \"Broker Execution Quality Index\",\n      \"description\": \"An open-source, five-dimensional measurement of retail forex broker execution quality covering matching latency, slippage asymmetry, spread widening factor, last-look hold time, and requote rate. Composite score from 0 (worst) to 100 (best).\",\n      \"inDefinedTermSet\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#article\"\n    },\n    {\n      \"@type\": \"SoftwareSourceCode\",\n      \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#toolkit\",\n      \"name\": \"Forex Broker Audit Toolkit\",\n      \"description\": \"Open-source Python toolkit implementing the BEQI methodology. Parses common terminal HTML statements, FIX logs, and CSV trading logs; computes the five BEQI dimensions and the composite score; outputs a JSON report suitable for submission to the public BEQI database.\",\n      \"codeRepository\": \"https:\/\/github.com\/bjftradinggroup-inc\/forex-broker-audit-toolkit\",\n      \"programmingLanguage\": \"Python\",\n      \"license\": \"https:\/\/opensource.org\/licenses\/MIT\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"@id\": \"https:\/\/bjftradinggroup.com\/#organization\"\n      }\n    },\n    {\n      \"@type\": \"HowTo\",\n      \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#howto\",\n      \"name\": \"How to audit a forex broker's execution quality with BEQI\",\n      \"description\": \"Step-by-step procedure for measuring a retail forex broker's execution quality across five dimensions using the open-source BEQI toolkit.\",\n      \"totalTime\": \"PT30M\",\n      \"tool\": [\n        {\"@type\": \"HowToTool\", \"name\": \"Trading statement (HTML, FIX log, or CSV)\"},\n        {\"@type\": \"HowToTool\", \"name\": \"Python 3.10+\"},\n        {\"@type\": \"HowToTool\", \"name\": \"BEQI toolkit (open-source)\"}\n      ],\n      \"step\": [\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 1,\n          \"name\": \"Export your trading statement\",\n          \"text\": \"From your trading platform, export a statement covering at least 200 fills over a trading week. Common terminal HTML statements, FIX 4.4 logs, and CSV trading logs are all supported.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 2,\n          \"name\": \"Install the toolkit\",\n          \"text\": \"Clone the GitHub repository, install Python dependencies via pip install -r requirements.txt. Requires Python 3.10 or later.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 3,\n          \"name\": \"Run the audit\",\n          \"text\": \"Execute python beqi.py --input <your_statement> --output report.json. The toolkit auto-detects format, computes each of the five BEQI dimensions, and writes a JSON report.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 4,\n          \"name\": \"Review the BEQI score and tier\",\n          \"text\": \"The report includes per-dimension scores, the composite BEQI (0-100), tier classification (1 best, 4 worst), and sample-size confidence indicators.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 5,\n          \"name\": \"Submit to the public database\",\n          \"text\": \"Optionally submit the JSON report to the public BEQI spreadsheet via the linked submission form. Submissions are anonymous by default.\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#faq\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Is BEQI a ranking of named brokers?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"No. BEQI is an open methodology and a public dataset of anonymized audits. We deliberately do not publish broker leaderboards from this dataset because it would compromise data integrity and creates legal exposure. Anyone is free to publish leaderboards using the open data.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What does BEQI measure?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"BEQI decomposes broker execution quality into five orthogonal dimensions: matching latency (median ms from order send to fill), slippage asymmetry (negative-to-positive slippage ratio), spread widening factor (spread expansion at signal moments), last-look hold time, and requote rate. Each is independently measurable from a trading statement; composite BEQI is a weighted geometric mean from 0 to 100.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"How long does an audit take?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"The toolkit run itself takes seconds; gathering 200+ fills of statement data takes a trading week of normal activity. Plan on 30 minutes to install the toolkit, run it, review results, and submit.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"What input formats does the toolkit accept?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Common terminal HTML statements, FIX 4.4 logs, and CSV trading logs with order_id, send_time, fill_time, requested_price, filled_price, side, and volume columns. The toolkit auto-detects format.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Is BEQI open-source?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Yes. The methodology is published in full, the Python code is on GitHub under MIT license, and the public dataset is in a Google Sheet open for review. Pull requests, methodology critiques, and replications are welcomed.\"\n          }\n        }\n      ]\n    },\n    {\n      \"@type\": \"BreadcrumbList\",\n      \"@id\": \"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#breadcrumb\",\n      \"itemListElement\": [\n        {\"@type\": \"ListItem\", \"position\": 1, \"name\": \"Home\", \"item\": \"https:\/\/bjftradinggroup.com\/\"},\n        {\"@type\": \"ListItem\", \"position\": 2, \"name\": \"Knowledge Hub\", \"item\": \"https:\/\/bjftradinggroup.com\/knowledge-hub\/\"},\n        {\"@type\": \"ListItem\", \"position\": 3, \"name\": \"BEQI: Forex Broker Audit Toolkit\"}\n      ]\n    }\n  ]\n}\n<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>BJF TRADING GROUP \u00b7 INVESTIGACI\u00d3N ABIERTA BEQI: un kit de c\u00f3digo abierto para auditar la calidad de ejecuci\u00f3n de cualquier br\u00f3ker de forex Los br\u00f3kers minoristas de forex no publican datos sobre la calidad de ejecuci\u00f3n. No existe una referencia p\u00fablica para la latencia de casamiento, la asimetr\u00eda del slippage, la ampliaci\u00f3n del spread ni el tiempo de retenci\u00f3n del last look. Estamos cambiando eso. BEQI (Broker Execution Quality Index, \u00edndice de calidad de ejecuci\u00f3n&hellip;<\/p>\n","protected":false},"author":1,"featured_media":12956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53],"tags":[],"class_list":["post-12955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arbitrage-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex<\/title>\n<meta name=\"description\" content=\"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/es\/forex-broker-audit-toolkit\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex\" \/>\n<meta property=\"og:description\" content=\"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/es\/forex-broker-audit-toolkit\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/bjftradinggroup\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-04T15:41:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-25T15:46:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/05\/beqi-cover-1200x630-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Boris Fesenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Boris Fesenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/\"},\"author\":{\"name\":\"Boris Fesenko\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"headline\":\"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex\",\"datePublished\":\"2026-05-04T15:41:02+00:00\",\"dateModified\":\"2026-09-25T15:46:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/\"},\"wordCount\":20542,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/beqi-cover-1200x630-1.png\",\"articleSection\":[\"Arbitrage Software\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#respond\"]}],\"name\":\"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex\",\"description\":\"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/\",\"name\":\"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/beqi-cover-1200x630-1.png\",\"datePublished\":\"2026-05-04T15:41:02+00:00\",\"dateModified\":\"2026-09-25T15:46:18+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"description\":\"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/beqi-cover-1200x630-1.png\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/beqi-cover-1200x630-1.png\",\"width\":1200,\"height\":630,\"caption\":\"Forex Broker Audit Toolkit (BEQI)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-broker-audit-toolkit\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"BEQI: Open-Source Forex Broker Execution Audit Toolkit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\",\"name\":\"Boris Fesenko\",\"pronouns\":\"He\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"caption\":\"Boris Fesenko\"},\"description\":\"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.\",\"sameAs\":[\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\",\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.instagram.com\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCapi2ct0Iv7axHJ93wN_bsQ\"],\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/es\\\/author\\\/boris\\\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex","description":"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/es\/forex-broker-audit-toolkit\/","og_locale":"es_ES","og_type":"article","og_title":"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex","og_description":"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.","og_url":"https:\/\/bjftradinggroup.com\/es\/forex-broker-audit-toolkit\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_author":"https:\/\/www.facebook.com\/bjftradinggroup","article_published_time":"2026-05-04T15:41:02+00:00","article_modified_time":"2026-09-25T15:46:18+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/05\/beqi-cover-1200x630-1.png","type":"image\/png"}],"author":"Boris Fesenko","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Boris Fesenko","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#article","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/"},"author":{"name":"Boris Fesenko","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"headline":"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex","datePublished":"2026-05-04T15:41:02+00:00","dateModified":"2026-09-25T15:46:18+00:00","mainEntityOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/"},"wordCount":20542,"commentCount":0,"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/05\/beqi-cover-1200x630-1.png","articleSection":["Arbitrage Software"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#respond"]}],"name":"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex","description":"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.","publisher":{"@id":"https:\/\/bjftradinggroup.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/","url":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/","name":"BEQI: kit de c\u00f3digo abierto para auditar la ejecuci\u00f3n de br\u00f3kers de forex","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/05\/beqi-cover-1200x630-1.png","datePublished":"2026-05-04T15:41:02+00:00","dateModified":"2026-09-25T15:46:18+00:00","author":{"@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"description":"BEQI: un kit de c\u00f3digo abierto y una metodolog\u00eda para auditar la calidad de ejecuci\u00f3n de los br\u00f3kers de forex, midiendo slippage, latencia y la equidad del llenado de \u00f3rdenes.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/05\/beqi-cover-1200x630-1.png","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/05\/beqi-cover-1200x630-1.png","width":1200,"height":630,"caption":"Forex Broker Audit Toolkit (BEQI)"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/forex-broker-audit-toolkit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"BEQI: Open-Source Forex Broker Execution Audit Toolkit"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9","name":"Boris Fesenko","pronouns":"He","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","caption":"Boris Fesenko"},"description":"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.","sameAs":["https:\/\/bjftradinggroup.com\/about-boris-fesenko","https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/www.instagram.com\/bjftradinggroup\/","https:\/\/www.linkedin.com\/in\/bjftradinggroup\/","https:\/\/www.youtube.com\/channel\/UCapi2ct0Iv7axHJ93wN_bsQ"],"url":"https:\/\/bjftradinggroup.com\/es\/author\/boris\/"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/posts\/12955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/comments?post=12955"}],"version-history":[{"count":11,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/posts\/12955\/revisions"}],"predecessor-version":[{"id":13195,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/posts\/12955\/revisions\/13195"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/media\/12956"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/media?parent=12955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/categories?post=12955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/es\/wp-json\/wp\/v2\/tags?post=12955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}