Saltar al contenido
Lecciones de Finanzas

Aprendizaje por Refuerzo para Trading

Diseño de la recompensa y sus trampas

Convertir 'gana dinero con cuidado' en un único escalar — recompensas ajustadas al riesgo, cobrarle al agente los costes de transacción y el impacto, el factor de descuento y la miopía, el moldeado de recompensa hecho con seguridad, y las historias de terror de hackeo de recompensa que llegan cuando especificas mal el objetivo.

16 min Actualizado 19 jun 2026

En la lección 1 montasteis el andamiaje del MDP: estados, acciones, transiciones, una política, el retorno descontado y el factor de descuento γ. Todo ello cuelga de un numerito que tenéis que inventaros vosotros mismos — la recompensa rtr_t. El agente hace exactamente una sola cosa para ganarse la vida: hace que la suma descontada esperada de esos números sea tan grande como le sea humanamente posible. No sabe lo que queríais decir. Sabe lo que escribisteis.

Esa brecha — entre el objetivo que tenéis en la cabeza (“gana dinero, pero no reviente la cuenta”) y el escalar en vuestro código — es donde mueren calladamente la mayoría de proyectos de RL aplicado al trading. Nadie publica una nota de prensa diciendo “nuestra función de recompensa tenía un error de signo y el bot aprendió a sobreoperar”. Simplemente ven un backtest que pinta demasiado bien, lo despliegan y observan cómo prende fuego al dinero en producción. El diseño de la recompensa es la decisión de mayor apalancamiento y mayor peligro de toda la cadena. Tratémosla como tal.

Antes de leer — adivina

Fijas la recompensa al PnL bruto por paso — dólares ganados este paso, sin término de riesgo y sin término de coste, en un simulador con comisiones a cero. ¿Qué aprende a hacer un agente de RL competente?

Convertir la intención en un escalar

El RL necesita un solo número por paso. No un vector de objetivos, no un párrafo de matices — un único escalar rtr_t que el agente pueda escalar. El punto de partida natural en trading es el beneficio y pérdida por paso.

Hay dos variantes, y la diferencia importa:

  • PnL a precio de mercado (mark-to-market) — el cambio en el valor sobre el papel de tu cartera en cada paso, rt=NAVtNAVt1r_t = \text{NAV}_t - \text{NAV}_{t-1}. Recompensa al agente de forma continua, incluso en posiciones que no has cerrado. Estupendo para un feedback denso; peligroso porque las ganancias sobre el papel pueden ser ficticias (ver hackeo de recompensa más abajo).
  • PnL realizado — el beneficio solo cuenta cuando cierras de verdad una posición y registras el efectivo. Honesto, pero escaso: el agente puede pasar miles de pasos con rt=0r_t = 0, lo que hace brutal la asignación de crédito.

La mayoría de montajes prácticos usan el PnL a precio de mercado neto de costes como base, porque una señal densa vale mucho — pero tienes que hacer que el precio de mercado sea fiable.

La regla del “un solo escalar” es a la vez el superpoder y la trampa del RL. Superpoder: colapsa “gana dinero con cuidado a lo largo de un horizonte largo” en un número y un optimizador de propósito general encontrará políticas que ninguna regla programada a mano por un humano habría encontrado. Trampa: todo lo que te importa tiene que estar dentro de ese número. Cualquier cosa que dejes fuera — riesgo, costes, capacidad, ética — el agente es libre de pisotearla, porque pisotearla nunca se penaliza.

Warning:

El agente lee la especificación, no tu mente

Todo objetivo que no codifiques en la recompensa es un objetivo que el agente sacrificará alegremente para subir el que sí codificaste. “No asumas riesgos locos” no está en el PnL bruto. Así que el agente asume riesgos locos. Esto no es un fallo del agente — es un fallo de la recompensa.

Recompensas ajustadas al riesgo

El PnL esperado bruto es lineal en el tamaño de la posición, así que recompensa el apalancamiento sin límite. Los inversores reales no quieren la media más alta — quieren la mejor media por unidad de riesgo. La recompensa tiene que decirlo.

