¿Cuánto periodo considerar en las optimizaciones de sistemas?
 
 
  • Usted está aquí:
  • Home
  • Optimización
  • ¿Cuánto periodo considerar en las optimizaciones de sistemas?

¿Cuánto periodo considerar en las optimizaciones de sistemas?

 
TradingSys (AndG) - 19 Jun 2008
1 comentario
 

tradingsys Les presento una interesante aportación de uno de los lectores con los que más he debatido estas controvertidas cuestiones en las últimos meses: Polxx. Un incansable investigador autodidacta que lleva dos años operando por cuneta propia y se ha horneado en este complejo mundillo a pie de obra: Webs, foros, kedadas y, sobre todo,  con cientos de horas de incansable trabajo personal, tejiendo con entusiasmo las frágiles velas para navegar en el océano de lo indeterminado.

Aunque no nos conocemos personalmente, he leído con verdadero placer algunas de sus investigaciones sobre sistemas antitendenciales  y sus minuciosos análisis centrados en la selección de parámetros óptimos sobre la técnica del walk forward.

Confieso que en algunos puntos hemos defendido posturas diferentes. Pero en lo principal; la necesidad de enfrentarse al mercado con rigor, perseverancia y profundos conocimientos sobre las plataformas, estrategias y mercados en los que estamos operando, considero que estamos plenamente de acuerdo.


En este artículo vamos a enfocar un tema que pocas veces, o ninguna, se ha mencionado.  Se ha hablado mucho sobre que sistema es mejor aplicar, sobre volatilidades y mercados, de la aplicación de filtros que mejoran los resultados. Pero nunca he oído nada acerca de cuanto periodo de tiempo hay que tomar a la hora de optimizar los parámetros de un sistema.

Partimos del echo de que todo sistema automático tiene unos parámetros. Pueden ser mas o menos, pero inevitablemente siempre hay parámetros.

Y, lógicamente, lo que buscamos son los parámetros que en el futuro darán los mejores resultados.

La primera opción seria elegir esos parámetros intuitivamente, o mediante planteamientos lógicos. No parece una buena idea, al menos no es un método muy científico que digamos.

La siguiente opción es la mas común, que consiste en tomar un histórico de datos pasados y optimizar el sistema. Es muy lógico pensar que los parámetros que mejor se han comportado en el pasado, son los mas próximos a los parámetros que mejor se comportarán en el futuro.

Pero, ¿cuánto periodo de tiempo debemos tomar para hacer las optimizaciones? Supongamos que tomamos solamente 1 mes, entonces analizaremos datos muy recientes, los cuales nos dan una información muy actual de como se comporta el mercado. Sin embargo tenemos muy poco histórico como para fiarnos de los parámetros obtenidos, y estaremos haciendo sobreoptimización.

Supongamos ahora que tomamos 5 años de datos a la hora de optimizar, entonces ya no tenemos el problema de la sobreoptimización. Hay suficientes datos como para que se hagan muchas operaciones y nos fiemos de los parámetros obtenidos. Pero por contra, estamos tomando datos demasiado caducados, y el mercado hoy en día no se comporta como hace 5 años, y ya no nos es válido.

Por tanto, ¿cómo elegimos el periodo de datos?

Planteo 2 alternativas:

 

  • Primera: Si disponemos de suficiente capital como para implementar varios contratos en la operativa, podemos tomar 10 meses de histórico, optimizar y aplicar esos parámetros, y por otro lado tomamos 14 meses para hacer otra optimización y obtener otros parámetros. Pasado 1 mes después de aplicar ambas alternativas, si por ejemplo ha resultado mejor la que tomaba 10 meses, entonces repetimos la misma operación pero esta vez tomando 8 meses por un lado y 12 por otro. De ese modo, vamos acercándonos cada vez mas hasta el mejor enfoque, y además a lo largo del tiempo siempre lo mantenemos en constante adaptación.

 

  • Segunda: Si no queremos manejar unos contratos por un lado y otros por otro, siempre nos queda la opción de simularlo. Para ello haremos optimizaciones externas, pero automáticamente. Es lo que se llama "Walk Forward", que permiten programas como Ninja Trader, Multichart, Tradestation (este último mediante un addon adicional), y que no permite Visual Chart, haciendo de esta tarea algo manual y muy laborioso.

 

