바이낸스

바이낸스 Partial Book Depth 뜻 2026|상위 5·10·20 호가·스냅샷·Diff Depth 차이

현물 상위 5·10·20 가격대와 1000ms·100ms 갱신을 설명합니다. 부분 스냅샷과 Diff. Depth의 차이, 누적 깊이 검산·관측 범위 밖 계산의 한계를 정리합니다.

바이낸스 Partial Book Depth현물 시장 데이터WebSocket거래량호가
상위 호가 계단은 빛나고 아래쪽 깊이는 어둡게 표현된 이미지

바이낸스 Partial Book Depth 뜻 2026|상위 5·10·20 호가·스냅샷·Diff Depth 차이

바이낸스 Partial Book Depth는 현물 호가장의 상위 일부 매수·매도 가격대를 정해진 주기로 받는 스트림입니다. 최우선 한 가격대만 읽는 Book Ticker보다 넓은 범위를 관찰할 수 있지만 전체 호가장을 모두 보여주지는 않습니다. 부분 자료라는 범위를 이해하는 것이 출발점입니다.

상위 호가를 읽는 목적은 단순히 숫자가 많은 화면을 만드는 데 있지 않습니다. 주문 규모에 비해 관측된 가격대의 수량이 어느 정도인지, 최우선 가격 다음에 어떤 가격대가 있는지 살펴볼 수 있습니다. 다만 관측 당시의 제시 수량이 실제 주문 도착 시점까지 유지된다는 보장은 없습니다.

이 글은 2026년 10월 29일 확인한 Binance Spot WebSocket 공식 문서의 Partial Book Depth Streams를 기준으로 합니다. REST 스냅샷과 Diff. Depth를 연결하는 전체 로컬 호가장 절차는 다른 방식이므로 혼합하지 않습니다. 예시는 가상 수치입니다.

1. Partial이라는 범위부터 이해

공식 문서에서 지원하는 levels는 5, 10, 20입니다. 각 측의 상위 가격대 개수를 뜻하며 특정 코인 수량이나 주문 건수를 뜻하지 않습니다. depth5를 구독한다고 매수와 매도를 합쳐 다섯 개의 개별 주문만 받는 구조로 이해하면 안 됩니다.

가격대에는 같은 가격의 공개 수량이 표현됩니다. 같은 가격에 여러 주문이 있을 수 있으므로 배열 한 줄을 한 사람의 주문으로 읽지 않습니다. 주문자 신원, 주문이 유지될 기간, 숨겨진 의도는 이 자료에서 알 수 있는 범위를 벗어납니다.

가격대 수와 가격 범위는 다름

상위 다섯 가격대가 어느 정도 가격 차이를 덮는지는 시장 상황에 따라 다릅니다. 촘촘한 호가에서는 좁은 범위일 수 있고 가격 간격이 큰 구간에서는 넓은 범위일 수 있습니다. levels=5를 가격 5% 범위라고 해석해서는 안 됩니다.

지원되는 levels를 늘리면 관측하는 앞쪽 범위가 넓어질 수 있지만 전체 깊이가 되는 것은 아닙니다. 자료 밖에 얼마나 많은 호가가 있는지 이 메시지만으로 알 수 없습니다. 화면에 보이지 않는 가격대의 수량을 0이라고 단정하지 않아야 합니다.

수량과 체결 가능량의 차이

관측된 호가 수량은 그 순간의 공개 제시 상태입니다. 실제 주문이 도착하기 전 다른 참여자가 거래하거나 주문을 취소할 수 있습니다. 표시 수량이 충분하다는 사실만으로 내 주문의 전량 체결을 보장하지 않습니다.

반대로 상위 범위 수량이 부족하다고 전체 시장에 수량이 없다는 뜻도 아닙니다. 더 깊은 가격대가 관측 범위 밖에 있을 수 있습니다. "관측한 범위에서 부족"과 "시장 전체에서 불가능"을 구분해야 합니다.

2. 스트림 이름과 갱신 주기

현물 스트림 이름은 {symbol}@depth{levels} 또는 {symbol}@depth{levels}@100ms 형태입니다. 공식 문서는 기본 1000ms와 선택형 100ms 갱신 속도를 안내합니다. 지원되는 levels는 5·10·20이며 심볼은 일반 규칙에 따라 소문자로 구성합니다.

