Z-Score

El espacio de los traders quant: sistemas de trading, gestión monetaria, automatización de sistemas.
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Z-Score

Mensaje por Rafa7 »

Sres. foristas,



El artículo de esta web ]Z-Score, es muy interesante.
Felicidades, X-Trader, por tu artículo.

Hay otro estadístico llamado Runs test o también conocido como Z test:
Andrés García escribió: Para detectar una posible dependencia positiva (rachas de mayor o menor amplitud de operaciones ganadoras seguidas de rachas perdedoras) o negativa (alternancia entre operaciones ganadoras y perdedoras) se emplea el estadístico conocido como “Runs test”, diseñado para verificar si la secuencia de los diferentes valores de una serie de datos es aleatoria o, por el contrario, existen rachas predecibles con un grado de razonablemente alto de confianza, por ejemplo, del 95%.

La fórmula más empleada es una variante del llamado Z test:

Z = (R – (X + 1)) / (X * (X - 1) / (N – 1)) ^0,5

Donde X = (2 WL) / (W + L)

R = Número de rachas encontradas en la muestra de operaciones.
W = Operaciones ganadoras.
L = Operaciones perdedoras.
N = Total de operaciones de la serie.

El valor crítico de Z está determinado por una distribución normal de la secuencia de operaciones ganadoras y perdedoras. Así, si para un estimador de confianza superior al 95% encontramos en la prueba de dos colas un valor de 1,96, entonces valores de Z superiores a 1,96 e inferiores a –1,96 serán significativos.
Supongo que X-Trader, que sabe un montón de Estadística, conoce el Z test.
Y supongo que X-Trader encuentra correcto el Z Test, pero prefiere el Z-Score.

X-Trader, ¿Me equivoco?

Cuando uno diseña un sistema de trading, es útil que use algún test sobre dependencia (Z-Score, Z test, etc ...). Y si hay dependencia, por ejemplo, abrir operaciones solo si la anterior fue ganadora, o abrir operaciones solo si la anterior fue perdedora (en función del tipo de dependencia). Entonces el sistema, añadiendo el filtro mencionado, será, probablemente, un sistema de trading sin dependencia.

Por ejemplo, en el sistema de las tortugas diseñado por Richard Dennis, se abre largos tras superar el máximo de 20 velas, solo si la anterior vez hubiera sido (o ha sido) perdedora. (En cambio si la operación supera el máximo de 55 velas, se abre largos independientemente de lo que pasó o hubiera pasado en la anterior operación).

Probablemente Richard Dennis descubrió una ley de dependencia (tal vez a ojímetro, sin aplicar ningún test estadístico de dependencia), y por eso diseño su sistema aprovechando la ley de dependencia descubierta.



Saludos.
Última edición por Rafa7 el 11 Oct 2019 13:58, editado 4 veces en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Sres. foristas,



Otro ejemplo de intentar aprovechar una ley de dependencia es la siguiente:
Uxío Fraga escribió: Método incremental

Para superar la traba de no aprovechar las rachas, tenemos este otro método, que es una sencilla mejora del anterior.

Ahora el riesgo es variable, entre el 1% y el 3%; partiendo de 2%, nos moveremos en incrementos de 0.2% según la racha.

Es muy sencillo de calcular. Veámoslo en un ejemplo:

Empezamos aplicando un riesgo del 2% en nuestra primera operación.
Ganamos (no importa cuánto); así que, para la próxima, subieremos a un 2.2%.
Volvemos a ganar. Subimos al 2.4%.
Perdemos. Volvemos a empezar: 2%.
Perdemos de nuevo: Bajamos a 1.8%.
Ganamos. Volvemos a empezar: 2%.
Si ganamos varias veces seguidas, llegamos al techo de 3% y, si perdemos cinco veces o más, nos estancamos en un riesgo fijo del 1% hasta salir de la racha.

Sencillo ¿verdad? Haz pruebas sobre tus propios resultados y verás como hay rachas en ellos y como habrías ganado más dinero que aplicando el método del riesgo fijo.


Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Z-Score