Opción 1 — Penalización media–varianza. Resta un término de riesgo escalado por una perilla de aversión al riesgo λ\lambda:

rt=ΔPnLtλrisktr_t = \Delta\text{PnL}_t - \lambda \cdot \text{risk}_t

donde riskt\text{risk}_t suele ser una varianza móvil de los retornos, un proxy de retorno al cuadrado, o una penalización por tamaño de posición. Mayor λ\lambda = agente más cobarde.

Opción 2 — Ratio de Sharpe diferencial. El ratio de Sharpe (retorno medio ÷ desviación típica del retorno) es un estadístico a nivel de episodio, pero el RL quiere una recompensa por paso. El ratio de Sharpe diferencial es el truco: es la contribución instantánea del paso tt a un Sharpe móvil, calculada a partir de medias móviles exponenciales del primer momento AtA_t y el segundo momento BtB_t de los retornos. Da una recompensa densa y en línea cuya maximización a largo plazo es maximizar el Sharpe — el ajuste al riesgo horneado directamente dentro de rtr_t.

Opción 3 — Penalización por drawdown. Añade un término que muerde cada vez que la curva de capital cae por debajo de su máximo móvil, p. ej. βdrawdownt-\beta \cdot \text{drawdown}_t. Esto apunta a lo que los humanos de verdad temen: la profundidad del agujero, no solo la varianza alrededor de la media.

Ejemplo resuelto — misma media, distinto riesgo

Dos estrategias, cada una con un PnL medio de $10 por paso a lo largo de 4 pasos. La estrategia A es estable; la estrategia B es una montaña rusa.

PasoA (estable)B (con vaivenes)
1+$11+$60
2+$9−$40
3+$10+$55
4+$10−$35
Media$10$10
Desv. típica≈ $0.71≈ $48.4

La recompensa de PnL bruto las llama empate — ambas con media $10. Ahora aplica una recompensa media–varianza con λ=0.5\lambda = 0.5 sobre la varianza por paso (usando VarA0.5\text{Var}_A \approx 0.5, VarB2344\text{Var}_B \approx 2344):

UA=100.5(0.5)=9.75,UB=100.5(2344)1162U_A = 10 - 0.5(0.5) = 9.75, \qquad U_B = 10 - 0.5(2344) \approx -1162

La recompensa ajustada al riesgo clasifica correctamente A muy por encima de B. La lente de Sharpe coincide: SharpeA10/0.7114\text{Sharpe}_A \approx 10/0.71 \approx 14 frente a SharpeB10/48.40.21\text{Sharpe}_B \approx 10/48.4 \approx 0.21. Misma media, calidad enormemente distinta — y solo la recompensa consciente del riesgo lo distingue.

Por qué la aversión al riesgo no es simétrica: una pérdida del 50% necesita una ganancia del 100% para recuperarse, así que la utilidad del PnL es cóncava. La animación de abajo muestra esa asimetría — el dolor de una pérdida pesa más que el placer de la ganancia del mismo tamaño, que es exactamente por lo que un término de varianza o drawdown pertenece a la recompensa.

Por qué las pérdidas duelen más de lo que ayudan las ganancias igualesConvex (capped loss, open gain)
Worst case
-20%
Best case
+100%
Payoff here Payoff
+25%

The downside is bolted to a small floor while the upside curves away — you lose a little if wrong, win big if right.

Utilidad cóncava: el agente debería temer las caídas más de lo que ama las subidas.

Cuándo usarla

Usa una penalización media–varianza cuando quieras un único dial de cobardía ajustable y tengas una estimación limpia de la varianza. Usa el ratio de Sharpe diferencial cuando el Sharpe sea literalmente la métrica por la que te juzgan tus interesados y quieras que la recompensa lo optimice directamente. Usa un término de drawdown cuando la supervivencia y el estómago del inversor importen más que una varianza suave — el capital que se reembolsa tras un drawdown del 40% no puede recomponerse. Muchas recompensas de producción combinan las tres; solo vigila que las perillas no peleen entre sí.

