Sobreoptimización y ruptura de sistemas

Expón tus sistemas e indicadores y debátelos con otros usuarios.
ROBOCO
Mensajes: 479
Registrado: 01 Nov 2007 17:09

Sobreoptimización y ruptura de sistemas

Mensaje por ROBOCO » 24 May 2016 16:14

A aquellos interesados en operativa sistemática les podría interesar la serie de artículos que vamos a publicar respecto a un concepto que aparece recurrentemente en el Top de preguntas.
En este primero que ha escrito mi socio y amigo Andrés García podemos ver una magnífica introducción a la problemática.

http://www.tradingsys.org/index.php?opt ... 4&Itemid=1

El siguiente lo estoy escribiendo yo y saldrá la semana que viene. Profundizaremos más y estableceremos un marco conceptual de trabajo.

Hay que observar la gran importancia que tiene este asunto dado que afecta directamente a las expectativas que nos puede ofrecer un sistema de trading y por tanto, también a su monitorización.

Espero que os guste. Me gustaría escuchar vuestras opiniones sobre la temática, la cual no se ha abordado (a nivel divulgativo) con esta aproximación en España (hasta donde sé).

Un saludo



Rango Starr
Mensajes: 3219
Registrado: 22 Dic 2014 10:49

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 24 May 2016 18:34

Hola, buenas tardes.

He leído el articulo de Andres, y como siempre, excelente calidad en lo que escribe. Plenamente de acuerdo en que la temática, no ha sido tratada con anterioridad, o al menos no, con la debida importancia.

Estoy de acuerdo en lo que expone en el articulo. De hecho, si hacemos una optimización de parámetros dentro de la zona de robustez , y cogemos el de mejor comportamiento, deberemos dar por hecho, que existe una sobreoptimizacion (que no necesariamente curvefitting), y dar por sentado que se encontrara en la parte alta de resultados previstos, por lo que deberemos estar de acuerdo en que su comportamiento, tendera a ser del 50% previsto , acercándose con ello, a la parte central de la distribución de resultados.....

Por añadir un granito al tema, otra forma de medir una posible ruptura de sistema seria la relación :

net profit(n)/DD(n) > net profit(n-1)/DD(n-1)

puesto que el net profit, tiende a crecer mas rápido que el Draw Down, conforme avanza el tiempo, una posible forma de detección avanzada de que la cosa no funciona correctamente, es que dicha relación decrezca conforme avanza el tiempo....

esto ayudaría también a descubrir algo que también nos interesa. Si existe una variación, en las series de perdidas.....

Puesto que los sistemas tienden a juntarse interactuando sobre un mismo activo, y dichos sistemas tendemos a seleccionarlos atendiendo a una correlacion cercana a 0, o incluso negativa, es interesante saber si alguno de los sistemas ha perdido la "cadencia" de series de perdidas y ganancias, para evitar el peligroso acople... (vamos, evitar muescas de equity de portfolio..)....

No obstante, es únicamente una idea..

Saludos!!

Pd.-Muy interesante la cosa...



Royal
Mensajes: 55
Registrado: 15 Mar 2016 09:19

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Royal » 24 May 2016 18:49

hola roboco, he leido ela rticulo,, me parece bien explicado el tema,, opino que ningun sistema es infalible y todos terminan rompiendo, ,,,gracias por el enlace ys uerte



Avatar de Usuario
agmageton
Mensajes: 3314
Registrado: 30 Ene 2008 11:32

Re: Sobreoptimización y ruptura de sistemas

Mensaje por agmageton » 25 May 2016 09:06

Gran articulo, lo leí hace unos días, mi opinión es que representa una evolución importante, después de que en el año 2006 Kevin Davey presentará al mundo retail (no sé si antes ya se conocía), mediante las simulaciones de Montecarlo, como un desencadenante a la rotura de sistemas, ahora la evolución en la robustez de la lógica como piedra angular, puede que presente un marco más eficiente a la hora de generar el proceso de optimización, o la rotura definitiva del mismo.

Hay una cosa clara, los mercados cambian con mucha frecuencia y ese es un límite por desgracia infranqueable, sobretodo si lo que hace nuestro sistema es intentar capturar las ineficiencias que están presentes en una etapa o época de mercado, ante conductas del precio no observadas anteriormente poco se puede hacer, más que refundar el sistema, pero quizás el análisis de la potencialidad de la lógica nos puede llevar a un método de trabajo más eficiente, quedo pendiente de tu próximo articulo Roboco, para ver por donde van los tiros.

Saludos y un placer poder intervenir en estos hilos con tanta calidad, que falta hacen.


Prefiero una buena oportunidad con expectativa mediocre, que una mala oportunidad con expectativa excelente, porque la mala oportunidad te hará perder la expectativa.

Rango Starr
Mensajes: 3219
Registrado: 22 Dic 2014 10:49

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 25 May 2016 11:28

