CTM 지표 계산법: 이동평균 점수로 단순화하면 왜 달라질까?

1. CTM은 이동평균선 네 개를 더한 점수가 아닙니다

여러 기간의 추세를 0부터 100까지 한 숫자로 압축하면 차트를 빠르게 비교할 수 있습니다. 문제는 CTM(Chande Trend Meter)을 종가가 20·50·75·100일 이동평균선 위에 있는지 채점하는 지표로 단순화하는 경우입니다. 이름과 점수 범위는 같아도 원래 공개된 구성과는 다른 지표가 됩니다.

StockCharts의 Chande Trend Meter 설명은 다음 요소를 사용한다고 밝힙니다.

  • 20·50·75·100일 Bollinger Bands에 대한 고가·저가·종가의 위치
  • 100일 표준편차와 비교한 가격 변화
  • RSI(14)
  • 단기 2일 가격 채널 돌파

여기에는 단순한 종가 > 이동평균 조건만으로는 알 수 없는 밴드 안의 상대적 위치와 2일 채널 돌파가 포함됩니다. StockCharts의 CTM 활용 글도 같은 구성요소를 다시 열거하며 CTM이 개별 가격 시계열에서 계산되는 절대 점수라고 설명합니다.

다만 공개 문서는 각 요소의 정확한 최종 가중치와 0~100 변환식을 공개하지 않습니다. 따라서 임의로 만든 점수를 StockCharts의 공식 CTM 값과 같다고 단정할 수 없습니다. 이 글에서는 공개된 모든 구성요소를 빠짐없이 넣고 고정된 등가중 규칙으로 만든 재현 점수를 사용해, 기존 이동평균 중심 점수가 무엇을 놓쳤는지 비교합니다.

2. 공개된 구성요소를 어떻게 고정식으로 재현했을까요?

첫 번째 묶음은 네 기간의 Bollinger 위치입니다. 각 기간에서 고가·저가·종가의 %B를 계산하고 0~100 범위로 제한한 뒤 평균했습니다.

CTM Bollinger 위치 재현식

여기서 P는 고가·저가·종가, n은 20·50·75·100일입니다. 값이 상단 밴드보다 높으면 100, 하단 밴드보다 낮으면 0으로 제한했습니다. 네 기간마다 고가·저가·종가의 평균 위치를 하나의 점수로 만들었습니다.

두 번째는 100일 가격 위치를 표준편차 단위로 바꾼 값입니다. 미래 전체 구간의 최고·최저로 다시 스케일하지 않고, 계산 시점까지의 100일 평균과 표준편차만 사용했습니다.

CTM 100일 표준화 가격 위치

Z=-3은 0점, Z=+3은 100점이 되도록 선형 변환하고 범위를 제한했습니다. 세 번째는 Wilder 방식 RSI(14)를 그대로 0~100 점수로 사용했습니다.

마지막 2일 채널은 직전 두 거래일의 고가를 종가가 돌파하면 100점, 직전 두 거래일의 저가를 이탈하면 0점, 둘 다 아니면 50점으로 고정했습니다. 채널 경계에 계산 시점의 봉을 포함하지 않아 같은 봉의 돌파를 지워버리는 문제도 피했습니다.

최종 재현 점수는 일곱 구성 점수의 단순 평균입니다.

CTM 공개 구성 기반 등가중 재현식

구성 공개된 기간 재현 점수에서의 처리
Bollinger 위치 20·50·75·100일 각 기간 고가·저가·종가 %B 평균
표준화 가격 변화 100일 Z값 -3~+3을 0~100으로 고정 변환
RSI 14일 Wilder RSI 값을 그대로 사용
가격 채널 2일 상단 돌파 100·중립 50·하단 이탈 0

이 계산은 공식 CTM의 비공개 가중치를 복원한 것이 아닙니다. 비교 가능한 고정식이며, 사용자가 같은 OHLC 데이터로 다시 계산할 수 있도록 공개 구성과 임의 선택을 분리한 것입니다.

3. 80점은 매수 신호가 아니라 추세 상태 구간입니다

StockCharts가 제시하는 CTM 해석 구간은 다음과 같습니다.

CTM 점수 공개된 해석
90~100 매우 강한 상승 추세
80~90 강한 상승 추세
60~80 약한 상승 추세
20~60 횡보 또는 약한 하락 추세
0~20 매우 강한 하락 추세

점수는 여러 요소가 얼마나 같은 방향에 놓였는지를 압축한 상태값입니다. 79에서 80으로 올라갔다고 기대수익이 갑자기 바뀌는 불연속 법칙은 아닙니다. 임계값 근처에서는 구성요소 하나의 작은 변화만으로 구간이 달라질 수 있습니다.

Tushar Chande도 CTM을 돌파 확인에 사용한 사례에서 80 이상을 상승 돌파의 확인 조건으로 활용하지만, 별도의 100일 가격 채널과 추적손절을 함께 둡니다. CTM 80점만으로 진입·청산 전체가 완성되는 것은 아닙니다.

실제 적용에서는 점수보다 다음 순서가 중요합니다.

  1. 사용한 플랫폼의 CTM 계산이 공개 정의와 같은지 확인합니다.
  2. 80점 돌파가 가격 돌파·거래량·추세 방향과 함께 나타났는지 봅니다.
  3. 점수가 다시 낮아졌을 때의 청산 규칙과 거래비용을 별도로 검증합니다.

4. 같은 점수 차이 뒤에도 현대차의 결과는 반대로 갈렸습니다

아래 두 사례는 기존 6조건 점수가 80 이상이지만 공개 구성 기반 재현 점수는 80 미만이었던 현대차 일봉입니다. 두 점수의 차이는 빠진 구성요소가 실제 판정을 바꿀 수 있다는 뜻이지, 재현 점수가 미래 수익을 더 잘 맞힌다는 뜻은 아닙니다.

