Reducir parámetros

Todo sobre el trading en los mercados financieros: funcionamiento, dudas, noticias, etc.
Avatar de Usuario
andriuking
Mensajes: 231
Registrado: 06 Nov 2010 18:37
Ubicación: Madrid
Contactar:

Re: Reducir parámetros

Mensaje por andriuking »

Estaría bien definir qué es un parámetro, porque creo que en este hilo no está claro. Es un valor desconocido a nivel real sobre el que hacemos inferencia en base a resultados muestrales, de backtest o cuenta real (preferiblemente lo segundo). Si es una combinación lineal, como es el caso, sólo hay un parámetro pues conocido uno se determina el valor del segundo unívocamente. ¿Cuál es el segundo parámetro entonces, si conocido el primero ya se sabe su valor?

La estrategia que plantea Guille sólo tiene un parámetro, y quien piense que tiene más le invito a que reflexione sobre ello.
Guille escribió: Si andriuking, lo entiendo. Tengo un solo parámetro. Pero sin embargo tengo dos variables. Y cada una de ellas me da una información diferente (caso de las dos medias). Por eso digo, que a la hora de la búsqueda de parámetros idóneos, mediante optimización, solo tendría que optimizar un parámetro, y no dos, pero sin embargo tendría los valores óptimos de las dos variables (medias). Esto puede resultar ventajoso en el caso que hubiera varias variables y parámetros a optimizar porque habría conseguido tener un parámetro menos para optimizar.
Gracias por la explicación de la diferencia entre dependencia lineal y correlación, pero no se porque, en este caso no me cuadra , pues aunque una variable depende del valor de otra (el valor de una depende de la otra) , y volviendo al ejemplo de las medias, estarás de acuerdo que podrán estar más o menos correlacionadas pero no al 100% pues una girará antes que otra,etc.
Saludos
Guille, en mi opinión has empezado a entender el problema pero estás en alto riesgo de sobreoptimización, porque no estás entendiendo bien qué es un parámetro. Me explico.

Claro que vas a mejorar resultados metíendolo como un segundo parámetro con alta correlación con el primero, en lugar de una dependencia lineal. Pero debes entender a qué te lleva eso.

Piensa que a un sistema le puedes meter todos los parámetros que quieras. Imagínate que empezamos a meterle como variables si hoy hace sol, si estoy en paro, si tengo hijos... cualquier tontería, lo que quieras. Si tu optimizas todas esas variables, seguro que llegas a un sistema estupendo. Ahora bien, es una casualidad estadística, cuando lo pongas a funcionar prepárate, porque se parecerá al backtest lo que un huevo a una castaña.

En el momento que un sistema tiene 4 o más parámetros cuidado, alto riesgo de sobreoptimización. Recomiendo leer el paper del autor de la frase 'Dame 4 parámetros y dibujaré un elefante' para que entiendas el problema. Te dejo uno interesante donde lo nombran:

"Pseudo - Mathematics and Financial Charlatanism: The effects of Backtest Overfitting on Out of Sample Performance".

También veo que mencionas mucho el concepto de grados de libertad. Te recomiendo que leas, en ese mismo paper que te menciono, el tamaño muestral de trades que necesitas a medida que aumenta el número de parámetros para que el sistema sea robusto. Verás cómo necesitas más de los que crees si quieres construir algo decente.

La mayoria de traders sistemáticos fracasan en mi opinión porque nunca llegan a entender este concepto de qué es un parámetro, y de ahí viene parte del desprestigio que tienen los sistemas de trading.

Si quieres hacer un sistema robusto, debes emplear los menos parámetros posibles y, antes de nada, entender bien qué es un parámetro.

Un saludo y espero haberte ayudado.
http://www.sistemasdebolsa.com/" onclick="window.open(this.href);return false;
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Reducir parámetros

Mensaje por Rango Starr »

Andriuking,

continuo diciendo que hay dos parametros.....

otra cosa es que "solo busquemos optimizacion de uno de ellos"...... pero el otro, el numero por el que multiplicamos, la primera media, o valor o lo que sea, de acuerdo que es un numero conocido..... pero el hecho de que sea uno en concreto y no otro, posiblemente se deba a un proceso anterior de optimizacion (aunque sea de manera inconsciente)......

por eso hablo de parametros optimizables, o susceptibles de optimizacion.....


Saludos!
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Avatar de Usuario
andriuking
Mensajes: 231
Registrado: 06 Nov 2010 18:37
Ubicación: Madrid
Contactar:

