이중 MACD 퀀트 트레이딩 전략
개요
해당 전략은 이중 EMA 이동평균선 시스템과 RSI 지표를 결합하여 시장 추세를 판단함과 동시에 거래 신호를 보조적으로 발생시키는 추세 추종 전략입니다. 이 전략은 사용이 간편하며 다양한 대형 지수와 디지털 자산에 적용 가능하고, 2013년부터 현재까지의 백테스트에서 500% 이상의 누적 수익률을 기록했습니다.
전략 원리
이 전략은 서로 다른 매개변수로 설정된 두 개의 MACD를 주요 거래 지표로 사용합니다. 첫 번째 MACD는 10주기 단기 이동평균선과 22주기 장기 이동평균선을 사용하며, 보조선은 9주기 이동평균선입니다. 두 번째 MACD는 21주기 단기 이동평균선과 45주기 장기 이동평균선을 사용하며, 보조선은 20주기 이동평균선입니다.
첫 번째 MACD의 DIFF선이 0선을 상향 돌파하면 매수 신호가 발생하고, 하향 돌파하면 매도 신호가 발생합니다. 두 번째 MACD의 DIFF선이 발생하는 신호는 첫 번째 MACD 신호를 확인하는 역할을 합니다.
동시에 이 전략은 가격 모멘텀을 계산하는 공식을 사용합니다. 최신 캔들의 종가 + 고가를 이전 캔들의 종가 + 고가로 나눈 결과가 1보다 크면 현재 상승 추세에 있다는 의미로 매수 신호가 발생하고, 반대의 경우 매도 신호가 발생합니다.
마지막으로 Stoch RSI의 K선이 20보다 클 경우에도 매도 신호를 확인합니다.
장점 분석
이 전략은 이중 EMA 조합을 사용하여 추세를 판단함으로써 거짓 돌파를 효과적으로 필터링할 수 있습니다. 보조적인 모멘텀 공식으로 인해 변동성 장에서 발생하는 잘못된 신호를 방지할 수 있습니다. Stoch RSI 지표를 활용하여 과매수/과매도 구간에서 매도 신호를 발생시켜 추세의 고점 추격을 피할 수 있습니다.
이 전략은 몇 가지 일반적인 지표의 단순한 조합만을 사용하며, 지나치게 복잡한 논리 관계가 없어 이해와 수정이 매우 쉽습니다. 매개변수 설정도 매우 범용적이어서 다양한 종목에 맞춰 최적화할 필요 없이 적응성이 높습니다.
백테스트 결과에 따르면 이 전략은 주식 지수, 디지털 자산 등 다양한 종목에서 우수한 누적 수익률을 기록했으며, 최대 낙폭(MDD) 관리도 비교적 이상적입니다. 매우 범용적인 추세 추종 전략으로 사용할 수 있습니다.
위험 분석
이 전략의 주요 위험은 이동평균선을 사용하여 판단하기 때문에 가격이 크게 변동할 때 가짜 신호(whipsaw)가 발생하여 손실을 볼 수 있다는 점입니다. 또한 개별 손실을 제한하기 위한 손절매(Stop Loss) 설정이 없습니다.
Stoch RSI 지표는 과매수/과매도 판단 효과가 매우 이상적이지 않아 반전 신호를 놓칠 가능성이 있습니다.
가격이 급격히 하락하지만 MACD 지표가 아직 데드크로스를 형성하지 않은 경우, 이 전략은 포지션을 보유하며 계속 손실을 입게 됩니다.
최적화 방향
개별 손실을 제한하기 위해 손절매(Stop Loss)를 설정하는 것을 고려할 수 있습니다. 예를 들어 ATR 손절매 또는 종가 기준 낮은 이동평균선을 이용한 손절매를 설정할 수 있습니다.
KD 지표나 볼린저 밴드(Bollinger Band) 지표를 Stoch RSI와 결합하는 등 다른 지표를 추가하여 과매수/과매도를 보다 신뢰성 있게 판단할 수 있습니다.
거래량 분석을 추가할 수 있습니다. 예를 들어 대량 감소 시 손절매를 높이거나 거래량이 부족할 때 포지션 구축을 피하는 등의 방법이 있습니다.
서로 다른 매개변수 조합을 테스트하여 MACD의 주기 매개변수를 최적화할 수 있습니다. 또한 다른 주기의 MACD를 추가하여 다중 확인을 구성하는 것도 테스트할 수 있습니다.
요약
해당 이중 MACD 퀀트 트레이딩 전략은 전체적인 아이디어가 간단하고 명확하며, 이중 EMA 조합으로 추세를 판단하고 모멘텀 지표로 잘못된 신호를 방지하여 좋은 거래 시점을 선별할 수 있습니다. 이 전략의 매개변수 설정은 범용적이며 실제 성능이 안정적이므로 기초 전략으로 사용하여 최적화 및 조정을 진행할 수 있습니다. 다음 단계로는 손절매 방식 수정, 거래량 분석 추가, 다른 지표 결합 등의 방법을 통해 전략의 안정성과 수익률을 더욱 강화할 수 있습니다.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Multiple MACD RSI simple strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true)
fastLength = input(10)- 1

