CMO와 WMA를 기반으로 한 모멘텀 거래 전략

저자:차오장, 날짜: 2023-11-28 16:42:54
태그:

img

전반적인 설명

이 전략은 CMO와 WMA를 기반으로 하는 모멘텀 트레이딩 전략 (Momentum Trading Strategy) 이라고 불린다. 이 전략은 트레이딩 신호를 구성하기 위해 데 모멘텀 오시레레이터 (CMO) 와 그 가중 이동 평균 (WMA) 을 활용한다. 핵심 아이디어는 CMO가 WMA를 넘을 때 긴 거리를 거쳐서 그 아래를 넘을 때 짧은 거리를 거쳐가는 것이다. 이 전략은 리버스 트레이딩의 옵션도 고려한다.

전략 논리

이 전략의 핵심 지표는 CMO이다. CMO는 RSI와 같은 다른 모멘텀 지표와 밀접하게 관련되어 있지만 독특합니다. CMO는 가격 변화 모멘텀을 직접 측정합니다. 계산은 원형 미끄럽지 않은 데이터에 기반하여 극한의 단기 가격 변화를 반영합니다. CMO 값은 +100에서 -100까지 다양하며 이는 증권에서 절대적인 모멘텀 강도를 비교하는 것이 편리합니다.

전략은 먼저 원동력 xMom으로 일일 가격 변화 abs ((close - close[1]) 를 계산합니다. 그 다음 xSMA_mom로 표시되는 xMom의 SMA를 계산합니다. 그 후에 xMomLength, 즉 close-close[Length]로 표시되는 xMom의 가격 변화를 계산합니다. 마지막으로, CMO는 xMomLength를 xSMA_mom로 나누고 100로 곱하면 CMO는 xWMACMO를 도출하기 위해 WMA (패러머 LengthWMA) 로 평평화됩니다. CMO가 WMA를 넘어서면 거래 신호는 긴 (단) 로 이동합니다.

장점

이 전략의 가장 큰 장점은 가격 트렌드 내의 모멘텀 특성을 포착하는 것입니다. CMO의 제한된 디자인은 모멘텀 변화를 더 직접적으로 반영합니다. SMA와 비교하면 WMA는 단기 잡음을 더 잘 부드럽게합니다. 따라서이 전략은 중장기 트렌드 내의 입구 지점을 효과적으로 식별 할 수 있습니다. 또한 CMO와 WMA의 조합은 단일 지표보다 더 나은 안정성을 제공합니다.

위험성

이 전략의 가장 큰 위험은 높은 거래 빈도가 미끄러짐 비용을 증가시키는 것입니다. CMO와 WMA 모두 단기 매개 변수가 있으며, 이는 과도한 무의미한 위프사우를 일으킬 수 있습니다. 거래 차량이 큰 변동이있을 때 특히 심각합니다. 또한 고정 매개 변수는 변화하는 시장 환경에 적응하지 못합니다.

우리는 CMO 및 WMA 매개 변수들의 적응적 최적화를 도입하여 동적으로 조정할 수 있도록 고려할 수 있습니다. 불필요한 거래를 줄이기 위해 필터 조건을 추가하는 것이 또 다른 옵션입니다. 포트폴리오 다양화를 통해 변동성을 낮추는 것도 도움이됩니다.

개선 방향

이 전략은 다음과 같은 측면에서 향상될 수 있습니다.

  1. 다른 변동성 체제에 최적의 매개 변수를 찾기 위해 적응형 CMO 매개 변수 메커니즘을 추가합니다.

  2. 적응적인 WMA 매개 변수 메커니즘을 추가하여 평형 효과가 그에 따라 변경됩니다.

  3. 의미없는 윙사브를 제어하기 위해 변동성 지수와 같은 필터 조건을 추가합니다.

  4. 안정성을 높이기 위해 다른 지표와 결합하는 것을 고려합니다.

  5. 스톱 손실 메커니즘을 최적화. 동적 스톱 손실 라인을 설정하여 단일 라운드 손실을 적극적으로 제어합니다.

결론

이 전략은 CMO와 WMA를 기반으로 간단하고 효과적인 트렌드 추적을 실현합니다. 이 전략의 장점은 가격 동력 특성을 명확하게 포착하는 데 있습니다. 그러나 포지션을 오픈 한 후 수익 유지 능력에도 약간의 약점이 있습니다. 매개 변수 조정 및 컴보 모두 안정성을 크게 향상시킬 수 있습니다. 전반적으로이 전략은 개선의 여지가 많고 가치가 있습니다.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/02/2017
//    This indicator plots Chandre Momentum Oscillator and its WMA on the 
//    same chart. This indicator plots the absolute value of CMO.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder?s RSI, yet it differs 
//    in several ways:
//    - It uses data for both up days and down days in the numerator, thereby 
//        directly measuring momentum;
//    - The calculations are applied on unsmoothed data. Therefore, short-term 
//        extreme movements in price are not hidden. Once calculated, smoothing 
//        can be applied to the CMO, if desired;
//    - The scale is bounded between +100 and -100, thereby allowing you to clearly 
//        see changes in net momentum using the 0 level. The bounded scale also allows 
//        you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO & WMA", shorttitle="CMO & WMA")
Length = input(9, minval=1)
LengthWMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
xWMACMO = wma(nRes, LengthWMA)
pos = iff(nRes > xWMACMO, 1,
	   iff(nRes <= xWMACMO, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
         iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue)
plot(nRes, color=blue, title="CMO")
plot(xWMACMO, color=red, title="WMA")

더 많은