볼링거 밴드 기반의 양적 거래 전략

저자:차오장, 날짜: 2023-12-28 15:54:07
태그:

img

전반적인 설명

이 전략은 비트코인 선물 1분 시간 프레임에 대한 자동화 거래를 달성하기 위해 볼링거 밴드 지표에 기반한 거래 전략을 구축합니다. 가격이 볼링거 밴드의 하위 경계를 넘어서 수익을 창출 할 때 가격이 길어지고 가격이 볼링거 밴드의 상위 경계를 넘어서 수익을 창출 할 때 짧습니다.

전략 원칙

이 전략은 55 기간과 대역폭 계수를 4로 설정 한 볼링거 밴드 지표를 사용합니다. 볼링거 밴드의 중간선은 55 일 간 간단한 이동 평균이며, 상위와 하위 라인은 각각 표준 편차의 +4 배와 중간 라인은 -4 배의 표준 편차입니다. 가격이 하위 라인 아래에 떨어지면 길게; 가격이 상위 라인 이상 상승하면 짧게.

긴 신호가 트리거 된 후 전략은 하위 라인의 가격에 스톱 로스 주문을 설정합니다. 짧은 신호가 트리거 된 후 전략은 상위 라인의 가격에 스톱 로스 주문을 설정합니다. 수익 주문은 설정되지 않습니다.

이점 분석

이 전략은 엔트리 타이밍을 합리적으로 결정하기 위해 과소 구매 및 과소 판매 조건을 결정하는 볼링거 밴드 지표의 능력을 활용합니다. 대역폭 계수는 과도하게 빈번한 거래를 피하기 위해 4로 설정됩니다. 백테스트 결과는 비트코인 1 분 시간 프레임에서 전략이 80% 이상의 수익 가능성을 달성한다는 것을 보여줍니다.

다른 지표와 비교하면 볼링거 밴드 지표는 시장 변동에 매우 잘 적응하며 다른 기간의 변동성을 파악하기 위해 자동으로 대역폭을 조정할 수 있습니다. 이것은 전략의 매개 변수를 매우 견고하게 만듭니다.

또한, 전략은 매우 간단하고 양적 거래의 요구 사항을 충족하는 볼링거 밴드 지표에만 의존합니다.

위험 분석

이 전략의 주요 위험은 과잉 구매 및 과잉 판매 시장 조건을 판단하는 볼링거 밴드 지표의 효과가 거대한 시장 움직임에 의해 영향을 받을 수 있다는 사실에 있다. 황소 시장에서 주식 가격은 장기간 높게 달릴 수 있으며, 상부 레일이 효과적인 저항을 형성하는 것을 어렵게 만듭니다. 마찬가지로, 곰 시장에서 주식 가격은 장기간 낮게 유지될 수 있으며, 하부 레일이 효과적인 지원을 제공하는 것을 어렵게 만듭니다. 이 모든 것은 전략에 의해 생성되는 유효하지 않은 거래 신호로 이어질 수 있습니다.

또한, 볼링거 밴드의 상부 및 하부 레일에서 직접 스톱 로스를 설정하는 것은 너무 가깝고, 전략에 충분한 공간을 제공하지 못하고 가격 변동에 의해 쓰러질 수 있습니다.

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 다른 지표와 결합합니다. KDJ 및 MACD와 같은 지표는 거래 신호를 수정하기 위해 극심한 과잉 구매 / 과잉 판매 조건을 판단하는 데 도움이 될 수 있습니다.

  2. 수익을 잠금하기 위해 후속 스톱 손실을 설정하십시오. 정적 스톱 손실과 비교하면 후속 스톱 손실은 가격 변동에 따라 적절한 스톱 손실 위치를 조정 할 수 있습니다.

  3. 매개 변수를 최적화한다. 최적의 매개 변수 조합을 찾기 위해 볼링거 밴드의 다른 기간과 대역폭 매개 변수를 테스트할 수 있다. 최적화 알고리즘도 최적의 매개 변수를 찾기 위해 사용될 수 있다.

  4. 시장 조건에 따라 매개 변수를 조정합니다. 시장에는 3가지 상태가 있습니다: 황소, 곰, 범위 제한. 따라서 매개 변수를 시장 조건에 따라 별도로 설정할 수 있습니다.

  5. 고급 레버리지 관리 전략을 추가합니다. 레버리지를 동적으로 조정함으로써 전략의 위험 프로필을 관리하십시오.

결론

이 전략의 가장 큰 강점은 볼링거 밴드 지표에서 과잉 구매 / 과잉 판매 신호를 얻는 간단하고 명확한 거래 논리입니다. 전반적으로, 그것은 매우 실용적인 단기 양적 전략입니다. 우리는 장기적인 안정적인 이익을 달성하기 위해 여러 가지 방법으로 최적화하여 더 향상시킬 수 있습니다.


/*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")

더 많은