CMO(Chande Momentum Oscillator)
가격 모멘텀을 측정하는 지표로 특정 기간의 상승일의 가격폭의 합계와 하락일 가격폭의 합계 사이의 관계를 고려하여 [-100, 100] 사이의 값으로 나타냅니다.
$$\begin{align}\Delta \text{diff} &= C_t-C_{t-i}\\ \text{Up_diff}:\;&\Delta \text{diff} > 0 \\ \text{Down_diff}:\;&\Delta \text{diff} \lt 0\\ \text{CMO}&=\frac{\sum^n_{i=1}\text{Up_diff}-\sum^n_{i=1}\text{Down_diff}}{\sum^n_{i=1}\text{Up_diff}+\sum^n_{i=1}\text{Down_diff}}\times 100\end{align}$$- n: 특정기간 (일반적으로 20일)
- C:가격이며 일반적으로 Close(종가)
pandas_ta.cmo(close, length=None, scalar=None, talib=None, drift=None, offset=None, **kwargs)
함수를 사용합니다.
import numpy as np import pandas as pd import matplotlib.pyplot as plt import pandas_ta as ta import FinanceDataReader as fdr import matplotlib.pyplot as plt import mplfinance as mpf st=pd.Timestamp(2024,9, 1) et=pd.Timestamp(2025, 5,9) trgnme="000660" trg=fdr.DataReader(trgnme, st, et)[["Open", "High", "Low", "Close", "Volume"]] cmo=trg.ta.cmo(length=10) cmo.tail(3)
CMO_10 Date 2025-05-07 20.041102 2025-05-08 18.563030 2025-05-09 17.917729 dtype: float64
adf=[mpf.make_addplot(trg.ta.ema(5), panel=0, color="r", label="ema_5"), mpf.make_addplot(trg.ta.ema(20), panel=0, color="b", label="ema_20"), mpf.make_addplot(cmo, panel=1, color="g",label="cmo")] f, axs=mpf.plot(trg, type="candle", style="yahoo", volume=False, addplot=adf, returnfig=True, figsize=(12,5)) axs[0].legend(loc="upper left") axs[2].axhline(0, color="gray", ls="dotted") axs[2].axhline(50, color="r", ls="dotted", label="50") axs[2].axhline(-50, color="b", ls="dotted", label="-50") axs[2].legend(loc="upper left") plt.show()
가격 상승에서 CMO 상승, 하락에서 CMO 하락이 나타납니다.
0선을 기준으로 CMO의 이격이 클수록 추세가 강해짐을 알 수 있습니다. 다음과 같이 정리할 수 있습니다.
단기이평이 장기이평 상향돌파 시점에서 CMO는 0선을 상향돌파: 하락에서 상승 추세로 전환
단기이평이 장기이평 하향돌파 시점에서 CMO는 0선을 하향돌파: 상승에서 하락 추세로 전환
- 50, -50선을 과매수, 과매도 상태(극단적인 수준)으로 간주하며 추세 전환 가능성을 고려할 수 있음
- > 50: 과매수 상태로 가격 하락 가능성을 시사
- < -50: 과매도 상태로 가격 상승 가능성을 시사
- 0 근처: 시장의 모멘텀이 약함. 가격 균형상태
- CMO의 절대값이 클수록 추세의 강도가 강함으로 해석
- 가격과 CMO의 다이버전스(불일지): 추세반전 신호
- 가격 하락, CMO 상승 (강세다이버전스) : 매수신호
- 가격 상승, CMO 하락 (약세다이버전스) : 매도신호
댓글
댓글 쓰기