jupyter_gpu/tensorflow/notebooks/Loading Market Data Example.ipynb

1222 lines
45 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "89251b34-9738-4fa3-b2db-7d6a7dde7d48",
"metadata": {},
"outputs": [],
"source": [
"import sqlite3\n",
"import pandas as pd\n",
"from datetime import datetime\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "0ecd2b95-b212-44a4-ac15-ff7aa4f032f9",
"metadata": {},
"source": [
"### Here you the database file containing 1 day of 1min data\n",
"The name of the file contains the date."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "eb24b805-ee73-4db4-b1de-0c43bea7d86f",
"metadata": {},
"outputs": [],
"source": [
"mktdata_db_file = \"/workspace/data/crypto_md/20240602.mktdata.ohlcv.db\""
]
},
{
"cell_type": "markdown",
"id": "b2b7808c-1c78-49cb-9081-bde325b4f30a",
"metadata": {},
"source": [
"### Simple query that gets everything into DataFrame"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "8dcb0ec1-4e55-4d13-91fc-57c24fac6460",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tstamp</th>\n",
" <th>exchange_id</th>\n",
" <th>instrument_id</th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>vwap</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1717286400000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67719.2900</td>\n",
" <td>67721.7300</td>\n",
" <td>67708.1100</td>\n",
" <td>67719.9600</td>\n",
" <td>1.888240</td>\n",
" <td>67713.845756</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1717286460000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67714.1600</td>\n",
" <td>67717.3500</td>\n",
" <td>67707.6800</td>\n",
" <td>67709.8800</td>\n",
" <td>0.655358</td>\n",
" <td>67712.153017</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1717286520000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67709.8800</td>\n",
" <td>67709.8800</td>\n",
" <td>67689.7000</td>\n",
" <td>67691.3100</td>\n",
" <td>1.001506</td>\n",
" <td>67697.965852</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1717286580000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67692.3300</td>\n",
" <td>67713.0600</td>\n",
" <td>67691.2200</td>\n",
" <td>67713.0600</td>\n",
" <td>5.652547</td>\n",
" <td>67695.441479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1717286640000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67713.0600</td>\n",
" <td>67721.3300</td>\n",
" <td>67710.7700</td>\n",
" <td>67715.0500</td>\n",
" <td>2.997525</td>\n",
" <td>67715.683416</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5755</th>\n",
" <td>1717372500000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5136</td>\n",
" <td>0.5134</td>\n",
" <td>0.5136</td>\n",
" <td>2505.022090</td>\n",
" <td>0.513596</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5756</th>\n",
" <td>1717372560000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5135</td>\n",
" <td>0.5134</td>\n",
" <td>0.5134</td>\n",
" <td>5612.821763</td>\n",
" <td>0.513489</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5757</th>\n",
" <td>1717372620000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5134</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5133</td>\n",
" <td>5503.452073</td>\n",
" <td>0.513377</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5758</th>\n",
" <td>1717372680000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5133</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5134</td>\n",
" <td>3925.979599</td>\n",
" <td>0.513428</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5759</th>\n",
" <td>1717372740000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5133</td>\n",
" <td>21244.669839</td>\n",
" <td>0.513309</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5760 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" tstamp exchange_id instrument_id open high \\\n",
"0 1717286400000000000 COINBASE PAIR-BTC-USD 67719.2900 67721.7300 \n",
"1 1717286460000000000 COINBASE PAIR-BTC-USD 67714.1600 67717.3500 \n",
"2 1717286520000000000 COINBASE PAIR-BTC-USD 67709.8800 67709.8800 \n",
"3 1717286580000000000 COINBASE PAIR-BTC-USD 67692.3300 67713.0600 \n",
"4 1717286640000000000 COINBASE PAIR-BTC-USD 67713.0600 67721.3300 \n",
"... ... ... ... ... ... \n",
"5755 1717372500000000000 COINBASE PAIR-XRP-USD 0.5135 0.5136 \n",
"5756 1717372560000000000 COINBASE PAIR-XRP-USD 0.5135 0.5135 \n",
"5757 1717372620000000000 COINBASE PAIR-XRP-USD 0.5134 0.5135 \n",
"5758 1717372680000000000 COINBASE PAIR-XRP-USD 0.5133 0.5135 \n",
"5759 1717372740000000000 COINBASE PAIR-XRP-USD 0.5135 0.5135 \n",
"\n",
" low close volume vwap \n",
"0 67708.1100 67719.9600 1.888240 67713.845756 \n",
"1 67707.6800 67709.8800 0.655358 67712.153017 \n",
"2 67689.7000 67691.3100 1.001506 67697.965852 \n",
"3 67691.2200 67713.0600 5.652547 67695.441479 \n",
"4 67710.7700 67715.0500 2.997525 67715.683416 \n",
"... ... ... ... ... \n",
"5755 0.5134 0.5136 2505.022090 0.513596 \n",
"5756 0.5134 0.5134 5612.821763 0.513489 \n",
"5757 0.5133 0.5133 5503.452073 0.513377 \n",
"5758 0.5133 0.5134 3925.979599 0.513428 \n",
"5759 0.5133 0.5133 21244.669839 0.513309 \n",
"\n",
"[5760 rows x 9 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"db_conn = sqlite3.connect(mktdata_db_file)\n",
"\n",
"df = pd.read_sql_query(\"select * from coinbase_ohlcv_1min\", db_conn)\n",
"df"
]
},
{
"cell_type": "markdown",
"id": "a01c3aad-7e84-41ce-a835-06f35bd65668",
"metadata": {},
"source": [
"### Timestamp is not very convenient, so we can make it look nicer"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "c00fce97-69d0-47d2-be97-410d8c826292",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tstamp</th>\n",
" <th>exchange_id</th>\n",
" <th>instrument_id</th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>vwap</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2024-06-02 00:00:00</th>\n",
" <td>1717286400000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67719.2900</td>\n",
" <td>67721.7300</td>\n",
" <td>67708.1100</td>\n",
" <td>67719.9600</td>\n",
" <td>1.888240</td>\n",
" <td>67713.845756</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:01:00</th>\n",
" <td>1717286460000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67714.1600</td>\n",
" <td>67717.3500</td>\n",
" <td>67707.6800</td>\n",
" <td>67709.8800</td>\n",
" <td>0.655358</td>\n",
" <td>67712.153017</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:02:00</th>\n",
" <td>1717286520000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67709.8800</td>\n",
" <td>67709.8800</td>\n",
" <td>67689.7000</td>\n",
" <td>67691.3100</td>\n",
" <td>1.001506</td>\n",
" <td>67697.965852</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:03:00</th>\n",
" <td>1717286580000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67692.3300</td>\n",
" <td>67713.0600</td>\n",
" <td>67691.2200</td>\n",
" <td>67713.0600</td>\n",
" <td>5.652547</td>\n",
" <td>67695.441479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:04:00</th>\n",
" <td>1717286640000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67713.0600</td>\n",
" <td>67721.3300</td>\n",
" <td>67710.7700</td>\n",
" <td>67715.0500</td>\n",
" <td>2.997525</td>\n",
" <td>67715.683416</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:55:00</th>\n",
" <td>1717372500000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5136</td>\n",
" <td>0.5134</td>\n",
" <td>0.5136</td>\n",
" <td>2505.022090</td>\n",
" <td>0.513596</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:56:00</th>\n",
" <td>1717372560000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5135</td>\n",
" <td>0.5134</td>\n",
" <td>0.5134</td>\n",
" <td>5612.821763</td>\n",
" <td>0.513489</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:57:00</th>\n",
" <td>1717372620000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5134</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5133</td>\n",
" <td>5503.452073</td>\n",
" <td>0.513377</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:58:00</th>\n",
" <td>1717372680000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5133</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5134</td>\n",
" <td>3925.979599</td>\n",
" <td>0.513428</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:59:00</th>\n",
" <td>1717372740000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5133</td>\n",
" <td>21244.669839</td>\n",
" <td>0.513309</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5760 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" tstamp exchange_id instrument_id \\\n",
"timestamp \n",
"2024-06-02 00:00:00 1717286400000000000 COINBASE PAIR-BTC-USD \n",
"2024-06-02 00:01:00 1717286460000000000 COINBASE PAIR-BTC-USD \n",
"2024-06-02 00:02:00 1717286520000000000 COINBASE PAIR-BTC-USD \n",
"2024-06-02 00:03:00 1717286580000000000 COINBASE PAIR-BTC-USD \n",
"2024-06-02 00:04:00 1717286640000000000 COINBASE PAIR-BTC-USD \n",
"... ... ... ... \n",
"2024-06-02 23:55:00 1717372500000000000 COINBASE PAIR-XRP-USD \n",
"2024-06-02 23:56:00 1717372560000000000 COINBASE PAIR-XRP-USD \n",
"2024-06-02 23:57:00 1717372620000000000 COINBASE PAIR-XRP-USD \n",
"2024-06-02 23:58:00 1717372680000000000 COINBASE PAIR-XRP-USD \n",
"2024-06-02 23:59:00 1717372740000000000 COINBASE PAIR-XRP-USD \n",
"\n",
" open high low close \\\n",
"timestamp \n",
"2024-06-02 00:00:00 67719.2900 67721.7300 67708.1100 67719.9600 \n",
"2024-06-02 00:01:00 67714.1600 67717.3500 67707.6800 67709.8800 \n",
"2024-06-02 00:02:00 67709.8800 67709.8800 67689.7000 67691.3100 \n",
"2024-06-02 00:03:00 67692.3300 67713.0600 67691.2200 67713.0600 \n",
"2024-06-02 00:04:00 67713.0600 67721.3300 67710.7700 67715.0500 \n",
"... ... ... ... ... \n",
"2024-06-02 23:55:00 0.5135 0.5136 0.5134 0.5136 \n",
"2024-06-02 23:56:00 0.5135 0.5135 0.5134 0.5134 \n",
"2024-06-02 23:57:00 0.5134 0.5135 0.5133 0.5133 \n",
"2024-06-02 23:58:00 0.5133 0.5135 0.5133 0.5134 \n",
"2024-06-02 23:59:00 0.5135 0.5135 0.5133 0.5133 \n",
"\n",
" volume vwap \n",
"timestamp \n",
"2024-06-02 00:00:00 1.888240 67713.845756 \n",
"2024-06-02 00:01:00 0.655358 67712.153017 \n",
"2024-06-02 00:02:00 1.001506 67697.965852 \n",
"2024-06-02 00:03:00 5.652547 67695.441479 \n",
"2024-06-02 00:04:00 2.997525 67715.683416 \n",
"... ... ... \n",
"2024-06-02 23:55:00 2505.022090 0.513596 \n",
"2024-06-02 23:56:00 5612.821763 0.513489 \n",
"2024-06-02 23:57:00 5503.452073 0.513377 \n",
"2024-06-02 23:58:00 3925.979599 0.513428 \n",
"2024-06-02 23:59:00 21244.669839 0.513309 \n",
"\n",
"[5760 rows x 9 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"timestamp\"] = pd.to_datetime(df['tstamp'], unit='ns')\n",
"df.set_index(\"timestamp\", inplace=True)\n",
"df"
]
},
{
"cell_type": "markdown",
"id": "62b24872-8425-44d0-b37a-29792d88f20f",
"metadata": {},
"source": [
"### If you want individual instruments, you could create the function"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "75929164-87f7-4125-b20b-5de745b9b9c4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tstamp</th>\n",
" <th>exchange_id</th>\n",
" <th>instrument_id</th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>vwap</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2024-06-02 00:00:00</th>\n",
" <td>1717286400000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67719.29</td>\n",
" <td>67721.73</td>\n",
" <td>67708.11</td>\n",
" <td>67719.96</td>\n",
" <td>1.888240</td>\n",
" <td>67713.845756</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:01:00</th>\n",
" <td>1717286460000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67714.16</td>\n",
" <td>67717.35</td>\n",
" <td>67707.68</td>\n",
" <td>67709.88</td>\n",
" <td>0.655358</td>\n",
" <td>67712.153017</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:02:00</th>\n",
" <td>1717286520000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67709.88</td>\n",
" <td>67709.88</td>\n",
" <td>67689.70</td>\n",
" <td>67691.31</td>\n",
" <td>1.001506</td>\n",
" <td>67697.965852</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:03:00</th>\n",
" <td>1717286580000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67692.33</td>\n",
" <td>67713.06</td>\n",
" <td>67691.22</td>\n",
" <td>67713.06</td>\n",
" <td>5.652547</td>\n",
" <td>67695.441479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:04:00</th>\n",
" <td>1717286640000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67713.06</td>\n",
" <td>67721.33</td>\n",
" <td>67710.77</td>\n",
" <td>67715.05</td>\n",
" <td>2.997525</td>\n",
" <td>67715.683416</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:55:00</th>\n",
" <td>1717372500000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67757.09</td>\n",
" <td>67757.26</td>\n",
" <td>67750.32</td>\n",
" <td>67753.93</td>\n",
" <td>0.326117</td>\n",
" <td>67753.207138</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:56:00</th>\n",
" <td>1717372560000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67755.00</td>\n",
" <td>67761.34</td>\n",
" <td>67735.05</td>\n",
" <td>67755.35</td>\n",
" <td>1.259457</td>\n",
" <td>67744.858199</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:57:00</th>\n",
" <td>1717372620000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67755.39</td>\n",
" <td>67759.88</td>\n",
" <td>67753.74</td>\n",
" <td>67757.49</td>\n",
" <td>0.429578</td>\n",
" <td>67757.147946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:58:00</th>\n",
" <td>1717372680000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67757.27</td>\n",
" <td>67759.90</td>\n",
" <td>67748.41</td>\n",
" <td>67750.71</td>\n",
" <td>0.683678</td>\n",
" <td>67756.292991</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:59:00</th>\n",
" <td>1717372740000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-BTC-USD</td>\n",
" <td>67752.14</td>\n",
" <td>67754.50</td>\n",
" <td>67725.25</td>\n",
" <td>67735.52</td>\n",
" <td>0.530943</td>\n",
" <td>67747.261494</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1440 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" tstamp exchange_id instrument_id open \\\n",
"timestamp \n",
"2024-06-02 00:00:00 1717286400000000000 COINBASE PAIR-BTC-USD 67719.29 \n",
"2024-06-02 00:01:00 1717286460000000000 COINBASE PAIR-BTC-USD 67714.16 \n",
"2024-06-02 00:02:00 1717286520000000000 COINBASE PAIR-BTC-USD 67709.88 \n",
"2024-06-02 00:03:00 1717286580000000000 COINBASE PAIR-BTC-USD 67692.33 \n",
"2024-06-02 00:04:00 1717286640000000000 COINBASE PAIR-BTC-USD 67713.06 \n",
"... ... ... ... ... \n",
"2024-06-02 23:55:00 1717372500000000000 COINBASE PAIR-BTC-USD 67757.09 \n",
"2024-06-02 23:56:00 1717372560000000000 COINBASE PAIR-BTC-USD 67755.00 \n",
"2024-06-02 23:57:00 1717372620000000000 COINBASE PAIR-BTC-USD 67755.39 \n",
"2024-06-02 23:58:00 1717372680000000000 COINBASE PAIR-BTC-USD 67757.27 \n",
"2024-06-02 23:59:00 1717372740000000000 COINBASE PAIR-BTC-USD 67752.14 \n",
"\n",
" high low close volume vwap \n",
"timestamp \n",
"2024-06-02 00:00:00 67721.73 67708.11 67719.96 1.888240 67713.845756 \n",
"2024-06-02 00:01:00 67717.35 67707.68 67709.88 0.655358 67712.153017 \n",
"2024-06-02 00:02:00 67709.88 67689.70 67691.31 1.001506 67697.965852 \n",
"2024-06-02 00:03:00 67713.06 67691.22 67713.06 5.652547 67695.441479 \n",
"2024-06-02 00:04:00 67721.33 67710.77 67715.05 2.997525 67715.683416 \n",
"... ... ... ... ... ... \n",
"2024-06-02 23:55:00 67757.26 67750.32 67753.93 0.326117 67753.207138 \n",
"2024-06-02 23:56:00 67761.34 67735.05 67755.35 1.259457 67744.858199 \n",
"2024-06-02 23:57:00 67759.88 67753.74 67757.49 0.429578 67757.147946 \n",
"2024-06-02 23:58:00 67759.90 67748.41 67750.71 0.683678 67756.292991 \n",
"2024-06-02 23:59:00 67754.50 67725.25 67735.52 0.530943 67747.261494 \n",
"\n",
"[1440 rows x 9 columns]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tstamp</th>\n",
" <th>exchange_id</th>\n",
" <th>instrument_id</th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>vwap</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2024-06-02 00:00:00</th>\n",
" <td>1717286400000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3812.49</td>\n",
" <td>3812.92</td>\n",
" <td>3812.48</td>\n",
" <td>3812.65</td>\n",
" <td>296.984283</td>\n",
" <td>3812.885799</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:01:00</th>\n",
" <td>1717286460000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3812.88</td>\n",
" <td>3812.92</td>\n",
" <td>3812.66</td>\n",
" <td>3812.92</td>\n",
" <td>22.584759</td>\n",
" <td>3812.885708</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:02:00</th>\n",
" <td>1717286520000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3812.92</td>\n",
" <td>3812.92</td>\n",
" <td>3812.17</td>\n",
" <td>3812.17</td>\n",
" <td>36.230701</td>\n",
" <td>3812.738323</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:03:00</th>\n",
" <td>1717286580000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3812.16</td>\n",
" <td>3813.17</td>\n",
" <td>3812.14</td>\n",
" <td>3813.17</td>\n",
" <td>66.984405</td>\n",
" <td>3812.827731</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:04:00</th>\n",
" <td>1717286640000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3813.16</td>\n",
" <td>3813.17</td>\n",
" <td>3813.13</td>\n",
" <td>3813.17</td>\n",
" <td>82.781325</td>\n",
" <td>3813.169087</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:55:00</th>\n",
" <td>1717372500000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3783.34</td>\n",
" <td>3784.43</td>\n",
" <td>3783.33</td>\n",
" <td>3783.57</td>\n",
" <td>17.409328</td>\n",
" <td>3783.902157</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:56:00</th>\n",
" <td>1717372560000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3783.57</td>\n",
" <td>3783.86</td>\n",
" <td>3782.20</td>\n",
" <td>3783.86</td>\n",
" <td>6.632875</td>\n",
" <td>3783.094935</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:57:00</th>\n",
" <td>1717372620000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3783.86</td>\n",
" <td>3783.94</td>\n",
" <td>3782.16</td>\n",
" <td>3782.18</td>\n",
" <td>7.826235</td>\n",
" <td>3782.958328</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:58:00</th>\n",
" <td>1717372680000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3782.23</td>\n",
" <td>3782.24</td>\n",
" <td>3779.83</td>\n",
" <td>3779.86</td>\n",
" <td>9.020492</td>\n",
" <td>3781.022292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:59:00</th>\n",
" <td>1717372740000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-ETH-USD</td>\n",
" <td>3779.86</td>\n",
" <td>3780.05</td>\n",
" <td>3778.26</td>\n",
" <td>3778.88</td>\n",
" <td>39.588810</td>\n",
" <td>3778.964208</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1440 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" tstamp exchange_id instrument_id open \\\n",
"timestamp \n",
"2024-06-02 00:00:00 1717286400000000000 COINBASE PAIR-ETH-USD 3812.49 \n",
"2024-06-02 00:01:00 1717286460000000000 COINBASE PAIR-ETH-USD 3812.88 \n",
"2024-06-02 00:02:00 1717286520000000000 COINBASE PAIR-ETH-USD 3812.92 \n",
"2024-06-02 00:03:00 1717286580000000000 COINBASE PAIR-ETH-USD 3812.16 \n",
"2024-06-02 00:04:00 1717286640000000000 COINBASE PAIR-ETH-USD 3813.16 \n",
"... ... ... ... ... \n",
"2024-06-02 23:55:00 1717372500000000000 COINBASE PAIR-ETH-USD 3783.34 \n",
"2024-06-02 23:56:00 1717372560000000000 COINBASE PAIR-ETH-USD 3783.57 \n",
"2024-06-02 23:57:00 1717372620000000000 COINBASE PAIR-ETH-USD 3783.86 \n",
"2024-06-02 23:58:00 1717372680000000000 COINBASE PAIR-ETH-USD 3782.23 \n",
"2024-06-02 23:59:00 1717372740000000000 COINBASE PAIR-ETH-USD 3779.86 \n",
"\n",
" high low close volume vwap \n",
"timestamp \n",
"2024-06-02 00:00:00 3812.92 3812.48 3812.65 296.984283 3812.885799 \n",
"2024-06-02 00:01:00 3812.92 3812.66 3812.92 22.584759 3812.885708 \n",
"2024-06-02 00:02:00 3812.92 3812.17 3812.17 36.230701 3812.738323 \n",
"2024-06-02 00:03:00 3813.17 3812.14 3813.17 66.984405 3812.827731 \n",
"2024-06-02 00:04:00 3813.17 3813.13 3813.17 82.781325 3813.169087 \n",
"... ... ... ... ... ... \n",
"2024-06-02 23:55:00 3784.43 3783.33 3783.57 17.409328 3783.902157 \n",
"2024-06-02 23:56:00 3783.86 3782.20 3783.86 6.632875 3783.094935 \n",
"2024-06-02 23:57:00 3783.94 3782.16 3782.18 7.826235 3782.958328 \n",
"2024-06-02 23:58:00 3782.24 3779.83 3779.86 9.020492 3781.022292 \n",
"2024-06-02 23:59:00 3780.05 3778.26 3778.88 39.588810 3778.964208 \n",
"\n",
"[1440 rows x 9 columns]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tstamp</th>\n",
" <th>exchange_id</th>\n",
" <th>instrument_id</th>\n",
" <th>open</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close</th>\n",
" <th>volume</th>\n",
" <th>vwap</th>\n",
" </tr>\n",
" <tr>\n",
" <th>timestamp</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2024-06-02 00:00:00</th>\n",
" <td>1717286400000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5184</td>\n",
" <td>0.5184</td>\n",
" <td>0.5180</td>\n",
" <td>0.5181</td>\n",
" <td>68137.158944</td>\n",
" <td>0.518082</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:01:00</th>\n",
" <td>1717286460000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5180</td>\n",
" <td>0.5182</td>\n",
" <td>0.5179</td>\n",
" <td>0.5182</td>\n",
" <td>3659.609883</td>\n",
" <td>0.518028</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:02:00</th>\n",
" <td>1717286520000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5182</td>\n",
" <td>0.5182</td>\n",
" <td>0.5179</td>\n",
" <td>0.5180</td>\n",
" <td>9693.379122</td>\n",
" <td>0.517920</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:03:00</th>\n",
" <td>1717286580000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5181</td>\n",
" <td>0.5184</td>\n",
" <td>0.5180</td>\n",
" <td>0.5184</td>\n",
" <td>8324.107832</td>\n",
" <td>0.518215</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 00:04:00</th>\n",
" <td>1717286640000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5184</td>\n",
" <td>0.5184</td>\n",
" <td>0.5183</td>\n",
" <td>0.5183</td>\n",
" <td>1482.065565</td>\n",
" <td>0.518348</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:55:00</th>\n",
" <td>1717372500000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5136</td>\n",
" <td>0.5134</td>\n",
" <td>0.5136</td>\n",
" <td>2505.022090</td>\n",
" <td>0.513596</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:56:00</th>\n",
" <td>1717372560000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5135</td>\n",
" <td>0.5134</td>\n",
" <td>0.5134</td>\n",
" <td>5612.821763</td>\n",
" <td>0.513489</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:57:00</th>\n",
" <td>1717372620000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5134</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5133</td>\n",
" <td>5503.452073</td>\n",
" <td>0.513377</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:58:00</th>\n",
" <td>1717372680000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5133</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5134</td>\n",
" <td>3925.979599</td>\n",
" <td>0.513428</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2024-06-02 23:59:00</th>\n",
" <td>1717372740000000000</td>\n",
" <td>COINBASE</td>\n",
" <td>PAIR-XRP-USD</td>\n",
" <td>0.5135</td>\n",
" <td>0.5135</td>\n",
" <td>0.5133</td>\n",
" <td>0.5133</td>\n",
" <td>21244.669839</td>\n",
" <td>0.513309</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1440 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" tstamp exchange_id instrument_id open \\\n",
"timestamp \n",
"2024-06-02 00:00:00 1717286400000000000 COINBASE PAIR-XRP-USD 0.5184 \n",
"2024-06-02 00:01:00 1717286460000000000 COINBASE PAIR-XRP-USD 0.5180 \n",
"2024-06-02 00:02:00 1717286520000000000 COINBASE PAIR-XRP-USD 0.5182 \n",
"2024-06-02 00:03:00 1717286580000000000 COINBASE PAIR-XRP-USD 0.5181 \n",
"2024-06-02 00:04:00 1717286640000000000 COINBASE PAIR-XRP-USD 0.5184 \n",
"... ... ... ... ... \n",
"2024-06-02 23:55:00 1717372500000000000 COINBASE PAIR-XRP-USD 0.5135 \n",
"2024-06-02 23:56:00 1717372560000000000 COINBASE PAIR-XRP-USD 0.5135 \n",
"2024-06-02 23:57:00 1717372620000000000 COINBASE PAIR-XRP-USD 0.5134 \n",
"2024-06-02 23:58:00 1717372680000000000 COINBASE PAIR-XRP-USD 0.5133 \n",
"2024-06-02 23:59:00 1717372740000000000 COINBASE PAIR-XRP-USD 0.5135 \n",
"\n",
" high low close volume vwap \n",
"timestamp \n",
"2024-06-02 00:00:00 0.5184 0.5180 0.5181 68137.158944 0.518082 \n",
"2024-06-02 00:01:00 0.5182 0.5179 0.5182 3659.609883 0.518028 \n",
"2024-06-02 00:02:00 0.5182 0.5179 0.5180 9693.379122 0.517920 \n",
"2024-06-02 00:03:00 0.5184 0.5180 0.5184 8324.107832 0.518215 \n",
"2024-06-02 00:04:00 0.5184 0.5183 0.5183 1482.065565 0.518348 \n",
"... ... ... ... ... ... \n",
"2024-06-02 23:55:00 0.5136 0.5134 0.5136 2505.022090 0.513596 \n",
"2024-06-02 23:56:00 0.5135 0.5134 0.5134 5612.821763 0.513489 \n",
"2024-06-02 23:57:00 0.5135 0.5133 0.5133 5503.452073 0.513377 \n",
"2024-06-02 23:58:00 0.5135 0.5133 0.5134 3925.979599 0.513428 \n",
"2024-06-02 23:59:00 0.5135 0.5133 0.5133 21244.669839 0.513309 \n",
"\n",
"[1440 rows x 9 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def get_instrument_md(instrument_id: str) -> pd.DataFrame:\n",
" query = f\"select * from coinbase_ohlcv_1min where instrument_id = '{instrument_id}'\"\n",
" df = pd.read_sql_query(query, db_conn)\n",
" df[\"timestamp\"] = pd.to_datetime(df['tstamp'], unit='ns')\n",
" df.set_index(\"timestamp\", inplace=True)\n",
" return df\n",
"\n",
"btc_df = get_instrument_md(instrument_id=\"PAIR-BTC-USD\")\n",
"eth_df = get_instrument_md(instrument_id=\"PAIR-ETH-USD\")\n",
"xrp_df = get_instrument_md(instrument_id=\"PAIR-XRP-USD\")\n",
"\n",
"from IPython.display import display\n",
"display(btc_df)\n",
"display(eth_df)\n",
"display(xrp_df)\n",
"\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.0rc1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}