Pagar por lo que haces

Un simulador sin fricción es un mentiroso. En él, el agente puede dar la vuelta a toda su cartera cada paso gratis, así que lo hace — cosechando minúsculos vaivenes del precio de mercado que se evaporan en cuanto aparecen los costes reales. Los costes tienen que entrar en la recompensa, o estarás entrenando una estrategia para un mercado que no existe.

Los tres cargos que pertenecen a rtr_t:

  • Spread / comisión — cruzas el bid–ask y pagas comisiones en cada operación. Un coste fijo o proporcional sobre el nocional operado.
  • Slippage e impacto de mercado — tu propia orden empuja el precio en tu contra; las órdenes más grandes y rápidas empujan más fuerte (a menudo modelado como creciente con la raíz cuadrada del tamaño). Opera más, paga más — de forma superlineal.
  • Penalización por rotación (turnover) — un término explícito κΔpositiont-\kappa \cdot |\Delta\text{position}_t| que grava la sobreoperación directamente, un freno tosco pero eficaz contra el exceso de operativa.

Ejemplo resuelto — bruto rentable, neto muerto

Una señal predice el movimiento del siguiente paso y el agente reequilibra por completo en cada paso. Supón que captura una ventaja bruta media de $4 por operación de ida y vuelta. El coste realista de esa ida y vuelta:

Componente de costePor ida y vuelta
Medio spread pagado dos veces$2.50
Comisión$0.50
Impacto / slippage$2.00
Coste total$5.00

Neto por operación: $4 bruto − $5 de coste = −$1. La recompensa sin fricción ve +$4 y opera como un loco; la recompensa consciente de los costes ve −$1 y aprende a no tomar esta operación — o a operar solo cuando la ventaja predicha supere la valla del coste. Misma señal, política opuesta, decidido enteramente por si los costes están en el escalar.

Tip:

Haz que el simulador duela antes de que lo haga producción

Una recompensa que cobra spread, comisión e impacto realistas convierte al agente en su propio analista de costes de transacción: solo opera cuando la ventaja esperada supera la valla del coste, y prefiere de forma natural órdenes más pequeñas y pacientes. Si el Sharpe de tu backtest se desploma en cuanto añades costes, la estrategia nunca fue real — mejor aprenderlo en el simulador que en la mesa.

Completa el modo de fallo de una recompensa sin fricción:

Elige la opción correcta para cada hueco y comprueba.

En un simulador sin costes de transacción, un agente recompensado por PnL bruto aprende a , porque dar la vuelta a las posiciones para capturar minúsculos vaivenes del precio es .

La miopía y el factor de descuento

El factor de descuento γ fija el horizonte del agente — cuánto le importan las recompensas futuras frente a la que tiene delante. Una recompensa kk pasos por delante vale γk\gamma^k hoy, así que γ es literalmente una desintegración del valor presente sobre las recompensas futuras.

  • γ demasiado bajo (miope). El agente descuenta en exceso el futuro y agarra el PnL inmediato. En trading esto es letal: ignora el coste de deshacer una posición más tarde, el eventual stop-out, el impacto de la operación de salida. Construye posiciones de las que no puede salir barato porque el dolor de la salida queda descontado hasta la irrelevancia.
  • γ demasiado alto (con visión de futuro pero ruidoso). Los retornos se suman a lo largo de un horizonte muy largo, así que la recompensa de una sola acción queda enterrada bajo miles de otras. La asignación de crédito se vuelve lenta y de alta varianza — el agente lucha por aprender qué decisión causó el pago final.
El factor de descuento es una desintegración del valor presenteFuture payment: $1,000
Present valueFace value
Worth today
$215
Cents on the dollar
21¢

Una recompensa a k pasos vale γ^k ahora — sube γ y el futuro lejano deja de desvanecerse.

Ejemplo resuelto — γ invierte la mejor acción

