Ultimate Oscillator 계산법: 30선 회복은 반등 신호일까?

1. Ultimate Oscillator는 세 기간의 종가 위치를 결합합니다

Ultimate Oscillator(UO)는 하루 종가가 당일과 전일 종가를 반영한 가격 범위 안에서 어디에 놓였는지를 7일·14일·28일 세 기간으로 계산합니다. 짧은 7일 비율에 4, 14일에 2, 28일에 1의 가중치를 둡니다.

TradingView의 UO 계산 안내처럼 기본 설정은 7·14·28기간과 4:2:1 가중치입니다. 세 기간을 쓰는 목적은 단일 기간 오실레이터보다 서로 다른 길이의 가격 움직임을 함께 반영하려는 데 있습니다.

다만 세 기간이 세 개의 독립된 의견을 뜻하지는 않습니다. 28일 구간 안에는 14일과 7일 구간의 데이터가 포함되어 있고, 짧은 기간에 가장 큰 가중치를 둡니다. 따라서 UO가 30선이나 70선을 통과했다고 반전·청산이 확정되는 것은 아닙니다.

Buying Pressure(BP)라는 이름은 실제 투자자의 매수 주문량이나 수급을 측정한다는 뜻이 아닙니다. BP는 종가가 범위의 어느 쪽에 놓였는지를 계산한 가격 변수입니다.

2. BP와 TR을 기간별로 합산한 뒤 4:2:1로 가중합니다

먼저 당일 저가와 전일 종가 중 낮은 값, 당일 고가와 전일 종가 중 높은 값을 사용합니다. 갭이 있는 날에도 전일 종가를 범위에 포함하기 위한 계산입니다.

Ultimate Oscillator의 BP와 TR 계산식

각 기간에서 BP의 합을 TR의 합으로 나눈 뒤, 세 비율을 가중 평균합니다.

Ultimate Oscillator의 7 14 28기간 가중 계산식

UO가 높을수록 최근 세 구간에서 종가가 상대적으로 범위 상단에 놓인 날이 많았다는 뜻이고, 낮을수록 반대입니다. 값은 0~100 범위에 있지만, 30과 70은 모든 종목·모든 기간에 통하는 매수·매도 기준이 아닙니다.

가격 범위 자체가 커졌는지 확인하는 지표는 ATR 계산법처럼 별도로 봐야 합니다. UO는 범위 대비 종가의 위치를 결합할 뿐, 변동성의 절대 크기나 손실 한도를 알려주지 않습니다.

3. 30·70선은 과매도·과매수의 이름이 아니라 조건입니다

UO가 30 아래에 머물다가 30을 위로 통과하면 반등 후보로, 70 위에서 70 아래로 내려오면 약세 전환 후보로 읽기 쉽습니다. 그러나 강한 하락에서는 30 아래에 오래 머물 수 있고, 강한 상승에서는 70 위에 오래 머물 수 있습니다.

조건 계산으로 확인하는 것 단독으로 확인할 수 없는 것
30선 상향 UO가 직전 30 이하에서 30 위로 이동했는지 바닥이 확정됐는지
70선 하향 UO가 직전 70 이상에서 70 아래로 이동했는지 고점·청산 시점이 확정됐는지
UO 상승 세 기간 가중 종가 위치가 개선되는지 실제 매수 주체나 다음 수익률
UO 하락 세 기간 가중 종가 위치가 약해지는지 즉시 하락 추세 전환

따라서 30·70선을 쓸 때는 통과 방향, 종가 확정 뒤 체결가, 보유 기간, 손실 제한을 먼저 고정해야 합니다. 수치만 보고 역추세 진입이나 전량 청산을 결정하면, 극단 구간이 이어지는 위험을 빠뜨리게 됩니다.

4. 같은 UO 30선 회복도 결과는 갈렸습니다

아래 두 사례는 모두 UO가 직전 30 이하에서 30 위로 올라온 날입니다. 신호일 종가가 확정된 뒤 다음 거래일 시가에 진입하고, 열 번째 거래일 종가로 비교했습니다. 사례를 고른 뒤 체결 규칙과 보유 기간을 바꾸지 않았습니다.

카카오와 삼성바이오로직스 UO 30선 회복 뒤 상승과 하락 사례
항목 반등이 이어진 사례 30선 회복 뒤 하락한 사례
종목 카카오 삼성바이오로직스
신호일 2025년 1월 20일 2022년 1월 12일
UO 33.84 30.65
다음 거래일 시가 36,450원 1,243,615원
열 번째 거래일 종가 44,500원 1,101,072원
10거래일 수익률 +22.09% -11.46%

