Artículo de Visual Chart Publicado en la Revista TRADERS´ - Octubre
El uso de trading
systems basados en medias móviles está a la orden del día como consecuencia
de la simplicidad de estas herramientas y de su capacidad para determinar la
dirección de la tendencia. No obstante, éstas arrastran un retardo en cuanto a
la detección de los movimientos que supone en ocasiones la pérdida completa del
impulso debido al modo con el que se calculan. En el presente artículo
hablaremos de dos tipos de medias móviles que tratan de reducir el tiempo de
retardo.
>> Análisis de las
medias móviles QEMA y PEMA.
Planteemos
el siguiente escenario: Utilizamos dos medias móviles exponenciales para
determinar la dirección de los precios. Por un lado, una media de periodo muy corto
(4 sesiones) y por otro una media de medio plazo (30 sesiones). El cruce entre
ambas medias nos servirá como medidor de la tendencia: Cuando la media corta se
mueva por encima de la media de 30 sesiones, tendremos posiciones largas
(tendencia alcista), mientras que si la media corta cae por debajo de la media
de 30, tendremos posiciones cortas (tendencia bajista).
Este
método, pese a su sencillez, puede considerarse como un buen indicador del
sentimiento general de la tendencia.
>> El cruce de dos medias
exponenciales (4 y 30) nos sirve de medidor de la tendencia <<
Sin
embargo, como decíamos al principio, el problema que arrastran las medias
móviles es el retardo que sufren cuando se producen giros bruscos del mercado.
En función del periodo usado, la media requiere de un número mínimo de barras
para empezar a modificar la dirección de su pendiente. Como consecuencia, el
momento de detección llega demasiado tarde o habiendo sufrido una pérdida
importante de puntos favorables al nuevo movimiento.
Por
otro lado, es inevitable que esto suceda, ya que normalmente observamos estas
situaciones en zonas donde el nuevo movimiento ha avanzado progresivamente. Sin
embargo, cuando un nuevo giro de tendencia finaliza de manera brusca,
produciéndose un retroceso, el retardo de las medias pasa a convertirse en una
ventaja, ya que en tal caso la media despreciará el pull back que se ha
generado.
Esto
nos lleva a la siguiente pregunta: ¿No hay un método que nos permita aprovechar
el filtro que supone usar las medias pero que además disminuya el tiempo de
retardo? Una posible solución sería utilizar un tipo de medias muy específicas
llamadas QEMA y PEMA.
INTRODUCCION
Las
medias QEMA y PEMA proceden de la familia de las medias DEMA y TEMA.
La
DEMA (Double Exponential Moving Average) calcula el resultado de sumarle a la
media exponencial estándar (EMA) la media exponencial de la diferencia entre
los precios y dicha media estándar. Como consecuencia, genera un EMA mucho más
suavizado que reduce el ruido de la media estándar, pero por el contrario
aumenta el nivel de retardo.
La
TEMA (Triple Exponential Moving Average) surge como método para reducir el
retardo de su antecesor, la media DEMA. El inconveniente que presenta es que al
ser más agresiva el ruido generado por la media es superior.
Al
observar que la triple exponencial mejoraba el tiempo de reacción de la media
doble, se pensó si esta secuencia progresiva generaría paralelamente un tiempo
de reacción cada vez mejor. Esta reflexión será la justificación de la creación
de las medias QEMA y PEMA.
>> Las medias QEMA y PEMA
buscan mejorar de manera progresiva el tiempo de respuesta de la media estándar
<<
QEMA (Quadruple
Exponential Moving Average)
La
primera de las medias que veremos recibe el nombre de Quadruple Exponential
Moving Average, o como es conocida comúmente, QEMA.
Esta
media cuadruple, como decimos, trata de ser un filtro para mejorar la precisión
de la media exponencial. La fórmula de la media sería la siguiente:
El
movimiento de la media QEMA es muy particular, ya que excede a los impulsos
generados por el precio (a diferencia de la media estándar, cuyas curvas no
llegan a sobrepasar los montes y valles de la cotización).
Cuando
aparece el final de un rallie de largo recorrido, normalmente es continuado por
un movimiento de acumulación que puede derivar en un nuevo rallie en sentido
contrario. En este escenario, la media estándar tarda en detectar el nuevo
movimiento como consecuencia del proceso de acumulación. Sin embargo, la media
QEMA desprecia el movimiento lateral y pasa a asumir directamente que el final
del rallie de inicio desembocará en un impulso de tendencia contraria (gráfico 1).
PEMA (Pentuple Exponential
Moving Average)
La
péntuple o quíntuple media exponencial consiste en un nuevo giro de tuerca en
el proceso de corrección de la media estándar.
El
método para calcular el PEMA es similar al de la versión anterior aunque en
este caso se aumenta el número de medias implicadas en el cálculo:
El
modo de actuar de dicha media es aún más extremo que el de la media anterior,
como podemos ver en el gráfico 2.
Este
movimiento, en ocasiones demasiado agresivo, puede llegar a impedir la
progresión normal de un rallie favorable a la señal, lo que puede derivarse en
que termine siendo menos efectivo el uso de ésta media que el de la media
estándar. Esta observación nos lleva a pensar que posiblemente no merezca la
pena continuar aumentando hasta una media séxtuple o séptuple. Sin embargo, todo
dependerá del valor sobre el que procedamos, por lo que es recomendable evaluar
el resultado de las distintas medias para concluir qué interesa más en cada
caso.
>> PEMA mejora la reacción de
QEMA, aunque realiza movimientos más agresivos <<
Actuación de las medias
en los movimientos laterales
No
cabe duda que el peor bagaje del análisis de la tendencia mediante medias
aparece durante los periodos de congestión o laterales. Durante dichos
procesos, se producen la mayoría de señales erróneas.
Este
problema también afecta a las medias QEMA y PEMA pero de distinto modo. Veamos
la actuación de cada una de ellas.
En
el gráfico 3 vemos como se produce el cruce continuado entre la media
exponencial de 30 respecto a la de 4 sesiones. Esta situación es inevitable
puesto que no hay una tendencia clara que determine la dirección de los
precios.
En
cuanto a las medias QEMA y PEMA, el problema persiste, si bien debido a su
poder de aceleración disiminuye la cantidad de señales falsas (gráfico 4).
>> Durante las zonas de congestión
los cruces falsos perduran, si bien las medias QEMA y PEMA reducen la cantidad
de ellos <<
Conclusiones
La
finalidad de estas medias es la de mejorar la precisión de la media
exponencial, si bien todo depende del tipo de estrategia que diseñemos y del
valor sobre el que estemos actuando.
Por
último, cabe destacar que el estudio de medias adaptables al movimiento
reciente de los precios no se limita a las mencionadas en el presente artículo,
si no que su número es amplio y existen diversos modelos, como pueden ser la
media de Hull o la media de Tillson.
>>>>>>
GRAFICOS UTILIZADOS
G1) Anticipación de la media QEMA en DAX FUTURE CONT.
En cuanto el rallie bajista
entra en la zona de acumulación, el cruce de la media QEMA (línea verde) con la
media de 4 sesiones marca cambio de tendencia. Cuando la tendencia se confirma,
observamos cómo se adelanta a la señal dada por la exponencial estándar
(círculos rojos).
Fuente:
Visual Chart
G2) Comparación QEMA y PEMA en DAX FUTURE CONT.
La media PEMA (línea roja) se
mueve de manera más agresiva, elevándose por encima de la media QEMA (línea
verde) durante los rallies alcistas.
Fuente:
Visual Chart
G3) Cruce con Media Exponencial EURODOLAR FUTURE CONT.
El continuo cruce de medias
es inevitable debido a que no hay una tendencia clara. Se llegan a dar hasta
diez cruces falsos antes de iniciarse el siguiente rallie bajista.
Fuente:
Visual Chart
G4) Cruce con Media QEMA EURODOLAR FUTURE CONT.
Tanto con QEMA como con TEMA
tampoco puede evitarse el error durante las zonas de congestión. Si bien, al
adaptarse mejor al movimiento actual de los precios, reducen el número de
señales falsas (hasta seis).
Fuente:
Visual Chart
>>>
CODIGO DE PROGRAMACION
CODIGO DE PROGRAMACION DE
MEDIA QEMA PARA VISUAL CHART 5.
'¡¡ Summary
' Classification: Averages
'Summary !!
'¡¡ Parameters
Dim AvgPeriod As Integer '60
Dim AvgPrice As Price
'PriceClose
'Parameters !!
Dim EMAData() As DataIdentifier
Option Explicit
Public APP As OscUserApp
Implements Indicator
Public Sub
Indicator_OnInitCalculate()
With APP
ReDim EMAData(4)
EMAData(0) = .GII(AvExponential, Data,
AvgPeriod, AvgPrice)
EMAData(1) = .GII(AvExponential,
EMAData(0), AvgPeriod, AvgPrice)
EMAData(2) = .GII(AvExponential,
EMAData(1), AvgPeriod, AvgPrice)
EMAData(3) = .GII(AvExponential,
EMAData(2), AvgPeriod, AvgPrice)
EMAData(4) = .GII(AvExponential,
EMAData(3), AvgPeriod, AvgPrice)
.SetLineName 1, "QEMA"
.StartBar = 0
End With
End Sub
Public Sub
Indicator_OnCalculateBar(ByVal Bar As Long)
With APP
Dim EMA(4) As Double
Dim i As Integer
For i = 0 To 4
EMA(i) = .GIV(EMAData(i))
Next i
If EMA(4) <> NullValue Then
Dim QEMA As Double
Dim ipPosition As IndicatorPosition
QEMA
= 5 * EMA(0) - 10 * EMA(1) + 10 * EMA(2) - 5 * EMA(3) + EMA(4)
ipPosition = ipNeutral
If .Close > QEMA Then ipPosition =
ipBull
If .Close < QEMA Then ipPosition =
ipBear
.SetIndicatorValue QEMA, 1, 0,
ipPosition
End If
End With
End Sub
CODIGO DE PROGRAMACION DE
MEDIA PEMA PARA VISUAL CHART 5.
'¡¡ Summary
' Classification: Averages
'Summary !!
'¡¡ Parameters
Dim AvgPeriod As Integer '60
Dim AvgPrice As Price
'PriceClose
'Parameters !!
Dim EMAData() As DataIdentifier
Option Explicit
Public APP As OscUserApp
Implements Indicator
Public Sub
Indicator_OnInitCalculate()
With APP
ReDim EMAData(7)
EMAData(0) = .GII(AvExponential, Data,
AvgPeriod, AvgPrice)
EMAData(1) = .GII(AvExponential,
EMAData(0), AvgPeriod, AvgPrice)
EMAData(2) = .GII(AvExponential,
EMAData(1), AvgPeriod, AvgPrice)
EMAData(3) = .GII(AvExponential,
EMAData(2), AvgPeriod, AvgPrice)
EMAData(4) = .GII(AvExponential,
EMAData(3), AvgPeriod, AvgPrice)
EMAData(5) = .GII(AvExponential,
EMAData(4), AvgPeriod, AvgPrice)
EMAData(6) = .GII(AvExponential, EMAData(5),
AvgPeriod, AvgPrice)
EMAData(7) = .GII(AvExponential,
EMAData(6), AvgPeriod, AvgPrice)
.SetLineName 1, "PEMA"
.StartBar = 0
End With
End Sub
Public Sub
Indicator_OnCalculateBar(ByVal Bar As Long)
With APP
Dim EMA(7) As Double
Dim i As Integer
For i = 0 To 7
EMA(i) = .GIV(EMAData(i))
Next i
If EMA(7) <> NullValue Then
Dim PEMA As Double
Dim ipPosition As IndicatorPosition
PEMA
= 8 * EMA(0) - 28 * EMA(1) + 56 * EMA(2) - 70 * EMA(3)
PEMA = PEMA + 56 * EMA(4)
- 28 * EMA(5) + 8 * EMA(6) - EMA(7)
ipPosition = ipNeutral
If .Close > PEMA Then ipPosition =
ipBull
If .Close < PEMA Then ipPosition =
ipBear
.SetIndicatorValue PEMA, 1, 0,
ipPosition
End If
End With
End Sub
No hay comentarios:
Publicar un comentario