1 | ||||||||
---|---|---|---|---|---|---|---|---|
2 | Here is series of events that occur at same price level. | |||||||
3 | Each row is a single market data event which can be either a book update or a trade | |||||||
4 | ||||||||
5 | Bid or Ask | Book update | Current book | Trade size | Cumulative trade size | Iceberg mark | Comments | |
6 | 1 | Bid | 100 | 100 | 0 | 0 | ||
7 | 2 | Bid | 100 | 20 | 20 | 0 | the trade is lower than book size | |
8 | 3 | Bid | 80 | 80 | 0 | 0 | regular trade, followed by reduction of the book size by 20. | |
9 | 4 | Bid | 80 | 10 | 10 | 0 | ||
10 | 5 | Bid | 80 | 25 | 35 | 0 | ||
11 | 6 | Bid | 45 | 45 | 0 | 0 | regular trade, followed by reduction of the book size by 35. | |
12 | 7 | Bid | 70 | 70 | 0 | 0 | regular order book update (added 25) | |
13 | 8 | Bid | 70 | 30 | 30 | 0 | ||
14 | 9 | Bid | 70 | 20 | 50 | 0 | ||
15 | 10 | Bid | 70 | 25 | 75 | 5 | Cumulated trade size (75) is larger than the order book (70) before the trade series | |
16 | 11 | Bid | 70 | 10 | 85 | 15 | Keep accumulating | |
17 | 12 | Bid | 30 | 30 | 0 | 15 | An order book update. The hidden order can still be there | |
18 | 13 | Bid | 30 | 40 | 40 | 25 | Added 10 | |
19 | 14 | N/A | 0 | 0 | 0 | 25 | The exchange deleted the best bid | |
20 | 15 | Ask | 50 | 50 | 0 | 0 | This price became Ask, therefore The BUY Iceberg isn't there anymore |
1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
2 | The Delta column shows only the changes, that are visible on the chart. It resets Bid/Ask sides independently when Best Bid/Ask change. Bookmap assumes that every Trade data event is 'immediately' followed by corresponding Quote event that reduces the size by the same amount. Theoretically, if the corresponding Quote event didn't happen, it means that the size has increased simultaneously when the trade occurred. This is why Delta column shows positive Quote change between the Trade and the expected Quote update (which usually takes few milliseconds or less, but depends on the market data vendor) | ||||||||
3 | Example: Here is series of events that occur at same price level. Each row is a single market data event which can be either a book update (quote) or a trade | ||||||||
4 | |||||||||
5 | Bid or Ask | Book update | Current book | Trade size | Cumulative Trade size | Current Delta | Cumulative Delta | Comments | |
6 | 1 | Bid | 100 | Assuming that this initial size 100 first appeared outside the chart range | |||||
7 | 2 | Bid | 80 | 80 | -20 | -20 | Regular change: reduced by 20 | ||
8 | 3 | Bid | 130 | 130 | 50 | 30 | Regular change: increased by 50 | ||
9 | 4 | Bid | 130 | 10 | 10 | 10 | 40 | Trade of 10: temporal increase of Delta | |
10 | 5 | Bid | 130 | 25 | 35 | 25 | 65 | Trade of 25: temporal increase of Delta | |
11 | 6 | Bid | 95 | 95 | -35 | 30 | Reduced by 35 due to the trade. Back to 30 |
1 | The below table demonstrates how Bookmap reconstructs trade size. It does not rely on Timestamps | ||||||
---|---|---|---|---|---|---|---|
2 | Assume that this series of events occur at the same price, e.g. at Best Bid 2073.25 | ||||||
3 | Each row is a single market data event which can be either an order book Size update at the above price, or a Trade | ||||||
4 | |||||||
5 | The two timestamp columns represent scenarious where reconstruction by Timestamp FAILS | ||||||
6 | In the case #1 it would generate two trades of size 120, 77 | ||||||
7 | In the case #2 it would generate one trade of size 197 | ||||||
8 | The actual trades are of size 172, 25 | ||||||
9 | |||||||
10 | case #1 Time [ms] | case #2 Time [ms] | Book update's Size | Trade's Size | Cumulative trade size | Trade size on Bookmap | Comments |
11 | 0 | 0 | 1000 | ||||
12 | 0 | 0 | 20 | 20 | |||
13 | 0 | 0 | 100 | 120 | |||
14 | 1 | 0 | 50 | 170 | |||
15 | 1 | 0 | 2 | 172 | |||
16 | 1 | 0 | 828 | 172 | This is where Bookmap "reconstructs" the trade size. When a new quote received, we know that the series of executions, caused by a single order has ended. | ||
17 | 1 | 0 | 25 | 25 | |||
18 | 1 | 0 | 803 | 25 | |||
19 | |||||||
20 | |||||||
21 | The only disadvantage of Bookmap's method is that it requires data integrity and consistency with the data, sent by the Exchange (CME, Eurex) |