두 날 모두 30선을 회복했지만 한 사례는 반등이 이어지고 다른 사례는 다시 하락했습니다. 30을 넘었다는 사실은 종가 위치가 전일보다 개선됐다는 계산 결과이지, 가격의 저점이 확인됐다는 선언이 아닙니다.

5. 10개 대형주에서 30·70선 통과는 방향을 가르지 못했습니다

2022년 이후 10개 대형주에서 UO(7, 14, 28; 4:2:1)를 계산했습니다. 신호일 종가가 확정된 뒤 다음 거래일 시가에 진입하고, 열 번째 거래일 종가로 비교했습니다. 수수료·세금·호가 단위·동일 종목 신호의 중복 보유는 반영하지 않았습니다.

Ultimate Oscillator 30 70선 통과와 다이버전스 확정의 10거래일 결과
통과 조건 관찰 10거래일 예상 방향 일치 비율 10거래일 수익률 중앙값
30선 상향 뒤 상승 159개 42.77% -0.98%
70선 하향 뒤 하락 70개 50.00% -0.00%

30선 상향은 이 표본에서 오히려 양수 비율이 42.77%, 중앙값이 -0.98%였습니다. 70선 하향도 하락 방향 일치 비율이 정확히 50.00%였습니다. 임계값을 하나 통과했다고 다음 10거래일의 방향을 분리하지 못했다는 뜻입니다.

6. 다이버전스는 피벗이 확정된 뒤에만 알 수 있습니다

가격이 저점을 낮추는데 UO가 저점을 높이면 상승 다이버전스, 가격이 고점을 높이는데 UO가 고점을 낮추면 하락 다이버전스라고 부릅니다. 하지만 저점고점을 언제 확정하는지 정하지 않으면 미래 봉을 보고 신호를 고르는 문제가 생깁니다.

이 글의 비교에서는 좌우 5거래일을 모두 지난 뒤에 피벗을 확정했습니다. 즉 두 번째 저점·고점이 나타난 날이 아니라 5거래일 뒤에야 다이버전스 후보를 알 수 있습니다. 또한 원래 UO 다이버전스 규칙에는 30·70 구간과 이전 고점·저점 돌파 같은 추가 확인이 쓰이기도 있습니다. 아래 수치는 그런 완성된 매매 규칙의 성과가 아니라, 확인 지연을 포함한 기본 가격·UO 피벗 불일치의 분포입니다.

5거래일 뒤 확정한 조건 관찰 10거래일 예상 방향 일치 비율 10거래일 수익률 중앙값
가격 저점 하락 + UO 저점 상승 뒤 상승 62개 58.06% +1.23%
가격 고점 상승 + UO 고점 하락 뒤 하락 61개 57.38% -1.67%

두 조건 모두 반대 결과가 존재했습니다. 상승 다이버전스 뒤 10거래일 수익률 범위는 -20.46%~+36.97%, 하락 다이버전스는 -16.16%~+20.03%였습니다. 피벗을 확인하는 기준과 돌파 확인 조건을 바꾸면 표본도 달라지므로, 차트에서 보이는 불일치를 그 자체로 즉시 진입 신호라고 부르면 안 됩니다. 피벗 확정 시점의 문제는 Andrews Pitchfork 작도법에서도 같은 방식으로 다룹니다.

7. UO는 세 기간의 종가 위치를 확인하는 자리에 둡니다

UO의 7·14·28 가중 구조는 단일 기간 오실레이터와 다른 정보를 제공합니다. 그러나 여러 기간을 결합했다는 사실이 가짜 신호를 제거하거나 매매 타점을 보장하지는 않습니다.

실전 검증에서는 다음 순서를 고정하면 됩니다.

  1. 기간·가중치와 30·70선 통과 방향을 먼저 정합니다.
  2. 다이버전스는 피벗의 좌우 확인 기간과 추가 돌파 조건을 명시합니다.
  3. 다음 거래일 체결, 보유 기간, 손실 제한, 거래비용을 포함해 별도 구간에서 다시 비교합니다.

UO가 답하는 질문은 최근 세 기간에서 종가가 가격 범위의 어느 쪽에 있었는가입니다. 바닥이 확정됐는가, 지금 전량 청산해야 하는가까지는 UO 하나로 답할 수 없습니다.

이 글은 과거 가격 데이터를 이용한 지표 구조와 사례 설명이며, 특정 종목의 매수·매도 추천이 아닙니다.