차트 스터디 노트 기술적 분석 개인 학습서

CVD와 오더북 히트맵

Cumulative Volume Delta & Order Book Heatmaps
심화파생

먼저 볼 것 거래량 기초

체결을 '먼저 주문을 넣어 상대 호가를 친 쪽'으로 나눠 누적한 것이 CVD이고, 대기 중인 지정가 주문을 시간·가격 위에 색으로 그린 것이 오더북 히트맵입니다. 둘 다 거래소와 시장마다 값이 다릅니다.

가격현물 CVD무기한 CVD후반: 무기한만 순매수, 현물은 정체합성 예시: 가격 상승을 이끄는 주체가 현물에서 무기한 선물로 바뀌는 모습
합성 데이터 예시. 앞부분에는 현물과 무기한 선물 모두에서 매수 체결이 우세하지만, 뒷부분에는 무기한 선물의 매수 체결만 늘고 현물 CVD는 정체합니다. 같은 상승이라도 주도 시장이 바뀌었다는 뜻입니다.
이 페이지 목차

1개념

체결은 항상 매수자와 매도자가 함께 만들지만, 둘 중 한쪽은 호가창에 기다리던 지정가 주문이고 다른 쪽은 그 주문을 즉시 가져간 쪽(테이커, 공격자)입니다. 볼륨 델타는 일정 구간에서 매수 테이커 체결량에서 매도 테이커 체결량을 뺀 값이고, 이를 계속 더해 나간 것이 누적 거래량 델타(CVD)입니다. Tape Delta, trdr, Basis 같은 주문 흐름 도구 문서가 공통으로 이렇게 정의합니다.

현물 CVD와 무기한 선물 CVD는 서로 다른 시장의 체결을 셉니다. 무기한 선물에는 레버리지 진입, 헤지, 강제 청산 체결이 섞여 있으므로 둘을 합치지 않고 나란히 비교하는 것이 일반적인 방법입니다.

2계산과 보는 법

봉별 델타 = Σ(매수 테이커 체결량) − Σ(매도 테이커 체결량) CVD(t) = 시작 시점부터 t까지의 봉별 델타 누적 합
  • CVD는 시작 시점(차트 왼쪽 끝, 세션 시작 등)에 따라 수준이 달라지므로 절댓값보다 기울기와 가격과의 어긋남을 봅니다.
  • 어느 거래소의 체결을 모았는지, 체결 방향을 거래소가 준 값으로 쓰는지 추정하는지에 따라 같은 시간대의 CVD가 플랫폼마다 다릅니다(Mindpillar의 해설 참고).

오더북 히트맵: Bookmap 지식 베이스는 히트맵을 시간(가로)과 가격(세로) 위에 각 가격대의 대기 지정가 주문 규모를 색 농도로 표시한 화면으로 설명합니다. 지금 호가뿐 아니라 과거 호가가 어떻게 쌓이고 빠졌는지까지 보여 주는 것이 일반 호가창과의 차이입니다.

체결 방향은 어떻게 정해지나

CVD의 품질은 결국 "이 체결을 누가 먼저 쳤는가"를 얼마나 정확히 아느냐에 달려 있습니다. 방법은 크게 세 가지입니다.

  • 거래소가 주는 표시를 쓰는 방식: 바이낸스 API의 체결 데이터에는 "매수자가 메이커였는가"를 뜻하는 참·거짓 값이 붙습니다. 참이면 매수 쪽이 호가창에 기다리던 주문이었으므로 매도 쪽이 테이커, 즉 매도 공격으로 셉니다. 같은 API의 캔들(kline) 데이터에는 봉마다 '테이커 매수 거래량'이 따로 들어 있어, 체결을 하나하나 받지 않아도 봉별 델타를 계산할 수 있습니다.
  • 호가·가격으로 추정하는 방식: 방향 표시가 없는 자료에서는 체결가를 당시 호가의 중간값과 비교하는 Lee·Ready(1991) 방식이나, 직전 체결가보다 올랐는지 내렸는지로 가르는 틱 규칙을 씁니다. 실제 주문 기록이 있는 NYSE 자료로 두 방식을 직접 검증한 Finucane(2000)은 둘의 정확도가 비슷하지만 기대보다 낮고, 이렇게 추정한 부호 거래량에는 편향이 생길 수 있다고 보고했습니다.
  • 하위 봉으로 추정하는 방식: 트레이딩뷰의 기본 CVD 지표는 체결 단위 자료 대신 차트보다 짧은 봉(분·시간 차트는 1분봉, 일봉은 5분봉, 그 밖은 60분봉이 기본)을 훑어, 종가가 시가보다 높은 하위 봉의 거래량은 +, 낮은 봉은 −로 매깁니다. 하위 봉 안에 매수·매도 체결이 섞여 있어도 한 방향으로 몰아 주므로 '추정 CVD'로 이해해야 합니다.