Hola buenos días....

Como es el personal..... algunos ya hasta le llaman " tienda" y todo....

http://forex-shop.com/free-ebook-buildi ... g-systems/

X-Trader habrá que demandar al personal por "plagio"..... esta lleno de "tiendas en la esquina"......
:roll: :roll: :roll:
Saludos!!

EDITO.-

El enlace va a una descarga del ebook de Kevin J. Davey, "Building winning algorithmic trading systems", de la Wiley, por si le quereis pegar un vistazo....



ROBOCO
Mensajes: 479
Registrado: 01 Nov 2007 17:09

Re: Sobreoptimización y ruptura de sistemas

Mensaje por ROBOCO » 25 May 2016 14:34

Básicamente se trata de un cambio en la visión que tenemos de las estrategias...tampoco quiero desvelar nada aún del artículo que estoy escribiendo.

Uno de los mayores problemas a los que se enfrenta un trader es determinar las expectativas reales de una estrategia: Esto es fundamental, porque para poder monitorizar adecuadamente un sistema debemos poder realizar contrastes respecto a su valor esperado. Si las expectativas están mal calculadas, la rotura se producirá independientemente de que el sistema esté roto estadísticamente o no.

Tradicionalmente se ha asociado una curva de equity "out of sample" como representación de la expectativa del sistema. Esto es el enfoque de monotest o en lenguaje más coloquial "un solo hilo"
Un enfoque basado en distribuciones, multitest o "multiples hilos" nos aporta una visión mucho más global de lo que una esstrategia puede aportar.



Avatar de Usuario
agmageton
Mensajes: 3314
Registrado: 30 Ene 2008 11:32

Re: Sobreoptimización y ruptura de sistemas

Mensaje por agmageton » 25 May 2016 15:28

Marcos Lopez en un articulo decía, que uno de los problemas más comunes en los sistemas era el número de observaciones que tenía, que normalmente es insuficiente en las pruebas in simple, out simple.

Crees que si el análisis se hace más completo (multi hilo), con mucha más información para comparar, puede paliar el problema de la falta de N observaciones, y en consecuencia tener una mejor información para saber donde estamos metiéndonos con esa estrategia, o son cosas distintas...

saludos.


Prefiero una buena oportunidad con expectativa mediocre, que una mala oportunidad con expectativa excelente, porque la mala oportunidad te hará perder la expectativa.

ROBOCO
Mensajes: 479
Registrado: 01 Nov 2007 17:09

Re: Sobreoptimización y ruptura de sistemas

Mensaje por ROBOCO » 25 May 2016 15:37

Por supuesto...Agma..en realidad todo se reduce a que una estrategia no está caracterizada por una única curva que aporta las caracterísitcas técnicas, sino por todo un abanico de ellas que generan una distribución de resultados posibles compatibles con esa lógica. Si tu coges una única curva de capital no puedes, sólamente con ella, determinar si la lógica que la genera tiene edge o no.
A lo sumo podrás calcular las probabilidades de que esa curva no sea debida al azar. Sin embargo si el número de tests lo incrementas. casi puedes obtener cualquier curva que quieras ....sin tener ventaja estadística.

Por eso cualquier curva que veáis por internet, tiene una valor cualitativo muy, muy relativo.



Avatar de Usuario
agmageton
Mensajes: 3314
Registrado: 30 Ene 2008 11:32

Re: Sobreoptimización y ruptura de sistemas

Mensaje por agmageton » 25 May 2016 15:43

Y siempre va a depender de la curva de capital o curvas de capital, siempre del análisis de P/L?, digo esto porque si analizamos en precio y vemos que el comportamiento de la lógica por poner un ejemplo en una volatilidad N es más robusta con una horquilla de parámetros, y la volatilidad N2 con otra, en análisis puede estar más en el precio que en la P/L, aunque la P/L como no puede ser de otra manera nos aporta la prueba empírica, de que eso es así...o es un error hacerlo así?


Prefiero una buena oportunidad con expectativa mediocre, que una mala oportunidad con expectativa excelente, porque la mala oportunidad te hará perder la expectativa.

Royal
Mensajes: 55
Registrado: 15 Mar 2016 09:19

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Royal » 25 May 2016 15:59

esto lo veo desde el equilibrio y desequilibrio,, , lo que es lo mismo la oferta y la demanda que precisamente ese desequilibrio creado es el que vicia hacia un lado la tendencia (sea equity, balance, la cotizacion, lo que sea)

una cosa,, para programar estoy con PDV pero tiene solo 2 meses de historia ,, ahora me han hablado de metaquotes que esta bien para esto ¿que diferencia hay entre unos sitios y otros para profundizar en este campo?=,, gracias



Royal
Mensajes: 55
Registrado: 15 Mar 2016 09:19

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Royal » 25 May 2016 23:08

