Sobreoptimización y ruptura de sistemas

Expón tus sistemas e indicadores y debátelos con otros usuarios.
Rango Starr
Mensajes: 3216
Registrado: 22 Dic 2014 10:49

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 26 May 2016 19:11

X-trader, no pasa nada.... posteare como los indios, en monosílabos......
Jau! gran jefe bollinger! :D



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 26 May 2016 19:28

ROBOCO escribió:Rango,

1) Cuando nos referimos a "sistemático" se hace en contraposición de "discreccional" (en las distintas bases de datos institucionales te hacen determinar si eres sistemático o discreccional). La idea es que las señales estén generadas por algoritmos...sean luego ejecutadas de forma automática o manual.

2) La diferencia entre "quant" y "data minning", básicamente es que el primero utiliza el método científico. Es decir plantea una hipótesis y la comprueba. Creo que hay un malentendido aquí...la diferencia está en el Diseño, no en la Evaluación. La evaluación la pueden hacer ambos de la misma forma, con sus estadísticas y tal....pero el Diseño es totalmente distinto.

La ineficiencia tiene una causa, puedes conocerla o no. Un ejemplo muy típico, con una causa fundamental fuerte: el bias de los índices hacia el lado largo...tiene causas: inflacción, suvivorship bias, etc...., la distribución de los precios no está centrada en cero.....pues podrías trabajar el concepto de desarrollar sistemas "sólo largos"...tiene un apoyo empírico y fundamental.....
Roboco,

1) Si se que eso es asi. Los anglosajones son muy "borricos" conceptual y etimológicamente. Estaria mejor dicho "algorítmicos", versus "discrecionales", estableciendo como única diferencia el que el algorítmico entra y sale si, o si, cuando el sistema le marca (tanto manual como automáticamente), y el discrecional, cuando le marca, interpreta a su "discreción", si entra o no, atendiendo a la situación del momento del activo.... todo tiene sus pros y contras...

2) no existe diferencia entre quant y data minning..... el quant es una progresión dentro del data minning. De hecho, tu creas tu hipótesis, y luego la contrastas con los datos del activo, como no puede ser de otra forma. Continua siendo una aberración conceptual anglosajona, de los cuales tragamos todo lo que nos viene...

bueno, pero todo esto, al final no tiene la mas minima importancia. Un sistema andara o no, conforme explote una ineficiencia o un florero....

A lo que iba, (y lo meto en otro post, que llevo ya 6 con este en el que actúan los duendes.....)



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 26 May 2016 19:50

Hace algún tiempo compre una licencia del strategyquant.....

para investigar, el programita esta bien, posteare que hago con el....

Con el, una vez le metes los parámetros base de creación de estrategia, le metes una serie extra de cosas....

por ejemplo, los requisitos de aceptación en databank de estrategias. Ahi, yo siempre coloco lo típico, y además, que el net profit del robust test sea mayor que cero.....

¿Qué quiere decir esto?.... pues que en el modo creación aleatoria, le puedes pedir , que el in sample mayor que cero, el out sample mayor que cero, y...."las simulaciones Montecarlo" mayores de cero.....

pero es que dentro de las simulaciones de Montecarlo, puedes incluir desviaciones porcentuales de los parámetros utilizados,

por lo que en el mismo proceso de creación de estrategias, estas haciendo la simulación de las diferentes salidas de la misma lógica con diferentes parámetros. Puesto que el criterio de validación lo realizas al 95 % de confianza, estas dando por buenas toda una serie de lógicas con una serie de parámetros que se comportan positivamente.... de la inspección ocular de las simulaciones, también (pero esto es un proceso no cuantificado), observas el grado de dispersion de las diferentes lógicas, la inclinación, y si existe algún sistema que da la nota. Asimismo si el sistema creado se encuentra medianamente centrado en el trazado de lógicas, o por contra esta por encima o por debajo....

supongo, que un poco lo que estais hablando va por aquí.....

Luego por supuesto cribarias y seleccionarías una o dos lógicas que pueden ser validas. Y ahi, pues a pasarle la optimización, el walk forward, o el walk forward matrix, y la substitución de partes de la lógica, o implementación de nuevas....
y luego por fin investigar esa lógica. Saber cual es su fundamento.. (suelen ser series de lógicas parecidas, que deben tener un componente fundamental troncal)....aun quedarían mas cosas pero no competen aquí.

Bueno esto un poco por encima.... supongo que este proceso podríamos llamarlo "antiquant", ya que primero descubres el efecto, y luego investigas la causa...

