Llevo algunos años haciendo esto, pero recientemente, desde que empecé a juguetear de nuevo con una vieja estrategia de trading de pares mía, al actualizar las bases de datos antes de ejecutar las pruebas, estuve pensando en los precios utilizados.
Estaba acostumbrado a obtener todos los precios de cierre ajustados, los dividendos, los splits, los inplits, las bonificaciones, etc., y a ejecutar la estrategia con ellos, pero al observar algunas de esas series temporales y compararlas con las series no ajustadas que obtengo directamente de la bolsa (¡santo parsing, hombre murciélago!) me di cuenta (lo obvio) de que algunas acciones están muy lejos de sus precios "brutos", no ajustados, y que eso podría llevar a algunos errores de datos realmente grandes, contaminando los resultados.
Me encontré con un pequeño libro blanco en el que el escritor habla de estos temas e intercambié algunos correos electrónicos con algunos veteranos del sector. Este último me dijo que simplemente utilizan precios ajustados para todo en los procedimientos de backtest.
Estaba pensando, ¿no es un poco exagerado utilizar precios ajustados para imitar la ejecución de las operaciones?
Estoy ejecutando una operación de pares cointegrados sencilla con algunas campanas y silbatos en la parte superior, y la diferencia entre los dos conjuntos de datos, ajustados y no ajustados es demasiado grande.
¿Consideraría la posibilidad de utilizar las series ajustadas para la muestra / cointegración / activación de la señal, y luego sólo utilizar los precios reales sin ajustar en esos momentos? (al activar una operación, por ejemplo)
¿O sólo usarías los ajustados y ya está?
La única parte que tengo clara aquí es la de no utilizar las series brutas en el análisis de cointegración y activación de señales, demasiados saltos, gaps, con todos los dividendos, eventos, splits, etc.
Saludos cordiales
0 votos
¿Qué cifras utilizaría su estrategia cuando se lanzara al mundo real? ¿Se realizaría realmente un precio bruto? ¿O se invertiría/alteraría antes de poder actuar sobre él?
0 votos
Hola a todos. Gracias por la respuesta. En el mundo real siempre he utilizado precios ajustados hacia atrás con todos los dividendos incluidos, splits, etc. Luego operaba con los precios reales en tiempo real, cuando se activaban las operaciones (utilizando las series temporales ajustadas para la generación de señales). La cuestión es que, cuando hago backtesting, no tengo los "precios reales del tiempo real" en el momento de la activación de la operación. Sólo puedo elegir entre utilizar los ajustados, o los crudos sin ajustar.
0 votos
Todo lo que digo es que tienes que realizar tus pruebas de espalda en lo mismo que se ejecutará cuando se ponga en marcha. Si no puedes, entonces necesitas lo más parecido que puedas conseguir. Si no tiene datos equivalentes a los que va a utilizar cuando esté en funcionamiento, ¿qué representa realmente su prueba retrospectiva?
0 votos
@will Estoy de acuerdo, pero cuando uno no tiene los datos exactos, ¿cuál sería más correcto? Sinceramente no sé si usar precios brutos para activar las operaciones y precios ajustados para modelar (lo que estoy haciendo ahora) es la mejor manera de estar lo más cerca posible del mundo real. Para hacerlo correctamente tendría que obtener todos los eventos ocurridos a cada acción específica y luego adaptarlo en una ventana rodante de algún tipo, a medida que el backtest pasa. Eso, lamentablemente, no es una opción..
1 votos
¿Tienes algún juego en el que tengas ambos para comparar? ¿O nada en absoluto? ¿Qué pasaría si ejecutaras tu algoritmo y se encontrara con un precio que se ajustara? ¿Se daría cuenta realmente? Supongo que esa es la pregunta importante.
0 votos
Si estoy largo, ganaría los dividendos, si estoy corto, los pagaría, en un ejemplo simplista. En el mundo real, obtuve resultados mucho mejores al comparar con backtests utilizando precios brutos no ajustados, a pesar de que parecían ser "los más correctos" para la ejecución de las operaciones. Al comparar usando precios ajustados y no ajustados, los resultados ajustados son mucho mejores, pero sus precios tampoco son los mismos que los precios reales eran en ese momento específico de la operación, si eso estaba sucediendo en el mundo real en tiempo real.
0 votos
Bueno, en ese caso, obviamente hay que modelarlas en las pruebas retrospectivas, pero en ese escenario, obtendrás/perderás en efectivo lo que pierdas/ganes en valor de la cartera, así que ¿es realmente un problema?
0 votos
@will he editado la respuesta anterior. Le di a enter por error. Hace una diferencia debido a la espalda ajuste de los precios cuando hay un evento como un dividendo, o algo similar
0 votos
Ah, ¿estás diciendo que en la realidad se obtiene/pierde el dividendo, pero en la prueba posterior sólo se ve como un salto, por lo que no se obtiene el div en la prueba. ¿No puedes conseguir los datos de los dividendos? En cuanto a "cuál es mejor usar" no lo sé. Y parece que no puedes probarlo realmente.
0 votos
@will sería tanto trabajo, y, o, caro, que no es posible. Exactamente. Sólo puedo elegir entre tener un salto (serie no ajustada) o una serie completamente ajustada hacia atrás sin ningún salto.