← Todos los artículos

Backtesting: cómo probar una estrategia de trading

Trading

John Bax y el equipo de Crypto Go · Publicado el · 11 min de lectura

Hacer un backtesting consiste en aplicar las reglas de una estrategia de trading a precios pasados para ver qué habría ocurrido, antes de arriesgar dinero real. Es una de las formas más baratas de descubrir que una idea es débil, pero un buen resultado no demuestra que la estrategia vaya a funcionar en adelante. Un backtest responde a una pregunta limitada: ¿encajaban estas reglas con el pasado? Si encajan con el futuro es otra pregunta.

En resumen

  • Un backtest aplica reglas fijas de entrada y salida a precios históricos y registra las operaciones, las ganancias, las pérdidas y la mayor caída que se produjo.
  • Su principal utilidad es descartar pronto las ideas débiles y mostrar cuán profundos y largos podrían ser los periodos de pérdidas de una estrategia.
  • Su principal peligro es el sobreajuste: cuantas más variantes pruebe sobre los mismos datos, más probable es que alguna parezca buena por puro azar.
  • Las comisiones, el deslizamiento de precio y los datos poco realistas pueden hacer que un backtest parezca mejor que el trading real.
  • Trate el resultado como una hipótesis que se comprueba con una cantidad pequeña o con operativa simulada, nunca como una previsión.
Backtesting: cómo probar una estrategia de trading
En este artículo · 11 min de lectura
  1. Backtesting de una estrategia de trading: la definición en una frase
  2. Cómo hacer un backtesting, paso a paso
  3. La cifra que muestra lo fácil que es engañar a un backtest
  4. Errores comunes que hacen un backtest demasiado bueno
  5. Ventajas y límites del backtesting
  6. Dónde encaja Crypto Go Bot
  7. Cómo empezar, paso a paso
  8. Lista de comprobación antes de fiarse de un backtest
  9. Para quién es
  10. Términos clave
  11. Preguntas frecuentes
  12. Fuentes

Backtesting de una estrategia de trading: la definición en una frase

Un backtest es una simulación que aplica una estrategia de trading a datos históricos de mercado para estimar cómo habría funcionado. La Comisión Nacional del Mercado de Valores (CNMV) recuerda, en su guía sobre fondos de inversión, que la difusión de rentabilidades históricas va siempre acompañada de la advertencia de que «rentabilidades pasadas no garantizan rentabilidades futuras». La Commodity Futures Trading Commission (CFTC) exige en su norma de publicidad un aviso parecido para los resultados simulados: tienen limitaciones inherentes, no representan operaciones reales y se diseñan con la ventaja de conocer lo ocurrido. Esos avisos resumen bien cómo leer cualquier backtest.

Algunos términos que verá más abajo. Los datos históricos son el registro de los precios pasados (y a veces de los volúmenes). Los datos in-sample son la parte del historial que se usa para construir y ajustar las reglas; los datos out-of-sample son una parte que se reserva y no se toca mientras se diseñan. El deslizamiento (slippage) es la diferencia entre el precio esperado y el precio al que se ejecutó realmente la orden.

Backtesting: de las reglas al veredicto
Backtesting de una estrategia de trading en cuatro pasos: escribir las reglas, elegir los datos, ejecutar la simulación, comprobar con datos no vistos

Cómo hacer un backtesting, paso a paso

El método es el mismo si lo programa, si usa una plataforma con herramienta de backtesting o si lo hace a mano sobre un gráfico:

  1. Escriba las reglas. ¿Cuándo entra, cuándo sale, cuánto arriesga por operación y dónde está el stop loss (la orden que cierra una operación perdedora a un precio fijado)? Una regla que no se puede escribir con precisión no se puede probar.
  2. Elija los datos. Use un periodo lo bastante largo como para incluir mercados alcistas, bajistas y laterales. Compruebe que los datos están limpios y que cubren los activos que realmente operaría.
  3. Ejecute la simulación. El programa aplica las reglas vela a vela y registra cada operación hipotética, sus comisiones y el saldo a lo largo del tiempo.
  4. Lea los resultados. Mire más allá del beneficio final: el drawdown (la mayor caída desde un máximo hasta un mínimo), el número de operaciones, el porcentaje de operaciones ganadoras y la racha perdedora más larga.
  5. Compruebe con datos que las reglas no han visto. Reserve un periodo, o avance en el tiempo paso a paso (walk-forward), y vea si el comportamiento se mantiene.

En cripto hay un punto práctico: los mercados operan todo el día y todo el año, y el historial de muchas monedas es corto. Una moneda que existe desde hace dos años enseña mucho menos que un índice bursátil con décadas de precios. Un backtest sobre un tramo corto y de una sola dirección dice muy poco sobre otra fase del mercado.

La cifra que muestra lo fácil que es engañar a un backtest

