Cálculo del retraso de las medias móviles

Todo sobre el trading en los mercados financieros: funcionamiento, dudas, noticias, etc.
Avatar de Usuario
Rafa7
Mensajes: 4923
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Rafa7 escribió:
X-Trader escribió: En cualquier caso, todo esto lógicamente afecta al resultado y lo hace bastante diferente de una SMA por lo que dudo mucho de que en el límite el lag de ambas sea igual.
Ok, X-Trader.



Revisaré a fondo el cálculo de la EMA, y, en particular, el cálculo de la EMA estándar. Tal vez he cometido algún error aritmético. A mí también me cuesta creer que el lag de la EMA estándar converja al lag de la SMA.



Gracias.
X-Trader.



He vuelto a calcular el lag de la EMA y me da exactamentwe el mismo resultado.
Me hubiera gustado encontrar un error en mi demostración porque a mí también me cuesta creer que el lag de la EMA estándar pueda converger en el lag de la SMA.

Vuelvo a poner la demostración en este mismo aporte. Y, te pido que la revises. (Comprendo que no lo hagas porque no tengas tiempo o ganas. Si lo haces, mil gracias).

Supuestos:
EMA = a * C + (1 - a) * EMA[1]
Donde 0 <= a <= 1.
Y supongamos que tenemos infinitas velas en el histórico.

***

EMA = a * C + (1 - a) * EMA[1] =
a * C + (1 - a) * (a * C[1] + (1 - a) * EMA[2]) =
a * C + a * (1 - a) * C[1] + (1 - a)^2 * EMA[2] =
a * C + a * (1 - a) * C[1] + (1 - a)^2 * (a * C[2] + (1 - a) * EMA[3]) =
a * C + a * (1 - a) * C[1] + a * (1 - a)^2 * C[2] +(1 - a)^3 * EMA[3] =
sum(a * (1 - a)^i * C; i >= 0) =
a * sum((1 - a)^i * C; i >= 0)

Voy a hacer un cálculo de la suma de coeficientes que nos será últil
a * sum((1 - a)^i; i >= 0) = a * 1 / (1- (1 - a)) = 1

Por tanto
EMA - C =
a * sum((1 - a)^i * C; i >= 0) - C * a * sum((1 - a)^i; i >= 0) =
a * (sum((1 - a)^i * C; i >= 0) - sum(C * (1 - a)^i; i >= 0)) =
a * sum((1 - a)^i * (C - C); i >= 0)

Por tanto:
lag =
a * sum(i * (1 - a)^i; i >= 0) =
a * sum(i * (1 - a)^i; i >= 1) =
a * sum((i + 1) * (1 - a)^(i + 1); i >= 0) =
a * (1 - a) * sum((i + 1) * (1 - a)^i; i >= 0) =
a * (1 - a) * (sum(i * (1 - a)^i; i >= 0) + sum((1 - a)^i; i >= 0)) =
(1 - a) * (lag + a * (1 / (1 - (1 - a)))) =
(1 - a) * (lag + 1) =
(1 - a) / (1 - (1 - a)) =
(1 - a) / a

Ahora tomemos a = 2 / (n + 1). EMA(a) sería la EMA-estándar(n).

lag(EmaEstándar(n)) =
(1 - (2 / (n + 1))) / (2 / (n + 1)) =
(n + 1 - 2) / 2 =
(n - 1) / 2 =
lag(SMA(n))

X-Trader, ¿Algún error? ¿Hay algún paso de la demostración que no estés seguro que sea correcto?
¿Es correcto afirmar que si tuviéramos infinitas velas en el histórico la EMA-estándar(n) tiene el mismo lag que la SMA(n)?
¿Podemos afirmar que la EMA estándard(n) tiene menos lag que la SMA(n) porque no tenemos un número infinito de velas en el histórico?
¿Cómo interpretas el resultado?



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

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

X-Trader escribió:En Estadística normalmente la planteamos de esta manera:
EMA = a*Precio(t)+(1-a)*EMA(t-1)
Gracias, X-Trader.