예를 들어 btcusdt@depth5는 특정 심볼의 상위 다섯 가격대 자료를 관찰하는 이름입니다. 이 예시는 이름 구조를 설명하기 위한 것이며 특정 지역이나 계정에서 서비스 접근을 보장하는 안내는 아닙니다. 실제 이용 전 현재 제품 문서와 접근 조건을 확인해야 합니다.

주기와 전달 지연은 다름

100ms 설정은 서버 문서상 갱신 주기에 관한 설명입니다. 모든 메시지가 정확히 100ms 간격으로 내 컴퓨터에 도착한다는 보장은 아닙니다. 네트워크 지연, 처리 대기, 화면 렌더링 시간이 추가될 수 있습니다.

빠른 주기를 선택하면 수신량과 처리 비용이 늘 수 있습니다. 화면에 필요한 해상도, 저장 목적, 분석 요구를 함께 고려해야 합니다. 가장 빠른 옵션이 항상 모든 사용자에게 가장 적합한 설정이라고 단정하지 않습니다.

구독 대상과 내부 이름

여러 심볼·levels·주기를 함께 관찰한다면 내부 저장 키에 구독 구성을 구분하는 것이 좋습니다. 같은 심볼의 depth5와 depth20을 하나의 배열에 번갈아 덮어쓰면 관측 범위가 갑자기 바뀌는데도 사용자가 알아채지 못할 수 있습니다.

데이터셋 이름에는 시장·심볼·levels·주기 같은 정보를 기록할 수 있습니다. 이렇게 하면 나중에 두 기간의 깊이를 비교할 때 설정 변경을 확인할 수 있습니다. 수량 변화가 시장 변화인지 수집 설정 변화인지 구분하는 데 도움이 됩니다.

3. lastUpdateId·bids·asks 읽기

공식 payload에는 lastUpdateId, bids, asks가 제시됩니다. bids는 매수 가격대, asks는 매도 가격대이며 각 항목에서 가격과 수량을 읽습니다. 숫자 배열이라는 이유로 첫 번째와 두 번째 값을 바꾸어 해석하지 않도록 주의해야 합니다.

lastUpdateId는 호가 업데이트 ID입니다. 체결 건수나 시각이 아닙니다. 두 메시지의 ID 차이를 거래량이나 경과 시간으로 바꾸는 것은 공식 의미를 넘어서는 추측입니다. 다른 자료의 ID와도 구분해야 합니다.

요소의미주의점
lastUpdateId해당 자료의 호가 업데이트 식별 정보거래 ID·시간과 혼용 금지
bids상위 매수 가격대체결 매수 거래량 아님
asks상위 매도 가격대체결 매도 거래량 아님
가격해당 가격대문자열 정렬 주의
수량해당 가격대의 제시 수량이전 값에 누적 합산 금지

가격 정렬의 방향

최우선 매수는 가장 높은 매수 가격이고 최우선 매도는 가장 낮은 매도 가격입니다. 내부 정렬을 수행한다면 두 측의 우선 방향이 다르다는 점을 반영해야 합니다. 문자 순서와 숫자 크기 순서를 혼동하지 않습니다.

예를 들어 문자열 "9"와 "100"을 문자 기준으로 비교하면 수치 비교와 다른 결과가 나올 수 있습니다. 소수 가격에서도 원본 표현과 계산용 표현을 일관되게 다뤄야 합니다. 표시용 쉼표나 통화 기호는 원본 가격 키와 분리합니다.

같은 가격의 식별

같은 가격을 여러 문자열 형태로 저장할 수 있는 내부 구조라면 동일 가격대가 중복될 위험이 있습니다. 변환 규칙을 정할 때 수치 의미를 유지해야 합니다. 원본 값은 보존하고 내부 키 정규화는 명확한 규칙으로 처리하는 편이 좋습니다.

하지만 서로 다른 가격을 화면 자릿수로 반올림해 같은 키로 만들면 안 됩니다. 원래 다른 가격대가 합쳐져 깊이 계산이 바뀔 수 있습니다. 저장 정밀도와 표시 정밀도를 분리해야 하는 이유입니다.

4. 부분 스냅샷과 변경 이벤트의 차이