Re: Reducir parámetros

Mensaje por andriuking »

Rango,

Parámetro es una término definido estadísticamente, igual que grado de libertad, estimación...

https://es.wikipedia.org/wiki/Par%C3%A1 ... C3%ADstico

Que tú hagas otra interpretación de ella es otra cosa. Lo que ocurre es que en ese caso no sabríamos ya ni de lo que estamos hablando, porque las palabras perderían su significado, y que creo que es lo que ocurre en este hilo, donde se mantiene una discusión sobre algo que ya está más que definido y estudiado, y cómo se debe actuar.

Las matemáticas están ya bastante estudiadas y, aunque siempre se puede aportar algo, os recomiendo que leáis lo que ya existe para haceros una opinión más informada. Os aseguro que hará de vosotros mejores traders.

Saludos.
http://www.sistemasdebolsa.com/" onclick="window.open(this.href);return false;
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Reducir parámetros

Mensaje por Rango Starr »

Andriuking,

con todos mis respetos por las matematicas, no son ellas y el academicismo el que hace ganador al personal.... es la originalidad en sus planteamientos....

cualquier media puede ser expresada como combinacion lineal de cualquier otra..... con ello, conseguimos reducir los parametros, a uno solo, independientemente de la cantidad de medias que tengamos..... y ya esta!!!

.... ahora el problema existencial, se me platea en descubrir, porque elegi la de 20 y la de 100..... ¿ fue el azar, o, condicionada por mis conocimientos previos?.....si es debido a mis conocimientos previos tengo un problema, ya que eso no viene en los libros de matematicas ....

..... fue un placer... que les vaya bien!!! :D

EDITO.- (por segunda vez, que burro soy!!!..)
en ciencias de la computacion ( el caso que nos ocupa), un "parametro" es una variable. Puede que de ahi, venga la confusion de terminos. En todo momento, me he referido a este tipo de parametros..

https://es.wikipedia.org/wiki/Argumento ... C3%A1tica)

Saludos!
Última edición por Rango Starr el 11 Ene 2017 18:17, editado 2 veces en total.
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Guille
Mensajes: 478
Registrado: 29 Ene 2015 14:50

Re: Reducir parámetros

Mensaje por Guille »

Estaría bien definir qué es un parámetro, porque creo que en este hilo no está claro. Es un valor desconocido a nivel real sobre el que hacemos inferencia en base a resultados muestrales, de backtest o cuenta real (preferiblemente lo segundo). Si es una combinación lineal, como es el caso, sólo hay un parámetro pues conocido uno se determina el valor del segundo unívocamente. ¿Cuál es el segundo parámetro entonces, si conocido el primero ya se sabe su valor?
continuo diciendo que hay dos parametros.....

otra cosa es que "solo busquemos optimizacion de uno de ellos"...... pero el otro, el numero por el que multiplicamos, la primera media, o valor o lo que sea, de acuerdo que es un numero conocido..... pero el hecho de que sea uno en concreto y no otro, posiblemente se deba a un proceso anterior de optimizacion (aunque sea de manera inconsciente)......

por eso hablo de parametros optimizables, o susceptibles de optimizacion.....
Yo creo que llevaís razón los dos, pues es cierto que antes de definir el input2 como dependiente del input1 hay que determinar la constante de proporcionalidad. Desde ese punto de vista, aquí habría una optimización. Aunque sea implícita.
Ahora bien, una vez que tengo definido el input2, ya no tengo dos parámetros sino uno.
En cualquier caso, aunque haya una optimizacion implícita en la definición del parámetro input2, al final resulta que solo tendré un solo parámetro a optimizar y el número de combinaciones resultantes se reduce mucho.
Lo de que un sistema cuantos más parámetros tenga , más riesgo de su optimización lo tengo claro andriuking. De ahí el motivo de este hilo. Pero también suelo utilizar históricos amplios para reducir en lo posible este punto.
Gracias y saludos

Avatar de Usuario
nostrasladamus
Mensajes: 313
Registrado: 09 Feb 2009 13:27
Ubicación: Sistema Referencia Inercial

Re: Reducir parámetros

Mensaje por nostrasladamus »

Rango Starr escribió:Andriuking,

continuo diciendo que hay dos parametros.....

otra cosa es que "solo busquemos optimizacion de uno de ellos"...... pero el otro, el numero por el que multiplicamos, la primera media, o valor o lo que sea, de acuerdo que es un numero conocido..... pero el hecho de que sea uno en concreto y no otro, posiblemente se deba a un proceso anterior de optimizacion (aunque sea de manera inconsciente)......

