{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "ad42f7ef", "metadata": {}, "source": [ "# Data Retrieval" ] }, { "cell_type": "code", "execution_count": 1, "id": "5ca97d77-33b0-4137-b028-8b75598443d7", "metadata": {}, "outputs": [], "source": [ "import onetick.py as otp" ] }, { "cell_type": "code", "execution_count": 2, "id": "ac3bc9d1-a7fa-442a-a296-85915dd6b734", "metadata": {}, "outputs": [], "source": [ "otp.config['tz'] = 'EST5EDT'" ] }, { "cell_type": "markdown", "id": "1ceb704d-c4cd-4cc3-965a-b8596bde08d0", "metadata": {}, "source": [ "OneTick is a time series database meaning that each record has a timestamp and timestamps of consecutive records are non-decreasing. Multiple time series are stored in OneTick. An individual time series is identified by the symbol (aka ticker, financial instrument, security), tick type (i.e., the type of data such as trades or quotes), and the name of the database where the time series is stored." ] }, { "cell_type": "code", "execution_count": 3, "id": "fa14e1fa-a1c7-458b-90f5-4741058ea8ac", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['ACTIV_ALPHA', 'ACTIV_CANADA', 'ACTIV_CSE', 'ACTIV_CSE2', 'ACTIV_CX2']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# you can retrieve the list of databases available\n", "dbs = otp.databases()\n", "list(dbs)[:5]" ] }, { "cell_type": "code", "execution_count": 4, "id": "01eb7800-2d4f-43a9-8835-f1062e87bba2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[datetime.date(2023, 4, 7),\n", " datetime.date(2023, 4, 8),\n", " datetime.date(2023, 4, 9),\n", " datetime.date(2023, 4, 10),\n", " datetime.date(2023, 4, 11)]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the list of dates with data for the db\n", "dbs['ACTIV_CANADA'].dates()[-5:]" ] }, { "cell_type": "code", "execution_count": 5, "id": "90557e70-7808-4df8-9366-92e88a7d1db2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "datetime.date(2023, 4, 11)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# or just the last day with data\n", "dbs['ACTIV_CANADA'].last_date" ] }, { "cell_type": "code", "execution_count": 6, "id": "39d6e0af-f219-4439-841e-5f39b4ecdbf1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['DAY', 'QTE', 'STAT', 'TRD']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# and the list of tick types\n", "dbs['ACTIV_CANADA'].tick_types()" ] }, { "cell_type": "markdown", "id": "b5e390ca-8396-41ba-97c0-afa0a4427ef8", "metadata": {}, "source": [ "We can now retrieve symbols traded in a given time range. (In many financial markets, there are properties that remain constant throughout the trading day. Examples include the name of a financial instrument and the set of instruments traded)." ] }, { "cell_type": "code", "execution_count": 7, "id": "fe30bf21-201c-4ac8-949e-3dc13e8e2e48", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Time | \n", "SYMBOL_NAME | \n", "
---|---|---|
0 | \n", "2023-04-11 | \n", "A.H | \n", "
1 | \n", "2023-04-11 | \n", "AAA.P | \n", "
2 | \n", "2023-04-11 | \n", "AAAJ.P | \n", "
3 | \n", "2023-04-11 | \n", "AAB | \n", "
4 | \n", "2023-04-11 | \n", "AAC.P | \n", "
... | \n", "... | \n", "... | \n", "
5733 | \n", "2023-04-11 | \n", "ZYZ.SB.A | \n", "
5734 | \n", "2023-04-11 | \n", "ZYZ.UN.U | \n", "
5735 | \n", "2023-04-11 | \n", "ZZE.H | \n", "
5736 | \n", "2023-04-11 | \n", "ZZZ | \n", "
5737 | \n", "2023-04-11 | \n", "ZZZD | \n", "
5738 rows × 2 columns
\n", "\n", " | Time | \n", "EXCHANGE | \n", "COND | \n", "STOP_STOCK | \n", "SOURCE | \n", "TRF | \n", "TTE | \n", "TICKER | \n", "PRICE | \n", "DELETED_TIME | \n", "TICK_STATUS | \n", "SIZE | \n", "CORR | \n", "SEQ_NUM | \n", "TRADE_ID | \n", "PARTICIPANT_TIME | \n", "TRF_TIME | \n", "OMDSEQ | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2023-03-29 09:30:00.000877568 | \n", "P | \n", "T | \n", "N | \n", "C | \n", "\n", " | 0 | \n", "SPY | \n", "399.9200 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "400 | \n", "0 | \n", "82274 | \n", "52983525290315 | \n", "2023-03-29 09:30:00.000854016 | \n", "1969-12-31 19:00:00.000000000 | \n", "0 | \n", "
1 | \n", "2023-03-29 09:30:00.001151232 | \n", "T | \n", "T | \n", "N | \n", "C | \n", "\n", " | 0 | \n", "SPY | \n", "399.9200 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "1000 | \n", "0 | \n", "82280 | \n", "62879132897848 | \n", "2023-03-29 09:30:00.000801064 | \n", "1969-12-31 19:00:00.000000000 | \n", "0 | \n", "
2 | \n", "2023-03-29 09:30:00.001154304 | \n", "T | \n", "T | \n", "N | \n", "C | \n", "\n", " | 0 | \n", "SPY | \n", "399.9200 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "1000 | \n", "0 | \n", "82281 | \n", "62879132897849 | \n", "2023-03-29 09:30:00.000801064 | \n", "1969-12-31 19:00:00.000000000 | \n", "1 | \n", "
3 | \n", "2023-03-29 09:30:00.001921280 | \n", "T | \n", "T | \n", "N | \n", "C | \n", "\n", " | 0 | \n", "SPY | \n", "399.9300 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "657 | \n", "0 | \n", "82282 | \n", "62879132897891 | \n", "2023-03-29 09:30:00.001574348 | \n", "1969-12-31 19:00:00.000000000 | \n", "2 | \n", "
4 | \n", "2023-03-29 09:30:00.010831360 | \n", "Z | \n", "F | \n", "N | \n", "C | \n", "\n", " | 1 | \n", "SPY | \n", "399.9250 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "100 | \n", "0 | \n", "82401 | \n", "52983525039159 | \n", "2023-03-29 09:30:00.010560000 | \n", "1969-12-31 19:00:00.000000000 | \n", "0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
73249 | \n", "2023-03-29 09:59:59.690966784 | \n", "D | \n", "I | \n", "N | \n", "C | \n", "T | \n", "0 | \n", "SPY | \n", "399.8582 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "3 | \n", "0 | \n", "301129 | \n", "71675710421041 | \n", "2023-03-29 09:59:59.690309443 | \n", "2023-03-29 09:59:59.690612916 | \n", "0 | \n", "
73250 | \n", "2023-03-29 09:59:59.697699840 | \n", "D | \n", "I | \n", "N | \n", "C | \n", "N | \n", "0 | \n", "SPY | \n", "399.8424 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "5 | \n", "0 | \n", "301131 | \n", "79371887987030 | \n", "2023-03-29 09:59:59.696245391 | \n", "2023-03-29 09:59:59.697677652 | \n", "0 | \n", "
73251 | \n", "2023-03-29 09:59:59.707425024 | \n", "D | \n", "I | \n", "N | \n", "C | \n", "T | \n", "0 | \n", "SPY | \n", "399.8600 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "1 | \n", "0 | \n", "301132 | \n", "71675710421059 | \n", "2023-03-29 09:59:59.633000000 | \n", "2023-03-29 09:59:59.707071825 | \n", "0 | \n", "
73252 | \n", "2023-03-29 09:59:59.928770304 | \n", "D | \n", "I | \n", "N | \n", "C | \n", "T | \n", "0 | \n", "SPY | \n", "399.8600 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "1 | \n", "0 | \n", "301136 | \n", "71675710423605 | \n", "2023-03-29 09:59:59.897000000 | \n", "2023-03-29 09:59:59.928417034 | \n", "0 | \n", "
73253 | \n", "2023-03-29 09:59:59.949504768 | \n", "D | \n", "I | \n", "N | \n", "C | \n", "T | \n", "0 | \n", "SPY | \n", "399.8500 | \n", "1969-12-31 19:00:00 | \n", "0 | \n", "35 | \n", "0 | \n", "301138 | \n", "71675710423626 | \n", "2023-03-29 09:59:59.948898628 | \n", "2023-03-29 09:59:59.949147444 | \n", "0 | \n", "
73254 rows × 18 columns
\n", "\n", " | Time | \n", "PRICE | \n", "SIZE | \n", "COND | \n", "EXCHANGE | \n", "
---|---|---|---|---|---|
0 | \n", "2023-03-29 09:30:00.000877568 | \n", "399.9200 | \n", "400 | \n", "T | \n", "P | \n", "
1 | \n", "2023-03-29 09:30:00.001151232 | \n", "399.9200 | \n", "1000 | \n", "T | \n", "T | \n", "
2 | \n", "2023-03-29 09:30:00.001154304 | \n", "399.9200 | \n", "1000 | \n", "T | \n", "T | \n", "
3 | \n", "2023-03-29 09:30:00.001921280 | \n", "399.9300 | \n", "657 | \n", "T | \n", "T | \n", "
4 | \n", "2023-03-29 09:30:00.010831360 | \n", "399.9250 | \n", "100 | \n", "F | \n", "Z | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
73249 | \n", "2023-03-29 09:59:59.690966784 | \n", "399.8582 | \n", "3 | \n", "I | \n", "D | \n", "
73250 | \n", "2023-03-29 09:59:59.697699840 | \n", "399.8424 | \n", "5 | \n", "I | \n", "D | \n", "
73251 | \n", "2023-03-29 09:59:59.707425024 | \n", "399.8600 | \n", "1 | \n", "I | \n", "D | \n", "
73252 | \n", "2023-03-29 09:59:59.928770304 | \n", "399.8600 | \n", "1 | \n", "I | \n", "D | \n", "
73253 | \n", "2023-03-29 09:59:59.949504768 | \n", "399.8500 | \n", "35 | \n", "I | \n", "D | \n", "
73254 rows × 5 columns
\n", "\n", " | Time | \n", "PRICE | \n", "SIZE | \n", "COND | \n", "EXCHANGE | \n", "
---|---|---|---|---|---|
0 | \n", "2023-03-29 09:30:00.004574216 | \n", "310.880 | \n", "484 | \n", "@F | \n", "Z | \n", "
1 | \n", "2023-03-29 09:30:00.041854238 | \n", "310.880 | \n", "100 | \n", "@ | \n", "P | \n", "
2 | \n", "2023-03-29 09:30:00.041854358 | \n", "310.880 | \n", "100 | \n", "@ Q | \n", "P | \n", "
3 | \n", "2023-03-29 09:30:00.079583114 | \n", "310.900 | \n", "50 | \n", "@ I | \n", "J | \n", "
4 | \n", "2023-03-29 09:30:00.079611884 | \n", "310.900 | \n", "50 | \n", "@ I | \n", "Y | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
409494 | \n", "2023-03-29 15:59:59.974708442 | \n", "312.810 | \n", "38 | \n", "@ I | \n", "Q | \n", "
409495 | \n", "2023-03-29 15:59:59.988868197 | \n", "312.810 | \n", "32 | \n", "@F I | \n", "X | \n", "
409496 | \n", "2023-03-29 15:59:59.988872215 | \n", "312.805 | \n", "200 | \n", "@F | \n", "Q | \n", "
409497 | \n", "2023-03-29 15:59:59.988874072 | \n", "312.810 | \n", "49 | \n", "@F I | \n", "Q | \n", "
409498 | \n", "2023-03-29 15:59:59.989201372 | \n", "312.810 | \n", "600 | \n", "@F | \n", "K | \n", "
409499 rows × 5 columns
\n", "\n", " | Time | \n", "PRICE | \n", "SIZE | \n", "COND | \n", "EXCHANGE | \n", "SYMBOL_NAME | \n", "TICK_TYPE | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "2023-03-29 09:30:00.000877568 | \n", "399.92 | \n", "400 | \n", "T | \n", "P | \n", "SPY | \n", "TRD | \n", "
1 | \n", "2023-03-29 09:30:00.001151232 | \n", "399.92 | \n", "1000 | \n", "T | \n", "T | \n", "SPY | \n", "TRD | \n", "
2 | \n", "2023-03-29 09:30:00.001154304 | \n", "399.92 | \n", "1000 | \n", "T | \n", "T | \n", "SPY | \n", "TRD | \n", "
3 | \n", "2023-03-29 09:30:00.001921280 | \n", "399.93 | \n", "657 | \n", "T | \n", "T | \n", "SPY | \n", "TRD | \n", "
4 | \n", "2023-03-29 09:30:00.004574216 | \n", "310.88 | \n", "484 | \n", "@F | \n", "Z | \n", "QQQ | \n", "TRD | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
947108 | \n", "2023-03-29 15:59:59.994555136 | \n", "401.35 | \n", "643 | \n", "F | \n", "P | \n", "SPY | \n", "TRD | \n", "
947109 | \n", "2023-03-29 15:59:59.995045376 | \n", "401.35 | \n", "900 | \n", "F | \n", "P | \n", "SPY | \n", "TRD | \n", "
947110 | \n", "2023-03-29 15:59:59.997313024 | \n", "401.34 | \n", "100 | \n", "\n", " | Z | \n", "SPY | \n", "TRD | \n", "
947111 | \n", "2023-03-29 15:59:59.997354752 | \n", "401.34 | \n", "498 | \n", "\n", " | N | \n", "SPY | \n", "TRD | \n", "
947112 | \n", "2023-03-29 15:59:59.997406208 | \n", "401.34 | \n", "200 | \n", "\n", " | T | \n", "SPY | \n", "TRD | \n", "
947113 rows × 7 columns
\n", "