Partial Book Depth는 상위 levels의 호가 상태를 받는 자료로 이해해야 합니다. Diff. Depth는 호가장 변경 이벤트를 이용해 로컬 상태를 유지하는 다른 스트림입니다. 메시지 이름에 depth가 포함된다는 이유만으로 같은 적용 코드를 사용해서는 안 됩니다.

부분 자료에서 이전에 보이던 가격대가 다음 상위 목록에 없다고 가정해 보겠습니다. 그 가격대가 시장 전체에서 완전히 사라졌는지, 상위 범위 밖으로 밀렸는지는 부분 목록만으로 구분할 수 없을 수 있습니다. 이전 가격대를 계속 합쳐 전체 호가장처럼 유지하면 오래된 자료가 남습니다.

최신 상위 집합으로 읽기

화면 목적이 현재 상위 levels를 보여주는 것이라면 새로 받은 집합을 해당 범위의 최신 상태로 해석해야 합니다. 이전 부분 집합과 계속 합치는 방식은 누적된 가짜 깊이를 만들 수 있습니다. 자료가 나타내는 범위에 맞춰 상태 교체와 공개 경계를 설계해야 합니다.

한 메시지의 bids·asks와 lastUpdateId가 같은 처리 결과를 나타내도록 유지합니다. 일부 가격대만 새 값으로 바뀐 중간 상태를 분석기가 읽으면 잘못된 합계가 생길 수 있습니다. 사용하는 환경에 맞춰 일관된 상태를 제공해야 합니다.

전체 로컬 호가장을 만들려면

전체적인 로컬 호가장 유지가 필요하다면 공식 Diff. Depth와 REST snapshot 연결 절차를 별도로 검토해야 합니다. 초기 버퍼, 업데이트 ID 범위, 누락 감지와 재동기화가 핵심입니다. Partial Depth를 단순히 여러 번 합쳐 같은 결과를 얻는다고 가정하지 않습니다.

이 글은 부분 자료의 사용 범위를 설명합니다. 전체 로컬 호가장 절차를 간략한 한 줄 규칙으로 대체하지 않습니다. 자료 종류를 선택할 때 필요한 관측 깊이와 운영 복잡도를 함께 고려하세요.

관련 글바이낸스 Book Ticker 뜻 2026|최우선 매수 매도 호가·수량·갱신 ID 읽기최우선 한 가격대만 읽는 Book Ticker와 상위 여러 가격대를 읽는 Partial Book Depth를 비교해 관측 범위를 선택하세요.자세히 보기 →

5. 다섯 가지 부분 호가 사례

예시 1. 상위 다섯 가격대의 수량 합계

가상의 매도 가격대 수량이 1, 2, 1, 3, 2라면 관측한 다섯 가격대 합계는 9입니다. 이 값은 해당 범위의 합계이지 전체 매도 잔량이 아닙니다. 여섯 번째 이후 가격대의 수량은 이 자료에 나타나지 않습니다.

보고서에는 "상위 5개 매도 가격대 수량 합계"라고 적는 것이 정확합니다. 같은 값을 전체 매도 유동성이라고 부르면 관측 범위를 과장합니다. 다른 시간과 비교할 때도 levels가 같았는지 확인해야 합니다.

예시 2. 가격대가 범위 밖으로 이동

이전 상위 다섯 매수 가격대에 있던 95가 새 목록에서 사라지고 더 높은 가격이 추가됐다고 가정합니다. 95의 주문이 모두 취소됐다고 바로 결론 내릴 수 없습니다. 상위 다섯 범위 밖으로 밀렸을 수 있기 때문입니다.

최신 상위 목록 화면에서는 95를 계속 남겨 여섯 번째 가격대로 표시하지 않습니다. 그렇게 하면 구독한 자료의 범위를 벗어난 과거 값을 현재 자료와 섞게 됩니다. 과거 이력이 필요하다면 별도 기록으로 보관해야 합니다.

예시 3. 관측 범위 안에서 가상 실행 금액 계산

매도 호가가 가격 100에 수량 1, 가격 101에 수량 2라고 가정합니다. 가상의 매수 수량 2를 이 정적인 자료에 적용하면 1×100과 1×101의 합 201이라는 계산을 할 수 있습니다. 평균은 100.5입니다.

