Trading

¿Qué es el backtesting?

Backtesting es la prueba de una estrategia de trading contra datos históricos. Backtesting tiene la intención de probar la validez estadística de una estrategia de trading. Si bien en la práctica tiene varios defectos y sesgos, puede brindarle una confianza adicional en su estrategia, así como servir como una forma simple de probar rápidamente cualquier idea sobre el comportamiento de los precios que pueda encontrar.

El backtesting toma muchas formas, desde el simple: probar algunas señales indicadoras con reglas simples de stop-loss y toma de ganancias; al complejo: usar datos de flujo de órdenes para automatizar la creación de mercado (básicamente lo que hacen los operadores de alta frecuencia).

En esencia, el backtesting tiene como objetivo cuantificar la expectativa histórica de una señal de trading. Si bien posee muchos defectos, la prueba de respaldo es el primer paso y el más crucial para identificar si vale la pena seguir adelante con una idea de estrategia. En general, si una idea devuelve un backtest desfavorable, una mayor optimización, prueba y trading en vivo no se verán mucho mejor.

El Dr. Ernest Chan, un CTA y autor de varios libros sobre análisis cuantitativo, presentó el típico flujo de trabajo de backtesting en una charla en QuantCon 2018. Creo que este gráfico es una excelente manera para que los principiantes entiendan qué es backtesting, incluso sin comprensión de la jerga cuantitativa.

Backtesting como trader discrecional

La mayoría de los traders financiados (que manejan cuentas de fondeo) son discrecionales, lo que significa que pueden tener criterios mecánicos aproximados para colocar operaciones, pero varios otros factores cualitativos juegan en el análisis de mercado.

Quizás su estilo de negociación general se base en el perfil del mercado y la teoría del mercado de subastas, pero factores no cuantificables como el sentimiento, la intuición y la visión de futuro invariablemente invaden su toma de decisiones. Tal vez vea que todos en FinTwit son súper optimistas, lo que le da un sesgo a corto plazo o neutral, que puede afectar el lugar donde busca configuraciones. Cosas como estas simplemente no se pueden probar o actuar como entradas mecánicas en un sistema.

Es por esta razón que muchos operadores discrecionales cancelan completamente las pruebas de backtesting como una práctica reservada solo para algunos y aquellos que intentan venderle un sistema comercial.

Creo que adelantar un resultado sin antes mirar los números aquí es un error. Si bien las pruebas de backtesting nunca actuarán como una representación precisa de sus resultados, probar sus ideas sobre el comportamiento del mercado es crucial para progresar como trader. Claro, es posible que haya encontrado un par de configuraciones que funcionan bien para usted, pero los mercados cambian y las configuraciones entran y desaparecen. El seguimiento de tendencias, que creó innumerables millonarios a lo largo de los años 80 y 90, ha visto una década de bajo rendimiento. Aquellos que operan con un sistema clásico de estilo Tortugasin ninguna adaptación u otras estrategias han sido aplastados.

Probar continuamente nuevas ideas y patrones, incluso si no los aplica mecánicamente, puede alertar sobre anomalías en el comportamiento del mercado de las que puede beneficiarse. Esta es una práctica de la que los súper traders como Linda Raschke y Adam Grimes (a quienes hemos descrito en el blog) son grandes defensores.

Aún mejor es que recomiendan la prueba manual a mano en favor de la codificación de un sistema automatizado. Dado que la mayoría de los operadores discrecionales no son programadores, esto probablemente sirva de alivio.

Un ejemplo básico de backtesting

Construyamos el sistema de trading más directo posible para ilustrar el concepto de backtesting: un sistema cruzado de promedios móviles de larga plazo en el S&P 500.

Quizás haya observado que el precio del S&P 500 actúa positivamente cuando el promedio móvil de 50 días cruza por encima del promedio móvil de 200 días. Su intuición le dice que es un buen sistema, pero las pruebas de backtesting sirven para separar sus instintos e intuición de los datos.

Sin embargo, aquí es donde surgen tantas preguntas. La estrategia es rentable, pero aquí es donde aparecen una gran cantidad de problemas, como los siguientes:

  • ¿Cómo se comparan otras opciones?
  • ¿Cómo se compara esta estrategia con comprar y mantener el SPY o una cartera similar que requiere menos comisiones y trabajo?
  • ¿Cómo se compara con la tasa de interés libre de riesgo?
  • ¿Este riesgo adicional se justifica a través de retornos congruentes adicionales?
  • ¿Introduje sesgo en mi backtesting?
  • ¿Cómo sé que identifiqué un patrón repetible real y no una aleatoriedad?
  • ¿El tamaño de mi muestra de operaciones es lo suficientemente grande como para alcanzar significación estadística?

Ciclo de backtesting de Kevin Davey