봉 데이터에 테이커 매수량이 있을 때 델타 = 테이커 매수 − 테이커 매도 = 테이커 매수 − (전체 거래량 − 테이커 매수) = 2 × 테이커 매수 − 전체 거래량

숫자로 따라가 보기

아래는 합성 숫자로 다섯 봉의 델타와 CVD를 직접 계산한 예입니다. 1번 봉부터 누적하면 마지막 CVD는 +3이지만, 같은 데이터를 2번 봉부터 누적하면 −1이 됩니다. 시작점에 따라 수준이 바뀌므로 숫자 자체보다 방향과 가격과의 관계를 본다는 점이 여기서 드러납니다.

합성 예시: 다섯 봉의 델타와 CVD (단위: BTC)
봉가격 변화테이커 매수테이커 매도델타CVD
1+0.4%128+4+4
2+0.3%109+1+5
3+0.2%710−3+2
4+0.1%69−3−1
5−0.5%95+4+3

3·4번 봉은 가격이 계속 오르는데 델타가 음수입니다. 매도 공격이 더 많았는데도 가격이 오른 것이므로, 매도 호가가 빠졌거나 다른 거래소·시장이 가격을 끌어올렸을 가능성을 의심해 볼 장면입니다. 5번 봉은 반대로 매수 공격이 우세한데 가격이 내렸습니다.

3해석

가격과 CVD가 함께 오르면 공격적인 매수 체결이 상승을 이끄는 상황입니다. 가격은 오르는데 CVD가 정체하거나 내려가면 공격적인 매도 체결을 지정가 매수가 흡수하고 있거나, 다른 시장(예: 무기한 선물)이 가격을 끌고 있을 가능성을 생각해 봅니다. 이는 다이버전스와 비슷한 '어긋남' 읽기입니다.

히트맵에서 두꺼운 대기 주문 띠는 가격이 머뭇거릴 수 있는 후보 구간입니다. 다만 대기 주문은 체결 전에 언제든 취소할 수 있으므로, 띠가 '실제로 체결되며 버텼는지'를 체결량과 함께 확인해야 의미가 생깁니다. 가격대별로 실제 체결된 양을 보는 매물대와는 정보의 성격이 다릅니다.

가격 × CVD 네 가지 조합

CVD 읽기의 기본은 같은 구간에서 가격의 방향과 CVD의 방향을 짝지어 보는 것입니다. CVD는 '노력(공격적 체결)'을, 가격은 '결과'를 보여 준다고 생각하면 정리가 쉽습니다.