이는 관측된 고정 자료를 바탕으로 한 예시 계산입니다. 실제 주문 체결 보장은 아니며 수수료와 전송 중 호가 변화도 별도입니다. 계산 결과에 "예상"이라는 말만 붙이는 것으로 모든 가정이 설명되는 것은 아니므로 시점·범위·변화 미반영을 함께 명시해야 합니다.

예시 4. 주문 규모가 관측 범위를 초과

관측한 매도 수량 합계가 9인데 가상 매수 규모가 12라면 나머지 3의 가격을 이 자료만으로 계산할 수 없습니다. 마지막 가격을 그대로 연장해 전체 비용을 만드는 것은 근거 없는 보간입니다. 관측 범위 밖 부분은 미확인이라고 표시해야 합니다.

더 넓은 자료가 필요하다면 요구에 맞는 데이터 경로를 선택해야 합니다. 부분 자료의 한계를 숨기기보다 어떤 범위까지 계산했는지 보고하면 사용자가 결과를 올바르게 해석할 수 있습니다.

예시 5. 빠른 갱신과 느린 화면

100ms 자료를 받지만 화면은 더 느린 주기로 그린다고 가정합니다. 화면에서 모든 중간 상태가 보이지 않을 수 있습니다. 이것이 곧 수신 자체의 누락을 뜻하는 것은 아니며 표시 정책과 데이터 처리 정책을 구분해야 합니다.

반대로 화면이 빠르게 움직인다고 모든 데이터가 정확히 저장됐다는 뜻도 아닙니다. 수신·저장·집계·렌더링 단계별 진행 상태를 관찰해야 합니다. 필요한 원본 이력의 해상도는 화면 주기와 별도로 결정합니다.

6. 깊이와 비용을 비교할 때

여러 가격대의 수량을 합쳐 누적 깊이를 볼 수 있지만 단위를 확인해야 합니다. 기초 자산 수량 합계와 가격×수량을 더한 quote 금액 합계는 다릅니다. 다른 심볼 사이에서는 단위 차이가 더 중요하므로 숫자의 크기만으로 유동성을 비교하지 않습니다.

같은 levels도 시장마다 덮는 가격 범위가 다를 수 있습니다. 상위 20개 가격대를 비교했다는 사실만으로 같은 가격 거리의 깊이를 비교했다고 볼 수 없습니다. 가격 범위와 가격대 수를 각각 기록하면 해석이 명확해집니다.

누적 곡선의 의미

누적 깊이 곡선은 관측한 가격대의 수량을 순서대로 더한 결과입니다. 곡선이 완만하거나 가파르다는 것은 해당 범위의 수량 배치에 관한 관측입니다. 주문자가 앞으로 가격을 방어한다거나 특정 가격이 반드시 유지된다는 뜻이 아닙니다.

자료 밖 구간을 곡선이 없는 이유만으로 유동성 0이라고 표시하지 않습니다. 시각화에서는 관측 끝을 명확히 표시하는 편이 좋습니다. 범위 밖을 흐리게 하거나 미관측이라고 적는 등 실제 자료 범위를 드러낼 수 있습니다.

매수·매도 방향 선택

가상 매수 실행을 살펴볼 때는 매도 측 가격대를, 가상 매도 실행은 매수 측 가격대를 읽습니다. 방향을 반대로 적용하면 비용 비교가 잘못됩니다. 매수·매도라는 단어가 주문자의 행동인지 호가 제공자의 측인지 구분해야 합니다.

실제 주문 유형과 가격 제한에 따라 실행 결과가 달라질 수 있습니다. 공개 부분 호가를 읽었다는 이유만으로 주문 조건이나 지역별 기능 지원을 추정하지 않습니다. 데이터 해석과 실제 주문 기능의 안내는 별도 검증이 필요합니다.

7. 스냅샷 저장과 자료 완성도

부분 호가 이력을 저장한다면 심볼, levels, 갱신 설정, lastUpdateId, 로컬 수신 시각과 원본 배열을 구분해 남길 수 있습니다. 현물 공식 payload에 제시되지 않은 시각을 임의로 만들어 거래소 시각처럼 저장하지 않습니다. 기록한 메타데이터의 출처를 표시해야 합니다.

