리소스 로딩... 로딩...

볼링거 밴드 모멘텀 역전 양적 전략

저자:차오장, 날짜: 2024-09-26 16:21:10
태그:BBSMASD

img

전반적인 설명

볼링거 밴드 모멘텀 역량 전략 (Bollinger Bands Momentum Reversal Quantitative Strategy) 은 기술 분석을 기반으로 볼링거 밴드 지표를 주로 사용하여 잠재적인 역전 기회를 포착하는 것을 목표로 과소 구매 및 과소 판매 시장을 식별하는 거래 시스템이다. 이 전략은 상위 및 하위 볼링거 밴드와 가격 교차를 관찰하여 입구 지점을 결정하며 위험을 관리하기 위해 동적 스톱 로스를 사용합니다. 이 접근법은 트렌드 추적 및 역전 거래 개념을 결합하여 시장 변동성으로부터 이익을 얻도록 설계되었습니다.

전략 원칙

이 전략의 핵심 원칙은 극한 시장 상황을 파악하고 가능한 반전을 예측하기 위해 볼링거 밴드를 사용하는 것입니다. 구체적으로:

  1. 34주기 간단한 이동 평균 (SMA) 은 볼링거 밴드의 중간 대역으로 사용됩니다.
  2. 상단 및 하단 대역은 중단위 위와 아래의 2개의 표준편차로 설정됩니다.
  3. 가격이 하위 범위를 넘어서 그 위에 다시 올라갈 때, 이는 과잉 판매 반전 신호로 간주되며 긴 지위를 유발합니다.
  4. 가격이 상위 계단을 넘어서 그 아래로 다시 이동하면, 그것은 과잉 매수 반전 신호로 간주되며, 짧은 지위를 유발합니다.
  5. 긴 포지션의 경우, 스톱 로스는 하위 지대 아래로 설정되며, 짧은 포지션의 경우 상위 지대 위에 설정됩니다.

이 디자인은 시장이 극심한 움직임을 보일 때 전략이 거래 할 수 있으며 동적 스톱 로스를 통해 잠재적 인 손실을 제한합니다.

전략적 장점

  1. 높은 객관성: 명확한 수학적 모델 (볼링거 밴드) 을 사용하여 시장 조건을 정의하여 주관적 판단의 편견을 줄입니다.
  2. 강력한 리스크 관리: 시장 변동성에 따라 자동으로 리스크 노출을 조정하는 동적 스톱 로스 메커니즘을 사용합니다.
  3. 좋은 적응력: 볼링거 밴드는 시장 변동에 자동으로 조정되며, 전략은 다른 시장 환경에서 비교적 안정적인 성과를 유지할 수 있습니다.
  4. 리버서스 캡처 능력: 오스실레이션 시장에서 잠재적으로 좋은 수익을 창출 할 수있는 과잉 구매 / 과잉 판매 조건 후 시장 전환을 포착하는 데 중점을두고 있습니다.
  5. 단순함: 전략 논리는 직관적이고 이해하기 쉽고 구현하기 쉽고 다양한 경험 수준의 거래자에게 적합합니다.

전략 위험

  1. 가짜 브레이크오웃 위험: 범위에 묶인 시장에서 가격은 실제 반전을 형성하지 않고 종종 볼링거 밴드 경계에 닿을 수 있으며, 빈번한 거래와 잠재적 인 손실로 이어집니다.
  2. 트렌딩 시장에서의 저성능: 강한 트렌드에서 전략은 너무 일찍 포지션을 닫거나 트렌드 반대 포지션을 열고 주요 트렌드에서 이익을 놓칠 수 있습니다.
  3. 매개 변수 민감성: 전략 성능은 볼링거 밴드 매개 변수 설정 (기기 및 표준편차 곱) 에 크게 의존하며, 이는 다른 시장에 대한 다른 최적화를 요구할 수 있습니다.
  4. 슬리퍼 및 거래 비용: 빈번한 거래는 전체 수익에 영향을 미치는 더 높은 거래 비용을 초래할 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터를 도입하십시오. 더 장기적인 트렌드 지표 (예를 들어, 장기 이동 평균) 를 포함하여 주요 트렌드 방향으로만 거래하여 잘못된 신호를 줄이십시오.
  2. 진입 시기를 최적화: 신호 품질을 개선하기 위해 보링거 밴드 내부에서 가격이 특정 비율로 회귀 한 후에 포지션을 입력하는 것을 고려하십시오.
  3. 동적 매개 변수 조정: 다른 시장 환경에 적응하기 위해 시장 변동성에 따라 볼링거 밴드 기간과 표준편차 곱셈을 자동으로 조정합니다.
  4. 보조 지표 추가: 다른 기술 지표 (RSI 또는 MACD 등) 를 결합하여 반전 신호를 확인하고 거래 정확도를 향상시킵니다.
  5. 부분적 이윤 취득을 실행하십시오. 가격의 유리한 움직임에 따라 부분적 이윤을 차단하기 위해 후속 스톱 손실을 설정하여 잠재적 인 인퇴를 해결하십시오.