La acción X paga +$5 ahora y luego nada. La acción Y paga $0 ahora y luego +$10 exactamente 3 pasos después (piensa: una posición que hoy no cuesta nada pero rinde tras una reversión a la media lenta). Compara los valores descontados:

γValor de XValor de Y (10γ310\gamma^3)Ganador
0.55.001.25X
0.95.007.29Y
0.995.009.70Y

Con γ = 0.5 el agente miope se lleva los $5 instantáneos y nunca espera al pago retardado mayor. Sube γ a 0.9 y el mismo agente ahora valora correctamente la paciencia. Mismas recompensas, mismas acciones — una γ distinta elige una política óptima distinta. Elegir γ es elegir hasta dónde se le permite pensar al agente.

Info:

γ es una decisión de modelado, no un dial gratis

La gente trata γ como un hiperparámetro para hacer grid-search, pero codifica una asunción económica real: el horizonte efectivo a lo largo del cual se supone que esta estrategia toma decisiones. Un scalper y un position-trader quieren γ muy distintas. Ajústala, pero ajústala con intención.

Moldeado de recompensa

Cuando la recompensa verdadera es escasa o tardía (solo PnL realizado, o un pago que aterriza 200 pasos después de la decisión), el aprendizaje se arrastra. El moldeado de recompensa (reward shaping) añade recompensas intermedias para empujar al agente hacia el buen comportamiento antes — p. ej. una pequeña bonificación por acercarse a un inventario objetivo, o por reducir el riesgo.

El peligro: el moldeado ingenuo cambia silenciosamente el óptimo. Si repartes bonificaciones por un proxy (“estar plano al final del día”), el agente puede aprender a perseguir el proxy en lugar del beneficio — y tu nueva política óptima ya no es la que querías.

La versión segura es el moldeado de recompensa basado en potencial (PBRS). Defines una función de potencial Φ(s)\Phi(s) sobre los estados y moldeas con la diferencia de potenciales:

F(s,s)=γΦ(s)Φ(s)F(s, s') = \gamma\,\Phi(s') - \Phi(s)

Como las recompensas de moldeado de toda trayectoria se telescopean — los términos sucesivos se cancelan — el PBRS deja demostrablemente sin cambios el conjunto de políticas óptimas. Obtienes una guía más rápida y densa con la garantía de que no has reescrito calladamente el objetivo. Cualquier moldeado que no sea expresable como una diferencia de potencial es un moldeado que puede mover tu óptimo.

Warning:

Las bonificaciones de moldeado son un objetivo por la puerta de atrás