수신 시각이 같은 두 메시지가 반드시 거래소 내부의 같은 순간을 나타내는 것은 아닙니다. 로컬 시계 해상도나 처리 대기 때문에 같게 기록될 수 있습니다. 자료를 비교할 때 ID와 수신 순서, 연결 세대 같은 운영 정보를 함께 살펴야 합니다.

최신값 저장과 이력 저장

최신값 저장은 현재 화면이나 분석에 필요한 마지막 상태를 유지하는 목적입니다. 이력 저장은 시간에 따른 변화를 조사하는 목적입니다. 최신값을 계속 덮어쓰는 저장소에서 과거 모든 상태를 복원할 수 있다고 가정해서는 안 됩니다.

반대로 이력 로그에 남은 모든 가격대를 합쳐 현재 호가장으로 사용하면 오래된 수량이 섞입니다. 각 자료의 시점과 범위를 유지해야 합니다. 현재 상태와 관측 이력을 다른 이름으로 관리하면 이런 혼동을 줄일 수 있습니다.

누락과 무변화 구분

연결 중단으로 메시지를 받지 못한 구간과 실제 상태가 거의 변하지 않은 구간은 다릅니다. 로그가 비었다고 시장에 호가가 없었다고 해석하지 않습니다. 연결·구독·수신·저장 상태를 함께 기록하면 자료 완성도를 설명할 수 있습니다.

보고서에서 누락 구간을 선으로 이어 그리면 자연스럽게 연속 관측처럼 보일 수 있습니다. 보간을 사용했다면 실제 관측과 구분해야 합니다. 정적인 예시 계산과 실제 연속 자료도 분리해 표시하세요.

8. 오류 진단과 검증 사례

증상확인할 원인
가격대 수가 계속 늘어남이전 부분 집합을 계속 합쳤는지
수량이 비정상적으로 커짐새 수량을 누적 증가분으로 해석했는지
매수·매도 비용이 뒤집힘상대편 호가 방향 선택 오류
다른 심볼 자료가 섞임저장 키·combined 포장 처리
범위 밖 비용까지 계산됨마지막 가격을 임의 연장했는지
모든 중간 변화가 보인다고 주장갱신 주기와 관측 범위 혼동

작은 가상 자료로 먼저 검증합니다. 새 목록에서 한 가격대가 빠지고 다른 가격대가 들어오는 사례, 가격은 같고 수량만 바뀌는 사례, 관측 범위를 초과하는 가상 주문을 넣어 보세요. 정상 숫자만 넣는 테스트보다 자료 경계를 확인하는 사례가 중요합니다.

동일한 메시지를 두 번 적용했을 때 최신 상태가 두 배가 되지 않는지 확인합니다. 다른 levels의 메시지가 섞였을 때 구성 변경으로 인식하는지도 검토합니다. 오류 응답·파싱 실패를 정상적인 빈 호가장으로 바꾸지 않는 것이 중요합니다.

9. 가격대별 누적표를 직접 검산하기

부분 호가를 이해하려면 몇 개의 가상 가격대를 표로 펼쳐 보는 것이 좋습니다. 다음은 매도 측 세 가격대만 따로 가져온 학습용 자료입니다. 실제 스트림 설정에서 지원하는 levels와 이 설명용 표의 행 수를 혼동하지 않습니다. 설명을 단순하게 하기 위해 일부 행만 사용한 것입니다.

가격해당 가격대 수량누적 수량누적 quote 금액
10011100
10123302
10314405

누적 수량은 앞선 가격대부터 수량을 더한 값입니다. 누적 금액은 각 가격×수량을 더합니다. 마지막 행의 405는 4 전체 수량이 모두 103에 체결된다는 계산과 다릅니다. 가격대별 수량 배치를 유지해야 합니다.

가상 수량 2.5를 적용

이 고정 자료에서 수량 2.5를 매수한다고 가정하면 첫 가격대 1을 사용하고 두 번째 가격대에서 1.5를 사용합니다. 계산 금액은 100+151.5=251.5입니다. 평균은 251.5÷2.5=100.6입니다. 세 번째 가격대는 이 가상 계산에 필요하지 않습니다.

이 결과는 수수료를 포함하지 않았고, 호가가 변하지 않으며, 해당 수량을 순서대로 사용할 수 있다는 설명용 가정을 둡니다. 실제 주문의 유형·가격 제한·접수 시점에 따라 결과가 달라질 수 있습니다. 정적 계산을 실행 보장으로 바꾸어 표현하지 않습니다.