합성 예시: 위는 가격, 아래는 CVD① 가격↑ CVD↑가격CVD공격적 매수가 주도② 가격↑ CVD↓가격CVD매수 체결 없이 상승③ 가격↓ CVD↑가격CVD매수 공격이 막힘④ 가격↓ CVD↓가격CVD공격적 매도가 주도
합성 데이터 예시. ①④는 노력과 결과가 같은 방향인 경우, ②③은 어긋나는 경우입니다. 어긋남은 원인을 찾아보라는 표시이지 그 자체로 방향 신호가 아닙니다.
가격과 CVD 방향 조합별로 생각해 볼 원인
조합CVD가 말하는 것가능한 원인확인할 것
① 가격↑ CVD↑매수 공격이 매도 공격보다 많고 가격도 따라 오름공격적 매수가 매도 호가를 소진하며 상승현물 CVD도 같이 오르는지, 상승폭에 비해 델타가 지나치게 크지는 않은지
② 가격↑ CVD↓·정체매도 공격이 더 많은데도 가격이 오름매도 호가의 철수·취소, 지정가 매수의 호가 상향, 다른 시장(무기한·다른 거래소)의 가격 견인다른 거래소·무기한 CVD, 오더북에서 매도 호가가 사라졌는지
③ 가격↓ CVD↑매수 공격이 더 많은데도 가격이 내림지정가 매도가 매수 공격을 흡수, 매수 호가 철수, 다른 시장의 매도 압력그 가격대에서 매도 지정가가 계속 채워지는지(흡수), 고점이 낮아지는지
④ 가격↓ CVD↓매도 공격이 우세하고 가격도 내림공격적 매도가 매수 호가를 소진하며 하락무기한만 급락했다면 청산 체결인지(아래 '청산 체결' 참고)

②와 ③이 생기는 이유는 학술 연구로 설명할 수 있습니다. Cont·Kukanov·Stoikov(2014)는 NYSE 50개 종목 자료에서, 짧은 구간의 가격 변화를 가장 잘 설명하는 것은 체결량이 아니라 최우선 매수·매도 호가에서의 주문 흐름 불균형(OFI)이라고 보고했습니다. OFI는 시장가 체결뿐 아니라 지정가 주문의 추가와 취소까지 함께 셉니다. 예를 들어 매수 호가가 취소되는 것은 같은 크기의 매도 체결과 같은 방향으로 계산됩니다. 이들이 찾은 관계는 선형이었고, 기울기는 호가 깊이에 반비례했습니다. 같은 크기의 불균형도 호가가 얇을 때 가격을 더 크게 움직인다는 뜻입니다. 반대로 체결량만으로 가격 변화를 설명한 관계는 잡음이 더 많고 덜 안정적이었습니다.

OFI 연구의 핵심 관계 (Cont·Kukanov·Stoikov, 2014) 중간가 변화 ≈ β × OFI OFI = 매수 호가 쪽 순증가 − 매도 호가 쪽 순증가 (최우선 호가 기준, 체결·신규 지정가·취소를 모두 반영) β = 가격 영향 계수 (호가 깊이에 반비례)

CVD는 이 가운데 '체결' 부분만 보는 지표입니다. 그래서 체결이 거의 없이 호가가 빠지기만 해도 가격은 움직이고 CVD는 제자리일 수 있습니다. 가격과 CVD가 어긋날 때 오더북 변화를 함께 봐야 하는 이유가 여기에 있습니다.

흡수와 소진: 비슷해 보이지만 다른 관찰

A. 흡수: CVD는 내리는데 저점이 버팀지정가 매수가 받아냄가격: 같은 저점 / CVD: 더 낮은 저점CVDB. 소진: 신고가마다 델타가 작아짐봉별 델타가격: 더 높은 고점 / 델타: 점점 작아짐
합성 데이터 예시. A는 매도 공격(CVD 하락)이 계속되는데도 같은 저점에서 지정가 매수가 받아내는 흡수, B는 가격은 신고가를 내지만 밀어 올릴 때마다 매수 공격이 줄어드는 소진입니다.
  • 흡수(absorption): 한쪽의 공격적 체결이 많이 들어오는데도 가격이 거의 나아가지 못하는 상태입니다. 반대편 지정가 주문이 그 물량을 받아 내고, 소진되어도 다시 채워지기 때문입니다. 주문 흐름 교육 자료들은 이를 와이코프의 '노력 대비 결과'로 설명합니다. 흡수가 이어지는 동안 CVD는 한 방향으로 계속 움직이고 가격은 멈춰 있으므로, 가격과 CVD 사이가 벌어지는 모습으로 나타납니다.
  • 소진(exhaustion): 한쪽의 공격적 참여 자체가 서서히 줄어드는 상태입니다. 가격은 여전히 신고가를 내지만 그 구간의 거래량과 델타가 앞선 상승보다 작아집니다. 막아서는 벽이 있어서가 아니라 밀어 올리는 사람이 줄어서 멈추는 것입니다.

