Comprar estratégia de baixa volatilidade VS comprar estratégia de alta volatilidade

Autora:ChaoZhang, Data: 2024-01-08 11:33:58
Tags:

img

Resumo

Esta estratégia visa estudar a diferença entre comprar ativos quando a volatilidade é baixa e quando é alta.

Estratégia lógica

Esta estratégia determina a volatilidade calculando o ATR e sua SMA. Especificamente, calcula a SMA do ATR e, em seguida, calcula a relação entre o ATR e sua SMA. Se esta relação for superior à volatilidade limite definida pelo usuárioTargetRatio, a volatilidade é considerada alta. Se inferior ao limiar, a volatilidade é considerada baixa.

Dependendo do modo escolhido pelo usuário, a estratégia gera sinais de compra quando a volatilidade é alta ou baixa.

Análise das vantagens

As principais vantagens desta estratégia são:

  1. Pode comparar intuitivamente o desempenho das estratégias de compra durante períodos de baixa e alta volatilidade.
  2. Usando SMA para suavizar ATR pode filtrar falhas.
  3. Pode testar diferentes níveis de volatilidade ajustando parâmetros.

Análise de riscos

Os principais riscos desta estratégia são:

  1. Pode perder oportunidades de tendência de alta de preços se comprar apenas baixa volatilidade.
  2. Pode aumentar o risco do sistema se apenas comprar volatilidade elevada.
  3. A configuração inadequada dos parâmetros pode conduzir à perda de oportunidades de compra ou ao encerramento prematuro de posições.

Os riscos acima referidos podem ser atenuados através do ajustamento dos parâmetros e da combinação de compras a partir de diferentes níveis de volatilidade.

Orientações de otimização

Esta estratégia pode ser melhorada através de:

  1. Testando diferentes parâmetros de comprimento ATR.
  2. Adicionando estratégias de stop loss.
  3. Combinação de outros indicadores para filtrar falsas rupturas.
  4. Otimizar os critérios de entrada e saída.

Conclusão

Esta estratégia pode efetivamente comparar o desempenho de estratégias de compra de baixa volatilidade e alta volatilidade. Ele usa SMA para suavizar o ATR e gera sinais de negociação com base nos níveis de volatilidade. A estratégia pode ser melhorada através de ajuste de parâmetros e otimização de condições.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L

//@version=5
strategy("I11L - Better Buy Low Volatility or High Volatility?", overlay=false)

mode = input.string("Buy low Volatility",options = ["Buy low Volatility","Buy high Volatility"])
volatilityTargetRatio = input.float(1,minval = 0, maxval = 100,step=0.1, tooltip="1 equals the average atr for the security, a lower value means that the volatility is lower")
atrLength = input.int(14)

atr = ta.atr(atrLength) / close
avg_atr = ta.sma(atr,atrLength*5)
ratio = atr / avg_atr

sellAfterNBarsLength = input.int(5, step=5, minval=0)


var holdingBarsCounter = 0

if(strategy.opentrades > 0)
    holdingBarsCounter := holdingBarsCounter + 1


isBuy = false

if(mode == "Buy low Volatility")
    isBuy := ratio < volatilityTargetRatio
else
    isBuy := ratio > volatilityTargetRatio

isClose = holdingBarsCounter > sellAfterNBarsLength



if(isBuy)
    strategy.entry("Buy",strategy.long)

if(isClose)
    holdingBarsCounter := 0
    strategy.exit("Close",limit=close)

plot(ratio, color=isBuy[1] ? color.green : isClose[1] ? color.red : color.white)
plot(1, color=color.white)



Mais.