Estudio

Estudio 01: el cruce de EMA 9/20 en EUR/USD diario, con protocolo registrado y bitácora de intentos

Por Ignacio Arias, fundador de TRAVIDENCE y autor de la metodología · Publicado: noviembre de 2026


Respuesta primero

Registramos el protocolo el 12 de octubre de 2026, antes de descargar la serie de precios, y después corrimos las cuatro configuraciones que declaramos en él (EMA 9/20, 9/21, 12/26 y 50/200) sobre 5,958 fijos diarios de EUR/USD, de 2002-12-24 a 2026-09-30, con spread y swap. La regla 9/20 terminó con un Sharpe anualizado de 0.136; descontado por las cuatro variantes, su Deflated Sharpe Ratio (DSR) quedó en 0.619, por debajo del 0.95 fijado de antemano, así que la hipótesis del estudio se descarta. Como lectura secundaria, que no decide nada, la probabilidad de sobreajuste del backtest (PBO) entre las cuatro configuraciones salió en 0.787.

Alcance. Este es un estudio educativo sobre un método de validación aplicado a una regla pública. No recomienda estrategias, indicadores, parámetros ni activos, y no sustituye una validación completa. Este estudio no es un certificado ni usa el puntaje de la plataforma TRAVIDENCE. Aplica el Aviso al pie de página.

Protocolo registrado

El protocolo fija la hipótesis, las reglas, los datos, los costos, las métricas y el criterio de descarte antes de correr nada. Su huella sha256 se publicó en X el 2026-10-12 a las 15:00 UTC (post del registro):

ed02a661f8083632137b667f17e3bc4d92121bad356fe413fde356cbb12e22e1

El archivo se publica íntegro con este estudio, byte a byte (protocolo-v0_4.md). Si un solo carácter cambiara, la huella sería otra. El protocolo declara también lo que se consultó antes del registro: las páginas de condiciones de uso y de descripción de las fuentes; las tablas públicas de tasas del BCE y de la Reserva Federal; algunas filas de la página histórica del euro de la H.10 (enero de 2000 y octubre-noviembre de 2002, estas últimas dentro del calentamiento), al verificar su formato; la página de cargos y un artículo de ayuda de un bróker, y dos scripts públicos de la regla en una plataforma de gráficos. No se había descargado la serie ni calculado ninguna media, señal o métrica.

Elemento Qué fija el protocolo
Hipótesis (H1) El cruce de EMA 9/20, en su versión canónica, produce en el escenario de costos base un Sharpe cuyo DSR es igual o mayor que 0.95
Instrumento y datos EUR/USD diario: el fijo del mediodía de Nueva York que publica la Reserva Federal (publicación H.10), de 1999-01-04 a 2026-09-30
Reglas Dos direcciones; señal detectada en la barra t y ejecutada en la barra t + 1; cada señal cierra la posición vigente y abre la contraria; sin filtros, stops ni objetivos; exposición 1× rebalanceada en cada barra
Calentamiento Las barras 1 a 1,000 solo calculan las medias; la evaluación empieza en la barra 1,001, igual para las cuatro variantes
Costos base Spread de 2 pips por lado; swap con la tasa de depósito del BCE y el objetivo de la Fed, menos un margen de 1.0 % anual en contra; comisión 0; impuestos no modelados
Sensibilidad Escenario bajo (1 pip; 0.5 %) y alto (4 pips; 2.0 %): se reportan y no deciden nada
Criterio de descarte H1 se descarta si el DSR de la variante 1 en el escenario base es menor que 0.95, evaluado en precisión completa
Publicación El resultado se publica sea cual sea

Datos

Los cinco archivos se descargaron una sola vez, el 2026-10-22, y se guardan sin ninguna modificación: la serie del euro del Data Download Program de la Reserva Federal, la página histórica del euro de la H.10 (solo como control), las dos páginas de decisiones del FOMC y la serie de la tasa de depósito del ECB Data Portal. Un anexo de datos fechado fija la URL, la hora de descarga, los bytes y el sha256 de cada archivo, los conteos y las anomalías. Su huella se publicó en X el 2026-10-23 a las 17:47 UTC, en el mismo hilo del registro (sello de los datos), antes del primer cálculo del estudio (2026-10-29):

debb30d7ae5960c6d0859d25309e058c253c72e3fed2d90aee29c0b447528a0f

El anexo tiene además un recibo OpenTimestamps (anexo-datos-2026-10-22.md.ots), verificable con ots verify.