Acepto tu objeción. Es mejor no salirse de la normalidad. Así que propongo dos indicadores. EMA, con fórmula EMA = alfa * C + (1 - alfa) * EMA[1], y con alfa número decimal entre cero y uno. Pero la semilla la decido en función del lag al que converge la EMA ("Número de términos de la semilla" (2 - alfa) / alfa). Y el otro indicador le llamo EMAL, que es la media móvil exponencial en función del lag.

El número de términos de la EMA es (2 - alfa) / alfa, por lo siguiente:
2 * lag + 1 = 2 * (1 - alfa) / alfa + 1 = (2 - 2 * alfa - alfa) / alfa = (2 - alfa) / alfa.

La utilidad del EMAL está en sí sabemos que lag de convergencia queremos pero no sabemos como calcular el alfa correspondiente a la EMA.

El código del EMA es el siguiente:

Código: Seleccionar todo

//Programado por Rafa7, forista de x-trader.net
//parámetros:alfa, coeficiente del cierre, número decimal entre 0 y 1
if i = 0 then
	i = 1
	if alfa <> 0 then
		j = (2 - alfa) / alfa
	endif
	suma = customclose
	EMA = customclose
elsif alfa = 0 or i < j then
	i = i + 1
	suma = suma + customclose
	EMA = suma / i
else
	EMA = alfa * customclose + (1 - alfa) * EMA
endif
RETURN EMA

Y el código del EMAL es este:

Código: Seleccionar todo

//Programado por Rafa7, forista de x-trader.net
//parámetros:lag, número decimal no negativo
//EMAL retorna una media móvil exponencia cuyo lag converge al indicado por elparámetro
if i = 0 then
	i = 1
	j = 2 * lag + 1
	suma = customclose
	EMAL = customclose
elsif i < j then
	i = i + 1
	suma = suma + customclose
	EMAL = suma / i
else
	EMAL = (customclose + lag * EMAL) / (1 + lag)
endif
RETURN EMAL


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

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Sres. foristas.



Un tema que me preocupa de los dos indicadores es el número de términos del sumatorio de la semilla.

Tal como lo he programado n = 2 * lag + 1, donde lag es la convergencia del lag de la exponencial .

Pero el problema es cuando alfa = 0, su lag es infinito (lag = ((1 - alfa) / alfa) = (1 - 0) / 0 = 1 / 0 = infinito), y, entonces la EMA, tal como la he programado, es un promedio histórico de los precios en lugar del precio más antigüo del histórico.

No veo es que la semilla sea muy adecuada para alfas extremadamente bajas.

No sé que hacer. O que la semilla sea el promedio de los cierres más antigüos, o que la semilla sea el precio más antigüo.
Tal vez añadir como, sugirió X-Trader, añadir el parámetro el número de elementos del sumatorio de la semilla.

Agradecería comentarios sobre la semilla.

De todas maneras, en la práctica, los que usamos exponencial no usamos alfas extremadamente bajos. Por ejmple una EMA estánder de 200 periodos, tiene un alfa = 2 / 201 = 0,01. Casi nunca vamos a usar una EMA con alfa muy inferior a 0,01.



Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
tartarugap
Mensajes: 1408
Registrado: 15 Ago 2016 22:33

Re: Cálculo del retraso de las medias móviles

Mensaje por tartarugap »

Rafa estou a leer el hilo y a tentar percibir una utilizacion de tu metodo de calculo de la EMA sin LAG.

En que situaciones irias utilizar esta media?

Tente percibir si esta lag puede ser utilizada como normalizadora de margenes em empresas ciclicas (para ver si estamos en la parte superior del ciclo o si estamos en la parte inferior del ciclo industrial donde se insere la empresa)

Tambien poderia ser utilizada en el calculo del PEG normalizando el crescimiento....

Bien...estou a estudiar las formas de que se poderia utilizar esta media sin lag
Avatar de Usuario
Rafa7
Mensajes: 4923
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

tartarugap escribió:Rafa estou a leer el hilo y a tentar percibir una utilizacion de tu metodo de calculo de la EMA sin LAG.
Gracias, tartarugap.