가상 수량 5를 적용

표의 관측 수량은 4이므로 5 전체의 금액을 확정할 수 없습니다. 마지막 가격 103을 남은 1에도 적용하는 것은 보이지 않는 가격대를 임의로 만든 것입니다. "관측 범위 4까지 금액 405, 나머지 1의 가격 미확인"처럼 범위를 나눠 표시하는 편이 정확합니다.

이런 결과를 오류라고 감추기보다 자료 선택을 다시 검토할 신호로 사용할 수 있습니다. 분석 목적이 상위 깊이 비교라면 부분 자료로 충분할 수 있고, 더 큰 규모의 가상 실행을 평가하려면 더 넓은 자료가 필요할 수 있습니다. 목적과 관측 범위를 맞추는 과정입니다.

매도 계산에서는 방향을 바꿈

가상 매도는 매수 호가를 높은 가격부터 읽는 구조입니다. 매수 계산용 asks를 그대로 사용하면 상대편 선택이 잘못됩니다. 같은 함수나 계산기를 사용한다면 방향별 입력을 명확히 하고 가상 사례로 확인해야 합니다.

가격 정렬을 직접 수행하는 경우 매수와 매도의 우선 방향이 반대라는 점도 검증합니다. 잘못 정렬해 가장 불리한 가격부터 수량을 배정하면 결과가 크게 달라집니다. 원본 자료의 정렬을 읽는 단계와 내부 계산 규칙을 분리해 점검하세요.

값이 같아 보이는 두 스냅샷

두 스냅샷의 총 수량이 모두 4라고 해도 가격대 분포는 다를 수 있습니다. 한 자료는 최상단에 대부분의 수량이 있고 다른 자료는 더 먼 가격대에 몰려 있을 수 있습니다. 총합만 비교하면 가상 실행 비용의 차이를 놓칩니다.

따라서 목적에 따라 누적 수량뿐 아니라 가격 거리와 누적 금액을 함께 볼 수 있습니다. 다만 모든 파생 지표에는 관측 깊이와 시점을 붙여야 합니다. 부분 범위에서 만든 결과를 전체 시장의 고정된 특성처럼 일반화하지 않습니다.

10. 스냅샷 비교에서 원인을 과장하지 않기

두 관측 사이에 수량이 줄었다고 해서 줄어든 양이 모두 체결됐다고 볼 수 없습니다. 주문 취소·수정·신규 주문과 범위 이동이 함께 영향을 줄 수 있습니다. Partial Book Depth는 상태를 관찰하는 자료이지 주문별 모든 사건을 나열하는 장부가 아닙니다.

실제 체결 자료를 함께 보더라도 시간 범위와 데이터 갱신 방식이 다릅니다. 한 호가 감소와 한 체결을 숫자만 맞춰 원인 관계로 연결하면 오해할 수 있습니다. 확인된 관측과 추가 가정을 구분해 기록해야 합니다.

가격대 이동과 수량 이동

최우선 매수 가격이 올라가면 기존 가격대의 순위가 내려갈 수 있습니다. 상위 범위에서 사라지는 것은 그 가격대 자체가 없어지는 것과 다릅니다. 배열 위치를 가격대의 고정 식별자로 사용하면 이런 이동을 잘못 해석할 수 있습니다.

첫 번째 행을 항상 같은 가격대라고 생각하지 않고 각 행의 실제 가격을 읽어야 합니다. 화면 애니메이션을 만들 때도 순위 변화와 동일 가격 수량 변화를 구분하면 관측 의미가 유지됩니다. 시각 효과가 데이터 해석을 바꾸지 않도록 주의하세요.

설정 변경을 시장 변화와 구분

depth5에서 depth20으로 구독을 바꾸면 관측 수량 합계가 크게 늘 수 있습니다. 이것은 실제 시장 유동성이 갑자기 증가한 결과가 아니라 범위 확장일 수 있습니다. 설정 변경 시각을 기록하고 이전 기간과 직접 비교하지 않도록 표시해야 합니다.

갱신 주기를 바꾸는 경우에도 이력의 시간 해상도가 달라집니다. 더 빠른 구간에서 더 많은 상태 변화가 보인다고 시장이 반드시 더 불안정해졌다고 결론 내리지 않습니다. 수집 설정의 차이가 관측 결과에 미친 영향을 고려해야 합니다.

