Backtest – ¿Qué es un Backtest?

Backtest – ¿Qué es un Backtest?

Qué es un backtest

¿Has leído algo pero no sabes exactamente qué es un backtest aplicado al Trading?

Pues bien, en esta entrada del diccionario... vas a entender qué significa el anglicismo backtest o backtesting que lo podríamos traducir por algo así como "prueba con datos históricos".

También vamos a ver cómo se hace y cuándo hay que aplicarlo.

Estate atento porque...

¡Empezamos!

Qué es un backtest: definición

Un backtest  es una serie de pruebas sobre una estrategia en el pasado para evaluar cuál fue su rendimiento en un rango de datos histórico.

Para que lo entiendas...

El término backtesting en finanzas es una "herramienta" extremadamente útil que tiene como fin evaluar el rendimiento de una estrategia de trading utilizando los datos antiguos de lo que ya ha pasado.

Te permite ver cómo se habría comportado esa estrategia si la hubieras aplicado durante un período de tiempo en el pasado y extraer conclusiones de los datos obtenidos.

Siempre que vayas a utilizar una estrategia nueva, ya sea de tu propia cosecha o de otra persona, el backtest es el primer paso que tienes que realizar.

Un backtesting se puede realizar en cualquier mercado: forex, acciones, criptomonedas, etc. pero siempre necesitarás disponer de datos históricos de calidad, ya que si los datos no son buenos el backtest no tendrá sentido.

Hay que destacar que el backtest por sí solo no es suficiente para establecer si una estrategia es robusta o no, esto otro concepto que lo veremos más adelante...

Por eso te animo a que te suscribas y ¡no te pierdas más artículos!

- Tú: "Quiero seguir aprendiendo trading contigo, Luis"

Tipos de backtesting que puedes hacer

El backtesting se puede hacer de dos formas en función del tipo de trading que estás haciendo.

Si estás con una estrategia de trading discrecional, normalmente la prueba de backtesting será manual.

Es decir, tú mismo probarás manualmente esa estrategia contra datos históricos ejecutándola paso a paso y tomando las decisiones de trading que te indica la estrategia.

En cambio, si estás haciendo una estrategia de trading automático, es decir, la estrategia se ejecuta a través de un software automáticamente...

Entonces para hacer el backtest, necesitarás tener la estrategia codificada (programada) y le pasarás a ese software los datos históricos como entrada para ejecutar la prueba que se hará de forma automática.

Y sí, todo esto es muy bonito dicho así, pero vamos a lo que realmente es importante... ¡a la práctica!

Cómo hacer backtesting

El backtesting de forma automática es algo demasiado largo y complejo para este artículo, tendríamos que dedicar uno exclusivamente para ello. Además tendrías que aprender trading algorítmico.

Como estamos presentando conceptos básicos para principiantes, considero que es recomendable empezar con el backtesting para trading manual.

Así que vamos a ver cómo podemos ejecutar un backtest de forma manual en dos plataformas de trading que utilizamos.

Pero lo primero que tienes que tener claro siempre para hacer pruebas de una estrategia, es que el backtesting tiene que ser lo más fiel a la realidad posible.

Principios a seguir en todo backtest

Tienes que realizar el backtest en el mismo mercado para el cuál está diseñada la estrategia.

Si por ejemplo es una estrategia para Forex, tienes que probarla en diferentes pares de divisas del mercado forex.

Y si la estrategia es válida para cualquier mercado, entonces tienes que probarla en diferentes activos de todos los mercados, ya sean acciones, índices, criptomonedas, metales, materias primas, etc.

Tienes que ejecutar las pruebas en el mismo o en los mismos marco temporales que trabajen la estrategia. 

Por ejemplo, si es una estrategia de swing trading, que trabaja en marcos temporales de 4H y 1H, tienes que hacer las pruebas en estos marcos temporales.

Y si es una estrategia de day trading  para ejecutarla sobre gráficos de 15 min. es ese marco temporal en el que tienes que hacer las pruebas.

No te muevas de esos marcos temporales para los cuáles está diseñada la estrategia.

No solo el mismo marco temporal es necesario, también en el mismo horario.

Si es una estrategia que se ejecuta los viernes, coge solo ese día entre los datos históricos para hacer el backtesting.

Y si es una estrategia que se ejecuta en la apertura de mercado, utiliza esas horas de los datos históricos para realizar las pruebas.