Haciendo operaciones aritméticas de EMA's de diferentes periodos y EMA(EMA)'s, se pueden obtener una media móvil híbrida con lag cero. Estas técnicas son las que sabemos que se emplean.
Lo interesante es que una media sin retraso además de tener lag cero, sea lo más suave posible.
tartarugap escribió: En que situaciones irias utilizar esta media?
Imagina que quieres una exponencial con lag la mitad del ciclo mensual, o sea 21,5 / 2 = 10,75.
Si utilizas un media estandard, tendrías el problema que la EMA-Estándar(10) tiene menos lag del que buscas y EMA-Estándard(11) tienes más lag del que buscas. Con EMAL(10,75) haces el ajuste perfecto.
La EMAl no es mágica, solo que tiene la ventaja de que puedes ajustar con más precisión.
tartarugap escribió: Tente percibir si esta lag puede ser utilizada como normalizadora de margenes em empresas ciclicas (para ver si estamos en la parte superior del ciclo o si estamos en la parte inferior del ciclo industrial donde se insere la empresa)

Tambien poderia ser utilizada en el calculo del PEG normalizando el crescimiento...
Un tema muy relacionado con este hilo es la predicción por el método de alisado exponencial:

Cómo usar la suavización exponencial simple para pronosticar la demanda

La tendencia en el suavizamiento exponencial doble o modelo de holt

Alisado exponencial sin tendencia: el alisado simple



Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com

Avatar de Usuario
Rafa7
Mensajes: 4923
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

He leído:
https://www.uam.es/docencia/predysim/predysim/2_4_we1.htm escribió: Ello implica que cuanto mayor sea el valor del coeficiente alfa, menor será el número de términos incluido en la media móvil. Cuando alfa=1, el valor de la media móvil coincide con el valor de la serie en el período. Cuando alfa se aproxima a cero, las ponderaciones son muy pequeñas y, por tanto, se incluyen gran número de términos. La relación entre el número de términos y el valor del coeficiente alfa es aproximadamente:
S = (2 - alfa) / alfa
Y dije:
El número de términos de la EMA es (2 - alfa) / alfa, por lo siguiente:
2 * lag + 1 = 2 * (1 - alfa) / alfa + 1 = (2 - 2 * alfa - alfa) / alfa = (2 - alfa) / alfa.
Aunque en realidad quería decir el número de términos de la media simple de la semilla.



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

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Sres. Foristas,



Voy a calcular con exactitud el lag teórico de la EMA para un histórico de m velas, tomando como semilla el precio más antiguo, o sea, C[m - 1]

EMA =
a * sum((1 – a)^i * C; 0 <= i <= m - 2) + (1 – a)^(m – 1) * C[m - 1]