En una entrevista de Chat With Traders, Kevin Davey habló sobre su proceso de desarrollo de estrategias, y básicamente parece un ciclo de backtesting.

  • Un backtest rápido con los criterios más directos posibles: desde el principio, esto le indica si hay alguna validez para su idea
  • A partir de ahí, optimiza la estrategia a través de técnicas como Walk Forward Optimization (WFO)
  • Simulaciones aleatorias como el análisis de Monte Carlo para ver cómo las diferentes secuencias operativas afectarán la expectativa de la estrategia
  • “The Shelf”: en este punto, Davey observa la estrategia en tiempo real sin cambiarla. Lo revisa periódicamente para ver si se comporta de la manera que espera. Si lo hace por algún tiempo, comienza a asignar capital a la estrategia para el trading en vivo.

Errores comunes de backtesting

Sobreajuste

El sobreajuste suele ser el primer sesgo que enfrentan los novatos en backtesting. Va más o menos así:

  • Encuentran una estrategia de trading básica y prueban los resultados.
  • Ajustan un poco los parámetros y observan un mejor rendimiento.
  • Continúan ajustando hasta que el ratio de Sharpe y el drawdown máximo son buenos, fuera de este mundo!.
  • El trading en vivo no se parece en nada al backtest.

El error aquí es que no está optimizando contra las condiciones del mercado, sino las tendencias presentes en ese conjunto de datos específico. Has ajustado tanto los datos que ahora solo estás encontrando patrones (probablemente aleatorios) en los datos históricos que no tienen un valor predictivo real para los precios futuros.

Cómo saber si estás sobre ajustando:

  • La estrategia funciona radicalmente diferente con pequeños cambios en los parámetros. Si todo lo que se necesita es cambiar ligeramente su período de retrospectiva para alterar drásticamente los retornos, es probable que haya encontrado una anomalía en sus datos.
  • No puede expresar con palabras qué tendencia del mercado está aprovechando. Si no sabe por qué funciona su estrategia, es probable que haya probado parámetros hasta que haya obtenido excelentes resultados.
  • Estás entrenando tu estrategia sobre el mismo conjunto de datos en el que la estás probando.

“El backtest se ajusta cuando la estrategia se beneficia de la señal y se sobreajusta cuando el backtest se beneficia del ruido”. – Marcos López de Prado

No usar datos fuera de la muestra

La mayoría de los expertos en trading algorítmico están de acuerdo en que es inteligente tener al menos dos conjuntos de datos para probar. El primero es el conjunto en que entrenas el sistema. Usted prueba varios parámetros y estrategias en el conjunto de datos, buscando tendencias. Una vez que haya encontrado lo que parece un sistema rentable, verifique la estrategia en su segundo conjunto de datos.

La intención aquí es evitar ajustar su estrategia para trabajar en un solo conjunto de precios históricos.

Sesgo de supervivencia

Una de mis anécdotas favoritas para ilustrar el sesgo de supervivencia es durante la Segunda Guerra Mundial cuando las fuerzas aliadas intentaban reforzar la armadura en los aviones dañados que regresaban de la guerra.

Esencialmente, los militares observaron que las zonas rojas en el diagrama a continuación sufrieron el mayor daño, por lo que decidieron reforzar esas áreas en los aviones. Esto es hasta que un estadístico señaló que solo estaban estudiando el avión que sobrevivió a la guerra, y que estudiar aviones destruidos daría datos más precisos sobre los puntos de falla del avión.

El sesgo de supervivencia es uno de los errores más grandes que cometen los traders más nuevos, y uno de los escollos más comunes se relaciona con las acciones anuladas que anteriormente estaban en índices como el S&P 500.

Según Tucker Balch de Lucena Research, 58 acciones que estuvieron en algún momento en el índice S&P 500 han sido eliminadas de la lista desde el 2008. Eso significa que muchos traders con proveedores de datos erróneos están buscando resultados de backtesting que no incluyen esas acciones incluidas en la lista, que es probable que altere los resultados de sus backtests dramáticamente.

Si bien este problema está más presente entre los traders de acciones individuales, aún puede arrastrarse en el trading de futuros, como en el análisis de los Commodity Trading Advisors (CTA). Se puede observar que los fondos centrados en la reversión a la media están funcionando mejor que los fondos que siguen la tendencia sin tener en cuenta el hecho de que varios fondos de reversión a la media simplemente quebraron, dejando solo los fondos más calificados que existen, inflando los rendimientos percibidos de la estrategia ( ejemplo hipotético)

No pruebas en el futuro

La aleatoriedad abunda en los mercados financieros. Ninguna cantidad de análisis de datos le permitirá escapar de la aleatoriedad. Es por eso que incluso si evita todos los problemas comunes de backtesting, aún puede terminar con una estrategia que arroja resultados excelentes, pero falla en el trading en vivo.

Kevin Davey, ganador de múltiples campeonatos de trading, tiene un enfoque simple para las pruebas en el futuro, que mencionamos brevemente cuando pasamos por su “ciclo de backtesting”.

Una vez que una estrategia desarrollada por Kevin haya sido calificada y haya alcanzado con éxito el final de su ciclo, la dejará reposar “en el estante” por un tiempo. Periódicamente volverá a la estrategia para ver cómo se comparan las pruebas en el futuro con las pruebas pasadas. Si las pruebas en el futuro coinciden con las pruebas pasadas con un tamaño de muestra lo suficientemente grande, sólo entonces comenzará a operarlas en vivo.