11. 재현 가능한 자료 점검 절차

첫째, 원본 메시지의 심볼을 구독 이름과 연결하고 levels와 주기를 기록합니다. payload 자체에 모든 구독 정보가 들어 있다고 가정하지 않습니다. combined 포장과 raw 연결에서 심볼을 식별하는 방식이 다를 수 있으므로 수집 설정도 함께 보관하는 것이 좋습니다.

둘째, 가격·수량 배열의 해석을 작은 표로 확인합니다. 가격과 수량을 바꾸어 읽지 않는지, 숫자 문자열을 문자 순서로 정렬하지 않는지 점검합니다. 원본 값을 화면용 반올림 값으로 덮어쓰지 않습니다.

셋째, 새 부분 집합을 적용한 뒤 이전 범위 밖 값이 현재 상태에 남지 않는지 확인합니다. 같은 입력을 반복해도 수량이 증가하지 않아야 합니다. 다른 심볼이나 다른 levels를 넣었을 때 상태가 섞이지 않아야 합니다.

넷째, 관측 범위를 초과하는 계산 요청에 미확인 결과를 반환하는지 확인합니다. 마지막 가격을 임의 연장하거나 없는 수량을 만들어 계산을 끝내지 않습니다. 범위 안의 검산 결과와 범위 밖의 불확실성을 함께 유지해야 합니다.

다섯째, 연결 중단과 저장 실패를 구분해 봅니다. 연결은 살아 있어도 저장이 멈출 수 있고, 화면은 캐시를 계속 보여줄 수 있습니다. 마지막 수신·저장·표시 시각이 각각 무엇을 의미하는지 명확히 해야 합니다.

이 과정을 통과했다는 것은 자료 처리의 일관성을 확인했다는 뜻입니다. 시장의 모든 유동성을 관찰했다거나 실제 주문 결과를 예측했다는 뜻은 아닙니다. 검증의 범위를 좁고 정확하게 설명하는 것이 운영 기록의 신뢰성을 높입니다.

12. FAQ

Q1. depth5는 주문 다섯 개라는 뜻인가요?

상위 가격대 범위에 관한 설정입니다. 개별 사용자 주문 다섯 개를 뜻하지 않습니다. 같은 가격대에는 여러 주문의 수량이 반영될 수 있습니다.

Q2. 지원되는 levels는 무엇인가요?

현재 확인한 현물 공식 문서는 5·10·20을 안내합니다. 임의의 숫자가 모두 지원된다고 가정하지 말고 최신 문서를 확인해야 합니다.

Q3. 기본 갱신 주기는 무엇인가요?

공식 문서는 1000ms와 @100ms 선택형을 안내합니다. 서버의 갱신 주기와 내 컴퓨터에 정확히 도착하는 간격은 다른 문제입니다.

Q4. 전체 호가장을 볼 수 있나요?

상위 일부 범위를 받는 자료입니다. 더 깊은 호가는 관측 범위 밖에 있을 수 있습니다. 보이지 않는 가격대의 수량을 0이라고 단정하지 않습니다.

Q5. 이전에 보이던 가격대가 사라지면 취소인가요?

상위 범위 밖으로 밀렸을 가능성도 있으므로 취소로 확정하지 않습니다. 부분 자료의 집합 변화와 시장 전체의 주문 제거를 구분해야 합니다.

Q6. 새 수량을 이전 수량에 더하나요?

부분 호가 상태를 누적 거래량처럼 더하면 안 됩니다. 자료가 나타내는 현재 범위에 맞게 해석해야 합니다. 같은 입력을 다시 처리해 수량이 두 배가 되는지 검증하세요.

Q7. Diff. Depth와 같은가요?

다른 스트림입니다. Diff. Depth로 로컬 호가장을 유지할 때는 별도의 초기 스냅샷 연결과 ID 검증 절차가 필요합니다. 이름에 depth가 있다는 이유로 적용 방식을 공유하지 않습니다.

Q8. lastUpdateId는 시간인가요?

호가 업데이트 식별 정보입니다. 타임스탬프나 체결 건수로 바꾸지 않습니다. 로컬 수신 시각은 별도 메타데이터로 기록할 수 있습니다.