둘의 차이는 누가 멈췄는가입니다. 흡수는 기다리는 쪽(지정가)이 버틴 것이고, 소진은 공격하는 쪽(시장가)의 힘이 빠진 것입니다. 흡수는 체결 기록에 '많은 거래량에 비해 좁은 가격 범위'라는 흔적을 남기지만, 소진은 '무엇이 없어졌다'는 관찰이라 체결 기록만으로 확정하기 어렵습니다. 두 용어 모두 학술적으로 합의된 수학적 정의는 없고 실무에서 쓰는 관찰 용어라는 점도 알고 씁니다.

현물 CVD와 무기한 CVD가 엇갈릴 때

현물·무기한 CVD 조합별로 흔히 내리는 해석 (주문 흐름 도구 문서의 일반적 설명)
가격현물 CVD무기한 CVD흔한 해석따져 볼 점
상승상승상승두 시장 모두 공격적 매수가 받쳐 주는 상승가장 무난한 경우. 그래도 펀딩비·미결제약정 과열은 따로 확인
상승정체·하락상승무기한(레버리지)이 끌어올리는 상승. 현물 수요가 따라오지 않음펀딩비 상승, 미결제약정 증가가 함께 나타나면 롱 청산에 취약해짐
상승상승정체·하락현물 매수가 주도하고 무기한에서는 숏이 쌓이거나 롱이 정리되는 중무기한 숏이 늘었다면 이후 숏 커버링이 상승을 키울 수도 있음
하락정체·상승하락무기한의 매도·청산이 주도하는 하락미결제약정이 급감하면 신규 매도보다 강제 청산일 가능성

여러 주문 흐름 도구 문서가 "현물 CVD가 받쳐 주지 않는 무기한 주도 움직임은 되돌림에 약하다"는 식으로 설명합니다. 다만 이는 경험적 해석이지 검증된 규칙이 아닙니다. 학술 연구 쪽에서는 Alexander 외(2020)가 분 단위 자료로 BitMEX 무기한 파생상품 가격이 주요 현물 거래소 가격을 선행해 가격 발견을 이끌었다고 보고했습니다. 무기한이 먼저 움직였다는 사실만으로 그 움직임을 '가짜'라고 단정할 수는 없다는 뜻입니다.

풋프린트와 델타 다이버전스

풋프린트(클러스터) 차트는 한 봉 안의 가격 칸마다 매수 공격 체결량과 매도 공격 체결량을 나눠 보여 줍니다. CVD가 봉 하나를 숫자 하나로 압축한다면, 풋프린트는 그 델타가 봉의 어디에서 생겼는지 보여 줍니다. ATAS 교육 자료의 예처럼, 같은 +델타 봉이라도 매수 공격이 봉 아래쪽에서 일어나 가격을 밀어 올린 경우와 봉 꼭대기에 몰렸는데 가격이 더 못 나간 경우는 의미가 반대입니다.

델타 다이버전스는 짧은 구간에서 가격 변화와 델타의 부호가 반대인 경우를 말합니다. 가격은 올랐는데 그 구간 델타가 음수면 약세 다이버전스, 가격은 내렸는데 델타가 양수면 강세 다이버전스로 부릅니다. 같은 교육 자료는 "다이버전스는 반전 신호가 아니라 풋프린트를 열어 볼 이유"라고 강조합니다. 흡수는 수십 개 봉 동안 이어질 수 있고, 추세가 강한 날에는 가격과 CVD가 장 마감까지 벌어진 채로 끝나기도 합니다.

4매매 활용 예시

