가격변화율 ROC 보는 법 — 며칠 전과 비교해 속도를 재는 모멘텀 지표
가격변화율 ROC (Rate of Change) · 글: 주가맵 운영자 (9년 차 개인 투자자) · 콘텐츠 원칙에 따라 작성합니다

주가가 오르긴 오르는데 왠지 힘이 빠진다는 느낌, 다들 한 번쯤 받아보셨을 겁니다. 저도 몇 년 전 한 종목을 들고 있을 때 그랬습니다. 가격은 신고가를 또 갈아치우는데 어쩐지 불안해서 매일 차트만 들여다봤죠. 그때 ROC를 띄워보니 가격은 신고가인데 ROC는 한참 전에 고점을 찍고 계단을 내려오고 있었습니다. 오름폭, 즉 상승의 속도가 이미 둔해지고 있었던 겁니다. 가격이라는 결과만 보고 있었다면 절대 알 수 없었을 신호였습니다. 며칠 뒤 그 종목은 크게 밀렸고, 저는 운 좋게 손실을 줄였습니다. 그 일을 겪은 뒤로는 가격 자체보다 가격이 변하는 속도를 먼저 보는 습관이 생겼습니다.
그전까지 저는 모멘텀이라는 말을 막연하게만 알고 있었습니다. 그냥 분위기가 좋다, 탄력이 붙었다 정도로요. 하지만 ROC를 쓰면서 모멘텀이 결국 숫자로 잴 수 있는 속도라는 걸 알게 됐습니다. 분위기나 느낌이 아니라 며칠 전 가격과 비교한 변화율이라는 명확한 기준이 생기니, 막연한 불안이 구체적인 점검 항목으로 바뀌더군요. ROC는 이름 그대로 가격이 며칠 전에 비해 몇 퍼센트 변했는지를 재는 모멘텀 지표입니다. 이 글에서는 ROC가 무엇을 어떻게 계산하는지, 0선을 기준으로 신호를 어떻게 읽는지, 기간 설정값은 어떤 의미인지, 그리고 제가 가장 유용하게 쓰는 다이버전스 활용법과 횡보장에서의 약점, 그 약점을 보완하는 방법까지 9년 차 개인 투자자의 경험과 함께 정리해 보겠습니다.
ROC란 — 며칠 전 가격과 비교한 변화율
ROC(Rate of Change)는 현재 종가가 n일 전 종가에 비해 몇 퍼센트 변했는지를 백분율로 나타내는 지표입니다. 계산식은 의외로 단순합니다. 현재 종가에서 n일 전 종가를 뺀 값을 n일 전 종가로 나눈 뒤 100을 곱하면 됩니다. 예를 들어 12일 ROC를 본다고 하면, 오늘 종가가 11,000원이고 12거래일 전 종가가 10,000원이었을 때 ROC는 10이 됩니다. 지금 가격이 12일 전보다 10퍼센트 높다는 뜻이죠. 반대로 오늘이 9,000원이라면 ROC는 마이너스 10이 되어 12일 전보다 10퍼센트 낮다는 의미가 됩니다.
여기서 핵심은 분모에 n일 전 가격을 두어 백분율로 표준화한다는 점입니다. 단순히 가격의 차이만 보면 주당 5만 원짜리 종목과 5천 원짜리 종목의 움직임을 같은 잣대로 비교하기 어렵습니다. 5만 원짜리가 천 원 오르는 것과 5천 원짜리가 천 원 오르는 것은 의미가 전혀 다르니까요. 하지만 변화율로 환산하면 앞의 것은 2퍼센트, 뒤의 것은 20퍼센트가 되어 가격대가 다른 종목끼리도 속도를 같은 단위로 견줄 수 있습니다. 이 표준화 덕분에 저는 관심 종목 여러 개의 ROC를 나란히 놓고 지금 어느 쪽 모멘텀이 더 강하게 살아있는지를 한눈에 비교하곤 합니다. 참고로 ROC와 거의 똑같은 개념을 다른 방식으로 표현한 지표들도 있는데, 분모로 나누지 않고 가격 차이를 그대로 쓰면 모멘텀 지표가 되고, 비율을 다듬어 쓰면 또 다른 이름으로 불리기도 합니다. 계산이 조금씩 다를 뿐 모두 같은 질문, 즉 지금 가격이 얼마 전과 비교해 얼마나 빠르게 변하고 있는가에 답하려는 한 식구라고 볼 수 있습니다.
ROC는 0선을 중심으로 위아래로 움직이는 오실레이터 형태로 차트 하단에 별도 창으로 그려집니다. 값이 0보다 크면 n일 전보다 가격이 올랐다는 의미이고, 0보다 작으면 내렸다는 의미입니다. 다시 강조하지만 중요한 건 절대적인 가격이 아니라 변화의 속도라는 점입니다. 가격이 계속 오르더라도 오르는 속도가 느려지면 ROC는 0보다 큰 영역에 머물면서도 고개를 숙이기 시작합니다. 가격이라는 결과가 아니라 그 결과를 만들어내는 힘의 변화를 먼저 보여준다는 것, 이것이 ROC를 비롯한 모멘텀 지표의 존재 이유입니다.
0선과 추세로 신호 읽기
가장 기본적인 신호는 0선 돌파입니다. ROC가 0선을 아래에서 위로 올라서면 단기 모멘텀이 상승으로 돌아섰다는 신호이고, 위에서 아래로 내려서면 하락으로 돌아섰다는 신호로 봅니다. 0선을 위로 넘었다는 건 결국 지금 가격이 n일 전 가격을 다시 웃돌기 시작했다는 뜻이니, 단기 흐름이 위로 방향을 튼 셈입니다. 다만 0선 돌파는 가격이 이미 어느 정도 움직인 뒤에 나타나는 후행적 신호라, 단독 진입 근거로 쓰기보다 현재 추세의 방향을 재확인하는 용도로 보는 편이 낫습니다.
값의 크기와 기울기도 함께 봅니다. ROC가 0선 위에서 점점 높아지면 상승 추세가 가속되는 중이고, 0선 위에 있지만 값이 점점 낮아지면 상승은 유지되되 힘이 빠지는 중입니다. 마찬가지로 0선 아래에서 값이 더 깊어지면 하락이 가팔라지는 것이고, 바닥을 다지며 0선 쪽으로 올라오면 하락의 속도가 줄어드는 것입니다. 저는 ROC의 절대 위치 자체보다 이 기울기, 즉 변화의 방향을 더 중요하게 봅니다. 모멘텀 지표의 본질은 속도의 변화를 가격보다 한발 먼저 감지하는 데 있기 때문입니다.
다만 한 가지 주의할 점이 있습니다. ROC는 n일 전 가격이라는 단 하나의 과거 시점과 비교하기 때문에, 그 기준이 되는 날의 가격이 비정상적으로 튀었다면 ROC도 왜곡됩니다. 예를 들어 12일 전에 일시적인 급락 캔들이 하나 있었다면, 오늘 가격이 평범해도 ROC만 갑자기 크게 튀어 보일 수 있습니다. 이런 착시를 줄이려면 ROC를 단기 이동평균으로 한 번 더 부드럽게 다듬어 보거나, 기준일 부근의 가격 흐름을 함께 확인하는 습관이 필요합니다.
- ROC가 0선을 위로 돌파 — 단기 모멘텀 상승 전환
- ROC가 0선을 아래로 돌파 — 단기 모멘텀 하락 전환
- 0선 위에서 값 상승 — 상승 추세 가속
- 0선 위에서 값 하락 — 상승 유지되나 힘 약화
- 값의 절대 크기보다 기울기와 방향을 우선 확인
기간 설정 — 며칠을 비교 기준으로 둘까
ROC의 설정값은 비교 기간 n 하나뿐입니다. 며칠 전 가격과 비교할지를 정하는 값으로, 일봉 기준으로 보통 12일을 많이 씁니다. 설정이 단순하다는 건 그만큼 직관적이라는 장점이기도 하지만, 이 하나의 숫자가 지표의 성격을 거의 다 결정한다는 뜻이기도 합니다. 기간이 짧으면 최근 가격 움직임에 민감하게 반응해 신호가 잦아지고 톱니처럼 출렁이며, 길면 큰 흐름을 부드럽게 보여주되 반응이 그만큼 느려집니다.
그래서 저는 매매 주기에 맞춰 기간을 다르게 둡니다. 며칠 단위로 사고파는 단기 매매에서는 9일 안팎의 짧은 기간으로 빠른 신호를 보고, 몇 주에서 몇 달의 큰 흐름을 볼 때는 25일 이상의 긴 기간으로 노이즈를 걷어냅니다. 같은 종목이라도 변동성이 크면 기간을 늘려 잡음을 줄이는 편이 안정적입니다. 아래 표는 제가 기간을 조정할 때 머릿속에 두는 기준을 정리한 것입니다. 어디까지나 출발점일 뿐, 정답은 없으니 직접 여러 값을 넣어보며 자기 종목에 맞는 설정을 찾아가는 과정이 중요합니다.
기간을 정할 때 한 가지 더 고려하는 건 차트의 시간 단위입니다. 같은 12라는 숫자라도 일봉에서는 12거래일을, 60분봉에서는 12개의 한 시간을 비교하는 셈이라 체감되는 호흡이 완전히 다릅니다. 그래서 저는 일봉 기준으로 익숙해진 설정을 분봉이나 주봉에 그대로 옮기지 않고, 그 시간 단위에서 다시 한번 점검합니다. 짧은 분봉일수록 노이즈가 심하니 기간을 조금 더 길게 잡아 신호를 안정시키는 편입니다.
| 기간 설정 | 특징 | 어울리는 상황 |
|---|---|---|
| 9일 안팎 | 민감, 신호 잦음 | 단기 매매, 빠른 반응 선호 |
| 12일 (표준) | 균형 잡힌 기본값 | 대부분의 종목·일봉 분석 |
| 25일 이상 | 부드럽고 느림 | 중장기 추세 확인 |
| 변동성 큰 종목 | 기간 늘려 노이즈 감소 | 테마주·소형주 |
다이버전스 — ROC가 가장 빛나는 순간
제가 ROC를 쓰는 가장 큰 이유는 다이버전스입니다. 다이버전스란 가격과 지표가 서로 다른 방향을 가리키는 현상을 말합니다. 가격은 신고가를 만드는데 ROC는 직전 고점보다 낮은 고점을 만들면 이를 약세 다이버전스라 하고, 가격은 오르지만 그 오름의 속도가 둔해지고 있다는 경고로 봅니다. 글머리에서 말씀드린 제 경험이 바로 이 약세 다이버전스의 전형이었습니다. 반대로 가격은 신저가를 갱신하는데 ROC가 직전 저점보다 더 높은 저점을 만들면 강세 다이버전스로, 하락의 힘이 빠지고 있다는 신호로 읽습니다.
다이버전스가 강력한 이유는 추세의 전환을 가격보다 한발 먼저 암시할 때가 많기 때문입니다. 가격은 관성으로 한동안 더 밀고 나가더라도, 그 안에 실린 힘은 먼저 식기 마련인데 ROC가 바로 그 식어가는 힘을 숫자로 보여주는 셈입니다. 다만 다이버전스가 나타났다고 해서 바로 추세가 꺾이는 것은 결코 아닙니다. 강한 추세에서는 다이버전스가 두세 번씩 반복해서 나타나고도 가격이 한참 더 가는 경우가 흔합니다. 다이버전스만 믿고 미리 역방향에 베팅했다가 호되게 당한 적도 많습니다.
그래서 저는 다이버전스를 진입 신호가 아니라 경계 신호로만 씁니다. 약세 다이버전스가 보이면 새로 사지 않고, 거래량 감소나 추세 이탈 캔들 같은 다른 근거가 겹칠 때 비로소 보유 비중을 줄이는 식입니다. 신호 하나에 전부를 걸지 않고 여러 근거가 같은 방향을 가리킬 때까지 기다리는 것, 이것이 다이버전스를 안전하게 쓰는 거의 유일한 방법이라고 생각합니다.
직접 써보고 느낀 점 — 가격이 아니라 속도를 보는 눈
ROC를 오래 쓰면서 얻은 가장 큰 변화는 가격의 높낮이가 아니라 속도를 보는 눈이 생겼다는 점입니다. 예전에는 신고가라는 글자에 들떠 무작정 따라 들어갔다가 물리기 일쑤였습니다. 하지만 ROC를 곁에 두면서부터 그런 충동적인 추격 매수가 확실히 줄었습니다. 오름폭이 줄고 있는 신고가는 사실 위험 신호일 때가 많다는 걸 지표가 차분하게 미리 알려주기 때문입니다. 특히 가격과 ROC의 다이버전스는 지금도 제 매매 점검표에서 절대 빠지지 않는 항목입니다.
또 하나 좋았던 점은 종목 간 비교입니다. 비슷해 보이는 두 종목을 두고 어느 쪽에 비중을 둘지 고민될 때, ROC를 나란히 띄워 어느 쪽 모멘텀이 더 살아있는지 가늠하면 판단이 한결 쉬워졌습니다. 가격대가 달라도 변화율로 환산되니 같은 자로 잴 수 있다는 점이 실전에서 꽤 요긴했습니다. 시장 전체의 온도를 잴 때도 지수의 ROC를 보면 지금 흐름에 힘이 붙는 중인지 식는 중인지 대략 감을 잡을 수 있어, 개별 종목을 보기 전에 한 번씩 확인하는 습관이 생겼습니다.
다만 분명히 짚고 넘어가야 할 점이 있습니다. ROC도 결코 만능이 아닙니다. 방향 없이 출렁이는 횡보장에서는 0선을 자주 넘나들며 거짓 신호를 쉴 새 없이 쏟아내고, 단독으로 쓰면 그 잡음에 휩쓸리기 쉽습니다. 그래서 저는 ROC를 추세의 속도를 재는 보조 도구로만 쓰고, 실제 진입과 청산은 추세 지표와 거래량, 그리고 시장 전체의 분위기를 함께 확인한 뒤에 결정합니다. 무엇보다 ROC 역시 과거 가격으로 계산한 후행 지표라 미래의 수익을 결코 보장하지 않으며, 모든 신호는 참고 자료일 뿐이며, 최종 판단과 그에 따른 책임은 온전히 투자자 본인에게 있다는 점을 늘 마음에 새기고 있습니다. 지표는 어디까지나 의사 결정을 돕는 도구이지, 결정을 대신해 주는 마법이 아니기 때문입니다.