Hacer un backtest, consiste en realizar muchas pruebas, cuantas más hagas mejor.

No es ejecutarlo un día y ya está. Cuantas más veces hagas las pruebas, con más datos, obtendrás un resultado mucho más fiable del rendimiento que tienes aplicando tú mismo esa estrategia.

Además al ser manual, lo cuál es un handicap, conviene que hagas pruebas en diferentes días. Para introducir al menos un poquito del sesgo psicológico que llevarás contigo cuando la ejecutes en real.

Nunca va a ser psicológicamente igual que ejecutarla en real, pero si puedes acercarte un poco en la simulación, merece la pena que lo hagas.

Evita conocer los datos contra los que vas a probar.

Es obvio que tienes que evitar a toda costa ver los datos antes de hacer las pruebas.

Es preferible que hagas pruebas con activos sobre los que no conozcas los datos.

Si no puedes evitar esto, al menos, utiliza momentos temporales que no hayas visto previamente o que no recuerdes.

Ten en cuenta las particularidades propias del mercado en el que vas a operar.

Por ejemplo, las regulaciones de la SEC podrían prohibir temporalmente operaciones en corto en el mercado de acciones en el mercado americano. 

El mercado de acciones en general está sujeto a dividendos. 

El mercado de índices tiene otro factor importante a tener en cuenta que es el survivorship bias. 

Verifica que los datos están libres de esto, que es que cuando una empresa quiebra, se elimina del índice. Puede que obtengas resultados más optimistas por no tener en cuenta este factor.

En los futuros, como los contratos caducan normalmente cada 3 meses, tienes que tener en cuenta el rollover al juntar los datos de los contratos en una única serie, pero el precio de finalización de un contrato no suele ser el mismo que el inicio del siguiente.

En el forex y en las criptomonedas, cada broker o exchange tiene sus propios datos, no puedes utilizar cualquiera, tienes que utilizar los mismos sobre el que vayas a operar y algunos datos no serán fiables, como el volumen.

Intenta utilizar datos en calidad de tick.

Esto quiere decir que los datos representen cada uno de los cambios del precio, tanto del precio ask (precio de compra) como del precio bid (precio de venta)

Introduce una simulación de los costes de transacción que tiene el broker en el que vas a operar.

Los costes de transacción, son todos los costes que conlleva realizar la operación el mercado.

El más típico es el gasto de comisión, que va en función del volumen de compra o de venta.

Pero también hay otros más complicados de calcular, sobre los que se puede intentar aplicar una media con un margen de error positivo (para ponernos en el peor caso). Estos son el spread, el slippage y el swap.

Cada broker tendrás sus propios costes de transacción, por lo tanto, tienes que conocerlos y tenerlos en cuenta en el backtest sobre el broker que vayas a operar.

Utiliza el mismo tamaño de las posiciones que indique la estrategia.

Si la propia estrategia ya te indica una gestión monetaria de qué volumen debe tener las transacciones utiliza lo que la propia estrategia te indique.

Si la estrategia no tiene ningún método para gestionar el tamaño de las operaciones, entonces tienes que definirlo.

Puedes hacerlo manteniendo una cantidad fija de dinero o de volumen o puedes utilizar un porcentaje fijo del capital disponible en el momento de hacer la operación (por tanto la cantidad de volumen sería dinámica).

Pero utilices una u otra siempre tiene que ser la misma política en todo el backtest, si no, no tendría sentido.

Particularmente, mi referencia principal es el modelo de porcentajes. Es la opción que nos dará mejores resultados para medir, y nos muestra los beneficios del interés compuesto.

Cómo hacer backtesting en Tradingview

¿Todavía no tienes Trading View?

Entra aquí y créate una cuenta, puedes empezar con una cuenta totalmente gratuita.

Una vez que estés dentro realizar un backtest es muy sencillo.

Abres el activo que quieres probar, por ejemplo vamos a poner el mercado forex con las divisas GBP / USD en marco temporal de 4H.

Una vez abierto el gráfico tienes que pulsar en "Ir a" en la parte inferior y aquí vas a poner la fecha histórica donde quieres visualizar los datos para empezar el backtest.

qué es un backtest