El estudio más conocido sobre este problema es «Pseudo-Mathematics and Financial Charlatanism», de David Bailey, Jonathan Borwein, Marcos López de Prado y Qiji Zhu, publicado en 2014. Muestra que si se prueban suficientes variantes de una estrategia sobre los mismos datos, se puede lograr un backtest brillante sea cual sea el mérito real de la estrategia. En su ejemplo, tras probar solo 7 configuraciones independientes, la mejor debería mostrar un ratio de Sharpe anualizado de 1 en un backtest de 2 años, mientras que el resultado esperado con datos nuevos es cero. (El ratio de Sharpe mide la rentabilidad por unidad de riesgo; un 1 parece respetable.) Con 5 años de datos, el límite sube a 45 configuraciones.

Backtesting: cuántas pruebas soporta un historial corto
Gráfico de barras: con 2 años de datos no deberían probarse más de 7 configuraciones de estrategia, con 5 años no más de 45

Dicho llanamente: cuanto más corto es su historial, menos cosas puede probar antes de que el ganador sea probablemente suerte. Los autores señalan además que la mayoría de los backtests no indican cuántas configuraciones se probaron, de modo que el lector no puede juzgar el riesgo. Por eso, según nuestra experiencia, el hábito más útil es llevar por escrito la cuenta de cada versión que se prueba.

Otro dato procede de un estudio de 2016 sobre 888 algoritmos de trading construidos en la plataforma Quantopian. Según el resumen de Quantpedia, los investigadores comprobaron que métricas de backtest muy habituales, como el ratio de Sharpe, aportaban poco para predecir el rendimiento con datos nuevos (R² inferior a 0,025, es decir, explicaban casi nada de la variación).

Errores comunes que hacen un backtest demasiado bueno

ErrorQué significaPor qué mejora el resultado
SobreajusteAjustar las reglas hasta encajar perfectamente con el pasadoLas reglas memorizan ruido que no volverá
Sesgo de anticipaciónUsar información que no existía en el momento de la operaciónLa simulación «conoce» el futuro
Sesgo de supervivenciaProbar solo los activos que existen hoyFaltan los proyectos que fracasaron y la media parece mejor
Ignorar los costesOlvidar comisiones, diferenciales y deslizamientoPequeñas ganancias por operación pueden desaparecer al contar los costes
Muy pocas operacionesSacar conclusiones de un puñado de operacionesUna racha corta de suerte parece talento

Los costes merecen especial atención en cualquier estrategia que opere con frecuencia. Una ganancia de una fracción de punto porcentual por operación puede quedar borrada por las comisiones y el deslizamiento, y un simulador que ejecuta cada orden al precio exacto del gráfico no lo ve. Y la CNMV recuerda en su decálogo del inversor que la rentabilidad de una inversión suele estar relacionada con el nivel de riesgo que se asume y que conviene desconfiar de las promesas de altas rentabilidades con poco o ningún riesgo; un backtest espectacular no cambia esa regla.

Ventajas y límites del backtesting

Ventajas. No cuesta capital, obliga a escribir reglas precisas y puede descartar una mala idea en una tarde. También muestra cómo se habrían vivido los malos periodos: una estrategia con buena media pero un drawdown del 50 % no se vive igual que una con un 15 %. Y da una base de comparación para los resultados reales posteriores.

Límites. El pasado es solo un camino entre todos los que podrían haberse dado. El mercado puede comportarse de otra forma el año que viene, otros operadores pueden haberse adaptado, y su propio comportamiento ante pérdidas reales no está en la simulación. Un backtest tampoco dice nada de los sucesos que no figuran en los datos. Según nuestra experiencia, las estrategias que más decepcionan en real son las que parecían mejores tras más ajustes.

La opinión de John Bax

En Inversor Vago, Inversor Inteligente, John Bax explica que técnicamente cualquiera puede crear un bot de trading, pero que uno que funcione exige un conocimiento profundo de los mercados y la capacidad de adaptar la estrategia a unas condiciones siempre cambiantes. Esa es la lección práctica del backtesting: las condiciones de su periodo de prueba no se mantendrán, así que un conjunto de reglas nunca está «terminado». El libro deja claro además que ningún sistema puede garantizar beneficios, que es la actitud correcta ante cualquier resultado simulado.

Dónde encaja Crypto Go Bot

Crypto Go Bot no aplica un conjunto de reglas que usted ajusta sobre un gráfico de precios. Es un bot de señales: sigue al Smart Money, los flujos on-chain de carteras con un historial de operaciones rentables, leídos como Bajo, Medio o Fuerte, y abre operaciones en su propia cuenta de Kraken, con take profit y stop loss como órdenes reales en Kraken. Nuestra explicación de cómo funciona un bot de trading cripto detalla el método. La lección de este artículo vale para cualquier bot o servicio de señales: pregunte cómo se midieron los resultados, cuántas versiones se probaron y qué valen las cifras una vez incluidos los costes.