Tamaño de muestra pequeño

Este es un sesgo que todavía observo en los materiales publicados por supuestos expertos que son adorados por la comunidad de traders, hablando en el escenario en las conferencias. Publicarán un sistema de negociación en un libro con solo 20 operaciones en su backtest. Eso apenas es suficiente para determinar la relación ganancia / pérdida, y mucho menos determinar si el sistema es consistentemente rentable.

La sabiduría convencional es que un backtest necesita al menos 100 operaciones históricas para ser considerado válido. A medida que aumenta el tamaño de la muestra, puede confiar un poco más en las métricas, como el drawdown máximo, ya que cuanto mayor sea el tamaño de la muestra, menor será la reversión de la media.

La solución a una estrategia con un tamaño de muestra pequeño es poner la estrategia en el “estante” proverbial como lo llama Kevin Davey, ver cómo se desarrolla en las pruebas a futuro (WFO) y permitir que crezca el tamaño de la muestra.

Plataformas de backtesting

Divido las plataformas de backtesting en dos campos, los que requieren conocimientos de programación y los que no. El cielo es el límite para aquellas plataformas que necesitan programación, y sus únicas limitaciones son sus habilidades de codificación y el lenguaje en sí.

Un sistema hecho para usted como FinViz Elite tendrá muchos criterios esenciales, más que suficientes para la mayoría, pero puede haber una declaración de “si, entonces” que desea usar, pero la plataforma no admite esa combinación de criterios .

Aquí hay algunas plataformas de backtesting hechas para usted (lo que significa que tienen asistentes fáciles de usar o solo requieren un pseudocodigo simple).

  • Backtesting a mano
  • FinViz Elite
  • NinjaTrader
  • TradeStation
  • MultiCharts
  • Portfolio Visualizer

Aquí hay algunas plataformas que requieren más codificación, pero tienen un techo más alto en términos de lo que son capaces (algunas no se limitan al análisis de datos en los mercados financieros):

  • Stata
  • Amibroker
  • Matlab
  • Sierra Chart
  • Una gran cantidad de bibliotecas de Python

Material de estudio adicional

Fundamentos de trading cuantitativo

Creo que Ernie Chan es el mejor para destilar las complejidades del trading algorítmico, hasta sus párrafos son fáciles de entender. Escribe un blog epchan.blogspot.com y ha escrito algunos clásicos del trading cuantitativo como Quantitative Trading: How to Build Your Own Algorithmic Trading Business.

Kevin Davey, a quien se ha mencionado en este artículo varias veces, también es un excelente recurso. Davey tiene un blog, cursos, un programa de membresía y varios libros. Como introducción, recomiendo su entrevista con Chat With Traders.

Ideas de abastecimiento

Cuando te quedas sin ideas para probar, realmente no tienes nada que hacer. Personalmente, mantengo una pizarra junto a mi computadora y apunto rápidamente cualquier idea que tenga. Creo que funciona mejor que una nota de Google Doc o iPhone porque está a la vista todo el tiempo. A medida que lea las ideas de otros operadores, participe en salas de chat o vea seminarios web, siempre se le ocurrirán ideas divertidas para probar.

Sin embargo, a veces, es bueno “tomar prestadas” ideas de otros. Aquí hay algunos lugares para obtener ideas:

  • Street Smarts: Estrategias comerciales de alta probabilidad a corto plazo por Linda Raschke y Larry Connors
    • El libro es antiguo, pero proporciona toneladas de ideas para que las pruebes. Las reglas en el libro por sí solas probablemente no sean rentables, pero ofrecen un excelente punto de partida desde el cual puede ajustar.
  • Foros cuánticos
  • Papeles academicos
  • io
  • Reddit Algo Trading Subreddit

Pensamientos finales

Creo que es apropiado terminar este artículo con esta cita de Dimitris Melas, jefe de investigación de MSCI: “Nunca he visto un mal backtest”

Hay un interesante fenómeno de Dunning-Kruger en juego en lo que respecta a las pruebas de backtesting. Por lo general, son los que son nuevos en el concepto los que tienen la máxima confianza. Todavía tienen que comprender los conceptos estadísticos que lo convierten en una práctica defectuosa, y asumir que si han encontrado el Santo Grial en su backtest, entonces básicamente han encontrado un cheque en blanco.

Por lo general, los quants más experimentados son los que más desconfían de un backtest, y lo ven más como una herramienta de confirmación (confirmar si la estrategia vale la pena el tiempo invertido en investigarla) que una herramienta de validación.

Ya sea que planee automatizar sus estrategias o simplemente utilice las pruebas de backtesting para fines de investigación, tenga en cuenta que el cerebro humano es imperfecto y busca placer. Inconscientemente, haremos todo lo posible para crear un backtest favorable debido al aumento de la dopamina que nos proporciona. No hay una forma real de erradicar el sesgo, así que solo mantenga su detector de “porquerías” encendido en todo momento en lo que respecta a probar nuevamente sus estrategias de trading.

Jorge Garcia

futuros@hotmail.com