ROC 지표 — 가격 변화율과 모멘텀 오실레이터 비교(CMO·TSI)
NEWROC(Rate of Change, 변화율 지표)는 특정 기간 전 가격 대비 현재 가격의 변화율을 백분율로 측정한 모멘텀…
ROC(Rate of Change, 변화율 지표)는 특정 기간 전 가격 대비 현재 가격의 변화율을 백분율로 측정한 모멘텀 오실레이터입니다. 가격의 상승·하락 속도를 직접적으로 보여주며, 추세 강도와 전환 시점을 판단하는 데 널리 사용됩니다. ROC는 가격 변화의 속도와 방향을 읽는 지표입니다.
100선 상향 돌파: 상승 모멘텀 강화로 매수 신호. 100선 하향 돌파: 하락 모멘텀 강화로 매도 신호. 양수 구간 유지: 상승 추세 지속 가능성. 음수 구간 유지: 하락 추세 지속 가능성.
실전에서는 ROC를 단독으로 쓰기보다 거래량, 이동평균, RSI와 조합합니다. ROC가 100선을 돌파하면서 거래량이 증가하면 신호 신뢰도가 높아지고, 이동평균 방향과 일치할 때 더 강한 확인이 됩니다. ROC는 민감도가 높아서 단기 트레이딩에 적합하지만, 횡보장에서는 100선을 자주 왕복하며 거짓 신호가 많아질 수 있습니다. 그래서 ADX(추세 강도) ≥ 20** 같은 필터를 붙여 추세장이 아닐 때는 관망하는 것이 일반적입니다. ROC의 가장 큰 장점은 가격 변화 속도를 직관적으로 보여준다는 점입니다. Momentum 지표와 비슷하지만 백분율로 정규화되어 자산 간 비교가 쉽고, 기준선이 명확해서 초보자도 쉽게 해석할 수 있습니다. 반면 단점은 지연성과 횡보장 취약성입니다. 가격 변화율을 직접 계산하므로 돌파 후에 신호가 나오고, 박스권에서는 노이즈가 많아집니다. 그래서 추세 확인 지표와 함께 쓰는 것이 필수입니다.
파라미터 프리셋
- default
period=12, threshold=0— 1개월 가격 변화율. 0선 상향 돌파 시 매수하는 기본 설정. - short
period=6, threshold=0— 2주 기준 단기 모멘텀. 빠른 신호 포착에 적합합니다. - filtered
period=12, threshold=2— 2% 이상 상승 모멘텀에서만 진입. 오신호를 줄입니다.
모멘텀 오실레이터 세 가지 — 같은 질문, 다른 계산
세 지표 모두 "가격이 얼마나 강하게 움직이는가"를 재지만, 무엇으로 나누는지가 달라 성격이 갈립니다.
- ROC(Rate of Change, 변화율) — (현재가 ÷ N일 전 가격 − 1). 가장 직관적이고 정규화가 없습니다. 그래서 값의 범위가 종목마다 달라 여러 종목을 한 줄로 세우는 랭킹에는 그대로 쓰기 어렵습니다(변동성이 큰 종목이 항상 위에 옵니다).
- CMO(Chande Momentum Oscillator) — 상승분 합과 하락분 합의 차이를 둘의 합으로 나눠 −100~+100 으로 정규화합니다. RSI 와 비슷하지만 분모에 평활을 쓰지 않아 더 민감하게 움직입니다. 신호가 잦아지는 대신 잡음도 늘어납니다.
- TSI(True Strength Index) — 가격 변화량을 두 번 지수평활해 만듭니다. 세 지표 중 가장 매끄럽고 방향 전환이 늦습니다. 그래서 단기 신호보다 추세의 강도 변화를 보는 데 맞습니다.
민감도 순서가 곧 용도다
같은 데이터에 걸면 신호 발생 빈도는 대체로 CMO > ROC > TSI 순입니다. 거래가 잦을수록 수수료·슬리피지에 민감해지므로, 민감한 지표를 쓸 때는 거래 횟수를 함께 봐야 합니다. 반대로 TSI 는 신호가 드물어 큰 추세를 놓치지 않는 대신 진입·청산이 늦습니다.
⚠️ 세 지표를 함께 조건에 넣으면 같은 정보를 세 번 센다
셋 다 가격 변화량에서 출발하므로 서로 상관이 매우 높습니다. "ROC·CMO·TSI 가 모두 양수일 때 매수" 같은 조건은 안전해 보이지만 실제로는 하나의 조건을 세 번 확인하는 것에 가깝고, 조건만 까다로워져 표본이 줄어듭니다. 서로 다른 계열(추세·거래량·변동성)과 묶는 편이 정보가 늘어납니다.
랭킹 전략에 쓸 때는 정규화된 CMO·TSI 가 ROC 보다 다루기 쉽습니다. ROC 를 쓰려면 변동성으로 나눠(예: ROC ÷ 표준편차) 종목 간 비교가 가능하게 만들어야 합니다.