Estratégia de negociação de quebra de volatilidade MCL-YG


Data de criação: 2023-11-14 13:49:12 última modificação: 2023-11-14 13:49:12
cópia: 0 Cliques: 673
1
focar em
1617
Seguidores

Estratégia de negociação de quebra de volatilidade MCL-YG

Visão geral

A estratégia usa a ruptura da faixa de Brin para detectar sinais de negociação, permitindo a parceria de negociação de dois ativos positivamente correlacionados, MCL e YG. Quando o preço da MCL toca a faixa de Brin para subir, faça mais MCL e faça mais YG. Quando o preço da MCL toca a faixa de Brin para descer, faça mais MCL e faça mais YG, permitindo a negociação de tendências de preços.

Princípio da estratégia

Primeiro, a estratégia calcula a média SMA e a diferença padrão StdDev com base no preço de fechamento em um determinado período. Em seguida, adiciona um desvio abaixo da média SMA, formando um trajeto superior e um trajeto inferior da faixa de Bryn. Quando o preço toca a trajetória superior, gera um sinal de compra, e quando toca a trajetória inferior, gera um sinal de venda.

A estratégia usa o conceito de negociação de ruptura da faixa de brinquedos, ou seja, o preço é maior quando o preço se eleva e é menor quando ele desce. A faixa de brinquedos ajusta dinamicamente a largura do canal para se adaptar às mudanças no mercado, podendo filtrar efetivamente o ruído do mercado de turbulência. Ao contrário do canal fixo, a largura do canal da faixa de brinquedos aumenta ou diminui com as mudanças na volatilidade do mercado.

Quando o MCL é quebrado, indica que o preço do MCL está em uma tendência ascendente, fazendo mais MCL, ao mesmo tempo em que faz o YG, ou seja, compra os ativos mais fortes e vende os ativos mais fracos para lucrar com a ampliação da diferença de preços dos dois ativos.

Vantagens estratégicas

  1. Transações de ruptura baseadas em Brinbelt filtram o ruído do mercado e identificam tendências
  2. Utilizando uma paridade de ativos relevantes, pode-se obter um ganho de alfa de uma diferença positiva no preço dos ativos relevantes
  3. Ajuste dinâmico do tamanho da posição para controlar o risco de cada transação
  4. Aplicação padrão de entrada de ruptura e saída de regresso do eixo central, lógica de estratégia simples e clara

Risco estratégico

  1. A configuração inadequada dos parâmetros da faixa de Bryn pode causar uma frequência de negociação excessiva ou um sinal indistinto
  2. A diminuição da correlação entre os ativos correlacionados pode levar a uma diminuição da receita do par de negociação alpha
  3. Os “breakouts” são fáceis de serem enganados por falsos “breakouts” de mercados voláteis, resultando em perdas.
  4. Perda sem fim pode levar a um aumento da perda individual

Pode-se reduzir o risco por meio de métodos como a otimização de parâmetros, a escolha de objetos de negociação mais relevantes e com melhor liquidez e a definição de posições de parada razoáveis.

Otimização de Estratégia

  1. Optimizar os parâmetros da faixa de Bryn para encontrar a melhor combinação de parâmetros
  2. Testar mais ativos relevantes como objetos de negociação e escolher combinações mais relevantes
  3. Aumentar a lógica de stop loss e limitar a perda individual
  4. Mais filtros para evitar falsas brechas
  5. Combinado com outros indicadores, como a confirmação do volume de transações, a mudança de entrada na arena Timing

Resumir

A estratégia geral é simples e direta, capturando a tendência por meio da faixa de Bryn e obtendo ganhos alfa de parcerias. Mas há espaço para otimização de alguns parâmetros, como otimizar, parar e optar por parcerias. Melhores resultados podem ser obtidos testando diferentes parâmetros, objetos de negociação e introduzindo adequadamente métodos como filtragem de tendência.

Código-fonte da estratégia
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)