Indicador Anchored VWAP Channel



 Edición Enero Revista Traders - Post Visual Chart


Andrew Coles, en su artículo An Anchored VWAP Channel For Congested Markets (Stocks & Commodities, Julio 2010), nos presentaba esta interesante herramienta basada en el indicador MIDAS de Paul Levine, una herramienta muy similar al indicador de volumen y precio Volume Weighted Average Price. La versión de Andrew Coles incluye el uso de canales como método para filtrar los momentos de congestión de los momentos de tendencia. En el presente artículo, hablaremos de esta técnica, de cómo podemos aprovecharla para nuestras operaciones y de la información que nos aporta.

El indicador MIDAS de Paul Levine

Como comentábamos, el indicador MIDAS es una modificación del VWAP, un estilo de media móvil muy particular cuyos resultados dependen tanto del precio como del volumen de negociación. El uso conjunto de volumen y precio comprende una filosofía para el estudio de los cambios de tendencia cuya base fundamental sería la siguiente:

Considerando la evolución del precio como una consecución de presiones entre distribuciones y acumulaciones, vamos a suponer que éstas se pueden cuantificar a través de precios y volúmenes. Al estudiar estos datos, se revela una cierta simetría entre soportes y resistencias.
Como consecuencia, podemos usar dicha simetría para predecir posibles futuros niveles de soporte y resistencia, que finalmente es el dato que nos facilita el indicador MIDAS.

Por tanto, cuando aplicamos el indicador sobre un valor, el resultado es una línea que persigue al precio, marcando el posible punto de giro de tendencia. De hecho, su propio cambio de pendiente es un indicador de cambio de dirección.


Un ejemplo de ello lo podemos encontrar en el gráfico 1. Los puntos A y B marcan los momentos de cambio de dirección. A partir del punto B, se inicia un movimiento bajista que se prolonga en el tiempo. Cuanto más se prolongue, mayor será la distancia entre el precio y la línea del indicador, puesto que éste actúa como un nivel de resistencia con carácter a largo plazo.

Lo que indicaba en su artículo Andrew Coles es que éste método tiene mayor validez cuando la finalización de una tendencia coincide con el inicio de una tendencia nueva, pero no tanto cuando la finalización deriva en un proceso acumulativo o de congestión, situación que ocurre en la mayoría de los casos. Para hacer frente a éste problema, el autor incorpora la metodología de canales al indicador MIDAS. Veamos cómo.

Estudio de los movimientos laterales.

El autor nos planteaba pensar en cómo se construyen los movimientos laterales del mercado: estas zonas se forman por la consecución de varios puntos de soporte y resistencia situados al mismo nivel (aproximadamente). A partir de éstos, el precio oscila entre unos y otros. Por tanto, podemos considerar dichos niveles como los límites de la zona de congestión. La metodología de canales propone acotar éste rango de precios y esperar a la ruptura de dicha zona como punto de fuga y por tanto inicio de una nueva tendencia (alcista o bajista en función de si la ruptura ha sido al alza o a la baja).
Si trasladamos ésta técnica al uso del indicador MIDAS, obtendríamos un canal alrededor de la línea del indicador que nos va a permitir controlar las zonas laterales. Al marcar el indicador un cambio de dirección, habría que esperar a que el precio superase los límites del canal para determinar que se ha producido el giro de tendencia.

El indicador Anchored VWAP Channel.

El resultado de ésta idea sería el indicador Anchored VWAP Channel. Este indicador combina al indicador MIDAS estándar y dos bandas límite calculadas respecto a éste. A continuación mostramos la función del indicador:




Es decir, el cociente entre la sumatoria de los “pv” (precio medio por el volumen) menos el “pv” de inicio y la sumatoria de los volúmenes menos el volumen de inicio.
A partir de ésta función, obtenemos los límites que conforman el canal:


Donde k  y z son constantes que puede oscilar entre 0 y 100.

En éste mismo artículo podemos encontrar el código fuente del indicador para Visual Chart 5. La versión del indicador para Visual Chart 5 incluye una variante respecto a la idea original de Andrew Coles. En lugar de partir desde un punto de inicio estático, ésta variante actualiza el punto de inicio cada vez que se produce un cambio de sesión (siempre y cuando sean gráficos intradiarios). Gracias a esto, podemos adaptar los resultados a los cambios más recientes.

