Pasasteis los cursos previos aprendiendo dos mitades de una misma máquina. Un curso os enseñó a ver un mercado — convertir datos en bruto del libro de órdenes en características con una red neuronal. Otro os enseñó a decidir bajo incertidumbre — plantear un problema secuencial como un proceso de decisión de Markov y resolverlo con aprendizaje por refuerzo. Ambas mitades funcionaban de maravilla en problemas de juguete. Luego las apuntáis a un libro de órdenes en vivo y la mitad de la decisión revienta sin hacer ruido.
La razón es vergonzosamente simple. El RL que aprendisteis almacenaba su conocimiento en una tabla — una celda por cada par (estado, acción). Eso funciona cuando el mundo tiene unas pocas docenas de estados. Un libro de órdenes tiene efectivamente infinitos estados: precios continuos, diferenciales continuos, profundidad en diez niveles, vuestro inventario, los segundos que quedan en vuestro reloj, tres señales alfa. La tabla que necesitaríais tiene más celdas que átomos para los que jamás conseguiréis puntos de datos, y casi todas las celdas se visitan exactamente cero veces. La tabla no aprende — simplemente se queda ahí, en su mayor parte vacía.
Este curso trata de la solución: reemplazar la tabla por un aproximador de funciones — normalmente una red profunda — que generaliza entre estados en lugar de memorizarlos. Esa única sustitución es la definición completa del RL profundo, y reanima la ejecución y la creación de mercado como problemas de control aprendibles. Pero también arrastra consigo un enjambre de nuevos modos de fallo que la tabla nunca tuvo. Esta lección plantea el problema, las herramientas y los dos puntos de referencia analíticos que nos mantendrán honestos durante el resto del curso.
Antes de leer — adivina
El RL tabular almacena un valor por cada celda (estado, acción). ¿Por qué fracasa ese enfoque en un libro de órdenes real incluso antes de empezar a entrenar?
Por qué una tabla de consulta muere sobre un libro de órdenes
Imaginad el RL tabular como un archivador gigante. Cada situación posible tiene su propio cajón, y dentro de cada cajón hay una hoja de papel que os dice el valor de cada acción que podríais tomar ahí. Para aprender, visitáis un cajón, probáis una acción, veis la recompensa y actualizáis la hoja. Brillante — si tenéis pocos cajones, los suficientes como para visitar cada uno muchas veces.
Ahora construid el archivador para un libro de órdenes. Un estado de ejecución realista podría registrar, como mínimo, seis números: el precio medio (continuo), el diferencial entre compra y venta (continuo), la volatilidad a corto plazo (continua), la profundidad del libro de órdenes (continua), vuestro inventario restante (continuo) y el tiempo restante en el reloj (continuo). Añadid una señal alfa o dos y ya pasáis de seis. Ninguno de estos es naturalmente discreto, así que para siquiera construir una tabla debéis trocear cada característica continua en compartimentos.
Aquí está la aritmética que zanja la conversación. Discretizad 6 características en 10 compartimentos cada una. El número de estados es
Un millón de estados. Ahora dadle al agente, digamos, 20 acciones discretas (compartimentos de tasa de operación). La tabla tiene celdas. Para aprender un valor fiable de una celda necesitáis visitarla muchas veces — pongamos 30 visitas. Eso son experiencias informativas requeridas. Unos pocos años de datos de barras de minuto os dan quizá pasos. Os quedáis cortos por tres órdenes de magnitud — y eso con una rejilla risiblemente burda de 10 compartimentos que tira a la basura la mayor parte de la resolución de precios que de verdad importa. Refinad a 100 compartimentos por característica y el recuento de estados salta a ; el déficit de datos se vuelve desesperado.
Esta es la maldición de la dimensionalidad: el número de celdas de la tabla crece exponencialmente con el número de características, mientras que vuestros datos crecen solo linealmente en el tiempo. Las celdas que visitáis son un rocío de medida cero en un enorme espacio vacío. Y la tabla no puede ayudaros en una celda que nunca habéis visto — no tiene noción de que un estado con diferencial 0,011 debería comportarse como su vecino con diferencial 0,012. Cada cajón es una isla.
El coste de impacto varía de forma suave y no lineal con el tamaño de la orden — exactamente el tipo de relación continua que una tabla de consulta solo puede aproximar con escalones burdos. Para tabularla trocearíais el eje x en compartimentos y perderíais la curva; un aproximador de funciones simplemente aprende la curva. Ahora imaginad seis ejes continuos como este multiplicados entre sí.
Compartimentos más finos no os rescatan — os entierran
El instinto al ver una tabla demasiado burda es añadir más compartimentos para ganar resolución. Eso la empeora estrictamente. Cada compartimento extra por característica multiplica el recuento de celdas por ese factor a lo largo de todas las características, así que refinar una rejilla de 6 características de 10 a 100 compartimentos infla el espacio de estados de un millón a un billón. Comprasteis una resolución más afilada al coste de cajones aún más vacíos — más celdas, los mismos datos finitos, menos visitas cada una. La maldición castiga tanto la burdeza (emborronáis el estado) como la finura (matáis de hambre las celdas). No hay tamaño de compartimento que gane; la tabla es la estructura de datos equivocada.
Completa el modo de fallo del RL tabular sobre un estado continuo y de alta dimensión.
Elige la opción correcta para cada hueco y comprueba.
El número de celdas de la tabla crece con el número de características mientras que los datos crecen solo linealmente en el tiempo, así que casi todas las celdas se visitan veces — la maldición de la dimensionalidad.
Cuándo usarlo
El RL tabular no es inútil — es la herramienta adecuada cuando el estado realmente es pequeño y discreto: un mundo-rejilla de 3×3, un juguete burdo de creación de mercado solo con inventario con cinco niveles de inventario y tres acciones, un ejemplo didáctico donde queréis inspeccionar cada celda. En cuanto entra una sola característica continua y no podéis trocearla sin emborronar la señal o hacer explotar el recuento, habéis abandonado el territorio tabular. En un libro de órdenes de producción lo abandonasteis antes de empezar.
Aproximación de funciones: la red como reemplazo de la tabla
La solución es dejar de almacenar un número separado para cada estado y en su lugar almacenar una función que calcula el número bajo demanda. Introducid el estado ; la función devuelve el valor — o el valor-acción , o la acción misma . La función tiene un número modesto de parámetros ajustables , muchos menos que celdas tenía la tabla, y ajustáis a los datos que de verdad tenéis. La recompensa es la generalización: como la función es suave, un estado que nunca habéis visitado obtiene una respuesta sensata interpolada de los estados cercanos que sí habéis visitado. Los cajones dejan de ser islas.
Formalmente, la tabla se convierte en una parametrizada. Dos sabores importan:
- Aproximación lineal. , una suma ponderada de características diseñadas a mano . Barata, estable, fácil de razonar — pero solo puede representar relaciones que ya horneasteis en . Si el impacto es no lineal en el tamaño y no le disteis una característica de tamaño al cuadrado, la lineal no puede encontrarlo.
- Aproximación profunda. (o ) es una red neuronal — capas no lineales apiladas que aprenden sus propias características a partir de un estado más o menos en bruto. Puede representar la curva de impacto convexa, la liquidez dependiente del régimen y las interacciones entre señales sin que especifiquéis la forma funcional. El precio es la fragilidad (mucho más sobre esto a lo largo de todo el curso).
Esta es la soldadura. La mitad de la percepción — convertir el estado del libro de órdenes en características útiles — es exactamente lo que enseñó el curso de aprendizaje profundo para datos de mercado. La mitad de la decisión — elegir acciones para maximizar la recompensa a largo plazo en un MDP — es exactamente lo que enseñó el curso de RL. Atornillad la red como función de política/valor dentro del MDP y tenéis aprendizaje por refuerzo profundo: aprendizaje por refuerzo donde la política y/o la función de valor se representan mediante un aproximador de funciones de red neuronal profunda en lugar de una tabla de consulta. Esa única frase es la premisa entera de este curso.
- Step
- 0
- State (price, inv)
- 100.0, 0
- Last reward
- +0.00
- Episode return
- +0.00
El bucle de RL no cambia: el agente lee un estado, su política escoge una acción, el mercado devuelve una recompensa y el siguiente estado. Lo que cambió es la política π — en el RL profundo es una red neuronal que mapea estado continuo a acción y generaliza entre estados, no una tabla que memoriza celdas. Activad el impacto de mercado: la propia operación del agente empuja el precio, el giro definitorio que hace de esto control, no predicción.
¿Cuál es la distinción precisa entre un aproximador de funciones lineal y uno profundo para Q(s, a)?
Si la red simplemente saca un número para cualquier estado, ¿qué impide que sea una elegante tabla de consulta que también memoriza?
Respuesta. Una tabla tiene un parámetro independiente por celda, así que cambiar el valor de un estado no cambia nada sobre sus vecinos — no hay presión para ser consistente entre estados cercanos. Una red comparte sus (relativamente pocos) parámetros entre todos los estados a la vez: empujar para ajustar un estado necesariamente mueve la predicción para estados similares también. Ese compartir parámetros es lo que fuerza la generalización — y, con demasiados parámetros o muy poca regularización, también es lo que permite a una red profunda sobreajustar y memorizar sin hacer ruido, que es uno de los peligros que atacan lecciones posteriores. La generalización es la virtud; la memorización es el mismo mecanismo vuelto en vuestra contra.
Los dos problemas de control canónicos
Este curso persigue dos problemas, y merece la pena ser precisos sobre por qué ambos son control y no predicción. Un problema de predicción pregunta “¿qué pasará?” y vuestra respuesta no cambia el mundo — adivinad el rendimiento de mañana y al mercado le da igual. Un problema de control pregunta “¿qué debería hacer?”, vuestra acción cambia el estado (movéis el precio, acumuláis inventario), y ese cambio realimenta vuestra siguiente decisión. Autoafectante, secuencial y, por tanto, un MDP. Ambos de los nuestros cualifican.
Ejecución óptima. Os entregan una orden madre — “compra un millón de acciones para el cierre” — y debéis trocearla en órdenes hijas a lo largo del tiempo. Operad rápido y pagáis impacto de mercado (empujáis el precio en vuestra contra); operad despacio y pagáis riesgo de temporización (el precio vaga mientras os entretenéis). El objetivo es minimizar el déficit de implementación: la brecha entre el precio cuando se tomó la decisión y el precio medio que de verdad conseguisteis. Sois un demandante de liquidez trabajando una cantidad conocida contra un plazo.
Creación de mercado. Cotizáis ambos lados del libro — una compra y una venta — y ganáis el diferencial cuando alguien opera contra cada una. Pero cada ejecución os deja con un inventario que nunca elegisteis: si se ejecuta la compra estáis largos, si se ejecuta la venta estáis cortos, y ese inventario está expuesto a los movimientos del precio. El objetivo es capturar el diferencial manteniendo el inventario cerca de cero. Sois un proveedor de liquidez sin plazo pero con una correa de riesgo de inventario siempre presente.
| Aspecto | Ejecución óptima | Creación de mercado |
|---|---|---|
| Rol | Demandante de liquidez | Proveedor de liquidez |
| Estado | Inventario restante, tiempo restante, precio, diferencial, volatilidad, señal | Inventario mantenido, diferencial, volatilidad, desequilibrio del flujo de órdenes, posición en la cola |
| Acción | Cuántas acciones operar ahora (tasa de participación) | Dónde fijar compra y venta (medio diferencial, sesgo) |
| Recompensa | −(impacto) − λ·(riesgo); penalización terminal por acciones sin terminar | +diferencial capturado − penalización por riesgo de inventario |
| Horizonte | Plazo duro T | Continuo / rodante, sin plazo |
| Por qué control | Vuestra operación mueve el precio; el inventario se arrastra al siguiente paso | Vuestras cotizaciones atraen ejecuciones; el inventario se arrastra al siguiente paso |
Clasifica cada propiedad según el problema de control al que pertenece.
Coloca cada elemento en su grupo.
- Una penalización terminal fuerza el inventario restante a cero para el tiempo T.
- Proporcionáis liquidez en ambos lados y ganáis el diferencial.
- El inventario es un subproducto que nunca elegisteis y debéis mantener cerca de cero.
- Fijáis una compra y una venta y las sesgáis conforme se acumula el inventario.
- Consumís liquidez para terminar una cantidad conocida antes de un plazo.
- El objetivo es minimizar el déficit de implementación.
Ambos son control porque la acción realimenta
La firma compartida es la realimentación. En un problema de predicción el mundo ignora vuestro pronóstico; en ambos de estos el mundo responde a vuestra acción y esa respuesta se convierte en parte de vuestro siguiente estado. Vuestra operación de ejecución mueve el precio que afrontaréis en el siguiente trozo. Vuestra cotización de creación de mercado determina qué ejecuciones obtenéis y, por tanto, el inventario que arrastráis a la siguiente cotización. La toma de decisiones secuencial y autoafectante es la definición de un MDP — que es exactamente por qué el aprendizaje por refuerzo es el lenguaje natural para ambos, y por qué ninguno puede reducirse a una predicción supervisada de un solo disparo.
Los puntos de referencia analíticos que todo agente aprendido debe batir
Antes de dejar que una red profunda se acerque siquiera a estos problemas, debéis conocer la respuesta que las matemáticas ya os dan — porque hay una preciosa forma cerrada para cada uno, deducida décadas antes de que nadie entrenara una red en una GPU. No son espantapájaros. Son soluciones ajustadas, casi óptimas bajo sus suposiciones, y cuestan una línea de álgebra evaluar.
Almgren–Chriss (ejecución, 2000). Minimizad una mezcla media–varianza del coste:
donde es vuestra aversión al riesgo. En ignoráis la varianza y operáis un calendario plano y uniforme — el espíritu del TWAP. Conforme sube , el inventario sin vender os asusta, así que el calendario óptimo carga al principio: la trayectoria de inventario restante se convierte en una caída exponencial, más pronunciada para una mayor. Barred y trazáis la frontera eficiente de ejecución — la menor varianza alcanzable para cada coste esperado. La forma cerrada os entrega el calendario entero.
Avellaneda–Stoikov (creación de mercado, 2008). Cotizad alrededor de un precio de reserva que se desplaza alejándose del medio conforme crece vuestro inventario, y luego publicad un medio diferencial óptimo simétrico a su alrededor. El precio de reserva es
donde es el medio, vuestro inventario, la aversión al riesgo, la volatilidad y el tiempo restante. Un inventario largo () empuja vuestro precio de reserva por debajo del medio, así que cotizáis más bajo en ambos lados para animar a vender y desanimar a comprar — eso es el sesgo de inventario. El diferencial total óptimo es
con el parámetro de liquidez del flujo de órdenes. Una fórmula os da ambas cotizaciones a cualquier inventario.
Estas dos fórmulas son la columna vertebral de la disciplina del curso. Aquí está el credo, y lo repetiremos hasta que sea un reflejo:
Un agente profundo que no puede batir — o al menos igualar — estos puntos de referencia de una línea no se ha ganado nada. Comparad contra el punto de referencia, no contra no hacer nada.
Es trivialmente fácil construir un agente de RL profundo que “gane dinero” o “termine la orden”. Eso no prueba nada, porque el TWAP también termina la orden y un diferencial fijo también gana dinero. La única pregunta que importa es si vuestra red cara, frágil y difícil de depurar bate la fórmula gratuita, robusta y de una línea. Si no lo hace, habéis pasado un mes rededuciendo Almgren–Chriss por el camino difícil.
Empareja cada ingrediente del punto de referencia con lo que hace.
Pick a term, then click its definition.
'Bate comprar y mantener' y 'terminó la orden' no son victorias
El autoengaño más común en el RL de trading es calificar contra un punto de referencia que no hace nada. “¡Mi agente de ejecución terminó la orden a buen precio!” — también el TWAP, gratis, y debéis demostrar que lo batís a él. “¡Mi creador de mercado fue rentable en el backtest!” — también lo es un cotizador de diferencial fijo estático, y Avellaneda–Stoikov también lo bate. Un agente que se limita a cumplir la tarea mientras pierde contra el punto de referencia analítico es una versión estrictamente peor y más peligrosa de una fórmula que podríais haber tecleado en cinco minutos. Comparad siempre contra la mejor forma cerrada disponible, no contra cero.
Cuándo usarlo
Recurrid a la forma cerrada por defecto. Si vuestro mundo de verdad encaja con sus suposiciones — tamaño modesto, impacto lineal, un único valor líquido, ninguna señal explotable para ejecución; volatilidad constante y flujo de órdenes de Poisson para creación de mercado — el punto de referencia no es solo un baremo, es la respuesta de producción. Solo os graduáis a un agente aprendido una vez que podéis señalar una suposición específica que la realidad rompe y demostrar que el agente explota esa rotura para batir el punto de referencia. Hasta entonces, la fórmula gana en coste, robustez y vuestra cordura.
Qué aporta de verdad el RL profundo frente al bombo
Hora de la contabilidad honesta, porque el marketing es ruidoso. Apuntad un agente de RL profundo al mundo exacto que asume una forma cerrada — impacto lineal, volatilidad constante, un activo, sin señal — y un agente bien construido esencialmente rededucirá la forma cerrada. Eso no es un triunfo; es una prueba unitaria. Si vuestro agente de ejecución no logra recuperar Almgren–Chriss donde Almgren–Chriss es demostrablemente óptimo, vuestro agente está roto y encontrasteis el fallo de forma barata. Reproducir la respuesta conocida es cómo os ganáis el derecho a confiar en el agente en otros sitios.
El RL profundo se gana el pan precisamente donde las suposiciones pulcras se resquebrajan — es decir, en la realidad:
- Impacto no lineal o incierto. El impacto real se dobla (pensad en la ley de la raíz cuadrada), cambia con el régimen, y no conocéis sus parámetros con exactitud. Una red aprende el calendario a partir de los datos sin que tengáis que escribir correctamente el modelo de impacto.
- Señales explotables. Una predicción genuina de horizonte corto (“es probable que el precio suba un tick el próximo minuto”) debería acelerar una compra y frenar una venta. Las formas cerradas no tienen hueco para la alfa; el RL profundo se condiciona a ella de forma nativa.
- Liquidez dependiente del régimen. Los diferenciales se ensanchan, la profundidad se evapora, la volatilidad se agrupa. Una política que lee las condiciones actuales y adapta su agresividad bate a cualquier calendario fijo calculado en la apertura.
- Restricciones desordenadas y no suaves. Tasas de participación mínimas y máximas, “no superes el X% del volumen”, enrutamiento a dark pools, tamaños de lote discretos — restricciones que la media–varianza en forma cerrada no puede tragar.
- Cestas de alta dimensión. Liquidar una cesta correlacionada con impacto cruzado, o crear mercado en muchos valores a la vez, es control de alta dimensión sin forma cerrada limpia. Terreno propio.
Pero cada una de esas victorias viene empaquetada con un peligro, y el resto del curso es un recorrido por ellos. La tríada mortal — aproximación de funciones + bootstrapping + aprendizaje fuera de política, juntos — puede hacer que las estimaciones de valor diverjan (lección 2). La brecha sim-a-real significa que un agente que aplasta vuestro simulador puede sangrar en vivo porque el simulador modeló mal el impacto (lección 6). Y el agente puede sobreajustar sus propios datos generados, aprendiendo las rarezas de vuestro entorno en lugar del mercado. El poder expresivo que permite al RL profundo batir el punto de referencia es el mismo poder que le permite engañaros espectacularmente.
¿En qué situaciones aporta de verdad valor el RL profundo sobre el punto de referencia analítico (en lugar de limitarse a rededucirlo)? Selecciona todas las que apliquen.
Recuerdo espaciado — de vuelta a la primerísima idea. ¿Por qué no podéis simplemente usar una tabla de consulta más fina para hacer funcionar el RL tabular sobre el libro de órdenes, incluso con un gran conjunto de datos?
Big picture
Del control tabular al RL profundo — el mapa completo
- Tabular → RL profundo
- Por qué mueren las tablas
- Una celda por (estado, acción)
- Estado continuo, de alta dim
- Maldición de la dimensionalidad: 10^6 celdas, ~0 visitas
- Aproximación de funciones
- La red mapea estado → valor / acción
- Generaliza entre estados cercanos
- Aproximadores lineales vs profundos
- RL profundo = red como política/valor
- Dos problemas de control
- Ejecución: demandar liquidez, batir el déficit
- Creación de mercado: proveer, capturar diferencial
- Control, no predicción (la acción realimenta)
- Puntos de referencia que batir
- Almgren–Chriss: E[coste] + λ Var[coste]
- Avellaneda–Stoikov: precio de reserva + diferencial
- Credo: bate el punto de referencia, no la nada
- Qué aporta el RL profundo
- Impacto no lineal, señales, regímenes, cestas
- Rededuce la forma cerrada en su propio mundo
- Peligros: tríada mortal, sim-a-real, sobreajuste
- Por qué mueren las tablas
Punto de control del puente
Discretizar 6 características del libro de órdenes en 10 compartimentos cada una da aproximadamente cuántos estados, ¿y por qué es fatal para el RL tabular?
Comprueba tu respuesta para continuar.
Hacia dónde va esto
Ya tenéis el marco del que cuelga todo el curso. El RL tabular muere sobre un libro de órdenes continuo porque la maldición de la dimensionalidad deja su tabla astronómicamente grande y casi enteramente vacía. Una red profunda reemplaza la tabla generalizando entre estados — esa sustitución, y solo esa, es el RL profundo. Nuestros dos objetivos son problemas de control, no de predicción: ejecución óptima (demandar liquidez, batir el déficit de implementación) y creación de mercado (proveer liquidez, capturar el diferencial, domar el inventario). Cada uno tiene un punto de referencia analítico de una línea — Almgren–Chriss y Avellaneda–Stoikov — y el credo que gobierna todo lo que viene: bate el punto de referencia, no la nada. El valor genuino del RL profundo vive donde las suposiciones de esos puntos de referencia se resquebrajan; en todos los demás sitios debería limitarse a rededucirlos.
La trampa es que en el momento en que cambiáis la tabla por una red, las matemáticas dejan de ser educadas. La lección 2, “Redes Q profundas y su inestabilidad sobre el estado financiero”, toma el primer algoritmo de RL profundo — DQN — y muestra por qué combinar ingenuamente una función Q neuronal con bootstrapping y replay fuera de política (la tríada mortal) hace que las estimaciones de valor diverjan, y qué hacen la repetición de experiencias y las redes objetivo para arrastrarlas de vuelta del precipicio. La tabla ya no está; ahora aprendemos a evitar que su reemplazo explote.