binance / binance/binance-public-data

Some USDT-margined futures bookDepth data entries significantly deviate from mark prices

Open
#431 0 comments 0 reactions 0 assignees View on GitHub
Futures
Dominant language
Python
Stars
2.5k
Forks
613
PR merge metrics
No merged PRs in 30d

Description

Hey guys, first of all, I'd like to say that I am really grateful about your efforts to make this detailed market data public.
Upon looking at the bookDepth data of USDT-margined futures (which are available only in "daily" section), I think I detected some signs of data misalignment.
I want to understand what is happening.
Also, please correct me if there's any misunderstanding on my part.

So take the following lines extraced from
BTCUSDT-bookDepth-2025-05-19.zip of https://data.binance.vision/?prefix=data/futures/um/daily/bookDepth/BTCUSDT
"""
timestamp,percentage,depth,notional
2025-05-19 11:07:31,-5,7885.27500000,647368074.36920000
2025-05-19 11:07:31,-4,7178.45300000,590768470.27090000
2025-05-19 11:07:31,-3,5443.14900000,450287742.99870000
2025-05-19 11:07:31,-2,3989.69900000,331452387.75030000
2025-05-19 11:07:31,-1,2294.32400000,191369991.21780000
2025-05-19 11:07:31,1,2097.41000000,176607765.20950000
2025-05-19 11:07:31,2,3485.14100000,294629128.47080000
2025-05-19 11:07:31,3,4813.86500000,408742768.20550000
2025-05-19 11:07:31,4,5699.71200000,485628858.29740000
2025-05-19 11:07:31,5,6491.51500000,555012399.28440000
"""

If you compute notional/depth and list them in the percentage order, it becomes something like:
82098.35, 82297.46, 82725.60, 83077.04, 83410.19, 84202.79, 84538.65, 84909.48, 85202.35, 85498.13

In my understanding, these values must be within +-5% the mark price.
However, the mark price at that point in history is about 103k, which is clearly inconsistent with this result.

The following image shows a more detailed analysis across timeline.

Image

Essentially, this shows 5%, 25%, 50%, 75% and 95% quantile values of (notional at 5%) / (depth at 5%) / (recent tick price) - 1 in monthly intervals.
As you may see, the figure at 2025-04 and 2025-05 seems alarming, while the other values seem to be in the valid range.

Here are dates in which at least one negtive value was found:
```
['2023-01-09', '2023-01-16', '2023-01-21', '2023-02-08', '2023-03-17', '2023-03-18', '2023-08-29', '2023-10-01', '2023-10-16', '2023-11-15', '2024-02-26', '2024-02-27', '2024-03-02', '2024-03-03', '2024-03-05', '2024-03-09', '2024-03-11', '2024-03-13', '2024-04-18', '2024-04-19', '2024-06-12', '2024-08-05', '2024-08-08', '2024-12-05', '2025-04-19', '2025-04-21', '2025-04-22', '2025-04-23', '2025-04-24', '2025-04-25', '2025-04-26', '2025-04-27', '2025-04-28', '2025-04-29', '2025-04-30', '2025-05-01', '2025-05-02', '2025-05-03', '2025-05-04', '2025-05-05', '2025-05-06', '2025-05-07', '2025-05-08', '2025-05-09', '2025-05-10', '2025-05-11', '2025-05-12', '2025-05-13', '2025-05-14', '2025-05-15', '2025-05-16', '2025-05-17', '2025-05-18', '2025-05-19']
```

Another concrete evidence that something went wrong:
Image
Note that the flat line includes more than 1000 datapoints.

Thank you for reading this, and have a good day.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the calculations from BTCUSDT-bookDepth-2025-05-19.zip in the daily USDT-margined futures bookDepth data and compare them with the historical mark or recent tick prices. Review the listed dates and attached analyses to determine whether the deviation is a data-generation problem or an interpretation issue; done means the cause and any affected data are clearly identified.

Written by the indexing model from the issue text.

Assessment

Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.