개요
모멘텀 전략은 가격 변동 추세를 기반으로 거래하는 전략입니다. 이 전략은 일정 기간 동안의 가격 변동을 계산하여 가격 움직임 추세를 판단하고, 이에 따라 거래 신호를 생성합니다. 가격이 상승 추세일 때 매수 신호가 발생하고, 가격이 하락 추세일 때 매도 신호가 발생합니다. 본 전략은 이중 모멘텀 지표 교차를 통해 거래 신호를 생성합니다.
전략 원리
이 전략은 일정 기간 동안의 종가 변동을 계산하여 가격의 모멘텀을 판단합니다. 구체적으로, 현재 종가가 N기간 전의 종가 대비 얼마나 변동했는지를 계산합니다.
먼저 첫 번째 모멘텀 지표 MOM0를 계산합니다. 공식은 다음과 같습니다:
MOM0 = CLOSE - CLOSE[N]
여기서 CLOSE는 현재 기간의 종가를, CLOSE[N]은 N기간 전의 종가를 나타냅니다. 따라서 MOM0>0이면 현재 기간이 N기간 전보다 상승했음을 의미하고, MOM0<0이면 현재 기간이 N기간 전보다 하락했음을 의미합니다.
그런 다음 두 번째 모멘텀 지표 MOM1을 계산합니다. 공식은 다음과 같습니다:
MOM1 = MOM0 - MOM0[1]
즉, MOM0의 현재 기간 값에서 이전 기간 값을 뺀 값입니다. MOM1>0이면 MOM0가 상승했음을, MOM1<0이면 MOM0가 하락했음을 의미합니다.
동시에 세 번째 모멘텀 지표 MOM2를 계산합니다. 공식은 다음과 같습니다:
MOM2 = CLOSE - CLOSE[1]
즉, 현재 기간의 종가에서 이전 기간의 종가를 뺀 값입니다. MOM2>0이면 종가가 상승했음을, MOM2<0이면 종가가 하락했음을 의미합니다.
MOM0>0이고 MOM1>0일 때 모멘텀이 지속적으로 상승한다는 의미로 매수 신호가 발생합니다. MOM0<0이고 MOM2<0일 때 모멘텀이 지속적으로 하락한다는 의미로 매도 신호가 발생합니다.
코드에는 시간 조건 time_cond가 추가되어, 설정된 백테스팅 기간 내에서만 거래 신호가 생성됩니다. 또한 주문을 제출하기 전에 조건이 여전히 유효한지 다시 확인하여 신호가 사라진 후에도 주문이 이루어지지 않도록 합니다.
장점 분석
- 모멘텀 전략은 가격 자체가 아닌 가격 변화 추세를 포착하므로, 고점 추격이나 저점 매도의 위험을 피할 수 있습니다.
- 이중 모멘텀 지표 교차를 사용하여 거짓 돌파를 걸러내고 잘못된 신호를 방지할 수 있습니다.
- 시간 및 조건 확인을 추가하여 비효율적인 거래를 줄일 수 있습니다.
- 간단하고 이해하기 쉬운 전략 원리로 구현이 용이합니다.
- 매개변수를 유연하게 조정할 수 있어 다양한 시장 환경에 적용 가능합니다.
위험 분석
- 모멘텀 지표는 지연(lag)이 존재하여 전환점을 놓칠 수 있습니다.
- 이중 지표 교차는 필터 효과를 높이지만 일부 기회를 놓칠 수도 있습니다.
- 가격 상승 또는 하락의 강도와 속도를 판단할 수 없습니다.
- 매개변수 선택에 신중해야 하며, 너무 민감할 경우 거래 빈도와 슬리피지 비용이 증가할 수 있습니다.
- 효과는 매개변수 최적화에 의존하며, 시기에 따라 매개변수를 조정해야 합니다.
모멘텀 기간을 단축하거나, 추세 판단을 도입하거나, 손절매를 설정하여 위험을 줄일 수 있습니다. 또한 거래량 지표를 추가하여 필터링하는 것도 고려할 수 있습니다.
최적화 방향
- ROC, RSI 등 다양한 모멘텀 계산 방식을 시도해 볼 수 있습니다.
- 추세 판단을 추가하여 역추세 및 횡보장을 피합니다.
- 손절매 전략을 구성하여 개별 손실을 통제합니다.
- 거래량 지표를 결합하여 거래량이 뒷받침되는지 확인합니다.
- 머신러닝 알고리즘을 도입하여 매개변수를 동적으로 최적화합니다.
- 다중 시간 프레임 전략을 사용하여 단기 및 장기 추세를 구분합니다.
- 교차 시장 차익거래를 고려하여 서로 다른 시장의 가격 관계를 활용합니다.
요약
모멘텀 전략은 가격 자체가 아닌 가격 변동 추세를 추적함으로써 시장의 핫 방향을 효과적으로 판단하고 가격 상승 및 하락 기회를 포착할 수 있습니다. 그러나 모멘텀은 지연 특성이 있으며, 매개변수 선택과 조합 최적화가 전략 성과에 매우 중요합니다. 본 전략은 이중 모멘텀 지표 교차를 기반으로 하여 일부 노이즈를 걸러낼 수 있습니다. 지속적인 매개변수 최적화, 새로운 기술 지표 추가, 머신러닝 활용 등을 통해 전략 효과를 더욱 강화하고 위험을 통제할 수 있습니다.
/*backtest
start: 2022-09-25 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Momentum Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)
// Calculate start/end date and time condition- 1