quiero comentar algo: veo un error el pretender comparar de cerca (es decir ajustado en tiempo y niveles) un modelo al mercado real,,,cuestion de tiempo que ese parelelimo, se tope con la cruda realidad que es la de una cosa es lo esperado o pasado y otra diferente lo presente o nuevo por venir (cambios constantes) lo que al entrar en contrastes provoca desequilibrios entre modelo y realidad,, es cuestion de tiempo y movimientos que estos entren en descorrelacion, y claro a mas especificacion o especializado mas fuerte sera la caida ,, pongo un ejemplo: uno que sabe de albañileria,, puede llegar a especializarse y construir desde la bodeguita hasta una terraza con piscina en todo lo alto del sitio pero cuando se queda sin trabajo le ofrecen cosas en el sector financiero mas concretamente en una mesa con un telefono y varias pantallas y claro no sabe que hacer porque siempre se dedico al ladrillo,,

bien pues esto es lo que veo que ocurre al especializarse,, al optimizar de mas algo

claro por otro lado esta la vertiente de lo poco optimizado,, en ese caso el que hace de albañil trabaja pero es chapuza,, entonces este donde este, si vale que hara de todo pero todo sin buena rentabilidad medio largo plazo,,, esto seria un modelo poco optimizado que va "sin fiabilidad" en cualquier marco temporal,,serie temporal,, mercado,,, etc.. cree que sabe lo que hace sin ser verdaderamente consciente del desequilibrio latente en su trayectoria,, bueno espero que se me entienda algo



Avatar de Usuario
X-Trader
Administrador
Mensajes: 10799
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Sobreoptimización y ruptura de sistemas

Mensaje por X-Trader » 26 May 2016 10:05

Hola Roboco, gracias por compartir el artículo, como siempre Andrés brillante. Eso sí, tengo una pregunta que me imagino que responderás en el siguiente artículo: normalmente uno no sabe que un sistema está roto hasta que realmente está roto. Es decir, uno puede hacer todos los tests que quiera para saber si el sistema ya está roto pero a priori no puedes saber si se va a romper (como digo yo, el pez no ve el agua en el que nada). Me imagino que en el siguiente artículo de la serie trataréis este tema y si es posible anticiparse a la rotura del sistema, ¿me equivoco?

Saludos,
X-Trader


"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."

Avatar de Usuario
clowner
Mensajes: 185
Registrado: 27 Ene 2011 08:23

Re: Sobreoptimización y ruptura de sistemas

Mensaje por clowner » 26 May 2016 10:36

Hola,

los artículos de Andrés geniales siempre, que ganas de leer tu próximo articulo ROBOCO, siempre vais un paso por delante. Este hilo va a estar muy chulo si no se estropea. Reflexionando un poco sobre el tema, estamos hablando de dos cosas, por un lado reducir al máximo el fantasma de la sobreoptimizacion y detectar cuando un sistema esta roto. Centrandome en la detección de rotura de un sistema, creo que la deberiamos llamar, detección temprana de rotura de un sistema, esa es la clave, entre los distintos métodos que tengamos implementados para este fin, yo trabajaría muy a fondo los de detección temprana, ya que los métodos clásicos, como MDD Montecarlo, etc, te suelen indicar la parada del sistema de una forma bastante tardía e indicándote ya una parada abandono del sistema, buf! esto da para escribir libros. En mi opinión hay que centrarse en los métodos rápidos, ya sean estadísticos como SPC, o subsistemas de riesgo que están operan por encima del propio sistema/porfolio (como una capa independiente).

El problema es que cuando intentamos detectar que algo no esta funcionando bien de forma rápida, no nos queda otra que analizar muestras realmente pequeñas, en el limite de la significación estadística, estoy hablando de tomar decisiones cada muestras de 5 o 10 trades. No podemos esperar 30, 50 o 60 trades quedandonos de brazos cruzados esperando a ver que valor nos arroja el estadístico de turno (T-test, etc.) para tomar una decisión porque problablemente ya no tengamos cuenta para entonces, a no ser que tengamos un riesgo por trade realmente pequeño. Así que no nos queda otra que trabajar montecarlos, SPC, y subsistemas de riesgo que paren el sistema al mínimo indicio de que algo no funciona como toca. El responsable de esto es la naturaleza de la propia ineficiencia que estemos trabajando y enlazo con lo que dice ROBOCO, muchos sistemas no están rotos cuando parece que lo estan, simplemente no tenemos un método correcto de detección de rotura, si, el edge puede desaparecer, pero no olvidemos que la manifestación del edge es intermitente, nunca sabes la extensión de un régimen de mercado no favorable para tu edge que puede hacer saltar todas tus alarmas de parada cuando el edge esta todavía vigente.

Conclusión, y es mi opinión, hay que tomar decisiones cada grupos de 5, 10 o 15 trades.

