AlphaScopeNote · 차트 지표 이해
매물대란? 가격대별 거래량의 계산과 지지·저항 읽는 법
주식 차트에 가로로 길게 그려진 매물대를 보면 이런 생각이 듭니다. “이 가격대에 이만큼의 물량이 있다는 뜻일까?”
그 생각에서 ‘있다’를 ‘선택한 기간에 거래됐다’로 바꾸면 매물대의 의미가 정확해집니다. 매물대는 일정 기간의 거래량을 가격대별로 모아 보여 주는 지표입니다. 현재 누가 몇 주를 보유하고 있는지, 앞으로 몇 주를 팔 것인지는 별도의 정보입니다.
이 글에서는 거래량 기준의 매물대, 즉 가격대별 거래량(Volume Profile)을 다룹니다. 숫자는 계산 원리를 보여 주기 위한 가상 사례이며, 특정 종목의 실제 차트가 아닙니다. 내용 확인일은 2026년 9월 15일입니다.
매물대가 보여 주는 것은 가격별 거래의 누적 기록이다
차트 아래의 일반 거래량 막대는 ‘언제 얼마나 거래됐는가’를 보여 줍니다. 일봉 차트라면 하루마다 거래량을 합산합니다. 매물대는 같은 거래 기록을 ‘어느 가격에서 얼마나 거래됐는가’라는 질문에 맞춰 다시 묶습니다. 시간별 합계와 가격별 합계의 차이입니다. Charles Schwab의 설명에서도 이 집계 방향의 차이를 확인할 수 있습니다.
매물대 막대의 세로 위치는 가격 구간을, 가로 길이는 그 구간에 배정된 거래량을 나타냅니다. 흔히 ‘두꺼운 매물대’라고 부르는 부분은 거래량이 커서 가로 막대가 길게 나온 가격대입니다. 막대의 세로 두께는 구간 설정에 따라 달라질 수 있습니다.
여기서 거래량은 거래 건수와도 구별해야 합니다. 한 번에 1,000주가 체결됐다면 거래량은 1,000주입니다. 매수자와 매도자가 각각 있다고 해서 보통의 주식 체결 거래량을 2,000주로 세지는 않습니다.
매물대 계산: 거래 기록을 가격 구간별로 더한다
먼저 기간과 가격 구간을 정한다
계산에는 세 가지가 필요합니다. 집계할 기간, 가격을 나눌 구간, 그리고 각 거래의 가격과 수량입니다. 예를 들어 최근 20거래일을 선택하고 가격을 1,000원 간격으로 묶는다고 가정해 보겠습니다.
구간은 ‘10,000원 이상~11,000원 미만’처럼 경계를 정합니다. 그러면 정확히 11,000원에 체결된 거래는 다음 구간에 들어갑니다. 모든 거래가 한 구간에만 들어가도록 경계를 정하는 것이 핵심입니다.
이 예시에서 10,000원대의 체결 기록을 다시 모으니 다음과 같았다고 합시다. 아래 세 행은 전체 거래 중 해당 가격대의 기록만 단순화한 것입니다.
| 체결가격 | 체결수량 | 배정할 구간 |
|---|---|---|
| 10,100원 | 100주 | 10,000원 이상~11,000원 미만 |
| 10,500원 | 200주 | 10,000원 이상~11,000원 미만 |
| 10,900원 | 100주 | 10,000원 이상~11,000원 미만 |
이 가격대의 거래량은 100주 + 200주 + 100주 = 400주입니다. 다른 가격대에서도 같은 방식으로 수량을 더합니다.
합계와 비중을 구한다
최근 20거래일 전체 체결량이 1,000주였고, 가격대별 합계가 다음과 같다고 가정하겠습니다.
| 가격 구간 | 누적 거래량 | 전체 거래량 대비 비중 |
|---|---|---|
| 9,000원 이상~10,000원 미만 | 100주 | 10% |
| 10,000원 이상~11,000원 미만 | 400주 | 40% |
| 11,000원 이상~12,000원 미만 | 300주 | 30% |
| 12,000원 이상~13,000원 미만 | 150주 | 15% |
| 13,000원 이상~14,000원 미만 | 50주 | 5% |
| 합계 | 1,000주 | 100% |
구간 거래량 = 선택 기간에 그 가격 구간에서 체결된 수량의 합계입니다. 비중은 ‘구간 거래량 ÷ 선택 기간의 전체 거래량 × 100’으로 계산합니다.
10,000원대의 비중은 400주 ÷ 1,000주 × 100 = 40%입니다. 이는 선택한 기간의 거래량 중 40%가 이 구간에서 발생했다는 뜻입니다. 전체 발행주식의 40%나 현재 주주의 40%를 뜻하지 않습니다.
막대 길이와 표시 비율의 기준도 구분해야 합니다. 최대 거래량 막대를 화면 너비에 맞추는 방식이라면 400주 막대가 기준 길이 100%를 차지하고, 300주 막대는 그 길이의 75%가 됩니다. 하지만 300주의 전체 거래량 대비 비중은 30%입니다. 화면에서 긴 정도와 숫자로 표시된 비중은 분모가 다를 수 있습니다.
차트 프로그램에서는 세부 계산이 달라질 수 있다
위 계산은 체결가격과 수량을 모두 알고 있을 때의 원리입니다. 실제 차트는 저장된 데이터의 세밀함과 프로그램의 집계 방식에 영향을 받습니다.
일봉 하나의 시가·고가·저가·종가와 하루 거래량만으로는, 그날 10,100원에서 정확히 몇 주가 거래됐는지 복원할 수 없습니다. 그래서 더 짧은 봉이나 개별 체결 데이터를 이용합니다. TradingView는 매물대 계산에 하위 시간대 데이터를 사용한다고 설명하고, Sierra Chart는 높은 정확도를 위해 개별 체결 단위 데이터를 강조합니다.
가령 한 분봉이 10,000~10,300원 사이에서 움직이며 1,000주 거래됐다고 해도, 이 정보만으로 네 가격에 각각 몇 주가 체결됐는지는 알 수 없습니다. 동일하게 250주씩 나누는 것은 하나의 가정일 뿐입니다. 이 글은 그러한 균등 배분을 특정 프로그램의 실제 산식으로 가정하지 않습니다.
따라서 증권사 앱에 표시된 매물대의 정확한 재현에는 해당 서비스의 가격 구간, 원자료, 봉 거래량 배분 규칙 확인이 필요합니다. 여기서는 여러 프로그램에 공통으로 적용할 수 있는 집계 원리와 해석을 설명합니다.
현재 보유 물량과 매도 대기 물량은 어떻게 다를까
매물대라는 이름 때문에 ‘그 가격에 매도할 물량이 쌓여 있다’고 느끼기 쉽습니다. 하지만 매물대에 담긴 데이터는 이미 성사된 거래입니다. 다음 세 가지를 나누면 혼동이 줄어듭니다.
| 구분 | 기록하는 내용 | 확인할 수 있는 정보 |
|---|---|---|
| 매물대 | 일정 기간의 가격대별 체결량 | 과거 거래가 집중된 가격 |
| 호가창 잔량 | 현재 표시된 미체결 주문 수량 | 지금 대기 중인 매수·매도 주문 |
| 현재 보유·취득 정보 | 투자자별 잔여 보유량과 취득 내역 | 현재 누가 어떤 원가로 보유하는지 |
호가창의 주문은 취소되거나 바뀔 수 있고, 매물대의 과거 거래는 실제 체결 이력으로 남습니다. 현재 보유자의 취득원가 분포는 매물대만으로 계산할 수 없습니다.
같은 100주가 여러 번 거래되면 모두 누적된다
별도의 단순 사례를 보겠습니다. A가 보유한 100주를 10,000원에 B에게 팔고, B가 같은 수량을 10,500원에 C에게 팔았다고 합시다. 두 거래 모두 같은 10,000원대 구간에 들어갑니다.
이때 매물대에는 200주의 거래가 기록됩니다. 마지막에 C가 보유한 수량은 100주이고 취득가격은 10,500원입니다. A와 B의 현재 보유량은 이 사례에서 0주입니다. 이렇게 거래량은 손바뀜이 일어날 때마다 쌓이고, 보유량은 특정 시점에 남은 수량을 나타냅니다.
따라서 어떤 가격대에서 100만 주가 거래됐다는 사실을 ‘100만 주가 아직 그 가격에 물려 있다’로 해석하면 현재 남은 보유량까지 추정하는 셈입니다. 매물대만으로 그 추정을 확인할 수는 없습니다.
매물대가 지지와 저항으로 해석되는 이유
매물대의 활용은 과거 거래가 집중됐던 가격에 다시 관심이 모일 수 있다는 생각에서 출발합니다. 여기부터는 거래 기록으로 미래 행동을 추론하는 단계입니다. 계산으로 확인한 사실과 가능한 시나리오를 구분해서 읽어야 합니다.
앞의 가상 사례에서 가장 많은 거래는 10,000원 이상~11,000원 미만에 모였습니다. 현재가가 이 구간의 위에 있는지, 아래에 있는지에 따라 관찰할 상황이 달라집니다. 아래 도식은 같은 매물대에 서로 다른 방향에서 접근하는 두 상황입니다.
상승이 둔화될 수 있음
하락이 둔화될 수 있음
현재가가 아래에 있을 때: 저항 후보
현재가가 9,500원이고 다시 10,000원대로 올라온다고 가정해 봅시다. 과거 이 구간에서 산 뒤 아직 보유 중인 일부 투자자는 원금 회복에 가까워지자 매도할 수 있습니다. 다른 참여자는 이전에 거래가 집중된 구간을 의식해 신규 매수를 늦출 수도 있습니다.
그때 실제 매도가 늘어나고 이를 받아 줄 매수가 충분하지 않으면 상승이 둔화될 수 있습니다. 이것이 매물대를 저항 후보로 읽는 한 가지 설명입니다. ‘과거 매수자가 남아 있다’는 조건을 포함한 가설이므로 막대 길이만으로 매도 수량을 확정해서는 안 됩니다.
현재가가 위에 있을 때: 지지 후보
현재가가 11,500원에서 10,000원대로 내려온다면 다른 상황을 생각할 수 있습니다. 이전 거래 구간을 매수 기준으로 보는 참여자들이 들어와 매도 물량을 받아 줄 수 있습니다. 실제 매수세가 하락 압력을 흡수하면 그 가격대가 지지 역할을 합니다.
다만 기업의 실적 전망이나 시장 상황이 크게 바뀌면 과거에 거래가 많았던 가격에서도 매수 수요가 약할 수 있습니다. 지지는 과거 거래량 자체가 만들어 놓은 고정 장벽이라기보다, 다시 도달했을 때 나타나는 주문과 체결의 결과입니다.
돌파 뒤에는 그 가격에서 거래가 이어지는지 본다
저항 후보 구간을 넘어선 뒤에도 그 위에서 거래가 이어지고, 다시 내려왔을 때 매수가 붙는다면 이전 저항이 지지로 바뀌는 시나리오를 생각할 수 있습니다. 반대로 잠깐 넘어섰다가 곧 아래로 돌아오면 돌파의 지속성을 다시 살펴야 합니다.
예를 들어 앞서 살펴본 10,000원 이상~11,000원 미만 구간을 넘어 11,200원에 도달했다고 해 보겠습니다. 이후에도 11,000원 위에서 거래가 이어지고, 되돌림 때 해당 구간 부근에서 하락이 멈추는 모습은 이전 저항이 지지로 바뀌는지 살펴볼 단서가 됩니다. 반대로 곧바로 구간 아래로 밀려난다면, 위쪽 가격에서 거래가 유지됐다고 보기 어렵습니다. 이는 가능한 움직임을 비교하는 가상 예시입니다.
핵심은 과거 매물대를 기준점으로 삼아, 돌파 이후 가격이 어디에서 머물고 거래가 쌓이는지 확인하는 것입니다. 매물대는 관찰할 가격 구간을 좁혀 주지만 돌파 성공 확률이나 상승 목표가를 직접 계산해 주지는 않습니다. 따라서 막대를 한 번 넘었다는 사실과 그 위에서 거래가 지속되는 상황을 구분해서 읽어야 합니다.
긴 막대와 짧은 막대, POC는 무엇을 뜻할까
최대 거래량 가격대인 POC(Point of Control)는 선택한 범위에서 거래량이 가장 많은 가격 또는 가격 구간입니다. 앞의 예시에서는 400주가 거래된 10,000원 이상~11,000원 미만 구간이 해당합니다. 구간 자료만으로 그 안의 정확한 어느 가격에 거래가 가장 많았는지까지 정할 수는 없습니다.
POC는 거래량이 가장 많이 모인 위치입니다. 모든 체결가격을 수량으로 가중평균한 가격과는 계산 방식이 다릅니다. ‘가장 많이 나온 구간’과 ‘전체의 평균’은 서로 다른 질문에 답합니다.
일부 차트는 거래량이 주변보다 많은 부분을 고거래량 구간(HVN), 적은 부분을 저거래량 구간(LVN)으로 표시하거나 해석합니다. 긴 막대는 과거 교환이 활발했던 구간이고, 짧은 막대는 상대적으로 거래가 적었던 구간입니다.
거래가 적은 구간은 가격이 빠르게 지나간 흔적일 수 있습니다. 하지만 다시 그곳에 왔을 때도 빠르게 통과할지는 당시 주문에 달려 있습니다. 특히 과거 매물대가 비어 있다는 사실과 현재 호가창에 주문이 없다는 사실은 구별해야 합니다.
가치영역(VA, Value Area)은 전체 거래량의 일정 비율이 모인 가격 범위를 나타내는 표시입니다. 흔히 70%를 사용하며, 위쪽 경계를 VAH, 아래쪽 경계를 VAL이라고 합니다. ‘가치’라는 이름은 기업의 적정주가를 산출했다는 뜻으로 읽기보다 거래량 분포의 범위라는 의미로 이해하면 됩니다.
예시에서는 10,000원대 400주와 11,000원대 300주를 합하면 전체 1,000주의 70%가 됩니다. POC에서 인접 구간으로 확장하는 설명용 방식에서는 이 두 구간이 70% 범위를 이룹니다. 실제 도구의 포함 순서·경계 처리에 따라 결과는 달라질 수 있으며, 70%는 미래 주가가 그 안에 머물 확률이 아닙니다.
같은 종목인데 매물대가 달라지는 이유
조회 기간이 바뀌면 더하는 거래가 바뀐다
최근 한 달과 최근 1년은 서로 다른 거래 묶음입니다. 오래된 대량 거래를 포함하면 최근 가격과 떨어진 곳에 큰 막대가 생길 수 있고, 최근 기간만 보면 새로 거래가 모인 가격대가 두드러질 수 있습니다.
화면에 보이는 범위를 집계하는 방식은 확대·축소하거나 좌우로 이동할 때 대상 기간이 달라집니다. 고정 범위 방식은 사용자가 정한 시작점과 끝점을 기준으로 봅니다. 이 때문에 매물대를 비교할 때는 조회 기간부터 맞춰야 합니다.
구간을 넓히면 주변 막대가 합쳐진다
앞의 예시를 1,000원 간격 대신 2,000원 간격으로 묶되 시작점을 9,000원으로 유지해 봅시다. 아래에서 왼쪽의 인접한 두 구간이 오른쪽의 한 구간으로 합쳐지는 과정을 볼 수 있습니다.
거래 기록은 같아도 최대 막대의 범위는 넓어집니다. 더 세밀하게 나누면 하나였던 거래 집중 구간이 여러 봉우리로 나뉠 수 있습니다. 구간 수를 늘리는 것은 표시를 세분하는 작업이며, 부족한 원자료의 정확도까지 높여 주지는 않습니다.
포함 시간과 데이터 기준도 확인한다
정규장만 볼지, 시간외 거래까지 포함할지에 따라 집계 대상이 달라집니다. 원자료에 포함된 거래소 범위, 가격·거래량 조정 기준도 서비스 도움말에서 확인할 항목입니다. TradingView의 세션 매물대 역시 선택한 세션과 하위 시간대에 따라 계산 대상을 정합니다.
실제 차트에서 비교할 때는 ‘기간 → 가격 구간 수 또는 폭 → 포함 거래시간과 원자료’ 순으로 확인하면 모양이 다른 이유를 좁힐 수 있습니다. 어떤 기간과 구간 수가 항상 정답인지보다, 지금 살펴보려는 거래 범위가 무엇인지가 먼저입니다.
국내 주식 앱에서 단색 매물대는 어떻게 읽을까
매물대가 한 가지 색으로 표시되는 화면에서는 가격 위치·막대 길이·거래량 비중을 먼저 읽으면 됩니다. 상승·하락 거래량을 색으로 나누지 않아도, 어느 가격대에서 거래가 많이 일어났는지는 충분히 확인할 수 있습니다.
국내 증권사의 공식 설명도 이 기본 정보에 초점을 맞춥니다. 키움증권의 ‘키움종합차트’ 도움말은 매물대를 가격대별 거래량 비율을 막대로 나타낸 차트로 설명하고, ‘매물대 수’를 가격 구간을 나누는 설정으로 안내합니다. ‘매물분석’ 도움말에서는 가격대별 체결량과 거래 비중, 차트 색상과 비중 수치 표시 설정을 안내합니다.
이 자료는 국내 HTS의 공식 설명입니다. 모바일 앱 전체의 최신 표시 방식을 조사한 결과로 일반화하기보다는, 국내 화면에서도 ‘가격별 거래량과 비중’이 해석의 중심이라는 근거로 보면 됩니다. 앱 이름과 버전에 따라 제공하는 설정은 달라집니다.
실제 화면은 다음 순서로 읽어 보세요.
- 가격 위치: 막대가 놓인 구간을 확인합니다. 예시에서는 10,000원 이상~11,000원 미만입니다.
- 막대 길이와 수치: 가장 긴 막대는 거래가 가장 많이 모인 곳입니다. 40%가 전체 거래량 대비 비중으로 표시됐다면, 선택 기간 거래량 중 해당 구간의 몫이 40%라는 뜻입니다.
- 현재가와의 관계: 현재가가 그 구간 위에 있는지 아래에 있는지를 보고 지지·저항 후보로 관찰합니다.
화면에 POC라는 영문 표시가 없어도 가장 긴 막대의 가격 구간을 찾으면 최대 거래량 구간을 읽을 수 있습니다. 가치영역이나 상승·하락 구분은 앱이 제공하는 경우에 추가로 확인하는 기능입니다.
한편 색상 설정이 있더라도, 색을 바꾸는 기능과 거래를 매수·매도 방향으로 분류하는 기능은 별개입니다. 매물대의 색에 어떤 의미가 부여됐는지는 해당 지표의 범례와 도움말을 기준으로 확인하면 됩니다. 이 글의 도식에서 청록색은 최대 거래량 구간이나 묶어 볼 범위를 강조하는 편집용 색이며, 매수·매도를 나타내지 않습니다.
차트를 다시 볼 때 기억할 한 문장
매물대의 긴 막대를 보면 이렇게 읽어 보세요. “내가 선택한 기간에 이 가격 구간에서 거래가 많이 일어났구나.”
그다음 현재가가 이 구간에 접근했을 때 매수가 붙는지, 매도가 늘어나는지, 그 안에 머무는지 또는 통과하는지를 관찰합니다. 과거 거래가 모인 위치를 알고 현재의 움직임을 비교하는 것, 이것이 매물대가 제공하는 정보의 쓰임입니다.
공식 참고자료
- 키움증권 — 키움종합차트: 국내 HTS의 매물대 정의와 매물대 수 설정.
- 키움증권 — 매물분석: 가격대별 체결량·거래 비중 및 표시 설정.
- TradingView — Volume profile indicators: basic concepts: 계산 개요와 POC·가치영역 정의.
- TradingView — Session Volume Profile: 세션 선택과 하위 시간대 기준.
- Sierra Chart — Volume by Price: 원자료의 정밀도와 가격별 거래량 설정.
- Charles Schwab — Using the Volume Profile Indicator: 시간별 거래량과 가격별 거래량, 거래 집중 구간의 해석.
- Charles Schwab — How Volume Profile Signals Entries and Exits: 지지·저항 활용과 기술적 분석의 한계.
이 글은 지표의 원리를 설명하는 교육용 자료입니다. 특정 종목의 매수·매도를 권유하지 않으며, 투자에는 원금 손실 가능성이 있습니다.