Monte Carlo y Bootstrap: Estresando la Curva de Equity de tu Estrategia
Un backtest produce exactamente una curva de equity — un orden de operaciones, un drawdown, una cifra final. El mercado podría perfectamente haber repartido la misma ventaja en otro orden y haberte dado un viaje mucho más feo. Los métodos de Monte Carlo y bootstrap existen para responder la pregunta que un único backtest no puede: ¿cuánta suerte tuvo ese único camino, y cómo de malo podría haber sido de forma realista?
Por qué una sola curva de equity te miente
El drawdown máximo que reportas es el peor bache que casualmente ocurrió en tu orden histórico de operaciones. Reordena las mismas operaciones y a menudo encontrarás un drawdown el doble de profundo. Si tu dimensionamiento de posición asume que el drawdown histórico es el peor caso, estás infracapitalizado y todavía no lo sabes.
Remuestreo del orden de operaciones (el bootstrap)
La técnica más sencilla y honesta:
Ahora, en lugar de "el drawdown máximo fue del 18%" puedes decir "el 95% de los órdenes plausibles se mantuvo por encima de un drawdown del 31%" — una cifra contra la que sí puedes dimensionar.
Monte Carlo sobre el modelo, no solo sobre las operaciones
Remuestrear operaciones asume que las operaciones en sí son representativas. Puedes ir más lejos y simular el proceso: modela los retornos con una distribución ajustada (colas gruesas, no gaussiana — los mercados las tienen), o usa block-bootstrap para preservar la autocorrelación y el agrupamiento de volatilidad que el barajado ingenuo destruye. Los métodos por bloques importan: si tu estrategia depende de tendencias, barajar días sueltos borra justo la estructura que opera.
Qué medir de verdad
Las comprobaciones de honestidad que más importan
En resumen
Un único backtest es una sola muestra de un proceso ruidoso, y tratarlo como destino es como las cuentas revientan ante un drawdown que el backtest "nunca mostró". Monte Carlo y bootstrap convierten esa única muestra en una distribución, para que dimensiones las posiciones contra los caminos malos en vez de contra el afortunado. Es barato, son unas pocas líneas en R o Python, y cambiará cuánto riesgo estás dispuesto a asumir. Hazlo antes de salir a real, no después de que el drawdown te lo enseñe por las malas.
¿Cómo estresas tu curva de equity — barajado de operaciones, block bootstrap, Monte Carlo completo? Comparte tu método abajo.
Un backtest produce exactamente una curva de equity — un orden de operaciones, un drawdown, una cifra final. El mercado podría perfectamente haber repartido la misma ventaja en otro orden y haberte dado un viaje mucho más feo. Los métodos de Monte Carlo y bootstrap existen para responder la pregunta que un único backtest no puede: ¿cuánta suerte tuvo ese único camino, y cómo de malo podría haber sido de forma realista?
Por qué una sola curva de equity te miente
El drawdown máximo que reportas es el peor bache que casualmente ocurrió en tu orden histórico de operaciones. Reordena las mismas operaciones y a menudo encontrarás un drawdown el doble de profundo. Si tu dimensionamiento de posición asume que el drawdown histórico es el peor caso, estás infracapitalizado y todavía no lo sabes.
Remuestreo del orden de operaciones (el bootstrap)
La técnica más sencilla y honesta:
- Toma tu lista de retornos históricos por operación.
- Remuestréalos — baraja el orden, o extrae con reemplazo — para construir miles de curvas de equity alternativas a partir de la misma ventaja.
- Recoge la distribución de resultados: retorno mediano, retorno del percentil 5, la distribución de los drawdowns máximos y con qué frecuencia la cuenta habría quebrado.
Ahora, en lugar de "el drawdown máximo fue del 18%" puedes decir "el 95% de los órdenes plausibles se mantuvo por encima de un drawdown del 31%" — una cifra contra la que sí puedes dimensionar.
Monte Carlo sobre el modelo, no solo sobre las operaciones
Remuestrear operaciones asume que las operaciones en sí son representativas. Puedes ir más lejos y simular el proceso: modela los retornos con una distribución ajustada (colas gruesas, no gaussiana — los mercados las tienen), o usa block-bootstrap para preservar la autocorrelación y el agrupamiento de volatilidad que el barajado ingenuo destruye. Los métodos por bloques importan: si tu estrategia depende de tendencias, barajar días sueltos borra justo la estructura que opera.
Qué medir de verdad
- Riesgo de ruina / distribución de drawdown. No el único drawdown histórico, sino toda la distribución de los plausibles.
- Intervalo de confianza del Sharpe. Un Sharpe de 1,4 con 60 operaciones tiene unas barras de error enormes. El bootstrap te muestra si es distinguible de cero.
- Probabilidad de un año perdedor. Mucho más honesto que un único retorno anual backtesteado.
Las comprobaciones de honestidad que más importan
- Corrección por test múltiple. Si probaste 200 estrategias y te quedaste con la mejor, su Sharpe está inflado por la selección. El "deflated Sharpe ratio" y ajustes similares existen precisamente para esto.
- Colas gruesas. Remuestrear desde una distribución normal subestimará gravemente el riesgo de cola. Usa la distribución empírica o una de colas pesadas.
- Dependencia. Si los retornos están autocorrelacionados, el bootstrap simple exagera tu certeza. Usa block bootstrap.
En resumen
Un único backtest es una sola muestra de un proceso ruidoso, y tratarlo como destino es como las cuentas revientan ante un drawdown que el backtest "nunca mostró". Monte Carlo y bootstrap convierten esa única muestra en una distribución, para que dimensiones las posiciones contra los caminos malos en vez de contra el afortunado. Es barato, son unas pocas líneas en R o Python, y cambiará cuánto riesgo estás dispuesto a asumir. Hazlo antes de salir a real, no después de que el drawdown te lo enseñe por las malas.
¿Cómo estresas tu curva de equity — barajado de operaciones, block bootstrap, Monte Carlo completo? Comparte tu método abajo.