예시
4시간봉 박스권 상단 돌파 시도에서 현물 CVD와 무기한 CVD를 나란히 봅니다. 두 CVD가 함께 올라가며 돌파하면 계획대로 진입하고, 무기한 CVD만 급등하고 현물 CVD가 평평하면 레버리지 주도 돌파로 보고 수량을 절반으로 줄이거나 박스 상단 재지지 확인 뒤에 진입합니다. 손절은 박스 안쪽으로 정하고, 어떤 경우든 CVD를 단독 진입 신호로 쓰지 않습니다.
예시
흡수를 확인하고 들어가기 (합성 시나리오)
1시간봉 지지 구간 100~101에서 15분봉 CVD가 여섯 봉 연속 낮아지는데 저점은 100.2 아래로 내려가지 않습니다. 여기서 바로 매수하지 않습니다. 흡수는 지지가 버티고 있다는 관찰일 뿐 반등을 보장하지 않기 때문입니다. ① 봉별 델타가 양수로 돌아서고 ② 가격이 흡수 구간 위 101.5를 넘어 마감하는 것을 확인한 뒤 진입하고, 손절은 흡수 저점 아래 99.6에 둡니다. 진입 101.6, 손절 99.6이면 1R = 2.0이므로 첫 목표는 2R인 105.6 근처로 잡습니다.
예시
청산 급락을 신규 매도로 오해하지 않기 (합성 시나리오)
5분 사이 가격이 3% 빠지면서 무기한 CVD가 급락하고 미결제약정도 크게 줄었습니다. 현물 CVD는 거의 변하지 않았습니다. 이 조합은 새 매도 세력이 들어왔다기보다 롱 포지션이 강제로 정리된 흔적일 가능성이 큽니다. 이런 장면에서는 무기한 CVD의 급락폭을 추세 판단에 그대로 쓰지 않고, 급락이 끝난 뒤 현물 CVD와 가격이 어떻게 움직이는지를 다음 판단의 기준으로 삼습니다. 관련 개념은 청산 메커니즘과 미결제약정 4분면을 참고합니다.

5주의점 · 한계

스푸핑: 미국 상품선물거래위원회(CFTC)는 도드-프랭크법으로 개정된 상품거래법에 따라 '체결 전에 취소할 의도로 매수·매도 호가를 내는 행위'를 스푸핑으로 금지하며, 이를 판단하려면 의도가 있어야 한다고 설명합니다. 히트맵의 두꺼운 주문 띠가 이런 허수 주문일 가능성을 늘 염두에 둡니다.

히트맵은 거래소가 공개한 호가 데이터만 보여 줍니다. 한 거래소의 호가는 전체 시장의 일부이며, 다른 거래소나 장외에서 일어나는 주문은 보이지 않습니다.

CVD는 체결 방향 분류 방식, 거래소 범위, 집계 단위에 따라 달라집니다. 서로 다른 플랫폼의 CVD 수치를 직접 비교하지 않습니다.

청산 체결이 무기한 CVD를 흔든다

합성 예시: 롱 청산 연쇄 구간가격현물무기한OI청산 IOC 체결 → 매도 테이커로 집계
합성 데이터 예시. 롱 청산이 몰리는 구간(붉은 띠)에서 가격과 미결제약정(OI)이 함께 급감하고, 무기한 CVD만 크게 꺾입니다. 현물 CVD는 거의 움직이지 않습니다.

바이낸스 선물은 청산이 시작되면 시스템이 포지션을 시장에 넘기기 위해 즉시 체결 또는 취소(IOC) 주문을 내고, 바이비트도 청산 엔진이 포지션을 넘겨받아 시장에서 정리한다고 안내합니다. 호가를 즉시 가져가는 주문은 테이커 체결이 되므로, 롱 청산은 매도 공격으로, 숏 청산은 매수 공격으로 CVD에 더해진다고 보는 것이 자연스럽습니다. 즉 무기한 CVD의 급격한 꺾임 중 일부는 누군가의 판단이 아니라 증거금 부족이 만든 강제 체결입니다. (거래소 문서는 청산 주문의 형태까지만 설명하므로, CVD에 반영되는 방식은 그 설명에서 추론한 것입니다.)