En el gráfico 2 vemos el resultado de aplicar el indicador al gráfico de 10 minutos del Euro Dólar Futuro Continuo. En dicho gráfico, el punto A marca el fin de la tendencia bajista. A partir de ése momento se inicia una fase de congestión.  El precio oscila dentro del canal hasta alcanzar el punto de fuga en el punto B.

Generación de señales en base al Anchored VWAP Channel.

Para finalizar el estudio del indicador Anchored VWAP Channel, vamos a considerar un añadido en cuanto a la estrategia a seguir. Ya hemos dicho que la ruptura del canal tras una zona de congestión confirma una nueva zona tendencial. Obviamente, ésta regla es una buena base para diseñar una estrategia de operativa durante las fases de distribución. Pero, puesto que tenemos acotadas las zonas laterales gracias al canal de MIDAS, ¿por qué no aprovechar también estos periodos de tiempo?. La estrategia a seguir sería la siguiente:

1) Establecemos dos rangos porcentuales que nos aporten dos canales de tamaño diferente. El primer canal acotará el precio durante las fases de congestión. El segundo, será el filtro de confirmación de salida de dicha zona.
  
2) Si el precio rompe el canal de mayor amplitud, actuamos a favor de tendencia.

3) Si el precio se mueve dentro del canal de menor amplitud, aprovechamos los movimientos de retroceso hasta el siguiente punto de ruptura.

En el gráfico 3 podemos ver un ejemplo aplicado sobre el gráfico del Euro Stoxx 50 Futuro a 10 minutos. En dicho gráfico vemos el canal superior (de mayor grosor) con bandas situadas al 0.4%. El canal inferior (de menor grosor) está formado por bandas situadas al 0.25%. Cuando el precio rompe el canal superior, se espera una fase tendencial (punto A). Cuando el precio retrocede y penetra en el canal inferior, actuamos a favor de dicha penetración (puntos B, D  y E) puesto que esperamos una situación de lateralidad. El objetivo para estos casos estaría en el límite opuesto, tal y como se ve en los puntos D y E.

Conclusiones.

En este artículo hemos presentado el indicador de Andrew Coles con el cual se pretende filtrar los movimientos de congestión del precio. Al final de dicho artículo, hemos planteado una forma de aprovechar, además, los procesos laterales definidos por el indicador de bandas. Cabe destacar que la amplitud de las bandas es un factor determinante para obtener el mejor rendimiento de ésta herramienta, si bien el valor óptimo para ésta amplitud dependerá del producto sobre el que trabajemos así como de la compresión temporal seleccionada.
   

G1) Indicador MIDAS en AEX-25 FUT. CONT. 2 minutos.




El indicador MIDAS cambia su pendiente a positivo en el punto A, revelando un cambio  de dirección. El punto B también funciona como punto de giro, coincidiendo también con un cambio de pendiente. Cuanto más se prolonga el movimiento, más alejado queda el nivel de ruptura del precio, tal y como se muestra en el movimiento bajista iniciado en torno a las 13:00 horas.
Fuente: Visual Chart



G2) Indicador Anchored VWAP Channel en EuroDólar Fut.Cont. 10 min.



En éste gráfico del EuroDólar Futuro Cont. a 10 minutos, vemos cómo un proceso bajista acaba en una zona de congestión (punto A). La salida de la zona se daría el 4 de Diciembre al cierre de la barra de las 14:40 horas. El indicador MIDAS marca dirección ascendente y el precio queda por encima de la banda superior. Los valores porcentuales utilizados para éste canal son del 0.12%.
Fuente: Visual Chart

  

G3) Señales Anchored VWAP Channel en CAC 40 FUT.CONT. 10 minutos.



El siguiente gráfico vemos aplicado el Anchored VWAP Channel dos veces, por un lado con el porcentaje 0.4% y por otro lado con el porcentaje 0.25% .La ruptura de la banda inferior a 0.4% genera la señal bajista del punto A. Como vemos, el precio se mantiene durante ésta caída fuera del canal. El punto B señala dos compras generadas por la entrada en el canal de 0.25%. El punto C señala una ruptura del canal mayor a la baja que acabaría en pérdida. Este evento es seguido de un movimiento lateral que se traduce en las dos señales de compra de los puntos D y E. El punto F señala una salida falsa del canal mayor.
Fuente: Visual Chart


