헐 이동평균 오실레이터 거래 전략
개요
이 전략은 Hull 이동 평균 지표를 기반으로 한 단기 매매 전략입니다. 전략은 Hull 이동 평균선의 골든크로스와 데드크로스로 매매 신호를 생성하며, 추세 추종 전략에 속합니다.
전략 원리
이 전략은 주로 Hull 이동 평균 지표를 기반으로 합니다. Hull 이동 평균선은 두 개의 이동 평균선으로 구성됩니다. 먼저 가격의 중기 이동 평균선 nma를 계산하며, 기간은 hullperiod입니다. 그런 다음 가격의 빠른 이동 평균선 n2ma를 계산하며, 기간은 nma의 절반입니다. n2ma가 nma를 상향 돌파하면 매수 신호, 하향 돌파하면 매도 신호가 발생합니다.
일부 허위 신호를 걸러내기 위해 전략은 Hull 라인(Hull_Line)도 도입합니다. Hull 라인은 nma와 n2ma 간의 차이에 대한 선형 회귀 결과입니다. 가격이 Hull 라인과 이격(다이버전스)이 발생하면 전략은 매매 신호를 건너뜁니다.
구체적으로 전략 규칙은 다음과 같습니다.
- 기간 hullperiod로 nma를 계산합니다.
- nma 기간의 절반으로 n2ma를 계산합니다.
- n2ma와 nma의 차이 diff를 계산합니다.
- diff에 대해 기간 sqrt(hullperiod)의 이동 평균을 수행하여 Hull 라인 Hull_Line을 얻습니다.
- 가격이 Hull 라인을 상향 돌파하면 매수 신호를 발생시킵니다.
- 가격이 Hull 라인을 하향 돌파하면 매도 신호를 발생시킵니다.
- 가격과 Hull 라인 사이에 이격(다이버전스)이 발생하면 신호를 건너뜁니다.
- 일정 비율의 포지션으로 진입하고, 이탈(stop loss) 방식으로 손절합니다.
장점 분석
이 전략은 다음과 같은 장점이 있습니다.
- Hull 이동 평균을 기반으로 하여 추세를 빠르게 포착하고 추세에 따라 매매할 수 있습니다.
- Hull 라인을 사용하여 허위 신호를 필터링하여 신호 품질을 향상시킵니다.
- 낙폭과 손익비가 우수하여 단기 매매에 적합합니다.
- 파라미터 조정이 유연하여 다양한 시장 환경에 대응할 수 있습니다.
- 역추세 손절을 사용하여 신속하게 손절하고 리스크를 통제할 수 있습니다.
- 계절성을 결합하여 특정 기간의 시스템 리스크를 회피할 수 있습니다.
리스크 분석
이 전략에는 다음과 같은 리스크도 존재합니다.
- 추세 추종 전략으로 전천후 거래가 불가능합니다.
- 추세가 반전될 때 큰 손실이 발생할 수 있습니다.
- 이동 평균 시스템이 지연되어 전환점을 신속하게 포착하지 못할 수 있습니다.
- 단기 매매가 빈번하여 거래 비용이 높습니다.
- 파라미터 설정이 부적절하면 횡보장에서 수익이 감소할 수 있습니다.
위 리스크에 대해 다음과 같은 조치를 취하여 통제할 수 있습니다.
- 마틴게일 손절 전략을 사용하여 단일 손실을 통제합니다.
- 파라미터를 최적화하고 다양한 시장 환경에서 파라미터의 견고성을 테스트합니다.
- 추세 판단 지표를 결합하여 추세 반전 시 추격 매매를 피합니다.
- 보유 시간을 늘리고 거래 빈도를 낮춥니다.
최적화 방향
이 전략은 다음과 같은 측면에서 추가 최적화가 가능합니다.
- 모멘텀 지표를 결합하여 추세의 시작점을 결정하고 진입 타이밍을 더 잘 잡을 수 있습니다.
- 머신러닝 모델을 추가하여 추세 방향과 강도를 보조 판단합니다.
- 적응형 파라미터 설정을 채택하여 실시간 시장에 따라 파라미터를 조정합니다.
- 다중 시간 프레임 Hull 시스템을 구성하고 각 기간에 다른 포지션 비중을 할당합니다.
- 거래량 에너지 지표를 결합하여 거래량이 부족한 가짜 돌파를 피합니다.
- 변동성 기반 포지션 관리 모듈을 추가하여 변동성에 따라 포지션을 동적으로 조정합니다.
요약
Hull 이동 평균 오실레이터 거래 전략은 전반적으로 매우 실용적인 단기 추세 추종 전략입니다. Hull 이동 평균 시스템을 사용하여 추세 방향을 판단하고 추세에 따라 매매합니다. 단순 이동 평균 시스템에 비해 신호 품질과 파라미터 유연성이 더 높습니다. 이 전략의 장점은 추세 전환을 빠르게 포착하여 낮은 낙폭으로 수익을 내는 것이고, 단점은 추세 반전에 대응하기 어렵다는 점입니다. 파라미터 최적화, 손절 전략 개선, 보조 모델 추가 등을 통해 리스크를 통제함으로써 더 다양한 시장 환경에서 안정적으로 운영할 수 있습니다.
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Hull Moving Average Swing Trader by SEASIDE420
strategy("Hull Moving Average Swing Trader", shorttitle="HMA_Swing_Trader", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
hullperiod = input(title="HullMA Period", type=input.integer, defval=210, minval=1)- 1