요약

볼링거 밴드 모멘텀 역량 전략 (Bollinger Bands Momentum Reversal Quantitative Strategy) 은 기술 분석과 리스크 관리를 결합한 거래 시스템이다. 볼링거 밴드를 활용하여 과잉 구매 및 과잉 판매 시장 상황을 식별함으로써, 이 전략은 잠재적 인 가격 역전 기회를 포착하는 것을 목표로 한다. 이 전략의 장점은 객관성, 강력한 리스크 관리 및 적응력, 그러나 트렌딩 시장에서 잘못된 브레이크와 저성능과 같은 위험에 직면하고 있다. 트렌드 필터 도입, 엔트리 타이밍 최적화 및 동적 매개 변수 조정을 통해 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 전반적으로, 이것은 중장기에서 단기 거래에 적합한 고려 사항이며, 특히 시장 변동성으로부터 이익을 얻고자 하는 거래자에게 적합하다.


/*backtest
start: 2024-09-18 00:00:00
end: 2024-09-25 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(shorttitle='MBB_Strategy', title='Bollinger Bands Strategy', overlay=true)

// Inputs
price = input.source(close, title="Source")
period = input.int(34, minval=1, title="Period")  // Renombramos 'length' a 'period'
multiplier = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")  // Renombramos 'mult' a 'multiplier'

// Calculando las bandas de Bollinger
middle_band = ta.sma(price, period)  // Renombramos 'basis' a 'middle_band'
deviation = ta.stdev(price, period)  // Renombramos 'dev' a 'deviation'
deviation2 = multiplier * deviation  // Renombramos 'dev2' a 'deviation2'

upper_band1 = middle_band + deviation  // Renombramos 'upper1' a 'upper_band1'
lower_band1 = middle_band - deviation  // Renombramos 'lower1' a 'lower_band1'
upper_band2 = middle_band + deviation2  // Renombramos 'upper2' a 'upper_band2'
lower_band2 = middle_band - deviation2  // Renombramos 'lower2' a 'lower_band2'

// Plotting Bollinger Bands
plot(middle_band, linewidth=2, color=color.blue, title="Middle Band")
plot(upper_band2, color=color.new(color.blue, 0), title="Upper Band 2")
plot(lower_band2, color=color.new(color.orange, 0), title="Lower Band 2")

// Rellenando áreas entre las bandas
fill(plot(middle_band), plot(upper_band2), color=color.new(color.blue, 80), title="Upper Fill")
fill(plot(middle_band), plot(lower_band2), color=color.new(color.orange, 80), title="Lower Fill")

// Lógica de la estrategia
var bool is_long = false
var bool is_short = false

if (ta.crossover(price, lower_band2))
    strategy.entry("Buy", strategy.long)
    is_long := true
    is_short := false

if (ta.crossunder(price, upper_band2))
    strategy.entry("Sell", strategy.short)
    is_long := false
    is_short := true

// Lógica del stop loss
stop_loss_level_long = lower_band2
stop_loss_level_short = upper_band2

if (is_long)
    strategy.exit("Exit Long", "Buy", stop=stop_loss_level_long)

if (is_short)
    strategy.exit("Exit Short", "Sell", stop=stop_loss_level_short)


관련

더 많은