Saludos!!

Pd. X-trader, ya he visto que me has corregido algo....debe ser el autocorrector, porque a Agma tambien le he visto "In simple" ,"out simple"...



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por ROBOCO » 26 May 2016 20:07

Rango Starr escribió:
ROBOCO escribió:Rango,

2) no existe diferencia entre quant y data minning..... el quant es una progresión dentro del data minning. De hecho, tu creas tu hipótesis, y luego la contrastas con los datos del activo, como no puede ser de otra forma. Continua siendo una aberración conceptual anglosajona, de los cuales tragamos todo lo que nos viene...


A lo que iba, (y lo meto en otro post, que llevo ya 6 con este en el que actúan los duendes.....)
Rango, esto es importante..hay un diferencia esencial entre cómo diseña un "quant" una estrategia y cómo lo hace un trader particular con la plataforma de turno. Te lo puedo decir porque yo he elaborado estrategias de ambos tipos. Pondré un ejemplo porque será mucho más intuitivo:

Un particular para desarrollar una estrategia sacaría un gráfico, observaría algún tipo de patrón o comportamiento y se pondría a programar aquello que ha visto. A lo mejor necesitaría usar indicadores (que desarrollase él mismo o que viniesen por defecto en la plataforma). Digamos que que ha visto que si hace un spread entre el futuro del petroleo y Repsol, dicho spread presenta un comportamiento de reversión a la media y puede explotarlo. Lo que hará un trader particular es ponerse a programar una estrategia y aplicarla sobre el spread a ver qué sale.

Un quant, en cambio lo que hará si ha visto ese mismo spread es preguntarse si ese spread presenta realmente dicho comportamiento de reversión a la media, formulará una hipótesis nula y aplicará un test estadístico a la serie temporal del spread (sea un ADF, exponente de Hurst...o el que sea). El resultado de ese test le dice si efectivamente esa serie presenta esas características o no con un grado de confianza dado. En caso de que así sea programará una estrategia.

Puedes ver la diferencia, el quant no asume nada, comprueba la series de datos. Un trader particular ve una linea ascendente y dice "esto se mueve por tendencias", un quant no.

¿Qué es lo que ocurre?, que si tu observas un comportamiento en la serie temporal, sobre la que está programado el sistema, entonces te basta con monitorizar si la serie sigue presentado ese carácter para mantener activa la estrategia o no...un trader particular en cambio...se come el Drawdown.

Cosas a favor para el trader particular, pues la rapidez en crear prototipos y por tanto la cantidad de ideas que puede testear. Un trader que opera en su casa, ante todo debe ser práctico, no puede enfangarse 2 meses en determinar si una idea merece la pena o no.

Espero que quede más claro ahora



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 26 May 2016 20:48

Roboco,

Si. esta claro.... Es como lo que digo yo de las medias.... Las medias tienen absolutamente todas un comportamiento de reversion a la media.....(parece un Perogrullo, pero no lo es. Lo llevan implícitamente escrito en su descripción).

Pero al final, a un retail, no le saldrá a cuenta como dices comportarse como "quant", Su problema sera también otro. Capital necesario..... Para minimizar DD, no queda mas remedio que diversificar y masificar lógicas, estas si, descorrelacionadas. Pero con capital reducido, se hace complejo.... ¿Qué queda entonces?, poca cosa... discrecional y gusanillo fuera.

Saludos!!



Gratphil
Mensajes: 473
Registrado: 08 Jun 2013 12:24

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Gratphil » 26 May 2016 21:15

Buenas tardes,

En relación al artículo de Andrés, quería comentar o aclarar algún punto con el que no estoy de acuerdo. No sin antes decir que lo considero como el principal divulgador de trading sistemático en España.

1) Existe sobreoptimización si los resultados OS son inferiores a la media o mediana OS obtenida con el conjunto de combinaciones paramétricas y no a la mediana IS que comenta en el artículo.

2) No entiendo que se pueda considerar sobreoptimizada o infraoptimizada aquellas curvas IS que se alejan varias desviaciones típicas de su media. La sobreoptimización solo podemos comprobar que efectivamente se produce a posteriori y se da fundamentalmente por utilizar un histórico insuficiente para el número posible de combinaciones paramétricas. Aquí parece que asume la utilización de históricos insuficientes al decir que en cada corte temporal será optima una combinación paramétrica distinta.

