{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "c4ce8bd1-58dc-46f5-b290-20d07185e2f0", "metadata": {}, "source": [ "# Order Book Analytics" ] }, { "attachments": {}, "cell_type": "markdown", "id": "61ba94e2-c191-459c-a5ca-7413cd01ec36", "metadata": { "tags": [] }, "source": [ "`onetick-py` offers functions for analyzing tick-by-tick order book. There are three representations of an order book. We'll show top 3 levels only for the ease of exposition.\n", "\n", "A book can be displayed with a tick per level per side. We refer to a level in the book as a 'price level' or 'prl'." ] }, { "cell_type": "code", "execution_count": 7, "id": "0ebfd093-d330-4244-a383-1e1f42f30547", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Time | \n", "PRICE | \n", "UPDATE_TIME | \n", "SIZE | \n", "LEVEL | \n", "BUY_SELL_FLAG | \n", "
---|---|---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00 | \n", "11897.00 | \n", "2023-03-02 09:59:59.993541965 | \n", "1 | \n", "1 | \n", "1 | \n", "
1 | \n", "2023-03-02 10:00:00 | \n", "11897.25 | \n", "2023-03-02 09:59:59.874850291 | \n", "6 | \n", "2 | \n", "1 | \n", "
2 | \n", "2023-03-02 10:00:00 | \n", "11897.50 | \n", "2023-03-02 09:59:59.859827385 | \n", "8 | \n", "3 | \n", "1 | \n", "
3 | \n", "2023-03-02 10:00:00 | \n", "11896.75 | \n", "2023-03-02 09:59:59.994670829 | \n", "6 | \n", "1 | \n", "0 | \n", "
4 | \n", "2023-03-02 10:00:00 | \n", "11896.50 | \n", "2023-03-02 09:59:59.952449109 | \n", "10 | \n", "2 | \n", "0 | \n", "
5 | \n", "2023-03-02 10:00:00 | \n", "11896.25 | \n", "2023-03-02 09:59:59.952450505 | \n", "14 | \n", "3 | \n", "0 | \n", "
\n", " | Time | \n", "BID_PRICE | \n", "BID_UPDATE_TIME | \n", "BID_SIZE | \n", "ASK_PRICE | \n", "ASK_UPDATE_TIME | \n", "ASK_SIZE | \n", "LEVEL | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00 | \n", "11896.75 | \n", "2023-03-02 09:59:59.994670829 | \n", "6 | \n", "11897.00 | \n", "2023-03-02 09:59:59.993541965 | \n", "1 | \n", "1 | \n", "
1 | \n", "2023-03-02 10:00:00 | \n", "11896.50 | \n", "2023-03-02 09:59:59.952449109 | \n", "10 | \n", "11897.25 | \n", "2023-03-02 09:59:59.874850291 | \n", "6 | \n", "2 | \n", "
2 | \n", "2023-03-02 10:00:00 | \n", "11896.25 | \n", "2023-03-02 09:59:59.952450505 | \n", "14 | \n", "11897.50 | \n", "2023-03-02 09:59:59.859827385 | \n", "8 | \n", "3 | \n", "
\n", " | Time | \n", "PRICE | \n", "UPDATE_TIME | \n", "SIZE | \n", "LEVEL | \n", "BUY_SELL_FLAG | \n", "
---|---|---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00 | \n", "11897.00 | \n", "2023-03-02 09:59:59.993541965 | \n", "1 | \n", "1 | \n", "1 | \n", "
1 | \n", "2023-03-02 10:00:00 | \n", "11897.25 | \n", "2023-03-02 09:59:59.874850291 | \n", "6 | \n", "2 | \n", "1 | \n", "
2 | \n", "2023-03-02 10:00:00 | \n", "11897.50 | \n", "2023-03-02 09:59:59.859827385 | \n", "8 | \n", "3 | \n", "1 | \n", "
3 | \n", "2023-03-02 10:00:00 | \n", "11897.75 | \n", "2023-03-02 09:59:59.854529351 | \n", "12 | \n", "4 | \n", "1 | \n", "
4 | \n", "2023-03-02 10:00:00 | \n", "11898.00 | \n", "2023-03-02 09:59:59.871411363 | \n", "11 | \n", "5 | \n", "1 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1868 | \n", "2023-03-02 10:00:00 | \n", "977.75 | \n", "2023-03-01 17:59:59.997000000 | \n", "1 | \n", "1019 | \n", "0 | \n", "
1869 | \n", "2023-03-02 10:00:00 | \n", "643.75 | \n", "2023-03-01 17:59:59.997000000 | \n", "1 | \n", "1020 | \n", "0 | \n", "
1870 | \n", "2023-03-02 10:00:00 | \n", "200.00 | \n", "2023-03-01 17:59:59.997000000 | \n", "1 | \n", "1021 | \n", "0 | \n", "
1871 | \n", "2023-03-02 10:00:00 | \n", "111.00 | \n", "2023-03-01 17:59:59.997000000 | \n", "1 | \n", "1022 | \n", "0 | \n", "
1872 | \n", "2023-03-02 10:00:00 | \n", "1.00 | \n", "2023-03-01 17:59:59.997000000 | \n", "1 | \n", "1023 | \n", "0 | \n", "
1873 rows × 6 columns
\n", "\n", " | Time | \n", "BID_PRICE | \n", "BID_UPDATE_TIME | \n", "BID_SIZE | \n", "ASK_PRICE | \n", "ASK_UPDATE_TIME | \n", "ASK_SIZE | \n", "LEVEL | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00.000000000 | \n", "11896.75 | \n", "2023-03-02 09:59:59.994670829 | \n", "6 | \n", "11897.00 | \n", "2023-03-02 09:59:59.993541965 | \n", "1 | \n", "1 | \n", "
1 | \n", "2023-03-02 10:00:00.000000000 | \n", "11896.50 | \n", "2023-03-02 09:59:59.952449109 | \n", "10 | \n", "11897.25 | \n", "2023-03-02 09:59:59.874850291 | \n", "6 | \n", "2 | \n", "
2 | \n", "2023-03-02 10:00:00.000000000 | \n", "11896.25 | \n", "2023-03-02 09:59:59.952450505 | \n", "14 | \n", "11897.50 | \n", "2023-03-02 09:59:59.859827385 | \n", "8 | \n", "3 | \n", "
3 | \n", "2023-03-02 10:00:00.000348579 | \n", "11896.75 | \n", "2023-03-02 09:59:59.994670829 | \n", "6 | \n", "11897.25 | \n", "2023-03-02 09:59:59.874850291 | \n", "6 | \n", "1 | \n", "
4 | \n", "2023-03-02 10:00:00.000348579 | \n", "11896.50 | \n", "2023-03-02 09:59:59.952449109 | \n", "10 | \n", "11897.50 | \n", "2023-03-02 09:59:59.859827385 | \n", "8 | \n", "2 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
766 | \n", "2023-03-02 10:00:00.098763587 | \n", "11897.25 | \n", "2023-03-02 10:00:00.096910329 | \n", "11 | \n", "11898.00 | \n", "2023-03-02 10:00:00.084378527 | \n", "8 | \n", "2 | \n", "
767 | \n", "2023-03-02 10:00:00.098763587 | \n", "11897.00 | \n", "2023-03-02 10:00:00.007823277 | \n", "11 | \n", "11898.25 | \n", "2023-03-02 10:00:00.063950379 | \n", "10 | \n", "3 | \n", "
768 | \n", "2023-03-02 10:00:00.098859719 | \n", "11897.50 | \n", "2023-03-02 10:00:00.098859719 | \n", "2 | \n", "11897.75 | \n", "2023-03-02 10:00:00.098763587 | \n", "3 | \n", "1 | \n", "
769 | \n", "2023-03-02 10:00:00.098859719 | \n", "11897.25 | \n", "2023-03-02 10:00:00.096910329 | \n", "11 | \n", "11898.00 | \n", "2023-03-02 10:00:00.084378527 | \n", "8 | \n", "2 | \n", "
770 | \n", "2023-03-02 10:00:00.098859719 | \n", "11897.00 | \n", "2023-03-02 10:00:00.007823277 | \n", "11 | \n", "11898.25 | \n", "2023-03-02 10:00:00.063950379 | \n", "10 | \n", "3 | \n", "
771 rows × 8 columns
\n", "\n", " | Time | \n", "ask_vol | \n", "bid_vol | \n", "imb | \n", "
---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00.000000000 | \n", "15 | \n", "30 | \n", "0.333333 | \n", "
1 | \n", "2023-03-02 10:00:00.000348579 | \n", "26 | \n", "30 | \n", "0.071429 | \n", "
2 | \n", "2023-03-02 10:00:00.000686591 | \n", "26 | \n", "31 | \n", "0.087719 | \n", "
3 | \n", "2023-03-02 10:00:00.000704727 | \n", "25 | \n", "31 | \n", "0.107143 | \n", "
4 | \n", "2023-03-02 10:00:00.001020191 | \n", "14 | \n", "31 | \n", "0.377778 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
252 | \n", "2023-03-02 10:00:00.096853133 | \n", "22 | \n", "32 | \n", "0.185185 | \n", "
253 | \n", "2023-03-02 10:00:00.096910329 | \n", "22 | \n", "33 | \n", "0.200000 | \n", "
254 | \n", "2023-03-02 10:00:00.098742231 | \n", "22 | \n", "23 | \n", "0.022222 | \n", "
255 | \n", "2023-03-02 10:00:00.098763587 | \n", "21 | \n", "23 | \n", "0.045455 | \n", "
256 | \n", "2023-03-02 10:00:00.098859719 | \n", "21 | \n", "24 | \n", "0.066667 | \n", "
257 rows × 4 columns
\n", "\n", " | Time | \n", "tw_imb | \n", "mean | \n", "stdev | \n", "
---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00.100 | \n", "0.079144 | \n", "0.000367 | \n", "0.1479 | \n", "
\n", " | Time | \n", "PRICE | \n", "UPDATE_TIME | \n", "SIZE | \n", "LEVEL | \n", "BUY_SELL_FLAG | \n", "
---|---|---|---|---|---|---|
0 | \n", "2023-03-02 10:00:00 | \n", "11897.00 | \n", "2023-03-02 09:59:59.993541965 | \n", "1 | \n", "1 | \n", "1 | \n", "
1 | \n", "2023-03-02 10:00:00 | \n", "11897.25 | \n", "2023-03-02 09:59:59.874850291 | \n", "6 | \n", "2 | \n", "1 | \n", "
2 | \n", "2023-03-02 10:00:00 | \n", "11897.50 | \n", "2023-03-02 09:59:59.859827385 | \n", "8 | \n", "3 | \n", "1 | \n", "
3 | \n", "2023-03-02 10:00:00 | \n", "11897.75 | \n", "2023-03-02 09:59:59.854529351 | \n", "12 | \n", "4 | \n", "1 | \n", "
4 | \n", "2023-03-02 10:00:00 | \n", "11898.00 | \n", "2023-03-02 09:59:59.871411363 | \n", "11 | \n", "5 | \n", "1 | \n", "
5 | \n", "2023-03-02 10:00:00 | \n", "11898.25 | \n", "2023-03-02 09:59:59.865033659 | \n", "14 | \n", "6 | \n", "1 | \n", "
6 | \n", "2023-03-02 10:00:00 | \n", "11898.50 | \n", "2023-03-02 09:59:59.852086241 | \n", "13 | \n", "7 | \n", "1 | \n", "
7 | \n", "2023-03-02 10:00:00 | \n", "11898.75 | \n", "2023-03-02 09:59:59.853624043 | \n", "18 | \n", "8 | \n", "1 | \n", "
8 | \n", "2023-03-02 10:00:00 | \n", "11899.00 | \n", "2023-03-02 09:59:59.850077075 | \n", "16 | \n", "9 | \n", "1 | \n", "
9 | \n", "2023-03-02 10:00:00 | \n", "11899.25 | \n", "2023-03-02 09:59:59.963769599 | \n", "14 | \n", "10 | \n", "1 | \n", "
10 | \n", "2023-03-02 10:00:00 | \n", "11896.75 | \n", "2023-03-02 09:59:59.994670829 | \n", "6 | \n", "1 | \n", "0 | \n", "
11 | \n", "2023-03-02 10:00:00 | \n", "11896.50 | \n", "2023-03-02 09:59:59.952449109 | \n", "10 | \n", "2 | \n", "0 | \n", "
12 | \n", "2023-03-02 10:00:00 | \n", "11896.25 | \n", "2023-03-02 09:59:59.952450505 | \n", "14 | \n", "3 | \n", "0 | \n", "
13 | \n", "2023-03-02 10:00:00 | \n", "11896.00 | \n", "2023-03-02 09:59:59.952451831 | \n", "12 | \n", "4 | \n", "0 | \n", "
14 | \n", "2023-03-02 10:00:00 | \n", "11895.75 | \n", "2023-03-02 09:59:59.854319345 | \n", "12 | \n", "5 | \n", "0 | \n", "
15 | \n", "2023-03-02 10:00:00 | \n", "11895.50 | \n", "2023-03-02 09:59:59.851075041 | \n", "11 | \n", "6 | \n", "0 | \n", "
16 | \n", "2023-03-02 10:00:00 | \n", "11895.25 | \n", "2023-03-02 09:59:59.850647593 | \n", "13 | \n", "7 | \n", "0 | \n", "
17 | \n", "2023-03-02 10:00:00 | \n", "11895.00 | \n", "2023-03-02 09:59:59.851678883 | \n", "18 | \n", "8 | \n", "0 | \n", "
18 | \n", "2023-03-02 10:00:00 | \n", "11894.75 | \n", "2023-03-02 09:59:59.876564849 | \n", "16 | \n", "9 | \n", "0 | \n", "
19 | \n", "2023-03-02 10:00:00 | \n", "11894.50 | \n", "2023-03-02 09:59:59.867135353 | \n", "16 | \n", "10 | \n", "0 | \n", "
\n", " | ORDER_ID | \n", "PRICE | \n", "LEVEL | \n", "TIME_PRIORITY | \n", "SIZE | \n", "BUY_SELL_FLAG | \n", "ORDER_TYPE | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "6842044209391 | \n", "11896.75 | \n", "1 | \n", "57348279036 | \n", "1 | \n", "0 | \n", "L | \n", "
1 | \n", "6842044209397 | \n", "11896.75 | \n", "1 | \n", "57348279042 | \n", "1 | \n", "0 | \n", "L | \n", "
2 | \n", "6842044209501 | \n", "11896.75 | \n", "1 | \n", "57348279189 | \n", "2 | \n", "0 | \n", "L | \n", "
3 | \n", "6842044209509 | \n", "11896.75 | \n", "1 | \n", "57348279199 | \n", "1 | \n", "0 | \n", "L | \n", "
4 | \n", "6842044103605 | \n", "11896.75 | \n", "1 | \n", "57348279337 | \n", "1 | \n", "0 | \n", "L | \n", "