Es posible que si hemos puesto una fecha demasiado antigua, no se dispongan datos históricos desde esa fecha. En ese caso nos lo indicará y tendremos que partir de la última fecha disponible o irnos a otro broker o activo y probar de nuevo.

Una vez lo tengamos, vamos a hacer click en Repetición (marcada en rojo) y nos aparecerá la barra de herramientas rodeada en azul.

Además aunque no se ve en la imagen, nos saldrá una línea vertical roja en la pantalla.

Con esta línea podemos posicionarnos en la barra a partir de la cuál comenzará nuestro backtest. Una vez estemos en la barra sobre la que queremos empezar y hagamos click sobre ella se eliminará todo el gráfico que viene a continuación de la barra. 

Lo mejor es que marquemos alguna de las barras finales que vemos en la pantalla, porque el resto las estamos viendo y no queremos ver ni recordar datos sobre los que hacer las pruebas.

qué es un backtesting

Una vez marcada la barra empezamos el backtesting. 

qué es backtesting

Como ves en la imagen ya no aparece el gráfico, se ha cortado.

Ahora lo que tenemos que hacer es aplicar nuestra estrategia como si estuviéramos operando de verdad y registrando los resultados en un Excel.

Podemos avanzar el gráfico con el botón de Forward señalado en azul. De esta forma vamos aplicando la estrategia, obteniendo los resultados y anotándolos.

En el caso de que no te deje hacer esto porque tienes la versión gratuita (este tipo de test sólo lo permite en algunos marcos temporales para la versión gratuita, pero no en todos).

Lo puedes hacer sin utilizar la herramienta de repetición, lo cuál es un poco incómodo, pero lo puedes hacer.

Simplemente irías operando con la parte de gráfico que se ve en la pantalla, y puedes ir avanzándolo pulsando la flecha derecha.

Cada vez que la pulsas el gráfico avanzará una vela.

Puedes utilizar los indicadores, las herramientas de dibujo y de trading que incluye Trading View en este modo de simulación, para poder aplicar tu estrategia.

Y te puede ayudar mucho colocar las posiciones largas o cortas, reflejando visualmente como si la introdujeras en el broker en real.

qué es un backtesting en forex

Una vez colocada, avanzarás el gráfico de nuevo con Forward, si estás en la herramienta de Repetición o con la tecla derecha, si no puedes utilizar la herramienta de Repetición y podrás ver el resultado de tu operación.

Tienes que realizar este proceso una gran cantidad de veces y registrar los resultados.

Recuerda que cuantos más datos registres, mejores serán los datos estadísticos de la muestra y por tanto, mejores mediciones tendrás después.

Cómo hacer backtesting en Meta Trader

Si no lo tienes, aquí te dejo el link para descargar Meta Trader 5.

Aunque lo vamos a ver en Meta Trader 5 que es la herramienta que utilizamos los Rocketianos del Trading 🙂 (¿pero qué haces que todavía no te has unido a la comunidad?), los mismos pasos puedes aplicarlos para ejecutarlos en mt4.

La idea es la misma que en Trading View, aunque en este caso no tenemos una herramienta de repetición.

Abrimos el activo, por ejemplo Repsol en el gráfico en el marco temporal a probar. En este caso hemos puesto diario.

backtesting bolsa

Nos movemos a la fecha sobre la que queremos empezar a probar.

En este caso nos hemos ido al inicio de los datos históricos, pulsando la tecla de Inicio.

Como no podemos eliminar el gráfico, nuestro backtest empezaría sobre la última vela visible.

Y para avanzar el gráfico utilizamos la tecla F12, que nos avanza paso a paso una vela cada vez que pulsamos.

Igual que antes, podemos introducir los indicadores y herramientas gráficas que necesitemos para probar la estrategia. En este caso hemos puesto una media móvil de 20 períodos.

El procedimiento es igual que en Trading View, vamos introduciendo las operaciones simuladas según los criterios de la estrategia que estamos probando, observamos el resultado avanzando el gráfico y lo recogemos en un Excel.

Vamos realizando esta operativa por cada operación que colocamos. Al ir recogiendo el resultado de cada operación, ves viendo como va, esto juega el papel de introducir un poco el factor psicológico. 

Si vas viendo el resultado acumulado paso a paso en cada operación, con lo que vas ganando o perdiendo... e intentas imaginar que estás en real, vas a tener una cierta idea de las emociones que puedes tener cuando pases a real.

