거래소 거래량은 숫자 열을 그대로 더하면 안 됩니다. 먼저 현물인지 파생상품인지, 거래쌍의 base volume인지 quote volume인지, 집계 창이 같은 UTC 구간인지 확인해야 합니다. 같은 체결이 원천 거래소 피드와 집계 제공자 피드에 함께 들어오면 한 번만 포함하고, BTC/USDT와 BTC/USD처럼 quote가 다르면 각 체결 시각 또는 명시한 기준 시각의 환율로 한 통화에 환산합니다. 결과에는 포함 venue·상품·quote와 환율 출처를 함께 적어 ‘전체 시장’의 범위를 보이세요.
합계의 모집단을 시장 목록으로 먼저 고정합니다
BTC 거래량이라는 이름에는 BTC/USD 현물, BTC/USDT 현물, 무기한 선물, 인도 선물, 옵션 명목이 함께 섞일 수 있습니다. Binance 용어집은 base asset을 거래되는 수량, quote asset을 가격 표시 자산으로 구분하고 quoteQty를 price×qty의 명목값으로 설명합니다. 이 정의를 이용해 각 심볼을 `venue·instrument_type·base·quote` 네 열로 정규화합니다.
동일 기초자산이라는 이유만으로 현물 1 BTC와 계약 명목 1 BTC를 같은 ‘현물 거래량’에 더하지 않습니다. 파생상품은 계약 승수, 선형·역선형 구조, 청산 통화가 다릅니다. 전체 활동을 보여 주려면 현물 거래대금과 파생 명목 거래대금을 각각 낸 뒤 두 값의 범주가 다르다고 표시하세요.
합계보다 먼저 무엇을 한 번씩 셀지 정한 시장 목록이 있어야 합니다.
JOBCOIN 해설

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.
- 합계의 모집단을 시장 목록으로 먼저 고정합니다
BTC 거래량이라는 이름에는 BTC/USD 현물, BTC/USDT 현물, 무기한 선물, 인도 선물, 옵션 명목이 함께 섞일 수 있습니다.
- base 수량과 quote 거래대금을 분리합니다
BTC/USD에서 2 BTC가 평균 60,000 USD에 거래됐다면 base volume은 2 BTC, quote volume은 가정상 `2×60,000=120,000 USD`입니다.
- 환율은 일관된 시점과 방향으로 적용합니다
quote 환산은 체결별 환율이 가장 정밀하지만 데이터 비용이 큽니다.
AI로 제작한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.
base 수량과 quote 거래대금을 분리합니다
BTC/USD에서 2 BTC가 평균 60,000 USD에 거래됐다면 base volume은 2 BTC, quote volume은 가정상 `2×60,000=120,000 USD`입니다. BTC/USDT의 3 BTC를 180,000 USDT에 거래한 자료와 base 기준으로 합치면 5 BTC입니다. quote 기준으로 합치려면 USDT를 USD로 환산해야 하며 180,000이라는 숫자를 그대로 달러로 바꾸면 안 됩니다.
가상 환율을 1 USDT=0.998 USD로 두면 두 번째 거래대금은 `180,000×0.998=179,640 USD`, 두 시장의 USD 환산 합계는 `120,000+179,640=299,640 USD`입니다. base 합계 5 BTC와 quote 합계 299,640 USD는 서로 다른 질문의 답입니다. 이 숫자는 산식 검산용이며 실제 시세나 거래량이 아닙니다.
| 시장 | 원본 값 | 정규화 방식 | 합산 열 |
|---|---|---|---|
| BTC/USD 현물 | 2 BTC·120,000 USD | 환산 없음 | 현물 BTC·USD 거래대금 |
| BTC/USDT 현물 | 3 BTC·180,000 USDT | USDT/USD 적용 | 현물 BTC·USD 환산 거래대금 |
| BTC 무기한 | 계약 명목 | 계약 규격 적용 | 파생 명목 거래대금 |
| 집계자 재배포 피드 | 원천 venue 체결 | 원천 키로 중복 제거 | 별도 추가하지 않음 |
환율은 일관된 시점과 방향으로 적용합니다
quote 환산은 체결별 환율이 가장 정밀하지만 데이터 비용이 큽니다. 분 단위 또는 일 단위 기준환율을 쓰면 모든 venue에 같은 창과 방법을 적용하고 그 선택을 공개합니다. USDT/USD가 아니라 USD/USDT만 있다면 역수를 써야 합니다. 1 USD=1.002004 USDT라면 1 USDT는 약 `1/1.002004=0.998 USD`입니다.
스테이블코인을 이름만 보고 항상 1달러로 두면 디페그 구간의 거래대금이 왜곡됩니다. 법정통화도 거래소의 현지 자정과 UTC 일자가 다를 수 있습니다. 체결 집계 창과 FX 창의 끝을 맞추고, 환율 결측 시 이전 값 유지·해당 시장 제외·미산출 중 어떤 규칙을 썼는지 결과에 표시합니다.
- 심볼을 venue·상품유형·base·quote로 매핑합니다.
- 원본 base와 quote volume을 변환 전 값으로 보존합니다.
- 환율 쌍의 방향, 관측 시각, 출처와 결측 규칙을 기록합니다.
- 현물과 파생 합계를 각각 검산한 뒤 상위 합계를 선택합니다.
중복은 심볼 이름이 아니라 데이터 계보로 찾습니다
거래소 직접 API와 데이터 집계자 API를 동시에 수집하면 같은 체결이 두 원천에서 나타날 수 있습니다. 두 피드의 BTC-USD와 XBT/USD처럼 심볼 문자열이 달라도 venue와 거래 ID가 같다면 같은 사건일 수 있습니다. `origin_venue + market_id + trade_id`를 우선 중복 키로 쓰고, 집계자가 자체 ID만 제공하면 원천 venue와 재배포 여부를 메타데이터에서 확인합니다.
같은 거래소의 현물 USD와 USDT 시장은 경제적으로 비슷해도 별도 주문서와 별도 체결이므로 중복이 아닙니다. 반대로 하나의 공유 주문서를 서로 다른 지역 도메인에서 노출하면 두 시장처럼 보여도 체결 원천은 하나일 수 있습니다. 중복 판단에는 브랜드 수나 URL 수보다 주문서·체결의 생성 계보가 중요합니다.
시간 창과 커버리지 차이를 함께 계산합니다
거래소 A는 UTC 00:00~24:00, B는 최근 24시간 rolling ticker라면 화면의 ‘24h volume’을 같은 일별 합계로 더할 수 없습니다. 원시 체결을 동일 UTC 창으로 다시 집계하거나, 각 통계의 openTime·closeTime을 저장해 교집합만 비교하세요. 하루 경계의 몇 분 차이도 급변 구간에서는 큰 차이를 만듭니다.
일부 venue의 API가 두 시간 비었다면 나머지 venue만 합한 값은 관측 합계이지 전체 합계가 아닙니다. venue별 기대 분 수, 수집 분 수, 누락 체결 ID를 기록하고 커버리지 100%가 아닌 날은 provisional 상태로 둡니다. 0건과 수집 실패를 모두 0으로 채우면 합계가 낮아진 원인을 시장 위축으로 오해합니다.
합계 보고서가 재계산 가능한지 확인합니다
최종 표에는 포함 venue 수, 현물 시장 수, 기준통화, 집계 창, 원시 거래대금, 환산 거래대금, 제외·중복 제거 금액을 둡니다. 가상 예시의 원시 행 합계가 302,000 환산 USD이고 중복 재배포 2,360 USD를 제거했다면 최종은 `302,000-2,360=299,640 USD`여야 합니다. 단계별 합이 맞아야 합니다.
비교 목적이 유동성 평가라면 거래량 합계만으로 끝내지 말고 스프레드와 깊이를 별도로 확인합니다. 큰 거래량은 실제 실행 가능한 깊이를 보장하지 않으며, 가장매매 의심이나 데이터 오류를 거래량 숫자 하나로 교정할 수도 없습니다. 집계는 정의한 모집단의 활동량을 재현하는 작업으로 범위를 제한하세요.
자주 묻는 질문
BTC 거래량은 BTC 단위로 더하는 게 가장 정확한가요?
수량 활동을 묻는다면 base BTC 합계가 맞습니다. 거래대금이나 venue 비중을 묻는다면 같은 기준통화의 quote 금액이 필요합니다.
USDT는 그냥 USD와 1:1로 계산해도 되나요?
목적과 오차 허용치를 명시한 근사라면 가능하지만 디페그 구간에는 왜곡됩니다. 실제 환율 사용 여부와 기준 시각을 표시하세요.
현물과 무기한 거래량을 합치면 안 되나요?
전체 명목 활동이라는 상위 합계는 만들 수 있지만, 각각을 별도 항목으로 보여 주고 그 합계를 현물 거래량이라고 부르면 안 됩니다.
더 깊이 읽기
본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.



