글 목차
근거와 범위
TradingView는 시간 일치 상대 거래량을 기록합니다. ORB 논문에서는 주식 선택을 위해 특정 버전을 사용했는데, 해당 전략 전체에 대한 결과만으로는 RVOL 임계값의 독립적인 가치를 입증할 수 없습니다. 아래의 중앙값 기반 및 벤치마크 상대 변형은 별도의 테스트가 필요합니다. [1] [2]
실전 적용 절차
- 측정 단위를 선택하세요테스트하기 전에 RVOL의 바, 누적 또는 일간 옵션 중 하나를 선택하세요.
- 세션 시각 맞추기올바른 달력, 시간대 및 과거 시간 범위를 사용하십시오.
- 기준선을 검증합니다충분한 이력과 긍정적인 유효 분모가 필요합니다.
- 마감될 때까지 기다리세요특징을 확정하고 실제 이용 가능 시각을 붙입니다.
- 가격 필터 후보고정 임계값을 적용하고 거부된 후보를 로그에 유지합니다.
거래량에 관한 세 가지 질문
봉별 RVOL은 순간 활동 증가, 누적 RVOL은 세션 시작부터 현재까지의 참여, 일간 RVOL은 완료된 세션을 측정합니다. 개별 돌파는 해당 봉, 당일 종목 선택은 누적 참여처럼 연구 질문에 맞춰 고릅니다. 성과를 본 뒤 유리한 정의로 바꾸지 마십시오.
TradingView는 동일 시간대의 과거 평균을 설명합니다. [1] 20세션의 중앙값은 예외적인 관측치의 영향을 줄이기 위해 제안한 대안입니다. 평균과 중앙값은 같은 종목의 순위를 다르게 매길 수 있으므로, 각 신호에 기준 추정량과 표본 기간을 모두 기록하십시오.
높은 거래량 자체에는 방향성이 없습니다. 추세 지속, 특정 가격대에서의 거부 반응, 뉴스, 강제 청산 등 여러 상황에서 나타납니다. 가격 탐지 규칙은 이 상황을 구분하는 위치와 반응을 정해야 합니다. RVOL로 참여자가 기관인지 식별할 수는 없습니다. 거래 활동을 관측할 뿐 계정의 신원은 알 수 없습니다.
나누기 전에 달력을 정렬하세요
미국 주식은 거래소 달력과 America/New_York를 사용해 세션 사이의 09:30–09:35 구간을 맞춥니다. 고정 UTC 구간은 서머타임 전환 시 실제 개장 시각과 어긋납니다. 정규장, 연장장, 단축 세션, 결함 있는 피드를 구분합니다. 연속 거래하는 암호화폐는 하루 경계를 명시합니다. 온전한 주 단위 이력이 충분할 때에는 요일과 시간을 함께 맞추는 정규화를 별도로 실험할 수 있습니다.
분모에는 이전 세션만 들어갑니다. 기준이 영이거나 유효한 이력이 부족하면 임의의 큰 RVOL 대신 insufficient_data를 반환합니다. 결측과 실제 거래량 영인 구간은 다릅니다.[3]의 품질 연구는 거래소 자료 검증의 근거이지 모든 거래소에 통하는 보정식을 제시하지 않습니다.
기준 세션의 실제 목록을 저장하십시오. 휴일이나 서비스 중단 기간이 누락된 경우, 다른 연구자가 어떤 관측치가 해당 기간을 대체했는지 재구성할 수 있어야 합니다. 이전 20개의 유효 세션을 사용하는 선택 규칙은 20개의 달력일을 사용하고 누락된 행을 자동으로 삭제하는 규칙과 다릅니다. 두 규칙 모두 연구할 수 있지만, 구성 식별자를 공유해서는 안 됩니다.
계산 및 정보 이용 가능성
의사 코드는 20 세션의 평균값을 독립적으로 지정된 기준선으로 사용합니다. ORB 논문을 재현할 때는 14 세션 정의를 유지해야 합니다. [2] 진행 중인 캔들은 잠정 거래량을 가지며, 캔들이 마감될 때까지 최종 거래량을 확인할 수 없습니다. 해당 기능과 함께 반환되는 타임스탬프는 출력의 일부이며, 선택적인 차트 주석이 아닙니다.
누적 RVOL은 누적 거래량의 비율이며 각 봉 RVOL의 평균이 아닙니다. 두 계산은 하루 안의 시간대에 서로 다른 가중치를 줍니다. 먼저 각 과거 세션에서 같은 슬롯까지 거래량을 합산하고, 그 세션들을 이용해 기준값을 계산합니다. 분모용 세션이 유효하지 않으면 누적 관측 전체에서 그 세션을 일관되게 처리합니다.
on_closed_bar(d, k):
history = previous_valid_sessions(d, count=20)
if len(history) != 20: return INSUFFICIENT_DATA
if not complete_valid_slots(history + [d], through=k):
return INSUFFICIENT_DATA
assert same_session_slot(history, k)
base = mean(V[j,k] for j in history)
cum_base = mean(sum(V[j,0:k+1]) for j in history)
if base <= 0 or cum_base <= 0: return INSUFFICIENT_DATA
rvol_bar = V[d,k] / base
rvol_cum = sum(V[d,0:k+1]) / cum_base
signal_at = bar_close_time(d,k)
return rvol_bar, rvol_cum, signal_at
수치 예시와 오해의 소지가 있는 기준선
09:30–09:35의 과거 평균 거래량100,000주와 오늘250,000주라면 봉별 RVOL은2.5입니다.10:00까지 누적량600,000주를 과거 동일시각 누적 기준500,000주와 비교하면 누적 RVOL은1.2입니다. 절대 누적량은 늘어도 평소 경로 대비 활동은 진정되었습니다.
일평균 거래량5백만주에서600,000을5백만으로 나누면0.12, 즉 평균 하루 전체 거래량의12%입니다. 같은 시각을 맞춘 RVOL1.2와는 다른 지표입니다. 시장 전체 사건이 있는 날 종목 RVOL2와 기준시장 RVOL3의 차이는−1, 비율은 약0.667입니다. 차감과 나눗셈 버전의 뜻과 척도는 다릅니다.
과거 개장 구간 거래량의 절반이 빠진 피드는 실패 사례입니다. 분모가100,000에서50,000으로 줄어 같은 현재 관측이RVOL5로 표시됩니다. 더 나은 기회가 아니라 데이터 결함을 고른 것입니다. 그림은 가격이 아닌 합성 RVOL 시계열입니다.
RVOL를 가격 후보 및 주문 규칙에 연결합니다.
제안된 한 실험은 먼저 완료된 직전 20봉의 최고가를 넘는 돌파를 정의합니다. 종가가 고정된 수준을 넘으면 동일 시간대 기준 RVOL ≥1.5를 적용합니다. 이 임계값은 연구 매개변수입니다. 확인 종가 이후 실행 가능한 다음 시점에 주문을 제출하십시오. 최종 봉 거래량이 아직 알려지지 않았던 앞선 돌파 접촉 시점에 체결을 배정해서는 안 됩니다.
RVOL 자체는 손절을 정하지 않습니다. 미리 식별한 재시험 저점 아래 손절, 포트폴리오 위험 한도와 손절 거리 대비 큰 스프레드의 신규 주문 거부를 별도로 정할 수 있습니다. 다만 갭 전에 스톱마켓 주문이 이미 대기 중이었다면 실제 가능한 발동 체결을 반영해야 합니다. 최종 거래량으로 손실 거래를 사후 삭제할 수 없습니다.
선별과 시점을 구분합니다.09:35에 완성된 개장 구간으로 종목을 고르면 이후 사건에 사용할 수 있습니다. 최종 다섯 분 거래량으로09:31에 높은RVOL 종목이었다고 표시하면 안 됩니다. 개장 구간 안에서 거래하려면 경과시간별 특징을 별도로 만들고 재현 가능한 봉 내부 이력을 확보합니다.
볼륨의 증분 가치를 측정합니다.
하나의 가격 후보군을 고정하고 네 가지 분기(가격만, 막대 그래프 RVOL, 누적 RVOL, 벤치마크 대비 RVOL)를 비교합니다. 선택 테스트 시 진입, 청산 및 거래 규모는 동일하게 유지합니다. 체결된 거래뿐만 아니라 거부된 기회도 집계해야 합니다. 그렇지 않으면 보고서에서 필터의 기회비용이 숨겨집니다.
기간별, 유동성 그룹별, 시간대별로 평가하십시오. 위험 단위로 표시된 순 기대 수익, 거래 횟수, 일일 수익률, 최대 손실률 및 실행 비용을 보고하십시오. 필터를 사용하면 대부분의 거래를 제거하여 승률을 높일 수 있지만 전체 성과는 저하될 수 있습니다. 최종 테스트 전에 임계값을 확정하고, 실제 데이터 수신 타임스탬프를 사용하여 동일한 규칙을 모니터링하십시오.
일정한 과거 기준, 영 거래량 분모, 불완전한 단축 세션과 서머타임 전환을 테스트합니다. 고정된 과거 구간에 미래 세션을 추가해도 발행한 특징과 신호는 변하지 않아야 합니다. 과거의 극단적 세션을 넣고 평균·중앙값 버전을 비교해 추정량이 잘못 바뀌지 않았는지도 확인합니다.
종목 간 순위에서는 판단 시점의 투자대상 구성과RVOL 동점 처리 규칙을 보존합니다. 현재 유동성이 높은 생존 종목의 고정 목록을 과거 시장 대신 쓰지 마십시오. 유효 이력이 있는 종목이 목표 수보다 적다면 그 작은 집합을 유지하거나 사전 배분 규칙을 적용합니다. 이력을 만들어 넣으면 실제 제약을 숨기게 됩니다.
흔한 실수
롤링 바가 시계 시간과 일치하지 않습니다.
78개의 오 분 봉 이동평균은 개장과 정오 활동을 섞습니다. 같은 시각 비교와 별도 특징으로 취급합니다.
높은 거래량은 구매를 의미합니다.
RVOL는 방향성 신호가 없습니다. 가격 트리거, 무효화 및 청산이 여전히 필요합니다.
수익 결과를 사용하여 샘플을 정리합니다.
데이터 제외는 평가 전에 정해야 하며 거래의 손익 여부에 따라 바꾸면 안 됩니다.
이 기법을 사용하기 전 체크리스트
자신의 데이터로 확인한 뒤 각 항목에 체크하세요. 진행 상태는 이 브라우저에 저장되며, 전략의 수익성을 인증하지는 않습니다.
자주 묻는 질문
어떤 RVOL 값이 적절합니까?
보편적인 임계값은 없습니다. 1.5와 같은 값은 세션, 시장, 추정 도구 및 비용에 따라 의미가 달라지는 연구 매개변수 후보입니다.
미완성 바를 사용할 수 있나요?
가능합니다. 별도의 경과시간별 특징을 정의해 과거 동일 경과시간과 비교하고, 백테스트에 충분한 봉 내부 데이터가 있어야 합니다.
연구 출처
각 출처는 옆에 설명된 정의나 근거를 뒷받침합니다. 의사코드, 가상 예시와 제안된 매개변수는 별도로 검증해야 합니다.
- Relative Volume at TimeTradingView. 대응하는 과거 시각에 대한 봉별·누적 상대 거래량 정의. 확인일: .
- A Profitable Day Trading Strategy For The U.S. Equity MarketZarattini, Barbon, Aziz. ORB 연구의 다섯 분 구간, 14세션 기준 RVOL 선별을 설명하는 원출처입니다. 이 글에서 제안한 변형의 유효성을 검증한 자료는 아닙니다. 확인일: .
- Crypto Wash TradingNBER. 과거 거래 샘플에서 보고된 거래량 품질에 대한 연구 정보이며, 모든 현재 거래소에 일반화할 수는 없습니다. 확인일: .
관련 기법
위험 안내
이 내용은 학습과 연구 설계를 위한 것이며 금융 조언이 아닙니다. Backtest는 과거 데이터 시뮬레이션으로, 미래 성과를 보장하지 않으며 실제 거래를 주문하지 않습니다. 이 라이브러리의 기법이 모두 앱에 구현된 기능은 아닙니다. 관련 정보: 검증 방법 및 학습 센터.
실제 자금을 투입하기 전에 규칙을 검증하세요
앱 지원 범위, 데이터와 개별 모의 거래를 확인하세요. 고급 탐지 기법은 별도 구현이 필요할 수 있습니다.
App Store에서 Backtest 다운로드