24 consejos para conseguir backtests y sistemas automáticos de trading robustos

por | Abr 29, 2022 | Gratuito, Sistemas | 3 Comentarios

➡️ 1. Datos confiables

Para obtener una estrategia de trading robusta necesitas datos confiables. Los datos son muy importantes y es por eso que te ofrecemos nuestro servicio de Base de Datos Premium, que contiene acciones deslistadas. Hay muy pocos proveedores que ofrezcan unos datos con estas características, nosotros somos una de ellas y tenemos un precio imbatible. Además, nosotros ofrecemos toda la ayuda que necesites para resolver tus dudas.

➡️ 2. Sesgo de supervivencia

Junto con los datos, no ignores el survivorship bias, más conocido en español como el sesgo de supervivencia.

Afecta sobre todo a las acciones que componen los índices. Por ejemplo, algunas acciones que hoy forman parte del S&P 500, no formaban parte de él hace 10 años, pero cuando descargas los datos del S&P 500 de tu proveedor de datos a fecha de hoy, los estás ignorando.

El sesgo de supervivencia es un error muy típico de quien comienza a hacer sus primeros backtests, ignoran las acciones/compañías que ya no están en los índices obteniendo resultados demasiado optimistas. Si tus sistemas operan acciones, ten muy en cuenta este sesgo en el momento de realizar backtests o tus resultados no serán precisos ni realistas.

➡️ 3. Periodos de muestra y fuera de muestra

Antes de empezar un backtest, debes definir cuáles van a ser tus periodos de muestra y fuera de muestra, conocidos en inglés como In Sample (IS) y Out Of Sample (OOS).

En nuestro caso, utilizamos siempre que podemos un periodo de muestra de más de 18 años (desde el 2000 al 2018). Nos gusta que el periodo (IS) sea superior al periodo (OOS). El primero suele representar entre el 60% y 70% de la muestra.

Es imprescindible que en el (IS) se incluyan diferentes tipos de escenarios económicos (periodos alcistas, bajistas y laterales). El resto del periodo hasta la actualidad será el OOS, datos que el sistema nunca tendrá en cuenta, será “nuestro futuro”.

➡️ 4. Histórico de datos

Usa el mayor histórico que tengas, aunque hay gurús en la materia que creen que a partir de 1990 la industria cambió de tal manera que no sería necesario remontarse más atrás.

➡️ 5. Datos sin ajustar dividendos

Usa datos sin ajustar dividendos para que en el momento que se reparte un dividendo no te cambien las señales que tuviste en el pasado. De esta forma, el sistema siempre te estará dando las mismas señales, antes y después de repartir el dividendo, y por lo tanto, las mismas estadísticas.

➡️ 6. Regímenes de mercado

Comprueba la estrategia sobre diferentes regímenes de mercado (periodos alcistas, bajistas, laterales, más volátiles, menos volátiles, inflación, deflación, crecimiento, recesión) para asegurar que es robusta en todas las condiciones de mercado a las que se tendrá que enfrentar en el futuro.

➡️ 7. Benchmark

Define cuál va a ser el benchmark o índice de referencia contra el que vas a comparar los resultados de tu sistema. Si tu estrategia no es capaz de batir al índice de referencia, quizás la mejor opción es la de comprar y mantener el propio índice. Hacemos sistemas para batir al índice con menos volatilidad que éste o para ganar más en relación al riesgo que asumimos. Ejemplo: RAR o ratio CAR/MDD.

➡️ 8. Hazlo sencillo

No compliques tu estrategia innecesariamente. Usa el menor número de parámetros posible, cuanto más simple sea la lógica del sistema mejor. Por tanto, si un parámetro no produce un cambio significativo en el resultado lo quítalo de la ecuación.

➡️ 9. Pérdida máxima

Establece un máximo drawdown (esto varía según tu perfil de riesgo), a partir del cual no te interesará operar sistema. En nuestro caso, el máximo drawdown con el que diseñamos los sistemas no supera el 20% en temporalidad diaria. Enfatizar que sea en diario, porque, a pesar de ser lo recomendable, no sueles mirar la cartera tan solo una vez al mes.

➡️ 10. Fechas de inicio

Prueba las estrategias con diferentes fechas de inicio y final para asegurarte de que el rendimiento obtenido no sea efecto de la casualidad.

➡️ 11. No mires al futuro

No mires al futuro (look ahead bias). Si tu señal está basada en el precio de cierre, asegúrate que el sistema no te abre la posición hasta la siguiente vela en apertura.

Además, prueba a cambiar la vela en la que haces la orden de compra y venta. Prueba el cierre del mismo día pero también qué pasa si compras en la apertura del día siguiente. El sistema no debería romperse.