3) Que la sobreoptimización esté sobrevalorada. Por supuesto que lo importante es la lógica del sistema y que debería dar resultados en la mayor proporción posible de las combinaciones paraméticas. Al fin y al cabo lo que la lógica determina es la robustez del sistma pero la combinación que cogemos en el WF y operativa real es la mejor de acuerdo al ratio diana, por tanto la sobreoptimización, incluso con lógicas robustas es muy peligrosa.

Un tema impotante a vigilar es el número de combinaciones que el sistema puede elegir y este número hay que adecuarlo al histórico de qué disponemos. Por supuesto que en el ejemplo que puso 7 años de histórico y 2 millones posibles de combinaciones, seguro que entre esos 2 millones existe una combianción que se pega al histórico como un guante. Si el sistema es robusto para qué tantas combianaciones posibles.

Por último la sobreoptimización es algo en lo que caemos inconscientemente incluso cuando preparamos un sistema en el in sample. De alguna manera si nuestro grado de conocimiento del mercado es grande ya sabemos lo que va a funcionar o no fuera de muestra, incluso que lógicas.

Saludos



Gratphil
Mensajes: 473
Registrado: 08 Jun 2013 12:24

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Gratphil » 26 May 2016 21:39

Roboco,

En el ejemplo que pones de un quant trabajandose el spread de Repsol y el futuro del petroleo. Qué bases tiene para determinar que el sistema se ha roto que no sean las habituales DD´S, Chi cuadrado, rotura de bandas de Montecarlo?

Saludos



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Rango Starr » 26 May 2016 22:29

Gratphil,

Desde hace algún tiempo considero que las desviaciones del net profit /DD , vamos una especie de Calmar ratio pero sin la limitacion a 3 años, es la mejor manera de saber que "algo no va bien"... .....según ROBOCO, :

".....¿Qué es lo que ocurre?, que si tu observas un comportamiento en la serie temporal, sobre la que está programado el sistema, entonces te basta con monitorizar si la serie sigue presentado ese carácter para mantener activa la estrategia o no...un trader particular en cambio...se come el Drawdown......."

monitorizar la serie temporal, es la clave. Pero eso me crea una duda...¿ existirá un cierto tiempo en el cual establezcamos que la serie temporal falla?.... de ser asi, el quant también estaría sometido a un DD de otra especie.

Pero puesto que son cosas que no domino, mejor no adelantar respuestas.

Saludos!



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Royal » 26 May 2016 23:23

hola,,deciros que no entiendo de programacion en profundidad y me he metido a aprender a programar,, me esta resultado muy dificil ya que aprender algo de mayor cuesta mas que de joven pero ahi estoy leyendo que hasta se me ha pasado el plazo de uso gratuito de programas jjejjeje pero bueno que se le va a hacer,, soy manual entonces tengo ideas de muchos años y quisiera probar en automatico algo que merezca la pena,, me esta mucho aclarando leer este y otros hilos,, estare pendiente a proximos articulos tambien, gracias a todos



Avatar de Usuario
cls
Mensajes: 1268
Registrado: 24 May 2007 18:46
Ubicación: Zion

Re: Sobreoptimización y ruptura de sistemas

Mensaje por cls » 27 May 2016 09:16

ROBOCO escribió: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.
Gracias por el post ROBOCO. Ojalá que llegue lejos.

No te he entendido el comentario que he citado arriba sobre que un quant no sufre el draw-down.
Si está operando lo sufrirá igual. La manera de evitarlo será que sólo observe.
No sé, algo no te he entendido. A fin de cuentas un sistema si está bien diseñado y programado tendrá que estar monitorizando continuamente la serie de precios (o de lo que sea que trate su fuente de datos, como picos de volumen), pero si está operativo o bien estará en profit aprovechando la señal o sufriendo drawdown si la señal no fue buena. Independientemente de que seas quant o no quant.

Saludos



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por agmageton » 27 May 2016 09:23

Este hilo es muy importante, creo que es de los mejores que ha tenido el foro, en resumidas cuentas lo que se trata es de una evolución, sobre si el edge que estamos explotando esta más expuesto a la optimización de las observaciones o la fortaleza de la lógica. Yo personalmente he experimentado este hecho, como no tengo la base quant, pero entendí hace tiempo que esto era así, mi forma de enfocar mayor número de observaciones, es mediante mayor número de activos, claro que son formas diferentes de trabajar, pero en este caso se busca aumentar el número de observaciones sobre una lógica, en mi caso puede haber anomalías presentes en un tipo de activo pero en otro no, esto a mi, por mi forma de trabajar se me escapa, yo lo que busco es que la lógica pueda ser explotada desde diferentes activos, esto limita mucho el tipo de anomalía a explotar, pero por contra evitas temas de optimización, y como no, el número de sistemas a explotar es muy reducido, porque el 99% de cosas que pruebo van a la papelera. Pero por ahí te das cuenta si una lógica es fuerte y florece por encima de la optimización, o nuestro edge esta más a expensas de un número limitado de observaciones que pueden llevar a recrear más una optimización que una lógica fuerte que es lo que produce el edge, y en consecuencia no saber cuando esa lógica puede desaparecer de una forma más medible.


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

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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por agmageton » 27 May 2016 10:11

