볼린저 밴드를 기반으로 한 양적 거래 전략


생성 날짜: 2023-12-28 15:54:07 마지막으로 수정됨: 2023-12-28 15:54:07
복사: 0 클릭수: 605
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

볼린저 밴드를 기반으로 한 양적 거래 전략

개요

이 전략은 부린띠 지표에 기반한 거래 전략을 구축하여 1분 시간 주기 상의 자동 거래를 구현한다. 가격이 부린띠 하위 한계를 넘으면 더 많은 것을 하고, 가격이 부린띠 상위 한계를 넘으면 공백을 하고, 이익을 실현한다.

전략 원칙

이 전략은 55주기의 브린 밴드 지표를 사용하며, 대역폭 계수가 4로 설정된다. 브린 밴드 중간선은 55일 간편 이동 평균이며, 상위 궤도선과 하위 궤도선은 각각 중간선 + 4배 표준 차이와 중간선 - 4배 표준 차이이다. 가격이 하위 궤도선으로 떨어지면 더 많은 입장을 취하고, 가격이 상위 궤도선으로 넘어지면 빈 입장을 취한다.

다중 신호 발신 후, 전략은 하계 라인 가격 위치에 스톱 포트를 설정한다. 공백 신호 발신 후, 전략은 상계 라인 가격 위치에 스톱 포트를 설정한다. 스톱 포트가 설정되지 않았다.

우위 분석

이 전략은 부린 밴드 지표가 과매매를 판단할 수 있는 능력을 활용하여 입시 시기를 합리적으로 결정한다. 대역폭 계수가 4로 설정되어 너무 빈번한 거래의 문제를 피한다. 재검토 결과, 비트코인의 1분 시간 주기에서 이 전략은 80% 이상의 수익률을 달성했으며 효과가 눈에 띄었다.

다른 지표들에 비해, 브린 밴드 지표는 시장의 변동에 대해 잘 적응하고, 다양한 기간의 주식 변동에 대해 자동으로 조정할 수 있다. 이것은 이 전략 getParameter를 매우 거친 것으로 만든다.

또한, 이 전략은 브린이 가지고 있는 하나의 지표에만 의존하고 있으며, 이는 매우 간단하며, 양적 거래의 요구에 적합하다.

위험 분석

이 전략의 주요 위험은 시장 과매매를 판단하는 부린띠 지표의 효과는 거대한 시장 움직임에 영향을 미칠 수 있다는 것입니다. 황소 시장에서 주식은 오랫동안 높은 수준을 유지 할 수 있으며, 부린띠의 궤도 상승은 효과적인 저항을 형성하기가 어렵습니다. 마찬가지로, 곰 시장에서 주식은 오랫동안 낮은 위치에있을 수 있으며, 부린띠의 궤도 하락은 효과적인 지원을 제공하는 것이 어렵습니다.

또한, 브린의 반도에 직접적으로 설치된 스톱포지션은 너무 가까이 접근하여 전략에 충분한 공간을 제공하지 못하여 반전된 가격 변동에 의해 퇴출 될 수 있습니다.

최적화 방향

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

  1. KDJ, MACD 등과 같은 지표는 극단적인 과매매 상황을 판단하고 거래 신호를 수정할 수 있다.

  2. 트래킹 스톱을 설정하여 수익을 고정하십시오. 정적 스톱과 비교하여 트래킹 스톱은 가격 변동에 따라 스톱 위치를 적절하게 조정할 수 있습니다.

  3. 최적화 변수。 다른 주기 및 대역폭 변수의 브린 밴드를 테스트하여 최적의 변수 조합을 찾을 수。 또한 최적화 알고리즘과 결합하여 최적의 변수를 찾을 수。

  4. 시장상황환경조정변수분리 ᆞ 증권시장은 황시장, 곰시장, 청산시장 세 가지로 나다 ᆞ 따라서 시장상황에 따라 각각 거래변수를 설정할 수 있다 ᆞ

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