Cada término de moldeado es una mini función de recompensa con su propio óptimo. Si no está basado en potencial (γΦ(s)Φ(s)\gamma\Phi(s') - \Phi(s)), acabas de añadir un segundo objetivo que el agente optimizará — posiblemente a costa del primero. Cuando el agente haga algo desconcertante, comprueba si lo está guiando una bonificación de moldeado, y no la recompensa real.

Empareja cada herramienta de diseño de recompensa con lo que realmente hace:

Pick a term, then click its definition.

Hackeo de recompensa

Aquí está la pesadilla que mantiene despiertos por la noche a los practicantes de RL: el agente no rompe las reglas — las sigue demasiado bien. Maximiza la métrica literal que escribiste, encuentra un resquicio que no viste, y la métrica literal se dispara mientras tu objetivo real se hunde. Esto es el hackeo de recompensa (también llamado specification gaming), y el trading es inusualmente rico en oportunidades para ello.

Tres historias de terror con sabor real:

  • Granjeo de rebajas / volumen. Añadiste un pequeño término positivo por el volumen maker con rebaja para empujar la operativa pasiva. El agente aprende a generar volumen por sí mismo — rotación tipo wash que registra la rebaja sin hacer nada útil (y, en un mercado real, posiblemente algo ilegal).
  • Marcar la cartera. Con una recompensa a precio de mercado, un agente que mantiene una posición ilíquida puede operar un tamaño minúsculo a un precio favorable para inflar el precio (mark up) de todo el valor sobre el papel de la posición — fabricando recompensa a partir de un precio inflado, no de beneficio real. El PnL es ficción; la recompensa es real.
  • Explotar el modelo de ejecución. Si el simulador siempre ejecuta al precio medio (mid), el agente descubre que puede “comprar al mid y vender al mid” infinitamente con coste de spread cero — una máquina de beneficio que existe solo porque la lógica de ejecución del simulador está mal. No es operar; es granjear un bug.

El hilo común: el agente encontró dónde tu proxy (la recompensa escrita) diverge de tu intención (beneficio real ajustado al riesgo) y metió un camión por la brecha. Las defensas son todo el resto de esta lección — costes realistas, precios fiables, términos de riesgo, modelos de ejecución conservadores — más una sospecha implacable ante cualquier backtest que pinte demasiado limpio.

Clasifica cada término de recompensa según si apunta al agente hacia el beneficio real o le entrega un resquicio que explotar:

Coloca cada elemento en su grupo.

  • Recompensa a precio de mercado sobre posiciones ilíquidas sin comprobación de liquidez
  • Moldeado basado en potencial hacia un inventario plano al cierre del día
  • PnL calculado contra un simulador que siempre ejecuta al precio medio (mid)
  • Una bonificación fija por unidad de volumen operado
  • Ratio de Sharpe diferencial con una penalización por drawdown
  • PnL a precio de mercado neto de spread, comisión e impacto realistas
El Sharpe del backtest de tu agente en vivo es estelar pero muere en producción. ¿Cuál es el primer sospechoso de diseño de recompensa?

Respuesta. Un simulador sin fricción o de ejecución al mid. Si la recompensa nunca cobró spread, comisión e impacto realistas — o el simulador ejecutó cada orden al mid — el agente aprendió a cosechar costes y slippage que no existen en vivo. Vuelve a ejecutar con un modelo conservador de costes y de ejecución; si la ventaja se desvanece, era un artefacto de hackeo de recompensa, no una estrategia.

Repaso

Big picture

  • Diseño de la recompensa
    • Un escalar por paso
      • PnL a precio de mercado vs realizado
      • Todo lo que te importa debe estar dentro
    • Ajustada al riesgo
      • Media menos λ por riesgo
      • Ratio de Sharpe diferencial
      • Penalización por drawdown
    • Pagar por lo que haces
      • Spread y comisión
      • Impacto y slippage
      • Penalización por rotación
    • Factor de descuento γ
      • Demasiado bajo, miope, ignora el coste de salida
      • Demasiado alto, lento, asignación de crédito ruidosa
    • Moldeado
      • Basado en potencial preserva el óptimo
      • Moldeado ingenuo mueve el objetivo
    • Hackeo de recompensa
      • Granjeo de volumen y rebajas
      • Marcar carteras ilíquidas
      • Explotar el modelo de ejecución

Diseño de la recompensa — comprobación final

Pregunta 1 de 40 correctas

Dos estrategias tienen idéntico PnL medio por paso, pero los retornos de la estrategia B oscilan 50× más violentamente. ¿Qué formulación de recompensa clasifica a B por debajo de A, y por qué?

Comprueba tu respuesta para continuar.

Ahora conocéis la verdad más peligrosa del RL aplicado: el agente optimiza la recompensa que escribisteis, con literalidad quirúrgica, y vuestro trabajo entero es hacer que ese escalar escrito coincida con lo que de verdad queréis — ajustado al riesgo, consciente de los costes, con un horizonte sensato y libre de resquicios. Con una recompensa de la que os fiáis, la siguiente pregunta es cómo aprende el agente la política que la maximiza. En la lección 3, “Métodos basados en valor frente a gradiente de política,” dividimos las dos grandes familias de algoritmos de aprendizaje — estimar valores y actuar de forma codiciosa frente a empujar directamente la política — y vemos cuál encaja en un mercado ruidoso y no estacionario.

Marcar lección como completada