Aquí va la verdad incómoda hacia la que toda lección de aprendizaje por refuerzo ha estado avanzando en silencio. Un agente de RL es el explotador más brillante, incansable y despiadado que jamás contratarás — pero explota el mundo que tú le pongas delante, y no tiene ni idea de que ese mundo debería ser el mercado real. Le das un simulador y le dices que maximice la recompensa. Y lo hace. Encuentra cada grieta, cada error de redondeo, cada ejecución un pelín demasiado generosa, cada suposición que no sabías que habías hecho, y vuelca todo su presupuesto de optimización en esas grietas. Si las grietas coinciden con ventajas reales, enhorabuena. Casi nunca lo hacen.
Así que el agente que imprime dinero en el backtest no necesariamente ha aprendido a operar. Ha aprendido a operar tu simulador — un juego sutilmente distinto y mucho más fácil. La distancia entre ese simulador y el mercado en vivo se llama el salto sim-a-real, y es donde van a morir las estrategias de trading con RL. Este es el humilde colofón del curso: no un algoritmo nuevo, sino la disciplina de desconfiar de la preciosa curva de capital que tu propio código acaba de producir. Lleva contigo la única lección que el curso de machine learning para alpha te metió a martillazos — el sobreajuste es el enemigo — porque el RL encuentra formas nuevas y creativas de sobreajustar con las que el aprendizaje supervisado jamás soñó.
Antes de leer — adivina
Tu backtest de RL reporta un ratio de Sharpe de 6 con una curva de capital casi perfectamente suave y monótonamente creciente. ¿Cuál es la primera reacción correcta?
El salto sim-a-real, definido
El salto sim-a-real es la pérdida de rendimiento que sufres cuando una política que es óptima en simulación se topa con la realidad, porque el simulador no es el entorno real. Formalmente: entrenaste al agente para maximizar la recompensa bajo la dinámica de transición y la función de recompensa de tu simulador. Luego lo despliegas bajo la dinámica del mercado real. Allí donde ambas discrepan, el comportamiento del agente fue afinado para el mundo equivocado.
La parte cruel es que esto no es un fallo del agente — es el agente haciendo exactamente su trabajo. El aprendizaje por refuerzo es, por construcción, una búsqueda de la política que exprime la máxima recompensa del entorno que se le da. Cada atajo de modelado que tomaste — una ejecución ligeramente demasiado buena, un coste que olvidaste cobrar, un precio que no se mueve cuando operas — no es una aproximación inofensiva. Es una fuente de recompensa, y el agente encauzará toda su estrategia a través de ella. Un modelo supervisado al que alimentas con datos malos simplemente aprende un mapeo malo. Un agente de RL al que le das un simulador defectuoso aprende a atacar el defecto con todo lo que tiene.
Tu simulador es el patio de recreo de tu adversario
Cada vez que simplificas el mercado para hacer el simulador tratable, no le estás haciendo la vida más difícil al agente — le estás regalando dinero. El agente descubrirá la simplificación y la explotará mucho antes de que tú lo notes. Da por hecho que cada atajo es una fuga que el agente ya está drenando.
Por qué el RL sobreajusta peor que el aprendizaje supervisado
Ya conoces el sobreajuste del curso de ML para alpha: un modelo memoriza el ruido del conjunto de entrenamiento y falla fuera de muestra. El RL hereda todo eso y añade tres aceleradores que se acumulan y lo hacen sobreajustar más fuerte.
(1) El agente elige sus propios datos. A un modelo supervisado se le entrega un conjunto de datos fijo. Un agente de RL genera su propia experiencia actuando — y un agente maximizador se dirige a sí mismo hacia los estados donde el simulador es más halagador. Busca activamente las regiones donde el modelo se equivoca a su favor. No estás entrenando sobre una muestra del mundo; estás entrenando sobre una muestra que el agente seleccionó para quedar bien.
(2) La asignación de crédito a largo horizonte multiplica el ruido. El aprendizaje supervisado mapea una entrada a una etiqueta. El RL debe atribuir un resultado final hacia atrás a lo largo de una larga cadena de acciones, cada paso inyectando ruido de estimación. Cuanto más largo es el horizonte, más correlaciones espurias del tipo “esta acción causó esa recompensa” puede agarrar el agente — y muchas de ellas son pura coincidencia en las trayectorias de entrenamiento.
(3) Buscas sobre todo el entorno, no solo el modelo. En aprendizaje supervisado afinas un modelo y quizá unos pocos hiperparámetros. En RL afinas la definición del entorno, la función de recompensa, el algoritmo, la red y los hiperparámetros — y vuelves a correr el backtest tras cada cambio. Esa es una búsqueda enorme con múltiples contrastes, y te quedas con la configuración que tiene el mejor backtest. Esta es exactamente la trampa del Sharpe desinflado / sobreajuste de backtest: corre suficientes pruebas y una de ellas parecerá brillante solo por suerte. El gigantesco espacio de configuración del RL hace que esa suerte sea casi segura.
La brecha creciente entre el rendimiento dentro de muestra y fuera de muestra es la firma del sobreajuste — en RL aparece antes y más amplia.
El Sharpe del backtest es un número que optimizaste, no un número que mediste
Cada vez que ajustas el entorno y vuelves a revisar el backtest, estás seleccionando sobre el backtest. El Sharpe final es el máximo sobre todas tus pruebas, no una estimación insesgada del rendimiento en vivo. Desínflalo por el número de configuraciones que probaste, o trata la cifra cruda como ficción.
Cuándo usarlo — lee la brecha entrenamiento/test como una luz de alarma
Sigue la recompensa dentro de muestra frente a la de fuera de muestra (o entrenamiento frente a walk-forward retenido) durante el desarrollo, no después. En el momento en que las curvas divergen, estás memorizando el simulador. Una brecha pequeña y estable es la única señal honesta de que tu política aprendió algo transferible. Una brecha enorme con una curva de entrenamiento preciosa es el agente celebrando en un mundo que no existe.
No estacionariedad y un mercado que se adapta a ti
Incluso un simulador perfecto del pasado no te salvaría, porque el mercado es no estacionario: su comportamiento estadístico cambia con el tiempo. El proceso generador de datos deriva entre regímenes — calma y tendencia, volátil y de reversión a la media, crisis y subida explosiva — y una política entrenada para explotar un régimen puede ser exactamente lo contrario de lo correcto en el siguiente. El agente optimizó una estrategia para el mundo que vio; el mundo entonces cambia las reglas.
Una política afinada para el régimen de calma-tendencia puede ser justo el movimiento equivocado en cuanto la cadena transiciona al régimen de volatilidad-reversión.
Y la cosa empeora, porque el mercado no es una grabación pasiva que reproduces — es una multitud de otros participantes adaptativos, y reacciona a ti. Dos bucles de retroalimentación se comen tu ventaja:
- Otros participantes se adaptan. Si tu agente explota un patrón, otros aprenden a anticiparlo o a adelantarse a él, y el patrón se degrada. La ventaja que era real el trimestre pasado se está eliminando por competencia mientras la operas.
- Tu propio impacto crece con el tamaño. Los backtests sobre nocional pequeño suponen que tus operaciones no mueven los precios. Escala y sí lo hacen — tu compra empuja el precio en tu contra, tus ejecuciones se degradan, y el modelo de impacto que calibraste a tamaño minúsculo ya no se sostiene. La estrategia que funcionaba a $100.000 puede no ser rentable a $100.000.000.
Un backtest histórico estático no captura nada de esta reflexividad. Reproduce un mercado que nunca notó que estabas allí.
El mercado es un jugador, no un conjunto de datos
Reproducir la historia supone que el libro de órdenes habría sido idéntico existiera tu agente o no. En el instante en que operas tamaño real, esa suposición es falsa: ahora eres una de las fuerzas que mueve el precio que intentas predecir.
El simulador irreal: las mentiras concretas que inflan los backtests
La no estacionariedad es inevitable. La siguiente categoría de salto es autoinfligida — las mentiras convenientes que cuenta un simulador ingenuo, cada una de las cuales el agente explotará encantado. Aquí están los sospechosos habituales.
| Suposición del simulador | Por qué halaga al agente | Realidad |
|---|---|---|
| Ejecuciones al precio medio | El agente nunca paga el diferencial compra-venta, así que cada ida y vuelta es dinero gratis que no ganó | Compras al precio de venta, vendes al de compra; el diferencial es un coste real y recurrente |
| Latencia cero | El agente actúa sobre precios a los que jamás habría llegado a tiempo | Las señales, los saltos de red y las colas del mercado cuestan milisegundos que el agente no tenía |
| Prioridad de cola garantizada | El agente supone que sus órdenes límite se ejecutan primero cuando en realidad están al final | Tu orden se une al final de la cola; puede que nunca se ejecute, o solo se ejecuta cuando el precio se mueve en tu contra |
| Libro de órdenes estático (sin impacto) | El agente opera tamaño ilimitado al precio cotizado, como si fuera invisible | Tus propias órdenes consumen liquidez y mueven el libro; las operaciones grandes obtienen ejecuciones progresivamente peores |
| Datos futuros filtrándose en la simulación | El agente “predice” usando información que aún no estaba disponible — un oráculo perfecto | En el momento de decidir solo tienes el pasado; cualquier anticipación es una ventaja de fantasía |
Cada fila es un lugar donde el agente gana recompensa que no tiene contrapartida en el mercado en vivo. Fíjate en el patrón: cada mentira hace que operar sea más barato, más rápido o más seguro de lo que realmente es, y un agente maximizador operará más justo allí donde la mentira es mayor.
Clasifica cada práctica de backtesting según si hace que el backtest parezca mejor que la realidad (una fuga que el agente explotará) o es honesta.
Coloca cada elemento en su grupo.
- Añadir un término de impacto de mercado que empeora las ejecuciones a medida que crece el tamaño de la orden
- Mantener el libro de órdenes estático para que tus operaciones no causen impacto en el precio
- Modelar una ejecución consciente de la posición en cola que puede no ejecutarse en absoluto
- Dejar que una variable espíe el cierre de la misma barra para decidir la operación de esa barra
- Suponer que tus órdenes límite siempre obtienen prioridad al frente de la cola
- Cobrar el diferencial compra-venta y una estimación conservadora de slippage en cada ejecución
- Suponer que cada orden se ejecuta al precio medio sin pagar diferencial
- Retrasar cada decisión con una latencia realista de señal más ejecución
De todas estas mentiras, ¿cuál produce más a menudo un backtest de “Sharpe 6, curva suave”?
Respuesta. Normalmente algún tipo de anticipación / fuga de datos, a menudo combinada con ejecuciones al precio medio. La fuga le da al agente una clarividencia casi perfecta, que produce un capital irrealmente suave y monótono; las ejecuciones al precio medio luego le permiten cosechar esa clarividencia gratis. Siempre que una curva parezca demasiado limpia para ser un mercado ruidoso, sospecha que información del futuro se está colando en el presente — una variable calculada con el propio cierre de la barra, una etiqueta alineada un paso antes de tiempo, o una ejecución valorada con datos que el agente no podía haber tenido.
Cerrando el salto: la disciplina de despliegue
Nunca puedes cerrar el salto por completo, pero puedes reducirlo y — más importante aún — dejar de engañarte sobre su tamaño. La disciplina es una pila de pesimismo aplicada en cada etapa.
- Simulación realista / reproducción histórica con impacto y ejecuciones conservadoras. Cobra el diferencial, añade slippage, modela la posición en cola, y haz que tus propias órdenes muevan el libro. Sesga cada suposición en contra del agente.
- Aleatorización de dominio. Entrena sobre niveles de coste, latencias y dinámicas aleatorizados para que la política sea robusta a un rango de mundos en lugar de estar afinada a un simulador exacto. Una política que sobrevive a muchos mercados plausibles tiene más probabilidades de sobrevivir al real.
- Entrena y haz pruebas de estrés en múltiples regímenes. No valides sobre un único periodo de calma. Prueba deliberadamente en crisis, picos de volatilidad y reversiones de tendencia — los regímenes donde una política frágil detona.
- Evaluación walk-forward, purgada y con embargo. Exactamente como en el curso de ML para alpha: desplaza la ventana de entrenamiento/test hacia delante en el tiempo, purga las muestras solapadas alrededor de la frontera, y aplica un embargo con un hueco para que no se filtre información a través de la división. Esta es tu defensa más fuerte contra la fuga que produce Sharpes de fantasía.
- Paper trading. Corre la política en vivo contra datos reales del mercado con dinero falso primero. Captura sorpresas de latencia, infraestructura y microestructura que un simulador nunca modeló.
- Monitorización en vivo de la recompensa realizada frente a la esperada. Sigue, en producción, si la recompensa que de verdad ganas coincide con la que la política esperaba. Un déficit persistente es el salto sim-a-real anunciándose en tiempo real.
- Un interruptor de emergencia prefijado. Decide antes de desplegar el umbral de pérdida, drawdown o desviación de recompensa que apaga al agente automáticamente. Fíjalo cuando estés tranquilo, no mientras está sangrando.
- Empieza con tamaño minúsculo. Despliega a un nocional donde el impacto sea insignificante y una pérdida total sea soportable, luego escala despacio solo a medida que los resultados en vivo confirmen la ventaja. El tamaño pequeño es el seguro más barato que jamás comprarás.
Empareja cada salvaguarda de despliegue con el fallo sim-a-real concreto contra el que defiende.
Pick a term, then click its definition.
Completa la máxima de despliegue por la que vive todo trader de RL honesto.
Elige la opción correcta para cada hueco y comprueba.
Cuando la recompensa realizada en producción se queda persistentemente corta frente a la recompensa que la política esperaba, ese déficit *es* el hecho visible — así que accionas el prefijado e investigas antes de escalar, nunca al revés.
Cuándo usarlo — la mentalidad de despliegue, no una lista de una sola vez
Estos no son pasos que ejecutas una vez y olvidas. La no estacionariedad significa que el salto se reabre continuamente: una política que cumplió las expectativas el mes pasado puede derivar a medida que cambian los regímenes y los competidores. Trata la monitorización de realizado-frente-a-esperado, las pruebas de estrés de régimen y el interruptor de emergencia como una postura operativa permanente. El objetivo no es un backtest del que presumir — es un sistema en vivo en el que puedas confiar porque lo has hecho lo más difícil posible de engañarte a ti mismo.
Repaso
Big picture
- El salto sim-a-real
- El salto
- Política óptima en simulación, no en la realidad
- El agente maximiza la recompensa simulada
- Cada atajo se convierte en una explotación
- Por qué el RL sobreajusta peor
- El agente selecciona sus propios datos halagadores
- El crédito a largo horizonte multiplica el ruido
- Afinar todo el entorno es un enorme contraste múltiple
- No estacionariedad
- Los regímenes cambian, la política se queda obsoleta
- Los competidores se adaptan, la ventaja se degrada
- Tu impacto crece con el tamaño
- Mentiras del simulador
- Ejecuciones al precio medio, sin diferencial
- Latencia cero, prioridad de cola gratis
- Libro estático, sin impacto
- Fuga de datos futuros
- Cerrando el salto
- Ejecuciones conservadoras con impacto
- Aleatorización de dominio, multirégimen
- Walk-forward purgado y con embargo
- Paper trading, monitorizar, interruptor, tamaño minúsculo
- El salto
Comprueba tú mismo: sobrevivir al salto
Un compañero propone desplegar a tamaño completo porque el backtest walk-forward, con ejecuciones conservadoras, sigue mostrando un Sharpe de 2,5. ¿Cuál es la objeción más fuerte enraizada en esta lección?
Comprueba tu respuesta para continuar.
Eso cierra el curso. Construiste el MDP, elegiste entre métodos basados en valor y de gradiente de política, diseñaste recompensas que no se vuelven en tu contra, y domaste la exploración — y ahora conoces la meta-habilidad final y aleccionadora: desconfiar de tu propio backtest lo suficiente como para desplegar con seguridad. El agente siempre será un explotador brillante; tu trabajo es asegurarte de que lo único que queda por explotar sea una ventaja real. Ahora demuéstralo. Dirígete al Examen Final calificado y demuestra que sabes distinguir una señal genuina de la adulación de un simulador.