Q9. 관측 수량이 충분하면 전량 체결되나요?

보장할 수 없습니다. 관측 이후 호가 변경이나 다른 주문의 실행이 있을 수 있습니다. 정적 자료 계산과 실제 주문 결과를 구분해야 합니다.

Q10. 범위 밖 비용은 마지막 가격으로 계산하나요?

그렇게 하면 근거 없는 가정이 됩니다. 관측되지 않은 수량은 미확인으로 남기고 필요한 경우 더 적합한 자료를 선택해야 합니다.

Q11. 상위 20개면 항상 같은 가격 범위인가요?

가격대 간격과 분포에 따라 다릅니다. levels는 가격대 수이며 고정 퍼센트 범위가 아닙니다. 깊이 비교에서는 가격 범위도 함께 확인하세요.

Q12. 100ms가 항상 더 좋은가요?

수신량·저장 비용·분석 목적에 따라 다릅니다. 빠른 갱신이 체결 보장이나 더 높은 수익을 뜻하지 않습니다. 필요한 관측 해상도를 먼저 정해야 합니다.

Q13. 재연결하면 빠진 스냅샷을 모두 받나요?

그렇게 가정하지 않습니다. 현재 자료 수신과 중단 기간의 전체 이력 복원은 다른 요구입니다. 누락 구간과 자료 완성도를 표시해야 합니다.

Q14. 매수 깊이가 크면 가격이 오르나요?

부분 호가 수량만으로 미래 가격을 보장할 수 없습니다. 주문 변경과 더 깊은 자료, 실제 거래 흐름 등 다른 조건이 있습니다. 관측과 예측을 분리하세요.

Q15. 가장 먼저 확인할 오류는 무엇인가요?

이전 부분 집합을 계속 누적하거나 현재 수량을 증가분으로 더하는 오류를 확인합니다. 이후 심볼·levels·가격 방향·관측 범위 밖 계산을 점검하는 것이 좋습니다.

13. 운영 체크리스트

  • 현물 Partial Book Depth 규격을 사용한다.
  • levels를 가격대 수로 이해한다.
  • 5·10·20 지원 범위를 확인했다.
  • 갱신 주기와 실제 도착 지연을 구분한다.
  • 심볼·levels·주기를 저장 구성에 기록한다.
  • bids·asks 방향과 가격·수량 순서를 확인한다.
  • 원본 정밀도와 표시 정밀도를 분리한다.
  • 이전 부분 집합을 현재 상태에 계속 누적하지 않는다.
  • lastUpdateId를 시간·체결 수로 해석하지 않는다.
  • 관측 범위 밖 수량을 0으로 단정하지 않는다.
  • 가상 실행 계산의 범위와 가정을 표시한다.
  • 최신 상태와 이력 로그를 구분한다.
  • 누락 구간을 무변화로 위장하지 않는다.
  • 실제 체결이나 투자 성과를 보장하지 않는다.

핵심 정리

질문기준
무엇을 보나상위 일부 매수·매도 가격대
설정 범위levels 5·10·20
갱신기본 1000ms 또는 선택형 100ms
주요 자료lastUpdateId·bids·asks
핵심 한계전체 깊이·모든 중간 변화는 아님
올바른 활용관측 범위를 명시한 상태·깊이 비교

바이낸스 Partial Book Depth를 잘 읽으려면 더 많은 숫자를 얻는 것보다 그 숫자가 덮는 범위를 정확히 알아야 합니다. 상위 집합과 전체 호가장을 구분하고, 현재 수량을 누적 거래량처럼 처리하지 않으며, 미관측 구간은 미확인 상태로 유지하세요.

이 글은 시장 데이터 이해를 위한 정보성 자료입니다. 특정 주문의 체결이나 투자 성과를 보장하지 않습니다. 실제 운영 전 최신 Binance 공식 문서와 대상 시장의 데이터 규격을 확인하세요.

바이낸스 가입하고 혜택 확인하기+

바이낸스 가입하기

바이낸스 회원가입부터 이메일 인증, KYC, OTP 설정까지 COINSIGN의 단계별 가이드를 확인하면서 진행할 수 있습니다.

바이낸스 가입하기바이낸스 가입방법 8단계 가이드 보기 →