Dificultad en el proceso de desarrollo- Ésta es la tarea más complicada, un sistema debe de estar basado en algún patrón repetitivo que haya funcionado en el pasado y a menudo esto es lo más difícil de encontrar. La creación de un sistema partiendo de cero conlleva un trabajo muy extenso de investigación, requiere el empleo de muchas horas probando nuevos conceptos que no siempre son recompensadas. En este proceso también es imprescindible tener ciertos conocimientos de programación y generalmente este estudio exige un gran esfuerzo de aprendizaje.
Poca flexibilidad ante cambios de mercado- Un sistema que está desarrollado para intentar aprovechar cierto tipo de situaciones dejará de funcionar si ese tipo de situaciones cambian. Por ejemplo, un sistema que está diseñado para aprovechar correcciones fuertes en una tendencia alcista podría dejar de funcionar si durante un periodo excesivamente prologado de tiempo el mercado efectúa subidas muy prolongadas mostrando muy pocas correcciones o muy moderadas, en este caso el sistema no es flexible ya que las condiciones del mercado han cambiado y ni siquiera ha detectado ese cambio. Existen numerosas razones por las cuales un sistema podría dejar de funcionar, algunas de ellas completamente normales como veremos en el futuro. En mi opinión, un sistema de trading es una herramienta muy eficaz que siempre debe de estar aplicada bajo la supervisión de una persona preparada para actuar frente a ese tipo de cambios.
Tendencia a crear hipótesis no realistas (sobre-optimización)- Aquí está uno de los mayores entresijos a la hora de crear un sistema, la elección de los parámetros o el tamaño de los gastos originados por comisiones y deslizamientos son algunas de las variables determinantes que pueden afectar a la supervivencia de un sistema, sobre-optimizar un sistema y engañarnos a nosotros mismos es algo extremadamente fácil. El trabajo del operador de sistemas consiste en mantener una lucha constante contra el fantasma de la sobre-optimización a la hora de diseñar sus reglas y elegir sus parámetros.
Conclusiones:
Como hemos visto en estas últimas dos semanas la operativa sistemática tiene ventajas y desventajas, la operativa con sistemas no es el santo grial y como cualquier otro tipo de vehículo que intente acercarse al mercado tiene sus limitaciones. En mi opinión, no pienso que un sistema pueda evitar que el operador deje de tomar decisiones y en consecuencia funcione de una forma 100% automática, sin embargo pienso que aplicado con sentido común es una herramienta necesaria y extremadamente útil que puede ayudar al inversor a aproximarse a los mercados.
Mucho se habla de la sobreoptimización como gran “trampa” durante el diseño de sistemas. Sin embargo tomando como premisa que patrones en los que se basen nuestros sistemas desaparezcan. Por ejemplo porque ya todo el mundo se los sabe e incluso se han creado sistemas en contra de éstos. O bien porque algo hicimos mal durante el diseño y alguna premisa era incorrecta.
Sea como fuer, debemos tener en mente que nuestro sistema (tal vez) dejará de funcionar.
La gran pregunta es: ¿cómo detectar que nuestro sistema ya no es válido y por tanto a dejado de funcionar?
Cuando el drawdown supera las estimaciones más probables?, o cuando vemos que el patrón base ha desaparecido o ha cambiado?
Cómo distinguir la invalidez del patrón de una época concreta del mercado pasajera?
Sorprendentemente no he leído en ningún sitio, ni siquiera un artículo que aborde con seriedad este tema fundamental.
Aunque sí que es verdad que esto corresponde con la última fase del sistema, su muerte. Así que parece no preocupar, todavía, al iniciado en sistemas.
Sin embargo esto es un completo engaño, ya que al poner en mercado nuestro nuevo sistema y empezar a ver los resultados reales que arroja es importante saber si estos son coherentes.
Son peores de lo esperado, pero dentro de los rangos estimados? Mi sistema funciona mal porque he sobreoptimizado, porque el patrón base es falso? O simplemente estoy en un pequeño drawdown inicial que no debe preocuparme?
Pues exáctamente estas mismas preguntas que nos preocupan durante los primeros días y semanas de la operativa, son las que tal vez meses o años después debamos hacernos. y que seguro que nos martillearán la cabeza con cada uno de los sucesivos drawdown, una y otra vez.
Los sistemas son una forma de hacer dinero, pero no una fácil en absoluto.
Si alguien sabe de algún, artículo, informe y/o libro acerca de este tema que yo lo llamaría “Muerte u ocaso de sistemas” (que se supone que en principio fueron válidos durante algún tiempo), le agradecería que me lo hiciese saber.
Gracias por tu comentario, voy a hablar con Jorge a ver si se puede abrir un hilo de sistemas dentro del foro y así podríamos seguir allí con los comentarios, si no nos podríamos extender muchísimo si seguimos aquí con estos temas.
La pregunta es muy interesante y seguro que podremos intercambiar opiniones y aprender mucho sobre el tema, en principio te adelanto que yo lo estoy haciendo a través de simulaciones de Monte Carlo, también se podría hacer a través de otra solución que está estudiando Jorge este año y que parece solucionar el problema (un método estadístico llamado Bootstrap).
Buenas David,
estaría bien poder tener un foro donde poder distenderse algo más sobre estos asuntos.
Respecto a lo de Montecarlo si entendí bien la teoría, lo veo muy util para ver la probabilidad de que el sistema se arruine, o para determinar la probabilidad de sufrir drawdowns de distinta profundidad. Aunque esto puede servir para determinar si nuestro sist se está comportando de manera anómala no creo que nos pueda dar una idea muy clara del nivel de “caducidad” en el q se encuentra el sistema, es decir si está obsoleto.
Respecto al Bootstrap no lo conocía, y lo estoy investigando, pero ya he encontrado algunas referencias
Un último comentario: si bien a nivel español se está empezando a ver gente de con cierto nivel en el desarrollo de sists, el nivel en el que están en USA es impresionante, casi asusta. Se nota que se han tomado los sists en serio; y desde hace tiempo.
Yo pienso que las simulaciones de Monte Carlo también pueden ser muy útiles para comprobar si los datos de tu sistema en real se están alejando mucho o poco de la realidad.
A través de una simulación de MC puedes determinar con un porcentaje del 95% de confianza cual será tu mayor Drawdown en una serie de X operaciones y cual será tu beneficio en la misma serie de X operaciones.
Una vez que tienes los datos reales de esas X operaciones puedes compararlos con los datos de la simulación MC , si ves que los resultados que ha tenido tu sistema están fuera del intervalo de confianza del 95% de la SMC entonces….¡¡Malo, Malo !! .
Efectivamente, haciendo lo que comentas es a lo q me refería a que el sist se comporta de manera anómala.
De todas formas en las primeras operaciones puede confundirnos: podemos empezar a operar casualmente en un mercado con características adversas (un lateral para un sist de Volatility Breakout) y que nos provoque desde un principio un drawdown notable. MC para X operaciones pero tomando todos los trades del backtest nos dirá que esto es improbable, pero está pasando.
El problema de MC es que considera cada operación equiprobable e independiente y por ello no tiene en cuenta que una situación adversa puede sostenerse durante largo tiempo.
La solución a ello sería aplicar un money management que tuviera en cuanta esta dependencia si se demuestra lo suficientemente significativa.
Es un tema interesante, me gustaría que me dideses tu opinión.
Creo qe de nuevo nos estamos enzarzando en otro asunto que estaría mucho mejor colocado en un foro, jeje.
Un saludo.
PS: creo q todavía no lo había comentado pero felicidades por tu labor divulgativa.
Es cierto y es que esa es una de las limitaciones que tienen las simulaciones de MC y me temo que también el método de Boostrap.
Con un algoritmo de gestión monetaria tipo Fixed Ratio o Fixed Fraction podrías reducir el efecto del Drawdown ( de hecho es la única forma que conozco de hacerlo) reduciendo contratos a media que el Drawdown se va haciendo más pronunciado ( sin tener en cuenta la situación del mercado).
Esta podría ser una buena solución pero realmente tampoco da una respuesta de cuando se debe dejar de operar con un sistema.
Seguro que conoces la regla que dice que debemos de dejar de operar con un sistema que dobla en operativa real su máximo Drawdown histórico, si la medición está hecha en % y el back test histórico es consistente esa podría ser una buena solución, de hecho yo es la que utilizo.
Un saludo y muchas gracias a ti por leer los artículos .
Despu
Tracked: May 01, 22:18