La misma disciplina se aplica a las reglas de salida que elija. Nuestras guías sobre el stop loss y sobre cuánto arriesgar por operación tratan los ajustes que usted probaría, y nuestro artículo sobre el grid trading muestra una estrategia cuyo backtest depende mucho del rango elegido. Las rentabilidades pasadas no garantizan las futuras, y las operaciones perdedoras forman parte del trading.

Los peligros del sobreajuste en los backtests (Marcos López de Prado) (en inglés)

Cómo empezar, paso a paso

  1. Elija una idea sencilla y escriba sus reglas en pocas líneas, incluida la salida.
  2. Fije de antemano el número de versiones. Una lista corta es mejor que ajustar sin fin.
  3. Divida el historial. Construya con la parte antigua, compruebe con la reciente y no vuelva a ajustar después de ver la comprobación.
  4. Incluya los costes. Use comisiones realistas y añada deslizamiento en los mercados rápidos.
  5. Mire el peor caso, no solo la media: el drawdown, la racha perdedora más larga y el número de operaciones.
  6. Pase por la operativa simulada o por una cantidad muy pequeña durante un tiempo antes de fiarse de las reglas.
  7. Lleve un diario de cada versión, del periodo de datos y del resultado.

Lista de comprobación antes de fiarse de un backtest

  • Sé cuántas versiones de las reglas he probado.
  • He comprobado con datos que las reglas no habían visto.
  • Las comisiones y el deslizamiento están en las cifras.
  • La muestra tiene suficientes operaciones para significar algo.
  • Puedo aceptar el drawdown mostrado, en dinero real, sin cambiar el plan.

Para quién es

El backtesting es una habilidad para quien quiera examinar una idea de trading con pruebas antes de poner dinero detrás.

  • Principiante con una primera idea: escribir las reglas y probarlas con precios pasados muestra pronto si la idea merece más esfuerzo, siempre que vea el resultado como un punto de partida.
  • Operador al contado que sigue un método: un backtest ayuda a comparar variantes de entrada o salida y a conocer el tamaño habitual de las rachas perdedoras antes de vivir una real.
  • Usuario de un bot o de un servicio de señales: saber cómo engañan los backtests ayuda a hacer mejores preguntas sobre los resultados que anuncia una herramienta.
  • Inversor prudente con presupuesto pequeño: probar primero y operar después con poco mantiene bajo el coste de una mala idea, siempre que ese dinero pueda perderse sin afectar a sus planes.

Términos clave

  • Backtest: simulación de una estrategia con datos de mercado pasados.
  • Sobreajuste: ajustar una estrategia tan de cerca a los datos pasados que falla con datos nuevos.
  • Out-of-sample: datos reservados que no se usaron para construir las reglas.
  • Drawdown: caída desde un máximo hasta el mínimo siguiente, en porcentaje.
  • Deslizamiento (slippage): diferencia entre el precio esperado y el precio realmente obtenido.
  • Operativa simulada: operar con dinero virtual en tiempo real para ver cómo se comportan las reglas en directo.

Preguntas frecuentes

¿Qué es un backtest en trading?

Es una prueba de una estrategia de trading con precios históricos. Se aplican las reglas a los datos pasados para ver las operaciones que habrían generado y el resultado.

¿Cómo se hace el backtesting de una estrategia de trading?

Escriba reglas precisas de entrada, salida y riesgo, elija un periodo de datos largo y variado, ejecute la simulación con costes realistas y compruebe después las reglas con datos que no han visto.

¿Puede un backtest predecir beneficios futuros?

No. Solo muestra cómo encajaban las reglas con el pasado. Los resultados simulados deben presentarse como tales porque se diseñan con la ventaja de conocer lo ocurrido y no representan operaciones reales.

¿Qué es el sobreajuste en un backtest?

Es ajustar las reglas hasta que encajan demasiado con los datos pasados. Cuantas más versiones pruebe sobre los mismos datos, más probable es que un buen resultado sea solo suerte.

¿Cuántos datos necesito para un backtesting en cripto?

No hay una cifra fija. Un periodo más largo, con fases alcistas, bajistas y laterales, es más informativo, y un historial corto solo permite probar muy pocas variantes.

¿Basta un backtest antes de usar un bot?

No. Es un primer filtro. Haga que lo siga una cantidad pequeña u operativa simulada, y compare siempre los resultados con los costes y las condiciones reales.

¿Usa Crypto Go Bot el backtesting?

Crypto Go Bot sigue señales de Smart Money leídas en flujos on-chain, no un conjunto de reglas ajustado sobre un gráfico de precios. Las preguntas de este artículo le sirven igualmente para juzgar cualquier herramienta de trading, incluida la forma en que mide sus resultados.

Fuentes