OptiNod 아카데미
VIDYA — 적응형 모멘텀 가중평균
변동성에 자동 적응하는 이동평균 — 박스권 가짜 신호 빈도를 EMA보다 낮춥니다.
VIDYA는 지금 시장이 어떤 상태인지에 따라 반응 속도가 달라지는 이동평균입니다. 추세가 강할 때는 가격을 빠르게 따라가고, 박스권에서는 평균선이 거의 멈추면서 가짜 교차를 줄입니다.
EMA는 박스권이든 추세장이든 같은 속도로 가격을 따라가기 때문에, 횡보장에서는 작은 흔들림마다 교차가 생깁니다. 반면 VIDYA는 모멘텀이 약해지면 평활 계수를 낮춰서 평균선을 눕히고, 그러면 신호 발생 자체가 줄어듭니다.
보는 기준은 평균선의 기울기입니다. VIDYA가 수평이면 진입 판단을 멈추고, 가격이 박스를 돌파하면서 VIDYA가 기울기 시작하는 봉에서만 추세 전환 후보로 봅니다.

CMO — 추세 강도를 측정하는 효율비
VIDYA는 변동성의 크기뿐만 아니라 그 움직임이 한 방향으로 얼마나 꾸준한지를 함께 보고 적응합니다. Chande가 함께 설계한 CMO(Chande Momentum Oscillator)의 절댓값이 α를 조정하는 기준으로 작동합니다.
CMO는 N봉 기간 동안 상승한 날의 합계와 하락한 날의 합계의 차이를, 둘을 합한 값으로 나눈 비율입니다. 쉽게 말하면 효율비입니다. 같은 변동성이라도 한 방향으로 꾸준히 움직였는지(추세), 위아래를 번갈아 오갔는지(박스권)를 구별합니다. 한 가지 주의할 점은 스케일입니다. 표준 지표로서의 CMO는 −100~+100 범위로 표시되지만, VIDYA가 α를 조정할 때 쓰는 것은 이 값을 100으로 나눠 −1~1로 정규화한 절댓값입니다. 이 글에서 CMO 절댓값을 0~1 사이로 적는 것은 모두 이 정규화 기준(표준 지표값을 100으로 나눈 값)입니다. 정규화한 CMO 절댓값이 1에 가까우면(표준 지표값으로는 100에 가까우면) 한 방향으로 단단한 추세이고, 0에 가까우면 위아래 비슷한 비율로 진동하는 박스권입니다.
이 측정 방식이 VIDYA를 다른 적응형 평균(AMA·KAMA)과 다르게 만듭니다. VIDYA는 변동성이 얼마나 한 방향으로 꾸준한지에 적응하기 때문에, 단순히 변동성 크기에 반응하는 도구와는 다른 결과를 냅니다. 박스권의 큰 변동성에는 평균선이 둔하게 반응하지만, 추세가 진행되는 중의 큰 변동성에는 빠르게 반응합니다. 즉 같은 가격 변화라도 시장 상태에 따라 평균선이 다르게 움직입니다.
ETH가 2024년 7월 한 달 동안 2,900~3,200달러 박스권에 머문 시기에 정규화 CMO 절댓값은 대부분 0.3 이하(표준 지표값으로는 30 이하)였습니다. 같은 기간 EMA(14)는 가짜 골든·데드 크로스를 다섯 번 만들었지만, VIDYA(14)는 거의 수평으로 누워서 명확한 신호를 한 번도 내지 않았습니다. 박스권에서 움직이지 않는다는 점이 바로 VIDYA의 장점입니다.

평균선 기울기 자체가 진입 조건이 됩니다
EMA를 쓰는 사람은 진입 신호를 받기 전에 ADX가 20 이상인지, 가격이 직전 스윙 안에 있는지 같은 조건을 따로 확인해야 합니다. VIDYA는 평균선 자체가 그 역할을 합니다. 수평이면 진입 신호를 전부 끄고, 분명히 기울어지면 그 방향으로 진입 후보를 따져 봅니다.
이렇게 단순해지면 판단할 횟수가 줄어듭니다. VIDYA가 수평인 동안에는 시스템을 꺼 둡니다. 박스권 안에서 모든 매수·매도 셋업을 들여다보면 가짜 진입을 5~10번 반복하기 쉽습니다. 추세 추종 시스템이 박스권에서 가장 큰 손실을 낸다는 점을 생각하면, 이 거르는 조건 하나가 시스템 기대값을 크게 바꿉니다.