Siento el rollo. Este hilo da para mucho, aprovechemoslo que hay muy pocos hilos así.

Gracias por los aportes ROBOCO.



Josephine
Mensajes: 987
Registrado: 02 Feb 2011 04:46

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Josephine » 26 May 2016 11:15

´
Última edición por Josephine el 04 Oct 2017 22:28, editado 1 vez en total.



ROBOCO
Mensajes: 479
Registrado: 01 Nov 2007 17:09

Re: Sobreoptimización y ruptura de sistemas

Mensaje por ROBOCO » 26 May 2016 11:19

X-Trader escribió:Hola Roboco, gracias por compartir el artículo, como siempre Andrés brillante. Eso sí, tengo una pregunta que me imagino que responderás en el siguiente artículo: normalmente uno no sabe que un sistema está roto hasta que realmente está roto. Es decir, uno puede hacer todos los tests que quiera para saber si el sistema ya está roto pero a priori no puedes saber si se va a romper (como digo yo, el pez no ve el agua en el que nada). Me imagino que en el siguiente artículo de la serie trataréis este tema y si es posible anticiparse a la rotura del sistema, ¿me equivoco?

Saludos,
X-Trader

Básicamente esta serie de artículos que estamos elaborando se centra en cambiar un poco la percepción que se tiene sobre las estrategias de trading, cómo caracterizarlas (estadísticamente) para poder estabelecer expectativas realistas, intentando minimizar errores TIpo I y II (sobre todo tomar por buenas cosas que no lo son pero también descartar cosas que en realidad son buenas).
Esto implica que la tradicional aproximación por WalkForward de una sola curva no puede usarse como paradigma de la estrategia....y tener expectativas realistas es vital porque la monitorización posterior de los resultados toman como base esa caracterización...es decir comparas los resultados reales con los obtenidos en Walk Forward. Si las muestras obtenidas en real te indican que las poblaciones son distintas el sistema se considera roto. Así que el asunto está en si un Walk Forward tradcional representa fielmente lo que puedes esperar de la estrategia....y aquí la respuesta es NO (como norma general y de ahí que pasemos a un efoque multitest) aunque en muchos casos es una buena aproximación. Esta conclusión es contraria a los mecansimos de evaluación tradicionales y de ahí que el enfoque sea relativamente nuevo.

Sobre el tema de la detección anticipada de un sistema, depende de los fundamentos en los que está construido el sistema. El trader particular (retail) que no tenga conocimientos científicos, econometría, series temporales, etc (es decir una gran mayoría) desarrolla sus estrategias por "Data Minning", es decir buscando patrones recursivos en los gráficos, no le importa si existe una causa fundamental o empírica (analizando la serie temporal) por la que un determinado conjunto de reglas parece capturar una ineficiencia. Por ello, sólo puede evidenciar la rotura de un sistema cuando se han producido una muestra significativa de operaciones que estadísticamente determina que está jugando a una cosa distinta de la prevista. No hay forma de poder adelantarse al Drawdown sin esa muestra de trades.

Sin embargo, un Quant que basa su modelo en causas fundamentales o empíricas sobre el gráfico, puede constantemente verificar si las condiciones que son la lógica de su modelo se siguen cumpliendo o no...y para eso no necesita una muestra de resultados negativos. Este es un enfoque mucho más potente porque no te hace falta entrar en Drawdown para parar un sistema.

Os pongo un ejemplo. Imaginad que observando las series temporales un tipo detecta una ineficiencia que se produce a una determinada hora, de forma recurrente durante años (puede ser debida a que una mano fuerte tenga un algoritmo que la provoque siempre a esa hora), pongamos para simplificar que a las 21:00 en el CL hay un pico de volumen bestial durante unos segundos. Si construyes un modelo que se basa en que a esa hora se produce la ineficiencia... no necesitas comerte un Drawdown en caso de que la ineficiencia desaparezca....simplemente monitorizas si la ineficiencia permanece o no. Si deja de existir, el modelo no tiene fundamento para seguir utilizándose.

La diferencia, por tanto, entre un modelo "quant" y uno por "data minning" es que en el segundo caso, el desarrollador no sábe por qué funciona la estrategia...no sabe, por tanto, por qué debería seguir funcionando en el futuro. Ojo, esto no quiere decir que la ineficiencia no esté y no se pueda explotar, simplemente que el "peaje" que hay que pagar es estar dispuesto a comerse un Drawdown que justifique la rotura, nada más.

Por eso, desde hace años vengo diciendo en cada oportunidad que tengo, que se desarrollen modelos que tengan "sentido"...es decir, que haya alguna "causa" que lo genere o que se pueda detectar independientemente de la serie de resultados obtenidos.

Un saludo




Responder

Volver a “Sistemas y Estrategias de Trading”