Código de programación

ANCHORED VWAP CHANNEL PARA VISUAL CHART 5.
'¡¡ Parameters
Dim PctUp As Double '0.23
Dim PctDn As Double '0.33
'Parameters !!
Private Type midastype
    initvol As Double
    initpv As Double
    sumpv As Double
    sumvol As Double
End Type
Dim md() As midastype
Dim mdant() As midastype
Dim lastbar As Long
Dim isintraday As Boolean
Option Explicit
Public APP As OscUserApp
Implements Indicator
Public Sub Indicator_OnInitCalculate()
With APP
    ReDim md(1)
    ReDim mdant(1)
    lastbar = -1
    isintraday = (.GetSymbolInfo(SbiCompresion) <= crMinutos)
    .SetLineName 1, "Midas"
    .SetLineName 2, "UpMidasBand"
    .SetLineName 3, "DnMidasBand"
End With
End Sub
Public Sub Indicator_OnCalculateBar(ByVal Bar As Long)
With APP
    If lastbar <> Bar Then
        md(1) = md(0)
        mdant(1) = mdant(0)
    Else
        md(0) = md(1)
        mdant(0) = mdant(1)
    End If   
    Dim pv As Double
    pv = .GetPrice(PriceCenter) * .Volume()   
    If (Bar = .StartBar) Or (isintraday And .Date > .Date(1)) Then
        mdant = md
        ReDim md(1)
        md(0).initpv = pv
        md(0).initvol = .Volume()
    End If       
    If (mdant(0).initpv <> 0) Then
        mdant(0).sumpv = mdant(0).sumpv + pv
        mdant(0).sumvol = mdant(0).sumvol + .Volume()
    End If   
    md(0).sumpv = md(0).sumpv + pv
    md(0).sumvol = md(0).sumvol + .Volume()   
    Dim denom As Double
    If (md(0).sumvol - md(0).initvol = 0) Then
        denom = 1
    Else
        denom = md(0).sumvol - md(0).initvol
    End If   
    Dim m As Double
    m = (md(0).sumpv - md(0).initpv) / denom   
    If (mdant(0).initpv <> 0) Then
        Dim mant As Double
        denom = mdant(0).sumvol - mdant(0).initvol
        mant = (mdant(0).sumpv - mdant(0).initpv) / denom
        If (Math.Abs(mant - .Close()) < Math.Abs(m - .Close())) Then
            m = mant
        Else
            ReDim mdant(1)
        End If
    End If   
    Dim ippos As IndicatorPosition
    If (.Close() > m) Then
        ippos = ipBull
    Else
        ippos = ipBear
    End If   
    .SetIndicatorValue m, 1, 0, ippos   
    If PctUp <> 0 Then
        .SetIndicatorValue m * (1 + PctUp / 100), 2
        .SetBarColor 0, 2, RGB(0, 0, 0)
    End If
    If PctDn <> 0 Then
        .SetIndicatorValue m * (1 - PctDn / 100), 3
        .SetBarColor 0, 3, RGB(0, 0, 0)
    End If   
    lastbar = Bar
End With
End Sub
Public Sub Indicator_OnSetParameters(ParamArray ParamList() As Variant)
'¡¡ Parameters initialization
'Parameters initialization !!
End Sub
Public Sub Indicator_OnCalculateRange(ByVal StartBar As Long, ByVal FinalBar As Long)
    Dim i As Long
    i = APP.StartBar
    If StartBar > i Then
        i = StartBar
    End If
    While Not APP.ShouldTerminate And i <= FinalBar
        APP.CurrentBar = i
        Indicator_OnCalculateBar i
        i = i + 1
    Wend
End Sub
Private Sub OscUserAppInstance_OnConnection(ByVal Application As OscUserApp, ByVal MTDllInst As Object, Custom() As Variant)
    Set APP = Application
End Sub

Comentarios

Entradas populares de este blog

Trading Tools: Descarga de históricos para Visual Chart 6

Indicador Cuidatar

El indicador Volume Distribution