por eso hablo de parametros optimizables, o susceptibles de optimizacion.....


Saludos!

En efecto, creo que Rango tiene razon.
Un ejemplo seria tener un SL de 10 puntos, p.e. y un TP de 50 puntos, en relacion 5:1.
Ahi si vemos todos que tenemos 2 parametros. Podemos llamarles TP y SL, o podemos llamarles TP y relacion entre ambos..., pero hay 2 parametros.

andriuking escribió: En el momento que un sistema tiene 4 o más parámetros cuidado, alto riesgo de sobreoptimización. Recomiendo leer el paper del autor de la frase 'Dame 4 parámetros y dibujaré un elefante' para que entiendas el problema. Te dejo uno interesante donde lo nombran:

"Pseudo - Mathematics and Financial Charlatanism: The effects of Backtest Overfitting on Out of Sample Performance".
Muy interesante Andriuking!!!
Estaria bien si nos lo pudieses desarrollar en algun post aparte. :-)
Lo voy a imprimir y echar un vistazo, pero parece que tiene matematica muy densa. Hay que ver las conclusiones.

S2,
Si vis pacem, para bellum.
Dios me libre de los mansos, que de los fieros ya me libro yo.
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Reducir parámetros

Mensaje por Rango Starr »

Nostrasladamus,

es que eso que dices es lo mismo que he dicho desde el principio... el mero hecho de hacerlo, solo cambia el nombre del parametro. En tu caso "relacion entre ambos"......(ya pensaba yo que si era el unico que lo veia...)

pero es que Guille, lo dice es su primera intervencion:


"............Hace unos días, estudiando un sistema observé que al obtener los parámetros definitivos para los inputs, uno en concreto era múltiplo de otro........."


aqui nos esta diciendo que obtiene los parametros definititivos...o sea es un proceso de optimizacion, asi que al cambiar y poner uno en funcion del otro, multiplicado por un coeficiente "k", este k ha sido obtenido mediante un proceso de optimizacion....

Saludos!
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Guille
Mensajes: 478
Registrado: 29 Ene 2015 14:50

Re: Reducir parámetros

Mensaje por Guille »

Rango Starr escribió:pero es que Guille, lo dice es su primera intervencion:"............Hace unos días, estudiando un sistema observé que al obtener los parámetros definitivos para los inputs, uno en concreto era múltiplo de otro........."aqui nos esta diciendo que obtiene los parametros definititivos...o sea es un proceso de optimizacion, asi que al cambiar y poner uno en funcion del otro, multiplicado por un coeficiente "k", este k ha sido obtenido mediante un proceso de optimizacion....
Si Rango, es verdad. Lo único que se trata de esa primera optimización implícita que todos solemos hacer al crear un sistema. Esa optimización que realizamos cambiando a ojo los parámetros del sistema recién creado y haciendo backtest puro y duro, pero sin aplicarle optimización ni genética ni de fuerza bruta. Es ahí cuando observo que uno de los inputs se puede poner como combinación del otro.
Estos cambios, aunque se realizan a ojo, no dejan de ser una optimización.
Es después de estos cambios cuando aplicaría la optimización propiamente dicha.
Gracias y saludos
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Reducir parámetros

Mensaje por Rango Starr »

Guille,

es que el post y tu duda venia al respecto de la reduccion de parametros.... ¿reduces parametros?... no.... ¿reduces optimizaciones?...si..... (dependiendo de como hagas la primera optimizacion).... si esto es cierto, entonces reduces la probabilidad de curvefitting.... (no voy a ponerme a explicar porque es asi... :D )

Saludos!
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Guille
Mensajes: 478
Registrado: 29 Ene 2015 14:50

Re: Reducir parámetros

Mensaje por Guille »

Rango Starr escribió:Guille,

es que el post y tu duda venia al respecto de la reduccion de parametros.... ¿reduces parametros?... no.... ¿reduces optimizaciones?...si..... (dependiendo de como hagas la primera optimizacion).... si esto es cierto, entonces reduces la probabilidad de curvefitting.... (no voy a ponerme a explicar porque es asi... :D )
Pues perfecto, Rango, pues eso es lo que quería principalmente...reducir el riesgo de sobreoptimizar.
Gracias y saludos
Gratphil
Mensajes: 473
Registrado: 08 Jun 2013 12:24

Re: Reducir parámetros

Mensaje por Gratphil »

Buenas tardes,