➡️ 12. Future leak

No puedes coger ideas o parámetros una vez visto el futuro y llevártelo al pasado, a eso se le llama “future leak”. Si lo haces, los datos ya no podrían ser considerados como fuera de muestra. Así que o esperas a tener más datos, o no haces esa optimización y la descartas.

➡️ 13. Número de operaciones

Ten una muestra significativa de operaciones con las que te sientas confiado con tu sistema.

Si tiras una moneda 5 veces y las 5 veces sale cara, ¿pondrías la mano en el fuego que es una moneda con 2 caras sin haber visto la cruz? ¿O preferirías tirar 100 veces la moneda para saber que no se trata de una moneda trucada? Se suele decir que a partir de 30 operaciones ya se considera una muestra significativa.

➡️ 14. Parámetros

Pon atención a los parámetros: número de posiciones, el ranking de clasificación, la gestión de la posición o dinero (money management) y el periodo que mantienes una posición antes de cambiarla por otra, quizás haya formas de mejorar estos parámetros.

➡️ 15. Universos

Prueba el sistema sobre diferentes listas, a lo mejor descubres que te funciona mejor en una lista de empresas de grande capitalización en lugar de una lista de pequeñas empresas, o viceversa. Algunas acciones o incluso algunos ETFs se comportan mejor que otros.

➡️ 16. Walk Forward

El sistema debe funcionar hacia delante (Walk Forward). De esta forma, se toma una parte de los datos para optimizar el sistema y se escoge otro segmento para validarlo. Esta técnica también se conoce como validación cruzada.

➡️ 17. Zona robusta

Busca la mejor zona donde los parámetros saquen el mejor rendimiento/riesgo (CAR/MDD), pero no cojas el mejor valor sino uno rodeado de buenos vecinos. La entropía hará que ese sea el mejor en el futuro.

➡️ 18. Montecarlo

Haz un test de Montecarlo, de 1000 curvas de capital, este test desordenará los rendimientos obtenidos y mirará si el 95% del tiempo tu sistema consigue el rendimiento deseado y si logra un MDD dentro de tus márgenes operativos.

➡️ 19. Comisiones y deslizamientos

Añade unas comisiones un poco más estrictas (altas) que las que vas a pagar en real, así sabrás qué tan sensible podría ser al deslizamiento. Hemos visto romperse sistemas solo con poner comisiones.

➡️ 20. Incubación

Usa un periodo de incubación antes de emplear tu capital real. Por ejemplo, puedes probar la estrategia en una cuenta demo durante un tiempo, para verificar que tanto las señales como los resultados corresponden con tu análisis.

➡️ 21. Marcos temporales

Mira los marcos temporales superiores, lo que sería la tendencia de fondo, así tendrás una mejor imagen de lo que está ocurriendo y aplícala sobre tu sistema de trading.

➡️ 22. Tiempo de exposición

Recuerda que no tienes que estar 100% invertido todo el tiempo, si el escenario no es el más favorable para tu sistema, puedes esperar fuera y ver desde la barrera hasta que mejore y volver a entrar en el mejor momento.

➡️ 23. Resultados

No te autoengañes, sé escéptico con los resultados, si parecen demasiados buenos quizás hay algo que no está bien, repasa varias veces los puntos anteriores y si ya lo has hecho, enhorabuena, ya sabes primero en incubación, no te tires a la piscina con dinero real.

➡️ 24. Combina estrategias

Combina sistemas que tengan una baja correlación entre sí, de este modo  aumentará tu racha ganadora,suavizará tu curva de equity y reducirá tu drawdown.

¡Puntúa este artículo!

Total votos: 5. Promedio: 5

También te puede interesar:

¿Quieres acceder a todo el contenido Premium HOY?

+50 códigos de Amibroker

3 Comentarios

  1. Iñaki Pallo Mendez

    Hola.

    Muy buena lista de aspectos a considerar para hacer un sistema robusto.

    En el punto 19 de comisiones ¿Es demasiado excesivo un 0,5% de comisión por cada ejecución del trade, es decir 1% en total por activo?

    Saludos

    • mktsignals

      Quizás sí, es alto y puede que hayamos venido arriba 😀 pero cuanto más consciente seas de poner un valor más alto del teórico en las simulaciones, mucho mejor.

      • Iñaki Pallo Mendez

        La verdad que hay que tenerlo en cuenta y no tener sistemas «demasiado» bonitos. Además que en algunos casos no es la comisión sino también el Spread a tener en cuenta en muchos brokers, hay que mirarlo todo bien. Este catálogo ayuda en eso 😉

        Muchas gracias por responder.

Enviar un comentario

Loading...