Agentes de trading con IA sin humo: reglas, paper trading y control de riesgo
Lo Que Dominarás en Este Tutorial
- Plantear el agente de trading con honestidad: un verificador de reglas con puerta humana, no una máquina de dinero.
- Codificar una estrategia simple en Python y probarla sin lookahead ni autoengaño.
- Aplicar probatoria en papel, tamaño fijo por riesgo y un interruptor de emergencia probado.
1. Léelo primero: el marco honesto
Esta es la Guía 4 —la última— de nuestra serie de negocios con agentes IA, y es deliberadamente la menos emocionante. Empieza por el dato que los reguladores repiten: la gran mayoría de los traders minoristas pierde dinero. Las divulgaciones que los brókers deben publicar en Reino Unido y la UE muestran, una y otra vez, que la mayoría de las cuentas minoristas termina en rojo, y pegarle un agente de IA a una cuenta no cambia esa aritmética por sí solo. Un agente ejecuta reglas con consistencia —también las reglas malas, a velocidad de máquina, sin dudar—. La consistencia amplifica; no crea ventaja.
Por eso esta guía no construye una máquina de dinero. Construye un verificador supervisado: un software que vigila un mercado, aplica las reglas escritas de una estrategia, prepara las órdenes y se detiene a pedir aprobación humana antes de colocar nada. Cuando una estrategia no tiene ventaja —la mayoría no la tiene—, el trabajo real del agente es ayudarte a descubrirlo barato, en backtests y paper trading, y no caro, en vivo. Lee la guía entera antes de tocar la API de un bróker: el orden de lo que sigue es, en sí mismo, el control de riesgo.
2. Qué hace el agente — y qué se niega a hacer
La descripción del puesto es estrecha a propósito. El agente sí hace: traer datos de mercado y validarlos; calcular señales solo con velas cerradas; pasar cada acción propuesta por la puerta de riesgo de la sección 6; preparar órdenes con contexto completo —qué regla se activó, la foto de los datos, la cuenta del tamaño—; registrar cada señal ejecutada y cada señal omitida, con su motivo; y avisar a una persona cuando algo se ve anormal.
El agente se niega a: operaciones discrecionales («esta pinta bien»); promediar a la baja o añadir más allá del plan escrito; operar con datos viejos, parciales o sin validar; cambiar sus propios parámetros; y —en este diseño, para siempre— colocar una orden real que ningún humano haya aprobado. Cada negativa es una función, no un límite: en el momento en que el agente puede improvisar, ya no tienes un motor de reglas, tienes un trader sin supervisión con las llaves de tu cuenta.
3. Las reglas de la estrategia, en código
Una estrategia que no puede escribirse en código no puede probarse, y la que no puede probarse es un cuento. El ejemplo de la guía es aburrido a propósito: un filtro de tendencia (EMA rápida sobre EMA lenta) con entradas y salidas en los cruces, sobre velas diarias. La línea clave es el shift: las decisiones usan los valores de la vela anterior, ya cerrada, nunca la vela en formación. Ese solo hábito elimina la forma más común de lookahead.
import pandas as pd
def compute_signals(df: pd.DataFrame) -> pd.DataFrame:
out = df.copy()
out["ema_fast"] = out["close"].ewm(span=20, adjust=False).mean()
out["ema_slow"] = out["close"].ewm(span=50, adjust=False).mean()
out["trend_up"] = out["ema_fast"] > out["ema_slow"]
# Los cruces se leen de la vela anterior cerrada (shift = sin lookahead)
prev = out["trend_up"].shift(1, fill_value=False)
crossed_up = out["trend_up"] & ~prev
crossed_dn = ~out["trend_up"] & prev
out["signal"] = 0
out.loc[crossed_up, "signal"] = 1 # preparar orden de compra
out.loc[crossed_dn, "signal"] = -1 # preparar orden de salida
return out
Lo aburrido se puede auditar: cualquiera lee estas reglas y predice qué hará el agente mañana. Evaluar las mismas reglas de forma vectorizada sobre años de datos —el backtest de la siguiente sección— es justo para lo que existe una herramienta como vectorbt.
4. Disciplina de backtest: su trabajo es matar estrategias
Trata cada backtest como un intento de falsación, no como una presentación de ventas para ti mismo. Cuatro reglas hacen casi todo el trabajo. Divide los datos. Diseña y ajusta sobre un periodo; juzga sobre otro posterior que la estrategia nunca vio al diseñarla —y prefiere evaluación walk-forward, donde esa disciplina se repite en ventanas móviles—. Caza el lookahead. Se esconde en decidir al cierre de una vela como si ese cierre se conociera en la apertura, en datos corregidos a posteriori y en probar solo las empresas que hoy están en un índice (supervivencia). Cobra costos reales. Cada corrida incluye comisiones y un supuesto de slippage; la estrategia que solo sobrevive con slippage cero ya fracasó, en silencio. Estresa los parámetros. Mueve cada ajuste ±20% y vuelve a correr: una ventaja real se degrada con elegancia; un resultado sobreajustado solo existe en un punto mágico.
La estrategia que sobrevive a las cuatro se gana exactamente una cosa: paper trading. No dinero. El cementerio de cuentas minoristas está pavimentado con backtests que sus propios autores nunca atacaron.
5. Paper trading: una probatoria con contrato escrito
El paper trading corre el mismo código contra mercados en vivo o reproducidos, con ejecuciones simuladas. Su valor no es la ganancia falsa: es todo lo que el backtest no pudo modelar —huecos reales de datos, latencia real, el comportamiento real de tu código a las 2 a.m.—. Antes de la primera sesión, escribe los criterios de graduación y féchalos. Como política de ejemplo (la defines tú; no es consejo): una muestra mínima de señales y una duración mínima que incluya al menos un tramo hostil para ese tipo de estrategia; una desviación máxima permitida entre resultados de papel y expectativas del backtest; cero omisiones sin explicación.
Registra las omisiones con obsesión. Si en papel el agente se salta operaciones que el backtest sí tomó, tu feed de datos o tu modelo de tiempos está mal —y descubrirlo con dinero simulado es todo el punto—. Terminar la probatoria antes de tiempo porque las primeras semanas «se ven geniales» es como suele terminar mal esta historia.
6. Tamaño de posición y el interruptor de emergencia
El tamaño se fija por fracciones de riesgo, nunca por confianza. Una política de ejemplo, etiquetada como tal: arriesgar un 0,5–1% fijo del capital actual por posición, topar el riesgo total abierto y añadir dos paradas duras —un límite de pérdida diaria y un límite de drawdown máximo—. Tocar cualquiera de las dos detiene al agente y exige reinicio humano más una nota escrita de qué pasó. Toda orden propuesta cruza primero una puerta de riesgo, antes de que un humano la vea:
def risk_gate(equity, open_risk, daily_pnl, cfg):
if daily_pnl <= -cfg["max_daily_loss"]:
return False, "limite de perdida diaria alcanzado"
if open_risk + cfg["risk_per_trade"] > cfg["max_total_risk"]:
return False, "tope de riesgo total alcanzado"
return True, "ok"
Y al final, el interruptor de emergencia: una sola acción que cancela todas las órdenes pendientes y bloquea las nuevas. Pruébalo durante el paper trading, en un día tranquilo, antes del día en que de verdad lo necesites.
7. Los modos de fallo que sí ocurren
- Sobreajuste. Los parámetros se afinan hasta que la historia confiesa un patrón que nunca existió. La prueba de ±20% de la sección 4 es el detector más barato que tienes.
- Sesgo de lookahead. Más sutil de lo que suena: marcas de tiempo corridas una vela, resultados empresariales fechados cuando se publicaron y no cuando se conocieron, miembros del índice «a fecha de hoy». Cada uno fabrica rendimiento falso.
- Erosión por costos. La frecuencia de señales multiplicada por comisiones y slippage supera en silencio a la ventaja —sobre todo en las variantes «mejoradas» de alta rotación de una regla que funcionaba—.
- Cambio de régimen. Un sistema de tendencia en mercado lateral sangra despacio y con buenos modales. Si tu década de prueba contenía básicamente un régimen, probaste un mercado, no la estrategia.
- Fallo silencioso. Un NaN en el feed hace que el agente nunca opere —indistinguible de la disciplina—. Un registro diario de latido («vivo, vi N velas, calculé M señales») no es opcional.
8. Errores comunes
- Diseñar las reglas sobre los datos de prueba. Si los mismos años inspiraron la estrategia y la calificaron, la nota no significa nada.
- Saltarse la etapa de papel. «El backtest se veía genial» es la frase más cara del trading minorista.
- Quitar la puerta humana para ir más rápido. En la versión uno, la aprobación es el cortacircuitos mientras el sistema se gana confianza. Muchos constructores cuidadosos no la quitan nunca.
- Dimensionar por convicción. La confianza no es un modelo de riesgo. Las fracciones fijas son aburridas justo en la forma en que sobreviven.
Anterior en la serie: Guía 3 — el agente de contenido. Con esta guía se completan los cuatro modelos; vuelve al índice de la serie para ver la ruta completa y la sesión de expectativas honestas.