Sistemas de cobertura: Impeccable Hedge. Parte 1

Esta semana continuaremos con el estudio de los sistemas de cobertura que iniciamos anteriormente al presentar el indicador Fractional Product Inefficiency

En dicha presentación, comentamos que se puede aprovechar los momentos de fuerte desviación del FPI para tomar posiciones ganadoras a bajo riesgo. Cuando la amplitud es muy alta, aprovecharíamos este escenario siguiendo la siguiente lógica:

Si el fuerte movimiento se inicia por debajo de 1, compraríamos primero.
Si el fuerte movimiento se inicia por encima de 1, venderíamos primero.

Esperaríamos a la situación contraria para cerrar posiciones. Ejemplo:


En el ejemplo, vendemos en dos de ellos y compramos en el último, ya que como no hay dolar/euro, cambiaríamos la posición al ser el inverso.


El indicador FPI con Soportes y Resistencias dinámicas.

Como vemos, el principal inconveniente que se nos presenta es cómo determinar, mediante un método puramente objetivo, cuando estamos ante niveles de alta volatilidad y cuando no. Para ello, hemos diseñado un nuevo indicador que represente al FPI pero que además establezca los niveles de soporte y resistencia de manera automática y dinámica. Pueden descargar dicho indicador desde el siguiente enlace:

Este indicador se calcula del siguiente modo:
1. Primero, calculamos los valores máximos y mínimos del valor dentro de un intervalo determinado por el parámetro Length:

Public Sub Indicator_OnInitCalculate()
With APP
    FPIData = .GetIndicatorIdentifier(FPI, Data, NumValOfRing, PriceSource, 1, 0, 0, 4)
    HFPIData = .GetIndicatorIdentifier(GHI, FPIData, Length, PriceHigh)
    LFPIData = .GetIndicatorIdentifier(GLI, FPIData, Length, PriceLow)

2. Calculamos cuatro medias móviles de distinto periodo de dichos máximos y mínimos:


    AvgH1Data = .GetIndicatorIdentifier(AvSimple, HFPIData, Period1, PriceClose)
    AvgH5Data = .GetIndicatorIdentifier(AvSimple, HFPIData, Period5, PriceClose)
    AvgH10Data = .GetIndicatorIdentifier(AvSimple, HFPIData, Period10, PriceClose)
    AvgH20Data = .GetIndicatorIdentifier(AvSimple, HFPIData, Period20, PriceClose)
    AvgL1Data = .GetIndicatorIdentifier(AvSimple, LFPIData, Period1, PriceClose)
    AvgL5Data = .GetIndicatorIdentifier(AvSimple, LFPIData, Period5, PriceClose)
    AvgL10Data = .GetIndicatorIdentifier(AvSimple, LFPIData, Period10, PriceClose)
    AvgL20Data = .GetIndicatorIdentifier(AvSimple, LFPIData, Period20, PriceClose)

3. Se obtiene el valor medio de ellas y se aplica un coeficiente porcentual de variación determinado por los parámetros PercentHaut y PercentBas:


Support = (Avg1 + Avg5 + Avg10 + Avg20) / 4 * (1 - PercentBas / 100)


Resistance = ((Avg1 + Avg5 + Avg10 + Avg20) / 4) * (1 + PercentHaut / 100)

El resultado de realizar dicho método es el siguiente:


Una vez que contamos con un FPI que calcula de manera automática los niveles de máxima desviación, podemos desarrollar un sistema automático basado en este indicador, tal y como veremos la próxima semana.

Comentarios

Entradas populares de este blog

Como consultar el GAP % de un conjunto de valores

MANEJO DE PLANTILLAS. Eliminar plantilla de un gráfico activa

Bollinger Volatility Oscillator N