19 abril 2021 13:57

Backtesting

¿Qué es el backtesting?

El backtesting es el método general para ver qué tan bien habría funcionado una estrategia o modelo ex post. El backtesting evalúa la viabilidad de una estrategia comercial al descubrir cómo se desarrollaría utilizando datos históricos. Si el backtesting funciona, los comerciantes y analistas pueden tener la confianza de utilizarlo en el futuro.

Conclusiones clave

  • El backtesting evalúa la viabilidad de una estrategia comercial o un modelo de precios al descubrir cómo se habría desarrollado retrospectivamente utilizando datos históricos.
  • La teoría subyacente es que cualquier estrategia que funcionó bien en el pasado probablemente funcionará bien en el futuro y, a la inversa, cualquier estrategia que funcionó mal en el pasado probablemente lo hará mal en el futuro.
  • Al probar una idea en datos históricos, es beneficioso reservar un período de tiempo de datos históricos para fines de prueba. Si tiene éxito, probarlo en períodos de tiempo alternativos o datos fuera de la muestra puede ayudar a confirmar su viabilidad potencial.

Entendiendo el Backtesting

El backtesting permite a un operador simular una estrategia comercial utilizando datos históricos para generar resultados y analizar el riesgo y la rentabilidad antes de arriesgar capital real.

Un backtest bien realizado que arroja resultados positivos asegura a los operadores que la estrategia es fundamentalmente sólida y es probable que produzca ganancias cuando se implemente en la realidad. Por el contrario, una prueba retrospectiva bien realizada que arroje resultados subóptimos incitará a los operadores a modificar o rechazar la estrategia.



Las estrategias comerciales particularmente complicadas, como las estrategias implementadas por sistemas comerciales automatizados, dependen en gran medida del backtesting para demostrar su valor, ya que son demasiado arcanas para evaluar lo contrario.

Siempre que se pueda cuantificar una idea comercial, se puede contrastar. Algunos comerciantes e inversores pueden buscar la experiencia de un programador calificado para desarrollar la idea en una forma comprobable. Por lo general, esto implica que un programador codifique la idea en el lenguaje propietario alojado por la  plataforma de negociación.

El programador puede incorporar variables de entrada definidas por el usuario que permiten al operador «modificar» el sistema. Un ejemplo de esto estaría en el  sistema de cruce de media móvil simple (SMA). El comerciante podría ingresar (o cambiar) las longitudes de las dos medias móviles utilizadas en el sistema. Luego, el operador podría realizar una prueba retrospectiva para determinar qué longitudes de promedios móviles se habrían desempeñado mejor en los datos históricos.

El escenario ideal de backtesting

El backtest ideal elige datos de muestra de un período de tiempo relevante de una duración que refleja una variedad de condiciones del mercado. De esta manera, se puede juzgar mejor si los resultados del backtest representan una casualidad o una negociación sensata.

El conjunto de datos históricos debe incluir una muestra verdaderamente representativa de acciones, incluidas las de empresas que finalmente quebraron o fueron vendidas o liquidadas. La alternativa, que incluye solo datos de las acciones históricas que aún existen hoy, producirá rendimientos artificialmente altos en el backtesting.

Un backtest debe considerar todos los costos de negociación, por insignificantes que sean, ya que estos pueden acumularse durante el período de backtesting y afectar drásticamente la apariencia de la rentabilidad de una estrategia. Los comerciantes deben asegurarse de que su software de backtesting tenga en cuenta estos costos.

Las pruebas fuera de muestra y las pruebas de rendimiento anticipadas brindan una confirmación adicional con respecto a la efectividad de un sistema y pueden mostrar los verdaderos colores de un sistema antes de que el efectivo real esté en juego. Una fuerte correlación  entre los resultados de las pruebas de rendimiento backtesting, out-of-sample y forward es vital para determinar la viabilidad de un sistema de negociación.

Pruebas retrospectivas frente a pruebas de rendimiento avanzadas

Las pruebas de rendimiento a futuro, también conocidas como  operaciones en papel, brindan a los operadores otro conjunto de datos fuera de la muestra para evaluar un sistema. Las pruebas de rendimiento a plazo son una simulación del comercio real e implica seguir la lógica del sistema en un mercado en vivo. También se denomina comercio en papel, ya que todas las operaciones se ejecutan únicamente en papel; es decir, las entradas y salidas de operaciones se documentan junto con cualquier ganancia o pérdida del sistema, pero no se ejecutan operaciones reales.

Un aspecto importante de las pruebas de rendimiento hacia adelante es seguir exactamente la lógica del sistema; de lo contrario, resulta difícil, si no imposible, evaluar con precisión este paso del proceso. Los comerciantes deben ser honestos acerca de las entradas y salidas de  operaciones y evitar comportamientos tales como  operaciones selectivas o no incluir una operación en el papel racionalizando que «nunca habría tomado esa operación». Si el comercio se hubiera producido siguiendo la lógica del sistema, debe documentarse y evaluarse.

Backtesting vs. Análisis de escenarios

Mientras que el backtesting utiliza datos históricos reales para probar el ajuste o el éxito, el análisis de escenarios hace uso de datos hipotéticos que simulan varios resultados posibles. Por ejemplo, el análisis de escenarios simulará cambios específicos en los valores de los valores de la cartera o factores clave que se produzcan, como un cambio en la tasa de interés.

El análisis de escenarios se usa comúnmente para estimar cambios en el valor de una cartera en respuesta a un evento desfavorable y puede usarse para examinar un escenario teórico del peor de los casos.

Algunas trampas del backtesting

Para que el backtesting proporcione resultados significativos, los operadores deben desarrollar sus estrategias y probarlas de buena fe, evitando sesgos tanto como sea posible. Eso significa que la estrategia debe desarrollarse sin depender de los datos utilizados en el backtesting.

Eso es más difícil de lo que parece. Los comerciantes generalmente crean estrategias basadas en datos históricos. Deben ser estrictos al realizar pruebas con conjuntos de datos diferentes de aquellos en los que entrenan sus modelos. De lo contrario, el backtest producirá resultados brillantes que no significan nada.

De manera similar, los comerciantes deben evitar el dragado de datos, en el que prueban una amplia gama de estrategias hipotéticas contra el mismo conjunto de datos, lo que también producirá éxitos que fallarán en los mercados en tiempo real porque hay muchas estrategias inválidas que vencerían al mercado durante un período de tiempo. período de tiempo específico por casualidad.

Una forma de compensar la tendencia al dragado de datos o la selección selectiva es utilizar una estrategia que tenga éxito en el período de tiempo relevante, o dentro de la muestra, y realizar una prueba retrospectiva con datos de un período de tiempo diferente o fuera de la muestra.. Si las pruebas retrospectivas dentro y fuera de la muestra arrojan resultados similares, es más probable que se demuestre su validez.