La idea es tomar por ejemplo 6 meses de histórico, optimizar parámetros y aplicar esos parámetros en los datos de la semana posterior a esos 6 meses, anotar operaciones, volver a tomar 6 meses de histórico, pero avanzando 1 semana hacia delante, y repetir el proceso hasta completar unos 6 años de datos. Admito que es un proceso que tarda varios dias en calcularse aun teniendo un pc muy potente. Pero si queremos hacer sistemas lo más científicamente posible, no podemos pasar por alto estos cálculos.

Si empleamos Visual Chart, hacer eso a mano seria demasiado complicado, así que lo haríamos tomando 6 meses, optimizando parámetros y aplicándolos no a una semana, si no a 1 mes completo posterior a esos 6 meses. De ese modo tenemos menos precisión pero hacemos menos optimizaciones.

Una vez analizado el resultado de hacer un walk forward de 6 meses repetimos la operación pero esta vez con 7 meses, después 8, 9... Hasta que finalmente comparamos los resultados de todas las optimizaciones hechas, para hallar el mejor periodo de datos a considerar en las optimizaciones. Y no sólo encontramos el mejor periodo a tomar, si no que además los datos estadísticos están sacados de la parte derecha del gráfico, es decir que son los mismos que nosotros hubiéramos tenido en caso de aplicar el sistema. Por contra en una optimización clásica, los resultados son engañosos, ya que hemos aplicado los parámetros conociendo el histórico de datos, y eso siempre dará mejores resultados, pero que son engañosos.

Sin embargo, esta alternativa de "auto-optimización externa", plantea un problema añadido cuando el sistema se compone de muchos parámetros y filtros. Por ejemplo, en algunos sistemas primero debemos optimizar los parámetros básicos que lo componen y después, manteniendo fijos esos parámetros, optimizar los parámetros de los filtros. Así que en sistemas medianamente complejos es imposible dejar esta tarea al procedimiento de walk forward.

Y para finalizar, un ejemplo. En el eje X vemos los días que se han tomado para hacer las optimizaciones desde 20 hasta 740, y en el eje Y se ve el ratio obtenido después de aplicar los parámetros, considerando ratio = Ganancia media anual / mayor serie de pérdidas.

Se han tenido en cuenta comisiones y deslizamientos reales. El sistema es continuo y tan solo utiliza 1 parámetro, y se ha aplicado en EuroStoxx50 desde 2000 hasta 2007, o sea 8 años.

 tradingsys

 

Se observa una clara pirámide que apunta a 380 días (unos 18 meses) como la mejor elección de días a tomar para optimizar parámetros. Lo que significa que la pauta que este sistema trata de explotar para sacar beneficio tiene una caducidad de año y medio, que es lo que tarda el mercado en renovarla.

Evidentemente, cada sistema tendrá una fase de adaptación diferente.

Lo que sin duda esta claro, es que en el mundo de los sistemas automáticos hay muchos caminos por recorrer, tantos que parece algo inacabable...

 

© Polxx, 2008

E-mail del autor: polxxg@gmail.com

 

 

 

 

Comentarios

 

bolsa1 - Muy interesante

Hola Polxx... me parece tremenda la linealidad del gráfico hacia los 180 días. Supongo que haciendo WFO más "burdos" (6 meses - 1 mes) te daría una figura parecida, aunque sólo sea para ahorrarte tiempo... ;-) 
 
Hasta ahora yo hacía WFO sobre los contratos trimestrales de los futuros 28-7 días, y luego anotaba los parámetros más repetidos. Luego, haciendo un backtest normal con éstos, podía comprobar que los resultados eran satisfactorios (no los mejores, pero muy robustos). En los últimos 4 contratos del YM sólo he variado uno de tres parámetros, y en sólo una unidad. 
 
La perspectiva que me presentas es MUY interesante. En cuanto pueda probaré a variar los periodos y analizar la pirámide resultante.. si mejoro los resultados.. la próxima la pago yo. 
 
Aprovecho para elogiar a tradingsys.org, una página donde inexplicablemente aún no había metido las narices, y cada día me sorprende más en contenidos y utilidad... sin duda un referente en cuanto a sistemas automáticos, que siempre menciono cuando me preguntan por material para aprender sobre el tema. 
 
Saludos! (Y un abrazo Polxx!)

Añadir comentario

 
Modificado por TradingSys (AndG) - 19 Jun 2008
 
 

* Campos obligatorios

 
 

 
 

Secciones

 
 
 

Entradas recientes

 
 

Enlaces