Concepto Valor
Barras (fijos numéricos hasta 2026-09-30) 6,958
Días «ND» (sin dato), fuera del cálculo 280
Barra 1,001 (inicio de la evaluación) 2002-12-24
Última barra 2026-09-30
Retornos evaluados (T) 5,958
Control contra la página histórica 0 diferencias en 6,706 fechas

Dos anomalías quedaron escritas en el anexo antes de correr: la página histórica del FOMC no nombra la tasa de su columna (se identifica por el enlace y el encabezado de la página vigente), y desde 2008-12-16 el objetivo es un rango, del que el código toma el punto medio. La tabla del FOMC trae además una fecha corregida por la propia fuente («March 4*»: el 4 de marzo de 2020, antes registrado como 3 de marzo); el código usa la fecha corregida. Al revisar el resultado vimos que varias fechas de esa tabla son las del día siguiente a la reunión (por ejemplo, 2015-12-17 para la decisión del 16 de diciembre), mientras el protocolo supone la fecha de la decisión; con su regla («fecha anterior a la de t»), esas tasas entran un fijo más tarde. Se aplicó la regla registrada. Con la regla «fecha igual o anterior», el Sharpe anualizado de la variante 1 pasaría de 0.1357 a 0.1358 (bitácora, fila 5).

Los datos de la Reserva Federal son de dominio público y las estadísticas del BCE admiten reutilización citando la fuente. Por eso los cinco archivos se publican tal cual.

Bitácora de intentos

La bitácora usa las cinco columnas de Cómo contar tus variantes: número, fecha, qué cambió, qué se vio antes que llevó al cambio, y qué resultado se miró. Las cuatro variantes se declararon en el protocolo antes de correr, y no se corrió ninguna otra.

Nº Fecha Qué cambió Por qué Resultado mirado (escenario base)
0 2026-10-08 El instrumento pasó de BTCUSDT perpetuo (borradores v0.1–v0.3) a EUR/USD En ninguna de las fuentes de precios de BTC revisadas encontramos términos que autorizaran expresamente a una firma comercial a publicar resultados derivados sin una licencia escrita Ninguno: no se descargó ni se corrió nada. No cuenta como intento
1 2026-10-29 EMA 9/20 (H1) Declarada en el protocolo antes de correr Sharpe 0.136 · conservada
2 2026-10-29 EMA 9/21 Declarada en el protocolo antes de correr Sharpe 0.133 · conservada
3 2026-10-29 EMA 12/26 Declarada en el protocolo antes de correr Sharpe 0.078 · conservada
4 2026-10-29 EMA 50/200 Declarada en el protocolo antes de correr Sharpe −0.013 · conservada
5 2026-10-29 Convención de fechas del FOMC: «igual o anterior» en lugar de «anterior», solo como comprobación La tabla del FOMC trae fechas del día siguiente a la reunión Variante 1: Sharpe 0.1358 contra 0.1357 · descartada; no es una configuración de la regla y no cuenta en n_trials

n_trials = 4. Son las filas 1 a 4: las configuraciones de la regla con un resultado mirado. La fila 5, los escenarios de costos, los cálculos de atribución y la referencia no son intentos. Ninguna configuración se volvió a correr por un error de código.

Resultado

Las cuatro variantes en el escenario base, sobre los mismos 5,958 retornos:

Variante Sharpe anualizado Retorno total Drawdown máximo Ejecuciones
1 · EMA 9/20 0.136 21.2 % 32.5 % 251
2 · EMA 9/21 0.133 20.5 % 28.6 % 249
3 · EMA 12/26 0.078 7.2 % 30.9 % 193
4 · EMA 50/200 −0.013 −11.5 % 36.8 % 37

Gráfico. Curva de capital de las cuatro variantes, escenario base, de 2002-12-23 (barra 1,000, capital = 1) a 2026-09-30.

Curva de capital de cuatro cruces de EMA en EUR/USD diario, 2002–2026, escenario base. Las variantes 9/20 y 9/21 suben hasta 2011 y después bajan; la 12/26 sigue un camino parecido más abajo; la 50/200 termina por debajo de 1. 0.8 1.0 1.2 1.4 1.6 2003 2007 2011 2015 2019 2023 2026-09-30 Capital (inicio = 1) 9/20 9/21 12/26 50/200
Curva de capital de cuatro cruces de EMA en EUR/USD diario, 2002–2026, escenario base. Las variantes 9/20 y 9/21 suben hasta 2011 y después bajan; la 12/26 sigue un camino parecido más abajo; la 50/200 termina por debajo de 1. Capital (inicio = 1) 0.8 1.0 1.2 1.4 1.6 2003 2007 2011 2015 2019 2023 2026-09-30 9/20 9/21 12/26 50/200

