1. CMO는 상승폭과 하락폭 중 어느 쪽이 더 컸는지 보여줍니다
가격이 며칠 연속 빠진 뒤 CMO가 -50 아래에 머물면 과매도이니 곧 반등한다고 읽기 쉽습니다. 그러나 CMO가 알려주는 것은 최근 구간에서 하락폭이 상승폭보다 얼마나 컸는지입니다. 하락이 끝났는지, 다음 열흘의 방향이 바뀌었는지까지 확정하지는 않습니다.
TradingView의 CMO 설명처럼 CMO는 최근 상승폭 합계와 하락폭 합계의 차이를 전체 움직임으로 나눈 모멘텀 오실레이터입니다. 값은 -100부터 +100 사이에서 움직입니다.
| CMO로 확인할 수 있는 내용 | CMO만으로 확인할 수 없는 내용 |
|---|---|
| 최근 N일 동안 상승폭과 하락폭의 상대 크기 | 다음 가격의 상승·하락 방향 |
| 0선 위·아래의 순모멘텀 상태 | 적절한 매수·매도 가격 |
| ±50선 통과 시점 | 반등·추세 전환의 확정 시점 |
| 기간을 바꿨을 때의 민감도 차이 | 실제 매수·매도 주체의 의도 |
CMO는 RSI와 자주 비교되지만 같은 값은 아닙니다. 이 글의 CMO는 최근 상승폭·하락폭을 단순 기간 합으로 계산합니다. 반면 표준 RSI는 Wilder 방식으로 평균 상승폭과 평균 하락폭을 평활합니다. 그래서 CMO는 변화에 더 즉각 반응하는 대신 경계선 통과도 더 자주 만들 수 있습니다.
2. CMO(20)는 가격 변화의 부호와 크기를 함께 더합니다
먼저 당일 종가와 전일 종가의 차이를 계산합니다.
가격이 오른 날의 변화량은 상승폭 U, 내린 날의 절댓값은 하락폭 D에 넣습니다. 보합일은 어느 쪽에도 더하지 않습니다.
CMO는 두 합계의 차이를 두 합계의 합으로 나눈 뒤 100을 곱합니다. 상승폭과 하락폭이 같으면 0, 최근 20일이 모두 상승이면 +100, 모두 하락이면 -100에 가까워집니다.
| 구성 요소 | CMO(20)에서의 역할 | 해석할 때 주의할 점 |
|---|---|---|
| 상승폭 합계 U | 최근 20일의 양의 종가 변화 합 | 상승일 수만 세는 값이 아닙니다 |
| 하락폭 합계 D | 최근 20일의 음의 종가 변화 절댓값 합 | 큰 하락 하루가 여러 작은 상승을 상쇄할 수 있습니다 |
| 0선 | U와 D가 같아지는 지점 | 추세 전환 확정선이 아닙니다 |
| ±50선 | 상승·하락폭이 한쪽으로 크게 기운 구간 | 모든 종목에 같은 매매 기준이 되지 않습니다 |
기간을 9일로 줄이면 최근 변화에 더 민감해지고, 30일로 늘리면 신호 수는 줄어듭니다. 기본 20일은 출발점일 뿐입니다.
3. -50선 회복과 +50선 이탈은 서로 다른 사건입니다
CMO가 -50 아래로 내려가는 날과 다시 -50 위로 올라오는 날은 다른 사건입니다. +50 위로 진입하는 날과 +50 아래로 이탈하는 날도 따로 봐야 합니다. 신호일 종가가 확정된 뒤 다음 거래일 시가에 진입하고, 열 번째 거래일 종가로 결과를 계산했습니다. 수수료와 세금은 포함하지 않았습니다.