Lag(EMA; C) =
(a * sum((1 – a)^i * Lag(C; C); 0 <= i <= m - 2) + (1 – a)^(m – 1) * Lag(C[m - 1]; C))
/ (a * sum((1 – a)^i * C; 0 <= i <= m - 2) + (1 – a)^(m – 1) * C[m - 1]) =
(a * sum(i * (1 – a)^i; 0 <= i <= m - 2) + (m – 1) * (1 – a)^(m – 1))
/ ((1 – (1 – a)^(m – 1) + (1 – a)^(m – 1) * C[m - 1])

sum(i * (1 – a)^i; 0 <= i <= m – 2) =
sum(i * (1 – a)^i; 1 <= i <= m – 2) =
sum((i + 1) * (1 – a)^(i + 1); 0 <= i <= m – 3) =
(1 – a) * sum((i + 1) * (1 – a)^i; 0 <= i <= m – 3) =
(1 – a) * (sum(i * (1 – a)^i; 0 <= i <= m – 3) + sum((1 – a)^i; 0 <= i <= m – 3)) =
(1 – a) * (sum(i * (1 – a)^i; 0 <= i <= m – 2)
– (m – 2) * (1 – a)^(m – 2)
+ (1 – (1 – a)^(m -2)) / a) =
(1 – a) / a * ((1 – a)^(m – 2) + (1 – (1 – a)^(m -2)) / a – (m – 2) * (1 – a)^(m – 2))

Lag(EMA; C) =
((1 – a) * ((1 – a)^(m – 2) + (1 – (1 – a)^(m -2)) / a
– (m – 2) * (1 – a)^(m – 2)) + (1 – a)^(m – 1))
/ ((1 – (1 – a)^(m – 1) + (1 – a)^(m – 1) * (m – 1))


A continuación os adjunto un Excel en el que aplico esta fórmula para calcular el lag de la EMA-Estándard(10).
Y veo que el lag de la EMA-Estándar(10) converge en 4,50, o sea, el lag de la SMA(10)), a partir de 32 velas.

lagEma10.xlsx
Número teórico de velas de retraso de la EMA(10)
(10.08 KiB) Descargado 96 veces


Saludos.
Última edición por Rafa7 el 29 Ene 2018 10:48, 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: 4923
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Señores foristas,



Ya demostré que el lag teórico de la EMA-estándar(n) converge con el de la SMA(n), o sea, en (n – 1) / 2.
Pero repito la demostración de forma un poco más elegante.
Supongamos que tenemos infinitas velas en el histórico.

EMA =
a * C + (1 – a) * EMA[1] =
a * C + (1 – a) * (a * C[1] + (1 – a) * EMA[2]) =
a * C + a * (1 – a) * C[1] + (1 – a)² * EMA[2]) =
a * C + a * (1 – a) * C[1] + (1 – a)² * (a * C[2] + (1 – a) * EMA[3]) =
a * C + a * (1 – a) * C[1] + a * (1 – a)² * C[2] + (1 – a)³ * EMA[3]) =
a * sum((1 – a)^i * C; i >= 0)

Lag(EMA; C) =
a * sum((1 – a)^i * Lag(C; C); i >= 0) / (a * sum((1 – a)^i; i >= 0)) =
sum(i * (1 – a)^i; i >= 0) / sum((1 – a)^i; i >= 0)

sum(i * (1 – a)^i; i >= 0) =
sum(i * (1 – a)^i; i >= 1) =
sum((i + 1) * (1 – a)^(i + 1); i >= 0) =
(1 – a) * sum((i + 1) * (1 – a)^i; i >= 0) =
(1 – a) * (sum(i * (1 – a)^i; i >= 0) + sum((1 – a)^i; i >= 0))=
(1 – a) * (1 / a) / a =
(1 – a) * (1 / a²) =
(1 - a) / a^2

sum((1 - a)^i; i >= 0) = 1 / (1- (1 - a)) = 1 / a

Lag(EMA; C) = (1 – a) / a^2 / 1 / a = (1 - a) / a

Lag(EMA; C) = (1 – a) / a

Lag(EMA-estándar(n); C) =
(1 – 2 / (n + 1)) / 2 / (n + 1) =
(n + 1 – 2) / (n + 1) * (n + 1) / 2 =
(n – 1) / 2 =
Lag(SMA; C)

Lag(EMA-estándar(n); C) = Lag(SMA(n); C)



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

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Sres. foristas,



Esta es una demostración de cual es el lag de la SMA, con la mismo método que he usado en las demostraciones anteriores en la EMA:

SMA(n) = sum(C; 0 <= i <= n - 1) / n

Lag(SMA(n); C) =
sum(Lag(C; C); 0 <= i <= n - 1) / n / sum(1; 0 <= i <= n - 1) / n =
sum(i; 0 <= i <= n - 1) / sum(1; 0 <= i <= n - 1) =
n * (n - 1) / 2 / n =
(n - 1) / 2

Lag(SMA(n); C) = (n - 1) / 2



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

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Sres. foristas.



La metodologia que uso para calcular el lag teórico de cualquier media móvil de n términos es la siguiente:

Supongamos que MM(n) = sum(Ai * C; 0 <= i <= n - 1)

