¿Cuál es el mejor día de la semana para hacer trading algorítmico? En realidad, esta es una pregunta complicada, déjame explicarte…
Parte de mi rutina normal es desarrollar nuevas estrategias de trading. Siempre estoy probando nuevas ideas, creando nuevas estrategias, para añadir las mejores a mi cartera. Eso es lo que la mayoría de mis estudiantes de Strategy Factory también hacen: producir nuevas estrategias es realmente el alma de cualquier trader de sistemas serio.
De todos modos, el otro día estaba viendo una estrategia que desarrollé. Tenía una curva de resultados bastante buena (fuera de la muestra), y fue rentable la mayoría de los años, e incluso la mayoría de los meses. Luego miré los resultados de cada día de la semana y me sorprendió. Si mi estrategia no operara los jueves, ¡mi beneficio según el backtest aumentaría en más de un 60 %! ¡GUAU!
Mi primera reacción fue ajustar mi código de estrategia y evitar operaciones el jueves. Mi segunda reacción fue admirar la curva de capital sin operar los jueves. Estaba muy mejorada. Mi tercera reacción fue tirar esos resultados y atenerme a la estrategia original.
¿Por qué?
En pocas palabras, me di cuenta de que solo estaba optimizando para un día de la semana. No parecía optimización, después de todo, no ejecuté mi software de trading a través de ningún tipo de optimización computarizada, pero fue optimización de igual forma. Tomé los resultados, y luego, cuando encontré algo mejor, acepté los resultados mejorados. Eso es optimización. Ciertamente creamos un backtest mejorado, pero es malo.
Muchas personas hacen cosas como esta, con el día de la semana, la hora del día o incluso ciertos meses del año. Ellos verán los resultados y luego decidirán qué mantener y qué eliminar. Luego volverán con su estrategia filtrada y disfrutarán de la supuesta gloria de los resultados mejorados.
Incorrecto, incorrecto, incorrecto…
¿Podría haber algún significado en no operar o sí hacerlo en ciertas horas del día, días de la semana o meses del año? ¡Por supuesto! No estoy diciendo que no puedas desarrollar una estrategia que aproveche estas situaciones. Solo tienes que hacer el desarrollo correctamente.
Entonces, ¿cuál es la forma correcta de enmarcar este problema?
Esto es lo que hago…
ANTES de hacer cualquier prueba, si creo que el tiempo/día/mes es importante para mi estrategia, desarrollaré una hipótesis o directrices. Por ejemplo, podría estar desarrollando un sistema de gas natural, y no quiero que el informe semanal de energía del gobierno de EE. UU. me de algún susto al publicarse el dato (generalmente los jueves), así que eliminaré eso de la estrategia: no haré trading los jueves. O, tal vez me asegure de que todos los viernes cierre mis operaciones, para eliminar el riesgo del fin de semana. Tal vez incluso excluya ciertos meses para los futuros de los índices bursátiles (el viejo adagio de “vender en mayo»).
El punto es que desarrollo la idea antes de probarla, no después. Es fácil ver los resultados y luego desarrollar una razón por la que se deben excluir ciertos períodos. Pero eso es solo un sesgo en retrospectiva.
Es mucho, mucho más difícil llegar a la razón antes de hacer la prueba. Pero es la forma correcta de hacer las cosas.
Por lo tanto, puede haber un mejor o peor momento, o un día o un mes para operar su sistema. Pero no busques eso después de hacer el backtest. Si, en cambio, se te ocurre tu enfoque de filtrado/exclusión antes de hacer la prueba, probablemente obtendrás peores resultados (no más resultados seleccionados), pero esos resultados podrían funcionar mejor en el futuro.
¿Haces las cosas de manera diferente? Tal vez este ejemplo te convenza…
Tengo una estrategia, una que comparto con los estudiantes de Strategy Factory. Se originó en una idea simple: que el miedo geopolítico hace que la gente infle el precio del instrumento (podría ser soja, o oro, o petróleo crudo, etc.).
Por lo tanto, la estrategia en sí es bastante simple:
1. Vende en corto en la apertura de una nueva sesión
2. Salir con un objetivo de ganancias o en la apertura de la siguiente sesión (día)
Por lo tanto, podrías probar esto cada día de la semana:
Vender corto el lunes al abrir, salir el martes al abrir de nuevo el mercado.
Vender corto el martes a la apertura, salir el miércoles a la apertura
Vender corto el miércoles a la apertura, salir el jueves a la apertura
Vender corto el jueves a la apertura, salir el viernes a la apertura
Vender corto el viernes a la apertura, salir el lunes a la apertura
PERO, esa no es la forma en que recomiendo hacerlo, ¡esto solo es optimizar!
En su lugar, traté de formular una hipótesis, una idea, de qué día sería el mejor para entrar en este mercado. Después de pensar en ello durante un tiempo, elegí un día y luego desarrollé el sistema.
¿Ves lo diferente que es esto que optimizar para elegir el «mejor» día? Espero que lo hagas.
Entonces, ¿cómo funcionó eso? Para abreviar esta larga historia, esto es lo que encontré:
1. Para el período de prueba en la muestra de 2009-2017, la versión optimizada de la estrategia superó drásticamente a mi versión. (¡Me sentí bastante estúpido!)
2. Para el período fuera de muestra de 2018 y 2019, mi versión superó drásticamente a la versión optimizada. (¡Me sentí bastante inteligente!)
Así que, al menos en este caso, ¡optimimar para elegir el mejor día de la semana fue en realidad algo terrible!
Tenlo en cuenta la próxima vez que veas un gran rendimiento un determinado día de la semana después de la prueba. Es muy probable que no sea el mejor día en el futuro…