10개 대형주 8,870개 관찰에서 CMO(20) 경계선 통과를 비교한 결과입니다.
| CMO 신호 | 관찰 | 10일 수익률 양수 | 중앙값 | 최저~최고 |
|---|---|---|---|---|
| -50 하향 진입 | 75개 | 50.67% | +0.42% | -20.00%~+33.04% |
| -50 상향 회복 | 75개 | 62.67% | +1.21% | -22.98%~+20.49% |
| +50 상향 진입 | 110개 | 48.18% | -0.19% | -16.40%~+50.50% |
| +50 하향 이탈 | 110개 | 60.91% | +1.91% | -10.84%~+48.92% |
-50선 상향 회복은 이 표본에서 양수 비율과 중앙값이 높았습니다. 그렇다고 단독 매수 규칙으로 바꿀 수는 없습니다. 같은 규칙에서 -22.98%의 손실 사례가 있었고, +50 아래 이탈 뒤에도 양수 결과가 더 많았습니다. 경계선 이름만으로 매수·매도를 정하면 추세가 이어지는 구간을 놓칠 수 있습니다.
CMO -50선 회복 뒤 종가가 60일선 위에 있던 경우는 5개뿐이었습니다. 5개가 모두 양수였지만 표본이 너무 작아 필터의 효과라고 결론 내릴 수 없습니다. 조건을 추가할수록 좋아 보이는 결과를 찾기 쉬워지므로, 신호 수와 실패 사례를 함께 확인해야 합니다.
4. 같은 -50선 회복도 한화에어로스페이스와 POSCO홀딩스에서 다르게 끝났습니다
아래 두 사례는 모두 CMO(20)가 -50 아래에서 위로 회복한 날을 신호일로 잡았습니다. 신호일 이후에 기간이나 체결 규칙을 바꾸지 않았습니다.

| 항목 | 반등이 이어진 사례 | 회복 뒤 추가 하락한 사례 |
|---|---|---|
| 종목 | 한화에어로스페이스 | POSCO홀딩스 |
| 신호일 | 2023년 10월 18일 | 2026년 6월 12일 |
| CMO 변화 | -50.9 → -43.1 | -54.5 → -42.2 |
| 신호일 종가 | 101,662원 | 377,000원 |
| 다음 거래일 시가 | 100,338원 | 396,000원 |
| 열 번째 거래일 종가 | 115,618원 | 305,000원 |
| 10거래일 수익률 | +15.23% | -22.98% |
| 기간 중 최고 수익률 | +15.84% | +0.51% |
| 기간 중 최저 수익률 | -8.43% | -25.13% |
한화에어로스페이스 사례는 -50 회복 뒤 가격이 빠르게 반등했습니다. 하지만 POSCO홀딩스 사례는 같은 회복 신호 뒤에도 60일선 아래의 하락 흐름이 이어졌습니다. CMO의 방향 전환은 최근 20일 내부의 균형이 달라졌다는 뜻이지, 더 큰 가격 추세를 뒤집는 힘이 생겼다는 증거는 아닙니다.
5. CMO의 장점은 단순함이고, 한계는 평활이 없다는 점입니다
| 장점 | 한계 |
|---|---|
| 상승폭과 하락폭의 균형을 -100~+100 범위로 바로 비교할 수 있습니다 | 평활이 없어 경계선 통과가 잦고 횡보장에서 흔들릴 수 있습니다 |
| 0선·±50선처럼 상태를 나누는 기준이 명확합니다 | ±50은 통계적 확률선이나 자동 매수·매도선이 아닙니다 |
| 기간별 민감도 차이를 쉽게 점검할 수 있습니다 | 기간을 여러 번 바꾸면 사후적으로 좋아 보이는 설정을 고르기 쉽습니다 |
| RSI와 다른 원시 모멘텀 관점을 제공합니다 | 강한 추세에서는 과매수·과매도 구간에 오래 머물 수 있습니다 |
CMO가 -50 아래라고 해서 가격이 이미 충분히 싸다는 뜻은 아닙니다. 반대로 +50 위라고 해서 바로 매도해야 한다는 뜻도 아닙니다. 가격 추세, 손절 기준, 보유 기간처럼 지표 밖에서 정한 규칙이 있어야 신호를 검증할 수 있습니다.
6. CMO를 볼 때는 세 가지만 확인하면 됩니다
- CMO(20)가 어떤 경계선을 어느 방향으로 통과했는지 확인합니다.
- 같은 종목의 가격이 중기 이동평균 위인지 아래인지와 최근 고점·저점 구조를 분리해 봅니다.
- 기간 9·14·20·30에서 신호 수와 실패 사례가 어떻게 달라지는지 확인한 뒤 하나의 체결 규칙으로 검증합니다.
CMO는 최근 상승폭이 하락폭보다 커지고 있는가를 압축해 보여주는 도구입니다. 이 질문에는 답하지만, 지금 사면 오를까라는 질문에는 혼자 답하지 못합니다.
함께 보면 좋은 글은 RSI 계산법, 모멘텀 지표 계산법, ROC 계산법, IMI 계산법, CCI 계산법입니다.
이 글은 과거 가격 데이터를 이용한 지표 구조와 사례 설명이며, 특정 종목의 매수·매도 추천이 아닙니다.