청산 자료 자체도 완전하지 않습니다. 바이낸스의 공개 청산 스트림은 종목마다 1초 안에 일어난 청산 가운데 가장 최근 한 건만 보내므로, 이 스트림을 모아 만든 청산 합계는 실제보다 작게 나올 수 있습니다.

집계 방식과 거래소 차이

  • 단일 거래소 vs 합산: 암호화폐 시장은 거래소마다 호가창과 참여자가 따로입니다. 한 거래소의 CVD는 그 거래소의 체결만 대표합니다. 여러 거래소를 합친 CVD는 넓은 그림을 주지만, 어떤 거래소를 넣었는지에 따라 모양이 달라집니다.
  • 상품 구분: 현물, USDT 무기한(선형), 코인 마진 무기한(역방향), 만기 선물은 서로 다른 시장입니다. 계약 단위(코인 수량, 달러 액면)가 다른 시장을 합칠 때는 같은 단위로 바꿨는지 확인해야 합니다.
  • 초기화 시점: 하루·세션·주 단위로 0에서 다시 시작하는 CVD가 많습니다. 초기화 시점이 다르면 같은 자료라도 0선 위아래 위치와 다이버전스의 모양이 달라집니다.
  • 체결 분류 vs 추정: 체결 단위 방향 표시로 만든 CVD와 하위 봉으로 추정한 CVD는 같은 이름이어도 다른 값입니다. 추정 CVD는 하위 봉 길이를 바꾸면 값이 바뀌고, 하위 봉을 짧게 할수록 계산할 수 있는 과거 구간이 줄어듭니다.
  • 체결 크기 필터: 일부 도구는 체결 크기 구간별 CVD를 따로 보여 주며 큰 체결을 기관, 작은 체결을 개인으로 해석하기도 합니다. 그러나 큰 주문은 알고리즘이 잘게 나눠 내는 경우가 많고, CVD는 주문자가 누구인지 알려 주지 않습니다. 크기별 해석은 검증된 사실이 아니라 가정으로 다룹니다.
주의
CVD는 누가, 왜 거래했는지, 그 체결이 포지션을 여는 것인지 닫는 것인지 알려 주지 않습니다. 호가창에 수량을 다 드러내지 않는 빙산(아이스버그) 주문은 히트맵에도 다 보이지 않고, 그 결과(흡수)만 체결에 남습니다.

+더 알아보기

함께 보면 좋은 페이지: CME 갭과 24/7 거래 전환 · 옵션 포지셔닝: 맥스 페인 · GEX · 25델타 스큐 · DVOL

참고한 자료: Tape Delta 문서(CVD Indicator), trdr 문서(Cumulative Volume Delta), Basis(Cumulative Volume Delta), Mindpillar(Why CVD Differs Across Exchanges and Platforms), Bookmap 지식 베이스(Main Chart·Heatmap), CFTC(Interpretive Guidance and Policy Statement on Disruptive Practices 자료), Cont·Kukanov·Stoikov, The Price Impact of Order Book Events (Journal of Financial Econometrics, 2014), Lee·Ready, Inferring Trade Direction from Intraday Data (Journal of Finance, 1991), Finucane, A Direct Test of Methods for Inferring Trade Direction from Intra-Day Data (JFQA, 2000), Alexander·Choi·Park·Sohn, BitMEX Bitcoin Derivatives: Price Discovery, Informational Efficiency and Hedging Effectiveness (Journal of Futures Markets, 2020), Binance 현물 API 문서(Aggregate Trade·Kline 스트림), Binance 선물 API 문서(Liquidation Order Streams), Binance FAQ(Binance Futures Liquidation Protocols), Bybit 도움말(Liquidation Process), TradingView 도움말(Cumulative Volume Delta), Mindpillar(True CVD vs. Estimated CVD), Delta Merge(Absorption and Exhaustion), ATAS Learn(CVD + Footprint), ATAS 도움말(Delta Divergence), Hyblock Academy(Volume Delta)

확인일 · 제도·수치는 이 날짜 기준입니다. 작성 원칙