lag(MM(n); C) =
sum(Ai * lag(C; C); 0 <= i <= n - 1) / sum(Ai; 0 <= 1 <= n - 1) =
sum(i * Ai; 0 <= i <= n - 1) / sum(Ai; 0 <= 1 <= n - 1) =
sum(i * Ai; 1 <= i <= n - 1) / sum(Ai; 0 <= 1 <= n - 1)

lag(sum(Ai * C; 0 <= i <= n - 1); C) =
sum(i * Ai; 1 <= i <= n - 1) / sum(Ai; 0 <= 1 <= n - 1)

Donde el denominador es la suma de los coeficientes de los precios.



Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
XeL_Arjona
Mensajes: 2
Registrado: 22 Ene 2018 20:48

Re: Cálculo del retraso de las medias móviles

Mensaje por XeL_Arjona »

¡Buen día desde México!

Soy usuario nuevo y me permitiré inaugurarme en el foro con una aportación a este hilo que he encontrado de mi interés a mis propias experimentales. Quiero mencionar de antemano que no soy matemático, pero si un amplio y declarado buscador de fundamentar indicadores técnicos con matemática y/o realidad humana (psiqué).

Como primer punto quisiera decantarme a favor de la argumentación del usuario tartarugap, en referencia a que la "potencia" que un -indicador masa- tiene es en función a la cantidad con la cuál este se use. Este mismo caso aplica para la SMA(200 días) así como al RSI(14) o las Bandas Bollinger tradicionales. Adicional a esto, en varios blogs, papers técnicos y/o páginas con operativa automatizada me he encontrado que el nuevo bicho moda es la cuantificación de ese monstruo raro llamado "Volatilidad" en intra-días, y he aquí mi segundo punto al respecto:

Las medias exponenciales o elásticas como le conocen mayormente en el argot matemático (EWMA), aparte de que me topé con muchas de las negativas que el usuario Rafa7 ya ha mencionado (Una cierta carencia de estandarización matemática), solo sirven cuando su factor de peso -alpha o lambda- representa un RATIO de cualquier lectura externa al precio ponderado y la semilla inicial se ajuste con cierta certeza. Mi mejor experiencia fue la descrita ya por un paper de Christian Faries en la cual usaba el precio actual sobre el valor de flotación accionaria. (Elastic Volume Weighted Moving Average). Siguendo con las aportaciones de Rafa7, también me encuentro ampliamente a favor de su postura, en que la funcionalidad de una MM es justamente su LAG; no su falta de este, pues no hay mejor indicador sin lag que el precio mismo sin compresión temporal (Ticks). Dicho esto, jugando con la SMA llegué al estudio medianamente comprendido por mí de las medias pitagóricas (Aritmetica (SMA), Geométrica(GMA) y Harmónica) y me encontré con la alta relación directa que estas tenían con dibujar una media móvil derivada de una función lineal (En especifico usando la LinearRegressionMA), a tal grado que usando esta aparente linea de regresión móvil, si está es dibujada no por su última o más reciente itinerancia dentro de su histórico de periodos (n) como usualmente se usa (menor lag) sino por su valor en la itinerancia (offset) media(n/2), la semejanza con la Media Aritmética (SMA) es en extremo similar al mismo periodo usado (n) si no es que identica. Jugando con este mismo ataque divisor de la itinerancia en la línea de regresión(n) me encontré también con la peculiaridad que usando la tercera parte del histórico (n/3) la semejanza ahora sería en extremo con la media ponderada (WMA) del mismo historico (n).
Imagen

Jugando con esto, escribí el siguiente código que les comparto en ProRealTime (Altamente experimental, no recomendado su uso para operativas sino para aprendizaje) el cual usa a discreción (puede ser alimentada por otra variable numérica) la itinerancia de una linea de regresión móvil (OLS) mientras esta cumpla con que su offset sea mayor a 2 (mitad de la regresión):

Código: Seleccionar todo