Una vez recogidos una gran cantidad de datos de muestra en diferentes activos, en diferentes momentos históricos del activo y en diferentes días de pruebas, podemos empezar a extraer las métricas más importantes.

Cómo se puede medir un backtest

Para poder medir los resultados, lo primero que tienes que hacer es registrarlos.

Esto lo puedes hacer en un documento excel donde vayas anontando cada operación del backtest que vas haciendo, partiendo de un capital inicial virtual.

Aquí vas a poder guardar los datos de cada operación y el resultado que obtienes, tanto en términos absolutos de dinero como en porcentajes del beneficio o pérdida que ha dado cada operación.

Asociado a cada operación registrarás el efecto de acumulación o pérdida que produce en el capital de la cuenta virtual, para poder ver su evolución.

¿Qué datos puedes extraer del backtest?

Lo primero que quiero que sepas es que estos datos los puedes extraer en global de todo el test o extraerlos también por períodos de tiempo, por ejemplo un año.

De esta forma podrás ver los rendimientos globales y los anuales.

Una vez tienes claro este concepto de global/parcial, vamos a ver qué métricas podemos obtener:

Curva del capital. Puedes dibujar una gráfica de evolución del capital.

En el mismo excel, tienes que registrar por cada operación la fecha en la que se ha realizado, como si fuera la fecha histórica donde se produjo la operación.

Con estas dos variables, podrías representar un gráfico donde tienes el tiempo en el eje horizontal y el valor del capital en el eje vertical.

Número de operaciones. El número total de operaciones te dará una referencia de la calidad del test.

A más operaciones, más fiabilidad en las estadísticas, ya que el tamaño de la muestra es mayor.

Profit Factor. Es la ganancia total dividida por la pérdida total. 

Es importante que sea mayor que 1 porque si es menor que 1, la estrategia ha producido pérdidas. Y conviene que sea como mínimo de 1,25.

Es evidente que cuanto más alto, mejor.

Drawdown. Es el mayor retroceso que ha sufrido el capital desde su máximo. Se puede medir en porcentaje o en dinero y también se puede ver el tiempo que ha tardado en recuperarse.

El drawdown es una medida muy importante para saber a la presión psicológica que puedes llegar a estar sometido, porque esa presión te podría influir en la forma de operar.

Considero que un buen drawdown no debe superar el 10%. Si lo supera, podrías ajustar el porcentaje de riesgo que asumes en cada operación. Al reducirlo, reducirías el drawdown.

Puedes jugar ajustándolo hasta que quede en el 10%.

Ratio Retorno / Drawdown. Es la relación entre el porcentaje de beneficio y el porcentaje de drawdown.

Se divide un porcentaje de retorno entre el de drawdown y nos mide lo siguiente: "he tenido que soportar perder X% para llegar a ganar Y%"

Porcentaje de acierto. Es el número de operaciones positivas dividido entre el número de operaciones negativas.

Nos mide la probabilidad de que una operación sea positiva.

Aunque la mayoría de los traders suelen pensar que es mejor que este número sea lo más alto posible y que tiene que ser al menos mayor que el 50%, no es así. 

Las estrategias que suelen dar mayor rendimiento tienen un porcentaje de acierto entre 30% y 40%

Pero sí es importante que no sea menor del 30% aunque el rendimiento sea positivo. Por el aspecto psicológico y también porque haría que el beneficio final sea muy dependiente de unas pocas operaciones que recogen muchos beneficios.

Conclusiones

Ya has aprendido el significado y el concepto de backtest, los diferentes tipos que existen. 

También sabes ya cómo hacer un backtest de forma manual en Meta Trader y en Trading View y cómo medirlo.

Ahora recuerda poner en práctica este concepto SIEMPRE que tengas o quieras utilizar una estrategia.

Nunca operes en real con una estrategia nueva sin haberla probado antes.

De esta forma podrás medir el rendimiento que puedes obtener tú mismo de una estrategia manual y estar mucho más seguro cuando la lleves al trading real.

También quiero que sepas, que esto no es más que una introducción al backtesting. 

El testeo de estrategias forma parte del núcleo duro del trading y es un tema que se debe tratar en profundidad.

Hay un canal en YouTube donde aparezco yo contando cosas en videos.

Bye.

Success message!
Warning message!
Error message!