현대차 기존 6조건 CTM과 공개 구성 기반 재현 점수 비교 차트
항목 상승 사례 하락 사례
판정일 2025년 12월 15일 2026년 6월 15일
판정일 종가 293,500원 647,000원
기존 6조건 점수 100점 85점
공개 구성 재현 점수 68.67점 69.51점
점수 해석 차이 매우 강한 상승 / 약한 상승 강한 상승 / 약한 상승
20거래일 수익률 +43.78% -31.38%

첫 사례에서는 기존 점수 100 뒤 가격이 크게 올랐습니다. 재현 점수가 80 미만이었다는 이유로 강한 상승이 발생하지 않은 것은 아닙니다. 두 번째 사례에서는 기존 점수가 85였지만 가격이 크게 내렸습니다. 높은 점수도 이후 수익률을 보장하지 않았습니다.

10개 대형주 8,950개 거래일을 비교했습니다

2022년 이후 10개 대형주에서 기존 점수와 재현 점수를 같은 날짜에 계산했습니다. 0~20·20~60·60~80·80~90·90~100의 다섯 해석 구간이 달랐던 날은 전체의 65.03%였습니다.

기존 CTM 점수와 공개 구성 재현 점수의 해석 구간 및 이후 수익률 비교

기존 점수가 80 이상인 거래일은 3,289개였습니다. 이 가운데 재현 점수가 80 미만인 날은 2,086개로 63.42%였습니다. 이동평균 조건만 바꾼 작은 구현 차이가 아니라, 공개 정의에서 빠진 Bollinger 위치와 2일 채널이 강세 구간 분류를 크게 바꾼 결과입니다.

연속된 불일치를 매일 중복 계산하지 않고 새로운 불일치 구간의 시작일만 남기면 630개였습니다. 20거래일 뒤 수익률 양수 비율은 50.79%, 중앙값은 +0.48%였습니다.

관찰 조건 결과
전체 비교 거래일 8,950개
다섯 해석 구간 불일치 65.03%
기존 80 이상 중 재현 80 미만 2,086개·63.42%
불일치 구간 시작 630개
20거래일 수익률 양수 비율 50.79%
20거래일 수익률 중앙값 +0.48%

이 수치는 CTM 전략의 승률이 아닙니다. 다음 날 체결, 손절·청산, 거래비용과 종목 선택 규칙을 반영하지 않았습니다. 공개 구성의 정확한 공식 가중치가 아니라 등가중 재현식을 사용했다는 한계도 함께 봐야 합니다.

5. CTM의 장점과 한계

CTM의 장점은 단기 채널부터 100일 변동성 위치까지 서로 다른 속도의 정보를 한 점수로 묶는다는 점입니다. 동일한 계산식을 유지하면 여러 종목과 지수의 추세 상태를 같은 0~100 눈금에서 비교할 수 있습니다.

하지만 압축된 숫자에는 다음 한계가 있습니다.

  • 공개 문서만으로 StockCharts의 정확한 최종 가중치와 변환식을 복제할 수 없습니다.
  • 구현자가 임의로 SMA 조건이나 점수 배분을 바꾸면 이름만 같은 다른 지표가 됩니다.
  • 20·50·75·100일 요소가 겹치므로 서로 완전히 독립된 정보가 아닙니다.
  • 높은 점수는 추세의 동의를 뜻할 뿐 이후 수익률이나 손실 폭을 보장하지 않습니다.
  • 100일 구성요소 때문에 신규 상장 종목은 충분한 계산 이력이 쌓여야 합니다.
  • 강한 상승 뒤 점수가 유지되는 동안 가격이 이미 크게 오른 후행 구간이 생길 수 있습니다.
  • 전체 과거의 최고·최저로 점수를 다시 스케일하면 미래 데이터가 과거 점수에 들어갑니다.

특히 백테스트에서는 계산식과 가중치뿐 아니라 초기 100일을 어떻게 처리했는지 기록해야 합니다. 플랫폼 값과 직접 만든 값이 다르면 어느 쪽이 맞다고 서둘러 판단하기보다 구성요소와 변환식부터 대조해야 합니다.

6. 실전 확인 순서와 요약

CTM을 사용할 때는 다음 세 가지를 확인합니다.

  1. Bollinger 네 기간, 표준화 변화, RSI와 2일 채널이 모두 포함됐는지 확인합니다.
  2. 정확한 가중치가 공개되지 않은 구현은 공식 값이 아니라 별도 재현 점수로 기록합니다.
  3. 80점 이상을 매수 명령으로 쓰지 않고 가격 돌파와 청산 규칙을 함께 백테스트합니다.

핵심은 간단합니다. 0~100이라는 같은 눈금이 같은 CTM을 의미하지는 않습니다. 구성요소가 빠졌다면 계산이 간단해진 것이 아니라 지표가 바뀐 것입니다. 반대로 모든 공개 요소를 넣었더라도 비공개 가중치를 추정했다면 그 사실을 밝혀야 재현 가능한 검증이 됩니다.

Bollinger 위치의 원리는 볼린저 밴드 계산법, Wilder RSI의 기초는 RSI 지표 보는 법, 신호 봉을 제외한 채널 돌파는 Donchian Channel 계산법, 추세와 횡보를 구분하는 다른 접근은 CHOP 지표 계산법을 함께 참고할 수 있습니다.

본 포스팅은 가격 데이터와 기술적 지표의 수리적 이해를 돕기 위한 참고 자료이며, 특정 종목에 대한 투자 권유나 수익을 보장하지 않습니다. 투자 결과에 대한 책임은 투자자 본인에게 있습니다.