// Ordinary Least Squares FIT with Dynamic Offets by @Xel_arjona
// Set Lookback=200,  OFST=2 for an equal SMA(200), or OFST=3 for an equal WMA(200)  ;)
// OFST must be > 2
x   = barindex
xo  = x-OFST
y   = AR
xy  = x*y
x2  = x*x
Sx  = summation[Lookback](x)
Sy  = summation[Lookback](y)
Sxy = summation[Lookback](xy)
Sx2 = summation[Lookback](x2)
b   = (Lookback*Sxy-(Sx*Sy)) / (Lookback*Sx2-square(Sx))
a   = (Sy-(b*Sx)) / Lookback
OUT   = exp(log(a+b*xo))
El resultado es interesante, pues parece que actúa muy similar a un tipo de ponderación exponencial a la inversa (el alpha de cualquier EWMA debe normalizarse para que OFST >= 2) pero lo que me gustó de este modelo es que cuando la fraccional de alpha tiende a ser > 3, este se vuelve muy similar a la OLS tradicional por lo que jamás será tan pegada al precio como una EWMA. Digamos que el alpha de este modelo tiende a mimetizarse mas al LAG de una Aritmética, no a perderlo, cosa que me parece mas interesante.

Actualmente me encuentro más interesado por el estudio de la ponderación no exponencial (WMA), la cual también creo que es un mucho mejor ataque en un modelo de medias que la exponencial, pero este quisiera fuera tema de otro hilo, pues ya me extendí mucho en este, a lo cual pido disculpas.

Saludos.

XeL
Avatar de Usuario
Rafa7
Mensajes: 4923
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

XeL_Arjona escribió: Siguendo con las aportaciones de Rafa7, también me encuentro ampliamente a favor de su postura, en que la funcionalidad de una MM es justamente su LAG; no su falta de este, pues no hay mejor indicador sin lag que el precio mismo sin compresión temporal (Ticks).
Gracias, Xel_Arjona.



Bienvenido al foro.

En la cita, has expresado lo que pienso, pero lo has expresado con mayor claridad de como yo lo he hecho.
Xel_Arjona escribió: Actualmente me encuentro más interesado por el estudio de la ponderación no exponencial (WMA)
En este hilo pienso también estudiar el lag de la WMA, la media móvil ponderada estándar.



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

Re: Cálculo del retraso de las medias móviles

Mensaje por Rafa7 »

Sres, foristas,