기울어지기 시작하는 자리 — 수평에서 기울기로
VIDYA에서 가장 단단한 진입 자리는 평균선이 수평에서 기울어지기 시작하는 봉입니다. 박스권이 끝나고 추세가 시작될 때 정규화 CMO 절댓값이 0.3 이하에서 0.5 이상으로(표준 지표값으로는 30 이하에서 50 이상으로) 올라가면서 α가 커집니다.
> ETH 일봉이 2,500~2,700달러 박스권에서 한 달 횡보한 뒤,
> VIDYA(14)가 수평에서 우상향으로 기울어지기 시작합니다(직전 5봉 평균 기울기 대비 1σ 이상).
> 동시에 가격이 박스 상단(2,700달러)을 종가 기준으로 돌파합니다.
> 그 봉의 종가에 매수 진입합니다. 손절은 박스 중심(2,600달러) 아래에 둡니다.
> VIDYA가 다시 수평으로 돌아가거나 가격이 박스 하단(2,500달러)을 종가로 이탈하면 예측이 틀린 것으로 봅니다.
핵심은 VIDYA 기울기 시작과 가격 박스 돌파가 같은 봉에서 같이 일어나는 것입니다. 두 신호가 동시에 나오면 가짜 돌파 확률이 분명히 줄어듭니다. 반대로 가격만 박스를 이탈하고 VIDYA는 여전히 수평이라면 진짜 추세 전환이 아닐 가능성이 큽니다.
같은 셋업을 거꾸로 뒤집으면 박스 하단 이탈의 숏 진입에도 그대로 씁니다.

박스권과 추세장 양쪽에 잘 적응하는 평균
VIDYA의 움직임을 한 줄로 요약하면 박스권에서는 SMA처럼, 추세장에서는 EMA처럼 움직입니다. CMO가 낮으면 α가 작아져서 평균선이 천천히 움직이며 SMA에 가까운 평활도를 만들고, CMO가 높으면 α가 EMA 수준까지 올라가 가격을 빠르게 따라갑니다.
이 자동 전환이 추세 안 눌림목(Pullback) 자리에서 한 가지 특징이 나타납니다. 강한 추세 구간에서는 VIDYA가 EMA보다도 가격에 더 가까이 붙기 때문입니다. α가 커지면서 작은 눌림목까지 빠르게 따라잡습니다. 그래서 작은 진폭에서도 눌림목 매수 자리를 잡을 수 있다는 장점이 생기지만, 그만큼 손절 거리가 좁아진다는 단점도 함께 생깁니다.
이 문제의 해법은 단순합니다. 추세 안 눌림목 진입의 손절은 VIDYA 아래 0.5~1 ATR 자리에 둡니다. 평균선에 바로 손절을 붙이면 정상 변동성에도 매번 청산되지만, ATR만큼 거리를 두면 정상 변동성은 흡수하고 진짜로 추세가 무너질 때만 청산됩니다.
CMO 기간의 두 번째 자유도
표준 VIDYA의 파라미터는 하나(period)로 알려져 있지만, 실제 구현체 대부분은 VIDYA 자체의 기간과 CMO의 기간 두 개를 받습니다. 보통 둘 다 14나 9로 똑같이 두지만, 따로 설정하면 더 세밀하게 조정할 수 있습니다.
CMO 기간을 짧게 설정하면(예: 5) 평균선이 짧은 변동성 변화에도 빠르게 반응합니다. 박스권에서도 작은 추세 움직임에 평균선이 쉽게 기울어집니다. 반대로 길게 설정하면(예: 21) 큰 흐름 전환에만 반응하므로 박스권 안의 단기 변동성에는 반응하지 않습니다.
자산 특성에 맞춰 두 기간을 따로 두면 효율비의 어느 시간대 변화에 평균선이 반응할지 정할 수 있습니다. BTC 일봉은 보통 VIDYA(14, CMO=14)면 충분하지만, 알트코인의 길고 깊은 박스권에서는 (14, CMO=21)이 가짜로 기울어지는 신호를 더 잘 걸러 냅니다.
두 종류의 VIDYA — 구현체 확인
Chande의 1992년 원본은 표준편차 비율을 적응 기준으로 썼고, 1995년 *The New Technical Trader*에서 CMO 기반으로 다시 정의했습니다. 그래서 VIDYA라는 같은 이름 아래 두 가지 알고리즘이 있습니다.
TradingView 커뮤니티 버전은 대부분 CMO 기반이지만, 일부 오래된 라이브러리는 표준편차 비율 버전을 씁니다. 그래서 같은 데이터에 같은 파라미터를 써도 두 플랫폼에서 다른 결과가 나올 수 있습니다. 자기 도구가 어느 쪽 정의를 쓰는지 한 번 확인하지 않으면 백테스트 결과를 다시 재현하기 어렵습니다.
VIDYA가 신호를 놓치는 자리
- 추세 시작 직후 반응이 늦다: VIDYA는 박스권에서 α가 작아진 채로 유지되기 때문에, 박스를 이탈하는 첫 봉에서는 EMA보다 한 박자 늦게 반응합니다. 박스권 가짜 신호가 줄어드는 대신 치르는 비용입니다. 박스 돌파 봉의 종가에서 진입하는 규칙을 두면 이 지연을 자연스럽게 흡수합니다.
- 거래량 확인 없는 진입: VIDYA가 수평에서 기울기로 도는 시점에 거래량이 직전 평균보다 분명히 늘면 진짜 추세 시작일 가능성이 큽니다. 거래량이 평소 수준이면 가짜 전환일 수 있습니다.
- HTF 충돌: 1시간봉 VIDYA가 깨어나는 동안 일봉 VIDYA가 여전히 수평이라면 단기 변동성으로 그칠 가능성이 큽니다. HTF VIDYA의 기울기가 같이 따라올 때라야 신뢰도가 분명히 올라갑니다.