El descuento por las cuatro variantes (DSR). El Sharpe por barra de la variante 1 es 0.00855 (0.136 anualizado). El umbral SR₀, el Sharpe máximo que cabría esperar entre cuatro configuraciones cuyo Sharpe verdadero es cero dada la dispersión observada entre ellas, es 0.00462 por barra (0.073 anualizado). Los retornos tienen asimetría 0.103 y curtosis 6.01 (en una distribución normal sería 3): colas pesadas. La fórmula del DSR las toma en cuenta, pero con un Sharpe por barra tan pequeño su efecto es despreciable. La variante 1 se designó antes de correr; aun así se descuenta como si se hubiera elegido entre las cuatro (criterio conservador del protocolo). Con T = 5,958, el DSR es 0.619. El criterio pedía 0.95: H1 se descarta.

El PSR contra cero, la misma expresión sin descontar las variantes, es 0.745. Es decir, la regla tampoco llega a 0.95 antes del descuento: con este nivel de Sharpe, 23.8 años de datos diarios no bastan para separarla del ruido estadístico.

Probabilidad de sobreajuste (PBO). Los 5,952 retornos más recientes se dividen en 16 bloques contiguos de 372 retornos (unos 18 meses cada uno) y se recorren las 12,870 formas de elegir 8 bloques como muestra de ajuste y dejar 8 como prueba. En cada una, la configuración con mejor Sharpe en la muestra de ajuste recibe su lugar en la prueba:

Lugar de la ganadora en la prueba Combinaciones Proporción
4.º (la peor) 5,870 45.6 %
3.º 4,264 33.1 %
2.º 2,516 19.5 %
1.º (la mejor) 220 1.7 %

En el 78.7 % de las combinaciones, la configuración que ganaba en la muestra de ajuste quedó en la mitad de abajo fuera de ella: PBO = 0.787. Solo en el 1.7 % la ganadora del ajuste fue también la mejor en la prueba.

Costos. Para la variante 1, el mismo cálculo sin spread termina en 31.7 % y sin swap en 55.4 %, contra 21.2 % con ambos. El swap pesa más que el spread: con la posición abierta prácticamente toda la ventana, el margen de 1.0 % anual en contra se paga por cada día de posición abierta, en largos y en cortos.

Escenario Sharpe 9/20 Sharpe 9/21 Sharpe 12/26 Sharpe 50/200 DSR de la variante 1
Bajo (1 pip; 0.5 %) 0.213 0.210 0.150 0.047 0.738
Base (2 pips; 1.0 %) 0.136 0.133 0.078 −0.013 0.619
Alto (4 pips; 2.0 %) −0.018 −0.020 −0.067 −0.133 0.358

Ni con costos bajos llega el DSR a 0.95. Con costos altos, las cuatro variantes quedan con Sharpe negativo.

Cuándo se ganó. La curva de la variante 1 tocó su máximo el 2011-05-03, con el capital 55.2 % arriba del inicio. De ahí cayó 32.5 % hasta el 2020-05-22 y cerró la ventana 21.9 % por debajo de ese máximo. El retorno total de 21.2 % es lo que quedó de lo ganado hasta mayo de 2011; en los 15.4 años siguientes la curva no volvió a ese nivel.

Tramo final. Los últimos 24 meses (2024-10-01 a 2026-09-30, 500 barras) se reportan por separado, sin reabrir la posición. No deciden nada. Variante 1: retorno 2.6 %, Sharpe anualizado 0.221, drawdown máximo 9.0 %, 22 ejecuciones.

Referencia de contexto, no comparación de mérito. Estar comprado 1× en EUR/USD toda la ventana, con el mismo spread y el mismo swap, termina en −31.6 %, con drawdown máximo de 52.5 % (tramo final: −3.7 %).

Qué dice y qué no

Dice que, con estas reglas, estos datos y estos costos, el resultado del 9/20 no se distingue del ruido estadístico con el nivel de evidencia fijado antes de correr. Dice también que, entre estas cuatro configuraciones, la que mejor se veía en la muestra de ajuste (8 de los 16 bloques) quedó en la mitad de abajo en los otros 8 en el 78.7 % de las particiones.