En primer lugar dar la razón a Rango que efectivamente son dos parámetros, es evidente. Y por cierto matematicamente también son dos parámetros.

En segundo lugar que no estoy muy seguro de ésto que has hecho Guille. Has hecho una primera optimización y has concluído que ese segundo parámetro es un multiplo del primero, el problema está en que es una optimización in sample.

Luego querrás hacer un Walk Forward, te dices solo optimizo un parámetro de cara al fuera de muestra, pero resulta que el segundo parámetro lo has estimado en función del primero en una optimización in sample. Sí es así, bajo mi punto de vista es un proceso erroneo, porque te engañarás en los resultados out of sample, con todos los riesgos que ello implica, que son principalmente unos resultados sobredimensionados que posiblemente te lleven a tomar más riesgos.

Saludos
Guille
Mensajes: 478
Registrado: 29 Ene 2015 14:50

Re: Reducir parámetros

Mensaje por Guille »

Gratphil escribió:Luego querrás hacer un Walk Forward, te dices solo optimizo un parámetro de cara al fuera de muestra, pero resulta que el segundo parámetro lo has estimado en función del primero en una optimización in sample. Sí es así, bajo mi punto de vista es un proceso erroneo, porque te engañarás en los resultados out of sample, con todos los riesgos que ello implica, que son principalmente unos resultados sobredimensionados que posiblemente te lleven a tomar más riesgos.
Hola Gratphil y gracias,
He hecho lo creo que haréis todos cuando creáis un sistema, que no es ni mas ni menos que inicalmente retocar los parámetros para que tengan unos valores lógicos y hacer backtest para ver como pudieran ir.
Ya luego, si que he realizado si he realizado walk forward
Tengo puesto en real un sistema asi estudiado enn dos pares de divisas descorrelacionadas en un mismo TF. No tengo estadística suficiente para decir que va bien pero de momento en una de ellas al menos parece que va bien. Precisamente en la que mejor resultados me dio en las pruebas.
Puede ser que sea como dices pero ¿serías tan amable de argumentarme porqué es erróneo?
Gracias y saludos
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Reducir parámetros

Mensaje por Rango Starr »

Hola,

vamos a ver, vamos a ver....

os dire como hago yo las optis....
se divide el historico en in sample, y out of sample.....
la optimizacion se realiza solo sobre el in -sample...
dejando el out sample como comprobacion de que efectivamente los parametros elegidos no son un curve fitting.... y despues se realiza el walk-forward para ver si los parametros elegidos, son susceptibles de optimizacion a lo largo de la curva del activo, en su historico.....

tambien y como comprobacion un MONTECARLO de al menos 50 salidas..... con una serie de variaciones, (saltarse trades, cambiar el orden, variacion de parametros controlada, variacion de salida numerica de activo controlada.....)
si este montecarlo, subjetivamente nos produce una sensacion visual agradable, entendiendo por agradable un haz muy agrupado de salidas, y, que al menos nuestro resultado de backtest este si no por debajo, muy cerca del 50% de confianza, y ademas el 95% de confianza (que es la salida que tomaremos como valida), no difiere en exceso, entonces el sistema es candidato, a ponerlo en demo.....
si una vez puesto en demo, con una muestra suficiente de trades, tiene un comportamiento identico, o mejor que la salida del sistema, entonces ese sistema es candidato a pasar al portfolio de sistemas....

Saludos! :D

PD.- claro, que ultimamente me ha dado por trabajar a la mano!!!!
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Guille
Mensajes: 478
Registrado: 29 Ene 2015 14:50

Re: Reducir parámetros

Mensaje por Guille »

Rango Starr escribió:os dire como hago yo las optis....se divide el historico en in sample, y out of sample.....la optimizacion se realiza solo sobre el in -sample...dejando el out sample como comprobacion de que efectivamente los parametros elegidos no son un curve fitting.... y despues se realiza el walk-forward para ver si los parametros elegidos, son susceptibles de optimizacion a lo largo de la curva del activo, en su historico.....
Rango,
A dividir el histórico en dos zonas, ,simple y out simple, optimizando en el in y comprobando en el out, lo que estás haciendo es ya un walk forward. Eso sí, un walk forward con un solo run.