He creado, en ProRealTime, un indicador que mide el lag empírico de cualquier media móvil (de momento he probado para SMA(10), EMA(10) y WMA(10)). Es decir, que el indicador ignora el lag teórico y se limita a medir el promedio cuadrático ente la MM(10) y C, y deduce, por interpolación lineal entre i1 e i2 cual es el i óptimo no necesariamente enteros. (i1 e i2 si son enteros, e i se calcula por interpolación lineal teniendo en cuenta los errores cuadráticos de i1 e i2.

Estos son los resultados:

Código: Seleccionar todo

activo	lag(SMA(10)  lag(EMA(10)  lag(WMA(10))
IBEX35	4,50060		2,50068		2,50291
SP500 	4,50001		3,50938		2,50452
EURUSD	4,50019		2,50989		2,50352
ORO		4,50024		3,50668		2,51159
Como podeis ver, el lag empírico de la SMA(10) es muy próximo su lag teórico. Pero esto no sucede con la EMA(10).

¿Comentarios a estos resultados?



Saludos.
Última edición por Rafa7 el 25 Ene 2018 10:06, editado 4 veces en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
XeL_Arjona
Mensajes: 2
Registrado: 22 Ene 2018 20:48

Re: Cálculo del retraso de las medias móviles

Mensaje por XeL_Arjona »

Rafa7 escribió:
XeL_Arjona escribió: Siguendo con las aportaciones de Rafa7, también me encuentro ampliamente a favor de su postura, en que la funcionalidad de una MM es justamente su LAG; no su falta de este, pues no hay mejor indicador sin lag que el precio mismo sin compresión temporal (Ticks).
Gracias, Xel_Arjona.



Bienvenido al foro.

En la cita, has expresado lo que pienso, pero lo has expresado con mayor claridad de como yo lo he hecho.
Xel_Arjona escribió: Actualmente me encuentro más interesado por el estudio de la ponderación no exponencial (WMA)
En este hilo pienso también estudiar el lag de la WMA, la media móvil ponderada estándar.



Saludos.

Muchas gracias Rafa7.

Lo interesante de la WMA a mi juicio, no es su ponderación geométrica (1/n-) sobre su histórico al mismo precio observado C, sino su capacidad para ponderar de entre un universo externo al cual pertenezca nuestro precio observado (sectorial, portafolio, etc). Un ejemplo burdo que me viene a la mente podría ser la de utilizar mediciones exógenas al precio de cada activo perteneciente al universo dado como el rendimiento (log(C/C[i-1])) o algún otro modelo de estimación de volatilidad, o volumen, o conteo de ticks, Avances/Declines, o cualquier cosa que se pueda contar y comparar en una matriz de entre el universo para sacar su radio y ponderarlo a nuestro precio de observación en la WMA.

Saludos.
Avatar de Usuario
agmageton
Mensajes: 3580
Registrado: 30 Ene 2008 11:32

Re: Cálculo del retraso de las medias móviles

Mensaje por agmageton »

XeL_Arjona escribió:
Muchas gracias Rafa7.

Lo interesante de la WMA a mi juicio, no es su ponderación geométrica (1/n-) sobre su histórico al mismo precio observado C, sino su capacidad para ponderar de entre un universo externo al cual pertenezca nuestro precio observado (sectorial, portafolio, etc). Un ejemplo burdo que me viene a la mente podría ser la de utilizar mediciones exógenas al precio de cada activo perteneciente al universo dado como el rendimiento (log(C/C[i-1])) o algún otro modelo de estimación de volatilidad, o volumen, o conteo de ticks, Avances/Declines, o cualquier cosa que se pueda contar y comparar en una matriz de entre el universo para sacar su radio y ponderarlo a nuestro precio de observación en la WMA.

Saludos.


Por ahí van los tiros, las medias tienen varios problemas asociados el más importante es el parámetro de n velas, que suele dar lugar a arbitrariedad, si es diario entonces el problema es menor, pero una media simple, ponderada o exponencial, o similar, recoge sólo la información "media" del precio, pero no por así decirlo que temperatura que tiene ese precio, por eso no son herramientas eficientes para emplearlas en un trading más práctico, están bien como visión del momento de mercado a grandes rasgos.

Yo recomiendo, mejor hacerlo con un tipo de alisado exponencial múltiple, donde quede registrado la temperatura del precio mediante una alfa que hará que la ponderación no dependa únicamente de la media del precio, sino de factores estructurales de como se mueve ese precio, por poner un ejemplo sencillo y comprensible, si a un alisado le damos factores múltiples de informacióon que haga variar la ponderación dependiendo además del movimiento medio del precio con factores relacionados con la volatilidad, como la velocidad o aceleración dentro de unos niveles de volatilidad en su estimación, podemos tener un tipo de ponderación mucho más eficiente que haga mejor la utilización de esa herramienta.

Lo primero que uno debe plantearse es para que quiere un tipo de alisado, por ejemplo la media, para que vas a utilizarla? por ejemplo yo utilizo un tipo de alisado para posicionarme con estrategias en varios marcos de actuación, concretamente en momentos de mercado alcista en 3, muy alcista, alcista y alcista moderado. el muy alcista el precio tiene una marcada tendencia alcista y con una volatilidad muy baja en relación a su volatilidad esperada, el alcista esta en un posición podríamos llamar normal, con retrocesos no dramáticos y el moderado los retrocesos están acompañados de mayor dramatismo pero sin romper el fondo tendencial. Del mismo modo para el lado bajista aunque aquí las particularidades cambian sustancialmente, dependiendo el activo.

Con esto lo que hago es poner las estrategias en mejor posición respecto a su probabilidad de actuación, y lo mejor que la aplicación de las alfas son standar y no arbitrarias y se dinamizan por factores de movimiento y conceptos relacionados con la volatilidad.
Adjuntos
euro dolar.png
gas.png
nq 100.png
La entrada te da la probabilidad y la salida la rentabilidad...
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Trading en General”