양방향 돌파 반전 전략
개요
양방향 돌파 반전 전략은 가격 피벗(pivot) 지점을 기반으로 하는 반전 매매 전략입니다. 일정 수의 bar 내에서 가격의 극값(고점/저점)을 감지하여 가격이 반전될 가능성이 있는 시점을 판단합니다. 가격이 극값을 돌파하면 반대 방향으로 진입합니다. 이 전략은 변동성이 높은 시장에 적합하며, 단기적인 가격 반전 기회를 포착할 수 있습니다.
전략 원리
양방향 돌파 반전 전략의 핵심 로직은 다음과 같습니다.
-
pivothigh()및pivotlow()함수를 사용하여 최근 n개 bar 내의 최고가와 최저가를 극값으로 계산합니다. 여기서 n은 4로 설정됩니다. -
최신 bar의 고점이 극대값을 돌파하면 전략은 가격이 반전될 가능성이 있다고 판단하여 공매도(숏)로 진입합니다. 손절매(stop loss)는 극대값 위에 설정됩니다.
-
최신 bar의 저점이 극소값 아래로 내려가면 전략은 가격이 반전될 가능성이 있다고 판단하여 매수(롱)로 진입합니다. 손절매는 극소값 아래에 설정됩니다.
-
가격이 극값을 넘어 반전되면 이전 신호는 무효화되고 다음 거래 기회를 기다립니다.
이 방법을 통해 전략은 극값 돌파 시 가격의 단기 반전 기회를 포착합니다. 동시에 손절매를 설정하여 위험을 통제할 수 있습니다.
장점 분석
양방향 돌파 반전 전략은 다음과 같은 장점이 있습니다.
-
극값을 활용하여 반전 지점을 판단하는 직관적인 접근 방식입니다.
-
변동성이 높은 암호화폐 등 시장에서 단기 반전 기회를 포착할 수 있습니다.
-
규칙이 비교적 단순하여 이해하고 습득하기 쉽습니다.
-
최대 손실률(drawdown)이 10%에 불과하여 위험 관리가 가능합니다.
-
수익률이 350%에 달하고 샤프 비율(Sharpe ratio)이 1 이상입니다.
위험 분석
양방향 돌파 반전 전략에는 다음과 같은 위험도 존재합니다.
-
시장이 지속적인 추세를 보일 경우 여러 차례의 소액 손절매가 발생할 수 있습니다.
-
극값이 반드시 반전 지점인 것은 아니므로 반전을 놓치거나 반전이 불완전할 위험이 있습니다.
-
극값을 돌파한 후 즉시 반전이 보장되지 않아 추격 손실 위험이 있습니다.
-
최근 4개 bar의 극값만 요구하므로 샘플 구간이 너무 작을 수 있습니다.
-
시장 유동성을 고려하지 않아 대규모 진입 시 가격에 충격을 줄 수 있습니다.
-
백테스트 기간이 짧아 장기적인 효과는 의문입니다.
최적화 방향
양방향 돌파 반전 전략은 다음과 같은 측면에서 최적화할 수 있습니다.
-
극값 시간 구간을 늘려 샘플이 너무 작은 문제를 방지합니다. 동적 구간을 설정할 수 있습니다.
-
극값 돌파 후 추가 확인 신호를 기다려 가짜 돌파를 방지합니다. 예: 거래량 증가, MACD 다이버전스 등.
-
시장 유동성에 따라 진입 포지션 크기를 동적으로 조정합니다.
-
추세 지표를 결합하여 추세 중 빈번한 반전 손절매를 방지합니다.
-
손절매 라인 이동 전략을 추가하여 이익을 추적하도록 합니다.
-
다양한 종목에 대해 각각 파라미터를 테스트하여 최적 값을 설정합니다.
-
더 긴 백테스트 기간과 선물 데이터를 추가하여 전략의 안정성을 검증합니다.
요약
양방향 돌파 반전 전략은 가격 극값을 활용하여 반전 시점을 판단하며, 변동성이 높은 시장에서 단기 기회를 포착할 수 있습니다. 장점은 규칙이 간단하고 손실률이 낮으며 수익률이 높다는 점입니다. 그러나 반전을 놓치거나 추격 손실의 위험도 있습니다. 샘플 구간 확대, 반전 확인 추가, 동적 손절매 등을 통해 최적화하면 전략을 더욱 안정적이고 신뢰할 수 있게 개선할 수 있습니다. 더 긴 시간과 다양한 시장에서 검증하여 장기적인 유효성을 확인해야 합니다. 전반적으로 양방향 돌파 반전 전략은 단기 매매 기술을 갖춘 퀀트 트레이더에게 적합합니다.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("QuantNomad - Pivot Reversal Strategy - XBTUSD - 1h", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50)
// - 1