Luego cuando dices que haces el walk forward imagino que te refieres a que divides el histórico en varios tramos in y out para obtener varios runs. Vamos el walk forward propiamente dicho.
Yo primero me aseguro de que el sistema pueda ser que gane dinero mediante una optimización a ojo. Cambiando los parámetros a ojo, retocando el sistema si no hace lo que quiero, etc. Para cada cambio, miro su backtest.
Es en este punto cuando pongo el sistema funcionar en demo, más que nada para ver se comporta...si entra cuando debe, etc
Una vez que el sistema me gusta ya empiezo con las pruebas de optimización. Nunca pongo el fitness de la optimización por máximo beneficio; siempre elijo algún ratio y por supuesto siempre pongo comisiones.
La simulación de Montecarlo mas que nada para conocer el DD más realista.
Quizás lo haya puesto a funcionar en real demasiado pronto pero ha sido con una cuenta pequeña y muy poco apalancado. Mientras compruebo como va, sigo con mi trading manual
Gracias y saludos
Rango Starr
Mensajes: 3842
Registrado: 22 Dic 2014 10:49

Re: Reducir parámetros

Mensaje por Rango Starr »

Guille escribió:
Rango Starr escribió:os dire como hago yo las optis....se divide el historico en in sample, y out of sample.....la optimizacion se realiza solo sobre el in -sample...dejando el out sample como comprobacion de que efectivamente los parametros elegidos no son un curve fitting.... y despues se realiza el walk-forward para ver si los parametros elegidos, son susceptibles de optimizacion a lo largo de la curva del activo, en su historico.....
Rango,
A dividir el histórico en dos zonas, ,simple y out simple, optimizando en el in y comprobando en el out, lo que estás haciendo es ya un walk forward. Eso sí, un walk forward con un solo run.

Luego cuando dices que haces el walk forward imagino que te refieres a que divides el histórico en varios tramos in y out para obtener varios runs. Vamos el walk forward propiamente dicho.
Yo primero me aseguro de que el sistema pueda ser que gane dinero mediante una optimización a ojo. Cambiando los parámetros a ojo, retocando el sistema si no hace lo que quiero, etc. Para cada cambio, miro su backtest.
Es en este punto cuando pongo el sistema funcionar en demo, más que nada para ver se comporta...si entra cuando debe, etc
Una vez que el sistema me gusta ya empiezo con las pruebas de optimización. Nunca pongo el fitness de la optimización por máximo beneficio; siempre elijo algún ratio y por supuesto siempre pongo comisiones.
La simulación de Montecarlo mas que nada para conocer el DD más realista.
Quizás lo haya puesto a funcionar en real demasiado pronto pero ha sido con una cuenta pequeña y muy poco apalancado. Mientras compruebo como va, sigo con mi trading manual
Gracias y saludos
guille,

el in sample y el out sample, los llamo-llaman asi, por su funcion.....
para separarlo del walk forward...

el out sample es el trozo de historico que no utilizas para verificar que el sistema no es una pegada de curva....
el walk forward, efectivamente es la division en n trozos del historico completo.....
pero aqui, cumple otras funciones, (en general lo podriamos resumir como buscar la homogeneidad y estabilidad en el recorrido del historico, y la capacidad de optimizacion de los parametros).... pero puesto que es un proceso mas lento de trabajo, primero haces la utilizacion del in sample -out sample, para verificar que en el in sample, no se te fue la mano en la optimizacion.

"las", simulacions montecarlo, por contra para mi, son la mejor verificacion de robustez del sistema en si....
asi, cunado le metes 50 simulaciones, realmente estas sometiendo el sistema a estress...
es en montecarlo cuando mas sistemas se quedan por el camino...ya que si un conjunto de salidas es disperso, te esta diciendo que el sistema fue una simple anecdota, y , que cualquier mutacion de estructura de precio, puede hacer que el sistema se vaya al olimpo de los sistemas....

y ya por ultimo, y para comprobar que todo va bien, un demo, del sistema..... dependiendo de como sea, necesitas una serie de trades para verificar que os deslizamientos, y comisiones, no varian los resultados....
y ya por ultimo, la puesta de largo..... aqui lo pones ya en real...y cruzas los dedos....

Saludos.!

Pd.- es como lo hago yo, que no tiene por que ser mejor o peor que otras formas, solo que es la que me parece mas coherente, y economica en esfuerzos, ya que vas de menos a mas tiempo utilizado en su realizacion

el in-sample, out sample, es una unica pasada de backtest..... si no cumple, descartado. (por supuesto, el resto de pruebas saldran mal....)
un ciclo y otro ciclo, son un biciclo...
si añadimos otro ciclo, entonces tendremos "un triciclo"... famoso trio catalan de humor de los 90....

..y nada mas...
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Trading en General”