A estratégia Williams VIX Fix calcula o valor corrigido do Índice de Volatilidade VIX da CBOE e combina múltiplos indicadores técnicos, como Bandas de Bollinger, intervalos percentil e impulso de preços, para determinar e gerar sinais de negociação para reversões do VIX. A estratégia visa capturar o fenômeno de reversão excessiva do índice VIX e realizar negociações contra-tendência durante situações de sobrecompra e sobrevenda.
A lógica central desta estratégia baseia-se nos seguintes pontos:
Calcular o valor fixo do Williams VIX (wvf) através da fórmula para capturar as flutuações do VIX.
Defina os parâmetros de cálculo da banda de Bollinger para obter a linha média, a banda superior e a banda inferior do índice VIX.
Defina os parâmetros do intervalo percentil para obter o intervalo percentil histórico do índice VIX.
Use a variável reparada para determinar se o VIX está em um ponto de reversão.
Combinar ainda a natureza da ruptura dos preços (upRange, upRange_Aggr) para determinar as características da tendência.
Finalmente, combine várias condições, como Bandas de Bollinger, intervalos de percentual e características de preço para determinar e gerar sinais de negociação.
A estratégia aproveita ao máximo as características de reversão média do VIX e capta oportunidades de reversão através de várias configurações de parâmetros.
A estratégia apresenta as seguintes vantagens:
Aproveitar as tendências de reversão do VIX
A combinação de múltiplos indicadores técnicos de filtragem pode identificar eficazmente as oportunidades de reversão.
Os parâmetros ajustáveis da estratégia podem ser otimizados para diferentes ambientes de mercado.
Implementação simples, fácil de entender e modificar, adequada para negociação em tempo real.
Faz pleno uso de ideias de código de código aberto e é fácil de combinar com outras estratégias.
A estratégia apresenta uma correlação de mercado relativamente baixa e pode servir como componente de cobertura na carteira.
Maximizar a eliminação de negócios ineficazes e filtrar oportunidades não reversíveis.
Frequência de negociação moderada, não entrará e sairá com demasiada frequência.
A estratégia tem também alguns riscos a ter em conta:
O próprio índice VIX apresenta problemas de dados que podem afetar o desempenho da estratégia.
A negociação de reversão comporta risco de perdas, que podem ser exacerbadas se a reversão não for alcançada.
As várias configurações de parâmetros tornam a otimização de parâmetros bastante complexa.
A captura imprecisa do tempo de reversão pode levar ao fracasso das transações.
A redução da frequência das negociações pode também fazer perder algumas oportunidades.
Tanto as bandas de Bollinger como os intervalos percentil são suscetíveis a sinais falsos.
Julgamentos imprecisos sobre a ruptura dos preços podem tornar a estratégia ineficaz.
Os principais riscos podem ser reduzidos:
Otimizar os parâmetros para tornar a identificação da inversão mais precisa.
Aumentar adequadamente o tempo de retenção para garantir a reversão.
Adicionar mais indicadores de verificação para evitar falsos sinais.
Ajustar os critérios de posição aberta para reduzir as operações ineficazes.
Adicionar paradas para controlar perdas.
A estratégia pode ser otimizada nos seguintes aspectos:
Otimizar os parâmetros da banda de Bollinger e do intervalo de percentil para melhorar a precisão do reconhecimento da inversão.
Adicionar mais indicadores de dinâmica de preços para evitar uma identificação errada da tendência.
Ajustar os critérios de abertura das posições para garantir uma maior eficiência das negociações.
Estabelecer diferentes métodos de stop loss para controlar os riscos.
Cobrir com contratos futuros VIX.
Ajustar os parâmetros de acordo com os diferentes ambientes de mercado para tornar a estratégia mais adaptável.
Adicionar modelos de aprendizagem de máquina para determinar o tempo de reversão.
Combinar com outros alfa para aumentar o rendimento global.
Incorporar métodos quantitativos para otimização automática de parâmetros.
Detenção de alcance e de atraso.
A estratégia Williams VIX Fix capta as características de reversão do índice VIX e toma negociações contra-tendência durante o pânico do mercado. É uma estratégia de hedge típica. A estratégia combina as vantagens de vários indicadores e os parâmetros podem controlar os riscos. Com a otimização adequada dos parâmetros, pode alcançar bons retornos ajustados ao risco. No entanto, a frequência de negociação não deve ser muito alta e os riscos devem ser controlados.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-13 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "CM Vix V3 Strategy ",shorttitle="Vix3", overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=100000) pd = input(22, title="LookBack Period Standard Deviation High") bbl = input(20, title="Bolinger Band Length") mult = input(2.0 , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up") lb = input(50 , title="Look Back Period Percentile High") ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%") ltLB = input(40, minval=25, maxval=99, title="Long-Term Look Back Current Bar Has To Close Below This Value OR Medium Term--Default=40") mtLB = input(14, minval=10, maxval=20, title="Medium-Term Look Back Current Bar Has To Close Below This Value OR Long Term--Default=14") str = input(3, minval=1, maxval=9, title="Entry Price Action Strength--Close > X Bars Back---Default=3") //Williams Vix Fix Formula wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100 sDev = mult * stdev(wvf, bbl) midLine = sma(wvf, bbl) lowerBand = midLine - sDev upperBand = midLine + sDev rangeHigh = (highest(wvf, lb)) * ph //Filtered Bar Criteria upRange = low > low[1] and close > high[1] upRange_Aggr = close > close[1] and close > open[1] //Filtered Criteria filtered = ((wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh)) filtered_Aggr = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and not (wvf < upperBand and wvf < rangeHigh) //Alerts Criteria alert1 = wvf >= upperBand or wvf >= rangeHigh ? 1 : 0 alert2 = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh) ? 1 : 0 alert3 = upRange and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered ? 1 : 0 alert4 = upRange_Aggr and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered_Aggr ? 1 : 0 //Coloring Criteria of Williams Vix Fix col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray //Plots for Williams Vix Fix Histogram and Alerts longCond=alert3 shortCond = alert2 monthfrom =input(8) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND", comment="LONG") else strategy.cancel(id="LONG") if ( shortCond and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT") else strategy.cancel(id="SHORT")