agmageton escribió:Este hilo es muy importante, creo que es de los mejores que ha tenido el foro
Rango Starr escribió:Pero tanto como decir que es el mejor hilo del foro...
:-D tampoco vamos a entrar a debate sobre eso, pero he dicho de los mejores no el mejor, pero es importante que se entienda, que el 99% de los sistemas que creamos normalmente esta en el alambre de la sobre optimización, por nuestra forma de trabajar retail o data timing, y eso si se quiere entender se entiende, aunque cueste aceptarlo. Y creo que es importante que la gente lo piense, y a partir de ahí puede haber una evolución.

saludos.


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

Avatar de Usuario
Tiotino
Mensajes: 981
Registrado: 20 Sep 2004 18:22

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Tiotino » 27 May 2016 10:19

hola a [email protected] !!

Aquí hay unos que miran al pasado y otros menos al futuro. Si tu entras en un sistema, te pueden suceder tres cosas, que gane, que pierda o que empate, y ya le has podido hacer todos los test del mundo.

De que depende ?

De como se comporte el subyacente sobre el que se aplica el sistema, hacia futuro.

si todo el mundo ha hecho un walkforward vera que a veces con el setup bueno tambien se pierde, pero en la media de los test se intenta ganar, pero incluso por debajo del mejor setup testado.

Para intentar ser mas consistente se inventó la cartera de sistemas descorrelacionados, los vamos modificando en función de su equity y a volar

:idea:


Un abrazo

Tiotino

https://tradingpython.blogspot.com.es

@tiotino

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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por ROBOCO » 27 May 2016 10:26

Nada, me ha pasado como a Rango, después de escribir un post largo contestando a Gratphil y a cls, no sale. Sintetizo sin muchas explicaciones:

1)Graphil: Se ha corregido en el artículo la definción de sobreoptimización porque efectivament estaba mal redactada.
2)Gratphil y cls: La diferencia está entre analizar la serie de P&L (trader particular) o analizar la serie de P&L+serie de datos(Quants)

En el ejemplo del CL un quant detectaría muchísimo antes que un particular que la ineficiencia ha desaparecido. El trader particular tndría que esperar a que el sistema (que se habría convertido en un random walk) evidenciara que la población de P&Ls es distinta de la del OS.

No quiero que se malinterprete lo que digo, los sistemas quants no son mejores en una gran mayoría de los casos que los que pueda hacer uno en su casa con su plataforma, simplemente ellos saben por qué funcionan y cuando dejan de hacerlo. Para el trader particular es mucho mejor buscar causas fundamentales y desde ahí crear estrategias convencionales, más que analizar las series temporales que les va a llevar un cerro de tiempo.



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

Re: Sobreoptimización y ruptura de sistemas

Mensaje por Royal » 27 May 2016 10:29

cls escribió:
ROBOCO escribió: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.
Gracias por el post ROBOCO. Ojalá que llegue lejos.

No te he entendido el comentario que he citado arriba sobre que un quant no sufre el draw-down.
Si está operando lo sufrirá igual. La manera de evitarlo será que sólo observe.
No sé, algo no te he entendido. A fin de cuentas un sistema si está bien diseñado y programado tendrá que estar monitorizando continuamente la serie de precios (o de lo que sea que trate su fuente de datos, como picos de volumen), pero si está operativo o bien estará en profit aprovechando la señal o sufriendo drawdown si la señal no fue buena. Independientemente de que seas quant o no quant.

Saludos

perdonad que me meta pero es que veo que uno se explica bien y el otro entiende bien pero no os llegais a entender,,, a ver cls te lo digo con mis palabras: radica en que el detonante-señal-llamemosle como queramos desaparece en su natural forma de aparecer (sea loq ue sea)

ahora si entendi mal que venga y me lo diga roboco y si lo pille bien que tambien me lo diga jjejje




Responder

Volver a “Sistemas y Estrategias de Trading”