Estratégia de negociação quantitativa baseada em bandas de Bollinger

Autora:ChaoZhang, Data: 2023-12-28 15:54:07
Tags:

img

Resumo

Esta estratégia constrói uma estratégia de negociação baseada no indicador Bollinger Bands para alcançar a negociação automatizada em futuros de bitcoin em um período de tempo de 1 minuto.

Princípio da estratégia

A estratégia usa o indicador de Bandas de Bollinger com 55 períodos e um coeficiente de largura de banda definido como 4. A linha do meio das Bandas de Bollinger é a média móvel simples de 55 dias, e as linhas superior e inferior são a linha do meio +4 vezes o desvio padrão e a linha do meio -4 vezes o desvio padrão, respectivamente. Quando o preço cai abaixo da linha inferior, vá longo; quando o preço sobe acima da linha superior, vá curto.

Após o sinal longo ser acionado, a estratégia irá definir uma ordem de stop loss no preço da linha inferior.

Análise das vantagens

A estratégia utiliza a capacidade do indicador Bollinger Bands de determinar condições de sobrecompra e sobrevenda para determinar razoavelmente o momento da entrada. O coeficiente de largura de banda é definido em 4 para evitar negociações excessivamente frequentes. Os resultados dos testes de retorno mostram que no prazo de 1 minuto do bitcoin, a estratégia alcança uma probabilidade lucrativa de mais de 80%, com efeito significativo.

Em comparação com outros indicadores, o indicador Bollinger Bands adapta-se muito bem às flutuações do mercado e pode ajustar automaticamente a largura de banda para capturar a volatilidade em diferentes períodos.

Além disso, a estratégia baseia-se exclusivamente no indicador Bollinger Bands, que é muito simples e satisfaz os requisitos para a negociação quantitativa.

Análise de riscos

O principal risco desta estratégia reside no fato de que o efeito do indicador Bollinger Bands de julgar as condições de mercado sobrecompradas e sobrevendidas pode ser afetado por grandes movimentos de mercado. Em um mercado de touros, os preços das ações podem ficar altos por um período prolongado, dificultando que o trilho superior forme uma resistência efetiva. Da mesma forma, em um mercado de baixa, os preços das ações podem permanecer baixos por um período prolongado, dificultando que o trilho inferior forneça suporte efetivo. Tudo isso pode levar a sinais de negociação inválidos sendo gerados pela estratégia.

Além disso, a definição do stop loss diretamente nos trilhos superior e inferior das Bandas de Bollinger pode ser muito próxima, não dando espaço suficiente à estratégia e, assim, sendo eliminada pelas flutuações de preços.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Os indicadores como KDJ e MACD podem ajudar a julgar condições extremas de sobrecompra/supervenda para modificar os sinais comerciais.

  2. Em comparação com o stop loss estático, o trailing stop loss pode ajustar a posição de stop loss adequadamente com base na flutuação do preço.

  3. Otimizar parâmetros. Diferentes períodos e parâmetros de largura de banda de Bollinger Bands podem ser testados para encontrar a combinação ideal de parâmetros. Algoritmos de otimização também podem ser usados para encontrar os parâmetros ideais.

  4. Ajuste os parâmetros de acordo com as condições do mercado. O mercado tem três estados: touro, urso e limite de faixa. Assim, os parâmetros podem ser definidos separadamente com base nas condições do mercado.

  5. Adicionar estratégias avançadas de gestão da alavancagem Gerenciar o perfil de risco da estratégia ajustando dinamicamente a alavancagem.

Conclusão

A maior força desta estratégia é a sua lógica de negociação simples e clara de obter sinais de sobrecompra / sobrevenda do indicador Bollinger Bands. No geral, é uma estratégia quantitativa de curto prazo muito prática.


/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// 
// author: Kozlod
// date: 2019-05-29
// BB - XBTUDS - Bitmex - 1m
// https://www.tradingview.com/u/Kozlod/
// https://t.me/quantnomad
//

source = close
length = input(55, minval=1)
mult = input(4, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(upper)
plot(lower)

buyEntry  = crossover(source, lower)
sellEntry = crossunder(source, upper)

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

Mais.