No dice nada fuera de este caso. Sus límites, declarados en el protocolo:

  • Un instrumento, una fuente, un marco temporal. EUR/USD diario de la H.10. Otro activo, otro horario de cierre u otra fuente de precio son otro estudio.
  • Cuatro variantes, tres muy parecidas. Con N = 4, la dispersión entre Sharpe se estima con tres grados de libertad y la deflación es débil; por eso se reportan también SR₀ y el PSR contra cero. El PBO solo puede tomar cuatro lugares y lo pueden dominar configuraciones casi idénticas; además, la 50/200, la peor en la ventana completa, ganó la muestra de ajuste en 2,720 de las 12,870 particiones. Un PBO alto aquí describe a estas cuatro configuraciones, no a la regla 9/20 sola.
  • Costos aproximados. El spread base (2 pips por lado) es unas 6.7 veces el medio spread mínimo que publicaba un bróker minorista grande el 2026-10-08 (protocolo §4); no encontramos una fuente pública verificable de spreads minoristas para los primeros años. El swap usa las tasas de política monetaria como aproximación y el margen m es una convención.
  • Supuestos de ejecución. El fijo del mediodía se trata como precio medio; el rebalanceo diario no paga spread; no se modela el cargo triple de los miércoles; no se modelan impuestos.
  • Un periodo. 23.8 años incluyen varios tramos del mercado, pero no todos los posibles.

Descartar H1 no es un veredicto sobre la regla fuera de esta serie, este periodo, estas reglas y estos costos. Nada de esto garantiza resultados.

Reproducir

Todo se publica junto a este estudio en travidence.com/recursos/estudios/cruce-ema-9-20-eurusd/archivos/: el protocolo, los cinco archivos de datos con SHA256SUMS, el anexo y su recibo, el código, las pruebas con datos sintéticos, requirements.lock, las salidas y la bitácora. El código del estudio (run_study.py y estudio01/) usa la biblioteca estándar de Python y numpy, no usa ningún componente de la plataforma TRAVIDENCE y no se conecta a la red; la única descarga la hizo download.py, una sola vez, el 2026-10-22. requirements.lock fija también pandas porque el protocolo (§8) lo preveía; el código no lo importa.

Verificar los datos:

cd data && shasum -a 256 -c SHA256SUMS

Correr el estudio desde una copia de la carpeta sin outputs/, con Python 3.11.15 y las versiones de requirements.lock:

python -B run_study.py --run-utc 2026-10-29T15:39:49Z

El comando comprueba las seis huellas (cinco archivos y el anexo) y se detiene sin escribir nada si alguna no coincide. Con esa hora, los 21 archivos que escribe salen idénticos byte a byte a los publicados; se comprobó el 2026-10-29 en dos sistemas, macOS y Linux x86_64. bitacora.md se redacta a mano y no entra en la comparación.

Archivo sha256
protocolo-v0_4.md ed02a661f8083632137b667f17e3bc4d92121bad356fe413fde356cbb12e22e1
data/anexo-datos-2026-10-22.md debb30d7ae5960c6d0859d25309e058c253c72e3fed2d90aee29c0b447528a0f
run_study.py 98901fad65c2e8fb49d62aa47db34b732d4c38ed7585768bc1c9173cd417f0d6
requirements.lock b883865636ee3268395c9669ad793410eae6dc3ce29260dba2f3979e0a66fcfa
outputs/run-log.json 3adb49bcc5917f79b54d34eaaca9ff7c1235b4df0158cecc006370e7f64de694
outputs/bitacora.md 59a6e8b96b0b682605dc729b18c54465667abf4da51dceeb84b5802d20ed1192

Las huellas de los cinco archivos de datos están en data/SHA256SUMS; las de los módulos de estudio01/ y de cada salida, en el README.md de la carpeta; las de las salidas, también en outputs/run-log.json.

Fuentes: «Source: Board of Governors of the Federal Reserve System, H.10 Foreign Exchange Rates» · «Source: Board of Governors of the Federal Reserve System, Open Market Operations» · «Source: ECB statistics».

Referencias

Bailey, D. H. y López de Prado, M. (2014). The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality. The Journal of Portfolio Management, 40(5), 94–107.

Bailey, D. H., Borwein, J. M., López de Prado, M. y Zhu, Q. J. (2017). The Probability of Backtest Overfitting. Journal of Computational Finance, 20(4), 39–69. https://doi.org/10.21314/JCF.2016.322

Aviso. TRAVIDENCE es un servicio de validación independiente. No es asesoría financiera ni una recomendación de inversión. El rendimiento pasado no garantiza resultados futuros; ninguna validación elimina el riesgo de pérdida.