Mensaje por X-Trader »

Rafa7 escribió: 12 Sep 2019 09:36 Sres. foristas,



El artículo de esta web Z-Score, es muy interesante.
Felicidades, X-Trader, por tu artículo.

Hay otro estadístico llamado Runs test o también conocido como Z test:
Andrés García escribió: Para detectar una posible dependencia positiva (rachas de mayor o menor amplitud de operaciones ganadoras seguidas de rachas perdedoras) o negativa (alternancia entre operaciones ganadoras y perdedoras) se emplea el estadístico conocido como “Runs test”, diseñado para verificar si la secuencia de los diferentes valores de una serie de datos es aleatoria o, por el contrario, existen rachas predecibles con un grado de razonablemente alto de confianza, por ejemplo, del 95%.

La fórmula más empleada es una variante del llamado Z test:

Z = R – (X+1) / ((X * (X-1) / (N – 1)) ^(1/2)

Donde X = (2 WL) / (W + L)

R = Número de rachas encontradas en la muestra de operaciones.
W = Operaciones ganadoras.
L = Operaciones perdedoras.
N = Total de operaciones de la serie.

El valor crítico de Z está determinado por una distribución normal de la secuencia de operaciones ganadoras y perdedoras. Así, si para un estimador de confianza superior al 95% encontramos en la prueba de dos colas un valor de 1,96, entonces valores de Z superiores a 1,96 e inferiores a –1,96 serán significativos.
Supongo que X-Trader, que sabe un montón de Estadística, conoce el Z test.
Y supongo que X-Trader encuentra correcto el Z Test, pero prefiere el Z-Score.

X-Trader, ¿Me equivoco?

Cuando uno diseña un sistema de trading, es útil que use algún test sobre dependencia (Z-Score, Z test, etc ...). Y si hay dependencia, por ejemplo, abrir operaciones solo si la anterior fue ganadora, o abrir operaciones solo si la anterior fue perdedora (en función del tipo de dependencia). Entonces el sistema, añadiendo el filtro mencionado, será, probablemente, un sistema de trading sin dependencia.

Por ejemplo, en el sistema de las tortugas diseñado por Richard Dennis, se abre largos tras superar el máximo de 20 velas, solo si la anterior vez hubiera sido (o ha sido) perdedora. (En cambio si la operación supera el máximo de 55 velas, se abre largos independientemente de lo que pasó o hubiera pasado en la anterior operación).

Probablemente Richard Dennis descubrió una ley de dependencia (tal vez a ojímetro, sin aplicar ningún test estadístico de dependencia), y por eso diseño su sistema aprovechando la ley de dependencia descubierta.

Saludos.
Gracias Rafa7, en realidad se trata del mismo test estadístico (confieso que no había visto el de Andrés, que por cierto también es un artículo excelente), lo que ocurre es que dependiendo del manual que cojas lo llaman de una de esas 3 maneras: Z-Test, Z-Score o test de rachas.

Lo que me tiene despistado es que la fórmula que plantea Andrés es ligeramente diferente a la que muestro yo (en la de Andrés, P = (2 WL) / (W + L), mientras que en mi artículo y en el libro de Ralph Vince, P = 2WL), trataré de averiguar a qué se debe esta diferencia.

De todos modos, como se suele decir en las pelis y en las series... Continuará... :D

Saludos,
X-Trader
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

X-Trader escribió: 12 Sep 2019 14:59 en la de Andrés, P = (2 WL) / (W + L), mientras que en mi artículo y en el libro de Ralph Vince, P = 2WL
Gracias, X-Trader.



Puedes míralo de esta manera: En la fórmula que utiliza Andrés P = 2 * W * L / (W + L) = 2 * W * L / N. (Ya que W + L = N).
O sea , que una diferencia es que en la fórmula que utiliza Ralph P=2WL, y en la de que utiliza Andrés P=2WL/N.



Saludos.
Última edición por Rafa7 el 13 Sep 2019 10:14, editado 1 vez en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Z-Score

Mensaje por X-Trader »

Gracias Rafa7, efectivamente es la misma, no había caído en que W+L=N, con eso ya se puede obtener la expresión de mi artículo a partir de la de Andrés.

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
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

X-Trader escribió: 13 Sep 2019 10:07 con eso ya se puede obtener la expresión de mi artículo a partir de la de Andrés.
X-Trader,



Lo de la equivalencia de fórmulas, no lo veo.

Por un lado falta cerrar un paréntesis en la fórmula de Andrés.
Dice: Z = R – (X+1) / ((X * (X-1) / (N – 1)) ^(1/2)
Y supongo que lo que debería decir es: Z = R – (X+1) / ((X * (X-1) / (N – 1))) ^(1/2).

Consideremos el ejemplo de tu artículo, usando la fórmula que menciona Andrés.

N = 100
W = 63
L = 37
R = 35

Por lo tanto X = 2 * W * L / N = 2 * 63 * 37 / 100 = 46,62.
Z = R – (X+1) / ((X * (X-1) / (N – 1))) ^(1/2) = 35 - 47,62 / (46,62 * 45,62 / 99)^0,5 = -2,74.

En cambio, en el ejemplo de tu artículo calculas Z = -2,61.

Los valores de Z de ambas fórmulas se parecen mucho en el ejemplo (-2,74 y -2,61), pero son diferentes.

Es posible que la aplicación de ambas fórmulas nos lleven a las mismas conclusiones en la mayoría de los casos (que haya o no haya dependencia), pero son diferentes.

Entonces, creo que una de las dos es más adecuada que la otra (supongo ...) ¿cuál es la más adecuada?



Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

De todas maneras, haciendo cuentas en pla sencillo veo una cosa.
Una racha de operaciones ganadoras con un 50% de probabilidad: n = Ln(0,5) / Ln(0,63) = 1,5.
Una racha de operaciones perdedoras con un 50% de probabilidad: n = Ln(0,5) / Ln(0,37) = 0,7.
Entres ambas suman 1,5 + 0,7 = 2,2.

Sin embargo, en el ejemplo hay 35 rachas en 100 operaciones.
O sea, ha habido un promedio de 100 / 35 = 2,86 operaciones por racha.

A ojimetro se ve que hay una dependencia positiva, ya que 2,86 > 2,2, es decir que las rachas son demasiado largas lo cual implica una dependencia positiva. Por lo tanto puede convenir el filtro de que si la última operación ha sido (o hubiera sido) negativa, abstenerse de operar (u operar con menos riesgo).

X-Trader, seguramente mi cálculo es un disparate estadístico, pero es lo que me dice mi olfato.
Última edición por Rafa7 el 13 Sep 2019 11:51, editado 3 veces en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Yo creo que se podría establecer alguna otra fórmula calculando cual debería ser el número de rachas según la fiabilidad del sistema y compararlo con el número de rachas que ha habido.
Si las rachas han sido demasiada largas (respecto a la fiabilidad), la dependencia es positiva. Si las rachas han sido demasiado cortas (respecto a la fiabilidad), la dependencia es negativa.
Por ahí van mis tiros.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Otra opción es hacer una simulación de Montecarlo, ordenando los resultados por número de rachas, entonces se puede comparar el número de rachas de la serie histórica con respecto a la series de Montecarlo. Por ejemplo, si el número de rachas histórico supera el promedio de número de rachas en las series de Montecarlo, la dependencia sería positiva.

Es más, podríamos utilizar el siguiente indicador:

Z = 2 * (series de Montecarlo con número de rachas inferior al histórico / series de Montecarlo con número de rahcas diferentes del histórico- 0,5).

Es decir, que ignoramos las series simuladas cuyo número de rachas coincide exactamente con el número de rachas del histórico.

Dicho indicador nos daría un valor real entre -1 y 1.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

X-Trader,



¿Existe alguna fórmula que nos indique, dada una fiabilidad, y un número de operaciones, cual debería ser el número de rachas si no hay dependencia?

Si existe, no tiene sentido usar simulaciones de Montecarlo.



Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Rafa7 escribió: 13 Sep 2019 12:39 ¿Existe alguna fórmula que nos indique, dada una fiabilidad, y un número de operaciones, cual debería ser el número de rachas si no hay dependencia?
Intentando responder a mi propia pregunta, tras ver el siguiente enlace Prueba de rachas, deduzco (si no lo he entendido mal) que la fórmula de rachas sería la siguiente:
R = 2 * W * L / N + 1.

En el ejemplo, R = 2 * 63 * 37 / 100 + 1 = 47,62.
Sin embargo han habido, en el ejemplo, 35 rachas.

Como han habido pocas rachas (35 < 47,62) , las rachas han sido más largas, y, por lo tanto, la dependencia ha sido positiva.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Otro planteamiento es pasar olímpicamente de indicadores de dependencia y calcular Kellys.

Se trataría de en el sistema, suponer dependencia positiva, y, por lo tanto, operar solo si la anterior operación ha sido (o hubiera sido) ganadora, y calcular KellyPositivo.
Y entonces, suponemos lo contrario: suponemos dependencia negativa y, por lo tanto, operar solo si la anterior operación ha sido (o hubiera sido) perdedora, y calcular KellyNegativo.

Entonces, si tienes un riesgo del 2% de cuenta. En lugar de aplicar un 2% a piñón fijo, aplicar si la operación anterior ha sido (o hubiera sido) ganadora, el siguiente riesgo: 2% * KellyPositivo /(KellyPositivo + KellyNegativo). Y si la anterior operación ha sido (o hubiera sido) perdedora, el siguiente riesgo: 2% * KellyNegativo / (KellyPositivo + KellyNegativo).

O, mas sencillo, operar suponiendo la dependencia con mayor Kelly.
Última edición por Rafa7 el 14 Sep 2019 12:51, editado 1 vez en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Ojo, en el enlace que compartí antes, o sea Prueba de rachas, hay un 0,5 que es positivo o negativo (en función de si el número de rachas real supera, o no, al número de rachas suponiendo que no hay dependencia). En cambio, en la fórmula que nos compartistes, el 0,5 tiene signo fijo.
Ojo.
Habría que mirar si Ralh Vince, le da signo fijo al 0,5.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

Siguiendo el enlace anterior, calculo Z:

R = 35. Sin embargo el valor teórico de R debería ser 2 * W * L / N + 1 = 2 * 63 * 37 / 100 + 1 = 47,62.
Como R = 35 < 47,62, el 0,5 tiene que tener valor positivo.

Sigamos.

S = (2 * W * L (2 * W * L - N) / (N^2 * (N - 1)))^0,5 = (2 * 63 * 37 * (2 * 63 * 37 - 100) / (100^2 * 99))^0,5 = 4,6349619984712633318666082836037

Z = (35 + 0,5 - 47,62) / S = -12,12 / 4,6349619984712633318666082836037 = -2,61.

Lo cual coincide con el cálculo de Ralph en el ejemplo de tu artículo.

Pero ojo, el signo del 0,5 no debería ser fijo ...
Última edición por Rafa7 el 13 Sep 2019 13:44, editado 3 veces en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Z-Score

Mensaje por Rafa7 »

En conclusión, X-Trader, la fórmula que has tomado de Ralph Vince tiene una errata: el 0,5 no debe tener signo fijo negativo, sino que debería ser negativo si el número de rachas del histórico es inferior al aleatorio, y debería ser positivo si el número de rachas del histórico es superior al aleatorio.
¿Lo ves igual?

Si estoy en lo cierto, sería bueno que añadas, en tu artículo, el criterio del signo del 0,5.

Lo que no sé es que se debería hacer si el número de rachas del histórico es igual al aleatorio. Supongo que suprimir el 0,5 de la fórmula (si no es ni positivo, ni negativo, tiene que ser nulo), ¿cierto?
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Sistemas de Trading”