Skip to content

Instantly share code, notes, and snippets.

@melardev
Created April 9, 2023 18:49
Show Gist options
  • Save melardev/2ebc761d1fe89853bdca881dd4d8cad7 to your computer and use it in GitHub Desktop.
Save melardev/2ebc761d1fe89853bdca881dd4d8cad7 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"source": [
"Traditional VWAP is computed per interval, the interval is one day, we may rather want to compute VWAP starting for a specific period of time, for instance, from a specific point(swing low/high, news, earnings, etc.) to current time, and not to be bound to one day.\n",
"\n",
"# References\n",
"- https://www.youtube.com/watch?v=8o6HOdUzaQY&ab_channel=DataForTraders\n",
"- https://school.stockcharts.com/doku.php?id=technical_indicators:anchored_vwap\n",
"- https://blog.dhan.co/the-complete-guide-to-anchored-vwap-indicator/"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 100,
"outputs": [],
"source": [
"import datetime\n",
"import time\n",
"\n",
"import pandas as pd\n",
"import pandas_ta as ta\n",
"import plotly.graph_objects as go\n",
"import pytz\n",
"import requests"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:26.844937Z",
"end_time": "2023-04-09T20:49:26.900967Z"
}
}
},
{
"cell_type": "code",
"execution_count": 101,
"outputs": [
{
"data": {
"text/plain": "(1680303600000, 1681020000000)"
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"base = '1INCH'\n",
"quote = 'USDT'\n",
"timeframe = '1h'\n",
"start_datetime = datetime.datetime(2023, 4, 1, 0, 0, 0, tzinfo=pytz.UTC)\n",
"# Convert the start date and time to Unix timestamp format\n",
"start_time = int(time.mktime(start_datetime.timetuple())) * 1000\n",
"end_datetime = datetime.datetime(2023, 4, 9, 7, 0, 0, tzinfo=pytz.UTC)\n",
"# Convert the start date and time to Unix timestamp format\n",
"end_time = int(time.mktime(end_datetime.timetuple())) * 1000\n",
"start_time, end_time"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:26.895314Z",
"end_time": "2023-04-09T20:49:26.901223Z"
}
}
},
{
"cell_type": "code",
"execution_count": 102,
"outputs": [],
"source": [
"pd.options.mode.chained_assignment = None"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:26.895367Z",
"end_time": "2023-04-09T20:49:26.901298Z"
}
}
},
{
"cell_type": "code",
"execution_count": 103,
"outputs": [
{
"data": {
"text/plain": " open_time open high low close volume close_time \\\n0 1.680304e+12 0.5582 0.5622 0.5560 0.5612 2179140.0 1.680307e+12 \n1 1.680307e+12 0.5612 0.5612 0.5482 0.5500 4453189.0 1.680311e+12 \n2 1.680311e+12 0.5501 0.5539 0.5500 0.5539 2002506.0 1.680314e+12 \n3 1.680314e+12 0.5538 0.5550 0.5488 0.5496 1778981.0 1.680318e+12 \n4 1.680318e+12 0.5497 0.5522 0.5496 0.5508 1141260.0 1.680322e+12 \n\n quote_asset_volume number_of_trades taker_buy_base_asset_volume \\\n0 1.217110e+06 6621.0 1238585.0 \n1 2.466862e+06 12338.0 1766556.0 \n2 1.104856e+06 5755.0 1123796.0 \n3 9.814019e+05 5674.0 840121.0 \n4 6.289996e+05 4283.0 546394.0 \n\n taker_buy_quote_asset_volume ignore open_datetime \\\n0 692054.0710 0.0 2023-03-31 23:00:00+00:00 \n1 979009.7367 0.0 2023-04-01 00:00:00+00:00 \n2 620084.9118 0.0 2023-04-01 01:00:00+00:00 \n3 463445.9133 0.0 2023-04-01 02:00:00+00:00 \n4 301101.4633 0.0 2023-04-01 03:00:00+00:00 \n\n close_datetime \n0 2023-03-31 23:59:59.999000064+00:00 \n1 2023-04-01 00:59:59.999000064+00:00 \n2 2023-04-01 01:59:59.999000064+00:00 \n3 2023-04-01 02:59:59.999000064+00:00 \n4 2023-04-01 03:59:59.999000064+00:00 ",
"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>open_time</th>\n <th>open</th>\n <th>high</th>\n <th>low</th>\n <th>close</th>\n <th>volume</th>\n <th>close_time</th>\n <th>quote_asset_volume</th>\n <th>number_of_trades</th>\n <th>taker_buy_base_asset_volume</th>\n <th>taker_buy_quote_asset_volume</th>\n <th>ignore</th>\n <th>open_datetime</th>\n <th>close_datetime</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1.680304e+12</td>\n <td>0.5582</td>\n <td>0.5622</td>\n <td>0.5560</td>\n <td>0.5612</td>\n <td>2179140.0</td>\n <td>1.680307e+12</td>\n <td>1.217110e+06</td>\n <td>6621.0</td>\n <td>1238585.0</td>\n <td>692054.0710</td>\n <td>0.0</td>\n <td>2023-03-31 23:00:00+00:00</td>\n <td>2023-03-31 23:59:59.999000064+00:00</td>\n </tr>\n <tr>\n <th>1</th>\n <td>1.680307e+12</td>\n <td>0.5612</td>\n <td>0.5612</td>\n <td>0.5482</td>\n <td>0.5500</td>\n <td>4453189.0</td>\n <td>1.680311e+12</td>\n <td>2.466862e+06</td>\n <td>12338.0</td>\n <td>1766556.0</td>\n <td>979009.7367</td>\n <td>0.0</td>\n <td>2023-04-01 00:00:00+00:00</td>\n <td>2023-04-01 00:59:59.999000064+00:00</td>\n </tr>\n <tr>\n <th>2</th>\n <td>1.680311e+12</td>\n <td>0.5501</td>\n <td>0.5539</td>\n <td>0.5500</td>\n <td>0.5539</td>\n <td>2002506.0</td>\n <td>1.680314e+12</td>\n <td>1.104856e+06</td>\n <td>5755.0</td>\n <td>1123796.0</td>\n <td>620084.9118</td>\n <td>0.0</td>\n <td>2023-04-01 01:00:00+00:00</td>\n <td>2023-04-01 01:59:59.999000064+00:00</td>\n </tr>\n <tr>\n <th>3</th>\n <td>1.680314e+12</td>\n <td>0.5538</td>\n <td>0.5550</td>\n <td>0.5488</td>\n <td>0.5496</td>\n <td>1778981.0</td>\n <td>1.680318e+12</td>\n <td>9.814019e+05</td>\n <td>5674.0</td>\n <td>840121.0</td>\n <td>463445.9133</td>\n <td>0.0</td>\n <td>2023-04-01 02:00:00+00:00</td>\n <td>2023-04-01 02:59:59.999000064+00:00</td>\n </tr>\n <tr>\n <th>4</th>\n <td>1.680318e+12</td>\n <td>0.5497</td>\n <td>0.5522</td>\n <td>0.5496</td>\n <td>0.5508</td>\n <td>1141260.0</td>\n <td>1.680322e+12</td>\n <td>6.289996e+05</td>\n <td>4283.0</td>\n <td>546394.0</td>\n <td>301101.4633</td>\n <td>0.0</td>\n <td>2023-04-01 03:00:00+00:00</td>\n <td>2023-04-01 03:59:59.999000064+00:00</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Learned from https://tiao.io/post/exploring-the-binance-cryptocurrency-exchange-api-recent-historical-trades/\n",
"res = requests.get(\"https://fapi.binance.com/fapi/v1/klines\",\n",
" params={\n",
" 'symbol': f\"{base}{quote}\",\n",
" 'interval': timeframe,\n",
" 'startTime': int(start_time),\n",
" 'endTime': int(end_time),\n",
" })\n",
"\n",
"df = pd.DataFrame(data=res.json(),\n",
" columns=[\"open_time\",\n",
" \"open\",\n",
" \"high\",\n",
" \"low\",\n",
" \"close\",\n",
" \"volume\",\n",
" \"close_time\",\n",
" \"quote_asset_volume\",\n",
" \"number_of_trades\",\n",
" \"taker_buy_base_asset_volume\",\n",
" \"taker_buy_quote_asset_volume\",\n",
" \"ignore\"], dtype=\"float64\")\n",
"df = df.assign(\n",
" open_datetime=lambda interval: pd.to_datetime(interval.open_time, unit=\"ms\", utc=True),\n",
" close_datetime=lambda interval: pd.to_datetime(interval.close_time, unit=\"ms\", utc=True))\n",
"df.head()"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:26.895406Z",
"end_time": "2023-04-09T20:49:27.348908Z"
}
}
},
{
"cell_type": "code",
"execution_count": 104,
"outputs": [
{
"data": {
"text/plain": "(Timestamp('2023-03-31 23:00:00+0000', tz='UTC'),\n Timestamp('2023-04-09 06:00:00+0000', tz='UTC'))"
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.open_datetime.min(), df.open_datetime.max()"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.322099Z",
"end_time": "2023-04-09T20:49:27.349217Z"
}
}
},
{
"cell_type": "code",
"execution_count": 105,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_70027/3599143826.py:2: UserWarning:\n",
"\n",
"Converting to PeriodArray/Index representation will drop timezone information.\n",
"\n",
"/tmp/ipykernel_70027/3599143826.py:2: UserWarning:\n",
"\n",
"Converting to PeriodArray/Index representation will drop timezone information.\n",
"\n"
]
},
{
"data": {
"text/plain": " open_time open high low close volume close_time \\\n0 1.680304e+12 0.5582 0.5622 0.5560 0.5612 2179140.0 1.680307e+12 \n1 1.680307e+12 0.5612 0.5612 0.5482 0.5500 4453189.0 1.680311e+12 \n2 1.680311e+12 0.5501 0.5539 0.5500 0.5539 2002506.0 1.680314e+12 \n3 1.680314e+12 0.5538 0.5550 0.5488 0.5496 1778981.0 1.680318e+12 \n4 1.680318e+12 0.5497 0.5522 0.5496 0.5508 1141260.0 1.680322e+12 \n.. ... ... ... ... ... ... ... \n195 1.681006e+12 0.5343 0.5352 0.5317 0.5317 635130.0 1.681009e+12 \n196 1.681009e+12 0.5318 0.5320 0.5297 0.5297 607073.0 1.681013e+12 \n197 1.681013e+12 0.5298 0.5321 0.5296 0.5316 572264.0 1.681016e+12 \n198 1.681016e+12 0.5315 0.5330 0.5296 0.5297 593517.0 1.681020e+12 \n199 1.681020e+12 0.5297 0.5297 0.5217 0.5224 2191332.0 1.681024e+12 \n\n quote_asset_volume number_of_trades taker_buy_base_asset_volume \\\n0 1.217110e+06 6621.0 1238585.0 \n1 2.466862e+06 12338.0 1766556.0 \n2 1.104856e+06 5755.0 1123796.0 \n3 9.814019e+05 5674.0 840121.0 \n4 6.289996e+05 4283.0 546394.0 \n.. ... ... ... \n195 3.387798e+05 2508.0 213688.0 \n196 3.224701e+05 2365.0 270857.0 \n197 3.035463e+05 2963.0 290869.0 \n198 3.154650e+05 2124.0 293800.0 \n199 1.150854e+06 5719.0 971547.0 \n\n taker_buy_quote_asset_volume ignore open_datetime \\\n0 692054.0710 0.0 2023-03-31 23:00:00+00:00 \n1 979009.7367 0.0 2023-04-01 00:00:00+00:00 \n2 620084.9118 0.0 2023-04-01 01:00:00+00:00 \n3 463445.9133 0.0 2023-04-01 02:00:00+00:00 \n4 301101.4633 0.0 2023-04-01 03:00:00+00:00 \n.. ... ... ... \n195 113956.2408 0.0 2023-04-09 02:00:00+00:00 \n196 143889.4749 0.0 2023-04-09 03:00:00+00:00 \n197 154308.7456 0.0 2023-04-09 04:00:00+00:00 \n198 156200.1693 0.0 2023-04-09 05:00:00+00:00 \n199 510208.1176 0.0 2023-04-09 06:00:00+00:00 \n\n close_datetime vwap \n0 2023-03-31 23:59:59.999000064+00:00 0.559800 \n1 2023-04-01 00:59:59.999000064+00:00 0.553133 \n2 2023-04-01 01:59:59.999000064+00:00 0.552968 \n3 2023-04-01 02:59:59.999000064+00:00 0.552572 \n4 2023-04-01 03:59:59.999000064+00:00 0.552364 \n.. ... ... \n195 2023-04-09 02:59:59.999000064+00:00 0.532694 \n196 2023-04-09 03:59:59.999000064+00:00 0.532235 \n197 2023-04-09 04:59:59.999000064+00:00 0.532051 \n198 2023-04-09 05:59:59.999000064+00:00 0.531866 \n199 2023-04-09 06:59:59.999000064+00:00 0.529342 \n\n[200 rows x 15 columns]",
"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>open_time</th>\n <th>open</th>\n <th>high</th>\n <th>low</th>\n <th>close</th>\n <th>volume</th>\n <th>close_time</th>\n <th>quote_asset_volume</th>\n <th>number_of_trades</th>\n <th>taker_buy_base_asset_volume</th>\n <th>taker_buy_quote_asset_volume</th>\n <th>ignore</th>\n <th>open_datetime</th>\n <th>close_datetime</th>\n <th>vwap</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1.680304e+12</td>\n <td>0.5582</td>\n <td>0.5622</td>\n <td>0.5560</td>\n <td>0.5612</td>\n <td>2179140.0</td>\n <td>1.680307e+12</td>\n <td>1.217110e+06</td>\n <td>6621.0</td>\n <td>1238585.0</td>\n <td>692054.0710</td>\n <td>0.0</td>\n <td>2023-03-31 23:00:00+00:00</td>\n <td>2023-03-31 23:59:59.999000064+00:00</td>\n <td>0.559800</td>\n </tr>\n <tr>\n <th>1</th>\n <td>1.680307e+12</td>\n <td>0.5612</td>\n <td>0.5612</td>\n <td>0.5482</td>\n <td>0.5500</td>\n <td>4453189.0</td>\n <td>1.680311e+12</td>\n <td>2.466862e+06</td>\n <td>12338.0</td>\n <td>1766556.0</td>\n <td>979009.7367</td>\n <td>0.0</td>\n <td>2023-04-01 00:00:00+00:00</td>\n <td>2023-04-01 00:59:59.999000064+00:00</td>\n <td>0.553133</td>\n </tr>\n <tr>\n <th>2</th>\n <td>1.680311e+12</td>\n <td>0.5501</td>\n <td>0.5539</td>\n <td>0.5500</td>\n <td>0.5539</td>\n <td>2002506.0</td>\n <td>1.680314e+12</td>\n <td>1.104856e+06</td>\n <td>5755.0</td>\n <td>1123796.0</td>\n <td>620084.9118</td>\n <td>0.0</td>\n <td>2023-04-01 01:00:00+00:00</td>\n <td>2023-04-01 01:59:59.999000064+00:00</td>\n <td>0.552968</td>\n </tr>\n <tr>\n <th>3</th>\n <td>1.680314e+12</td>\n <td>0.5538</td>\n <td>0.5550</td>\n <td>0.5488</td>\n <td>0.5496</td>\n <td>1778981.0</td>\n <td>1.680318e+12</td>\n <td>9.814019e+05</td>\n <td>5674.0</td>\n <td>840121.0</td>\n <td>463445.9133</td>\n <td>0.0</td>\n <td>2023-04-01 02:00:00+00:00</td>\n <td>2023-04-01 02:59:59.999000064+00:00</td>\n <td>0.552572</td>\n </tr>\n <tr>\n <th>4</th>\n <td>1.680318e+12</td>\n <td>0.5497</td>\n <td>0.5522</td>\n <td>0.5496</td>\n <td>0.5508</td>\n <td>1141260.0</td>\n <td>1.680322e+12</td>\n <td>6.289996e+05</td>\n <td>4283.0</td>\n <td>546394.0</td>\n <td>301101.4633</td>\n <td>0.0</td>\n <td>2023-04-01 03:00:00+00:00</td>\n <td>2023-04-01 03:59:59.999000064+00:00</td>\n <td>0.552364</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 <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>195</th>\n <td>1.681006e+12</td>\n <td>0.5343</td>\n <td>0.5352</td>\n <td>0.5317</td>\n <td>0.5317</td>\n <td>635130.0</td>\n <td>1.681009e+12</td>\n <td>3.387798e+05</td>\n <td>2508.0</td>\n <td>213688.0</td>\n <td>113956.2408</td>\n <td>0.0</td>\n <td>2023-04-09 02:00:00+00:00</td>\n <td>2023-04-09 02:59:59.999000064+00:00</td>\n <td>0.532694</td>\n </tr>\n <tr>\n <th>196</th>\n <td>1.681009e+12</td>\n <td>0.5318</td>\n <td>0.5320</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>607073.0</td>\n <td>1.681013e+12</td>\n <td>3.224701e+05</td>\n <td>2365.0</td>\n <td>270857.0</td>\n <td>143889.4749</td>\n <td>0.0</td>\n <td>2023-04-09 03:00:00+00:00</td>\n <td>2023-04-09 03:59:59.999000064+00:00</td>\n <td>0.532235</td>\n </tr>\n <tr>\n <th>197</th>\n <td>1.681013e+12</td>\n <td>0.5298</td>\n <td>0.5321</td>\n <td>0.5296</td>\n <td>0.5316</td>\n <td>572264.0</td>\n <td>1.681016e+12</td>\n <td>3.035463e+05</td>\n <td>2963.0</td>\n <td>290869.0</td>\n <td>154308.7456</td>\n <td>0.0</td>\n <td>2023-04-09 04:00:00+00:00</td>\n <td>2023-04-09 04:59:59.999000064+00:00</td>\n <td>0.532051</td>\n </tr>\n <tr>\n <th>198</th>\n <td>1.681016e+12</td>\n <td>0.5315</td>\n <td>0.5330</td>\n <td>0.5296</td>\n <td>0.5297</td>\n <td>593517.0</td>\n <td>1.681020e+12</td>\n <td>3.154650e+05</td>\n <td>2124.0</td>\n <td>293800.0</td>\n <td>156200.1693</td>\n <td>0.0</td>\n <td>2023-04-09 05:00:00+00:00</td>\n <td>2023-04-09 05:59:59.999000064+00:00</td>\n <td>0.531866</td>\n </tr>\n <tr>\n <th>199</th>\n <td>1.681020e+12</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>0.5217</td>\n <td>0.5224</td>\n <td>2191332.0</td>\n <td>1.681024e+12</td>\n <td>1.150854e+06</td>\n <td>5719.0</td>\n <td>971547.0</td>\n <td>510208.1176</td>\n <td>0.0</td>\n <td>2023-04-09 06:00:00+00:00</td>\n <td>2023-04-09 06:59:59.999000064+00:00</td>\n <td>0.529342</td>\n </tr>\n </tbody>\n</table>\n<p>200 rows × 15 columns</p>\n</div>"
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.set_index(pd.DatetimeIndex(df['open_datetime'], tz=pytz.UTC), inplace=True)\n",
"df['vwap'] = ta.vwap(df.high, df.low, df.close, df.volume)\n",
"df.reset_index(drop=True, inplace=True)\n",
"df"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.324794Z",
"end_time": "2023-04-09T20:49:27.354612Z"
}
}
},
{
"cell_type": "code",
"execution_count": 106,
"outputs": [
{
"data": {
"text/plain": " open_time open high low close volume close_time \\\n101 1.680667e+12 0.5492 0.5510 0.5476 0.5484 1755127.0 1.680671e+12 \n102 1.680671e+12 0.5485 0.5520 0.5472 0.5498 2411815.0 1.680674e+12 \n103 1.680674e+12 0.5498 0.5498 0.5442 0.5466 1819419.0 1.680678e+12 \n104 1.680678e+12 0.5465 0.5471 0.5427 0.5464 2075387.0 1.680682e+12 \n105 1.680682e+12 0.5464 0.5490 0.5441 0.5465 1066950.0 1.680685e+12 \n.. ... ... ... ... ... ... ... \n195 1.681006e+12 0.5343 0.5352 0.5317 0.5317 635130.0 1.681009e+12 \n196 1.681009e+12 0.5318 0.5320 0.5297 0.5297 607073.0 1.681013e+12 \n197 1.681013e+12 0.5298 0.5321 0.5296 0.5316 572264.0 1.681016e+12 \n198 1.681016e+12 0.5315 0.5330 0.5296 0.5297 593517.0 1.681020e+12 \n199 1.681020e+12 0.5297 0.5297 0.5217 0.5224 2191332.0 1.681024e+12 \n\n quote_asset_volume number_of_trades taker_buy_base_asset_volume \\\n101 9.638716e+05 4545.0 793688.0 \n102 1.324632e+06 6002.0 1241253.0 \n103 9.950112e+05 5400.0 792709.0 \n104 1.130594e+06 5035.0 945952.0 \n105 5.834423e+05 4402.0 614831.0 \n.. ... ... ... \n195 3.387798e+05 2508.0 213688.0 \n196 3.224701e+05 2365.0 270857.0 \n197 3.035463e+05 2963.0 290869.0 \n198 3.154650e+05 2124.0 293800.0 \n199 1.150854e+06 5719.0 971547.0 \n\n taker_buy_quote_asset_volume ignore open_datetime \\\n101 435926.5487 0.0 2023-04-05 04:00:00+00:00 \n102 681826.8587 0.0 2023-04-05 05:00:00+00:00 \n103 433802.7319 0.0 2023-04-05 06:00:00+00:00 \n104 515439.0985 0.0 2023-04-05 07:00:00+00:00 \n105 336238.9709 0.0 2023-04-05 08:00:00+00:00 \n.. ... ... ... \n195 113956.2408 0.0 2023-04-09 02:00:00+00:00 \n196 143889.4749 0.0 2023-04-09 03:00:00+00:00 \n197 154308.7456 0.0 2023-04-09 04:00:00+00:00 \n198 156200.1693 0.0 2023-04-09 05:00:00+00:00 \n199 510208.1176 0.0 2023-04-09 06:00:00+00:00 \n\n close_datetime vwap anchored_vwap \n101 2023-04-05 04:59:59.999000064+00:00 0.547026 0.549000 \n102 2023-04-05 05:59:59.999000064+00:00 0.547244 0.549386 \n103 2023-04-05 06:59:59.999000064+00:00 0.547222 0.548620 \n104 2023-04-05 07:59:59.999000064+00:00 0.547108 0.547791 \n105 2023-04-05 08:59:59.999000064+00:00 0.547090 0.547644 \n.. ... ... ... \n195 2023-04-09 02:59:59.999000064+00:00 0.532694 0.531989 \n196 2023-04-09 03:59:59.999000064+00:00 0.532235 0.531982 \n197 2023-04-09 04:59:59.999000064+00:00 0.532051 0.531978 \n198 2023-04-09 05:59:59.999000064+00:00 0.531866 0.531973 \n199 2023-04-09 06:59:59.999000064+00:00 0.529342 0.531855 \n\n[99 rows x 16 columns]",
"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>open_time</th>\n <th>open</th>\n <th>high</th>\n <th>low</th>\n <th>close</th>\n <th>volume</th>\n <th>close_time</th>\n <th>quote_asset_volume</th>\n <th>number_of_trades</th>\n <th>taker_buy_base_asset_volume</th>\n <th>taker_buy_quote_asset_volume</th>\n <th>ignore</th>\n <th>open_datetime</th>\n <th>close_datetime</th>\n <th>vwap</th>\n <th>anchored_vwap</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>101</th>\n <td>1.680667e+12</td>\n <td>0.5492</td>\n <td>0.5510</td>\n <td>0.5476</td>\n <td>0.5484</td>\n <td>1755127.0</td>\n <td>1.680671e+12</td>\n <td>9.638716e+05</td>\n <td>4545.0</td>\n <td>793688.0</td>\n <td>435926.5487</td>\n <td>0.0</td>\n <td>2023-04-05 04:00:00+00:00</td>\n <td>2023-04-05 04:59:59.999000064+00:00</td>\n <td>0.547026</td>\n <td>0.549000</td>\n </tr>\n <tr>\n <th>102</th>\n <td>1.680671e+12</td>\n <td>0.5485</td>\n <td>0.5520</td>\n <td>0.5472</td>\n <td>0.5498</td>\n <td>2411815.0</td>\n <td>1.680674e+12</td>\n <td>1.324632e+06</td>\n <td>6002.0</td>\n <td>1241253.0</td>\n <td>681826.8587</td>\n <td>0.0</td>\n <td>2023-04-05 05:00:00+00:00</td>\n <td>2023-04-05 05:59:59.999000064+00:00</td>\n <td>0.547244</td>\n <td>0.549386</td>\n </tr>\n <tr>\n <th>103</th>\n <td>1.680674e+12</td>\n <td>0.5498</td>\n <td>0.5498</td>\n <td>0.5442</td>\n <td>0.5466</td>\n <td>1819419.0</td>\n <td>1.680678e+12</td>\n <td>9.950112e+05</td>\n <td>5400.0</td>\n <td>792709.0</td>\n <td>433802.7319</td>\n <td>0.0</td>\n <td>2023-04-05 06:00:00+00:00</td>\n <td>2023-04-05 06:59:59.999000064+00:00</td>\n <td>0.547222</td>\n <td>0.548620</td>\n </tr>\n <tr>\n <th>104</th>\n <td>1.680678e+12</td>\n <td>0.5465</td>\n <td>0.5471</td>\n <td>0.5427</td>\n <td>0.5464</td>\n <td>2075387.0</td>\n <td>1.680682e+12</td>\n <td>1.130594e+06</td>\n <td>5035.0</td>\n <td>945952.0</td>\n <td>515439.0985</td>\n <td>0.0</td>\n <td>2023-04-05 07:00:00+00:00</td>\n <td>2023-04-05 07:59:59.999000064+00:00</td>\n <td>0.547108</td>\n <td>0.547791</td>\n </tr>\n <tr>\n <th>105</th>\n <td>1.680682e+12</td>\n <td>0.5464</td>\n <td>0.5490</td>\n <td>0.5441</td>\n <td>0.5465</td>\n <td>1066950.0</td>\n <td>1.680685e+12</td>\n <td>5.834423e+05</td>\n <td>4402.0</td>\n <td>614831.0</td>\n <td>336238.9709</td>\n <td>0.0</td>\n <td>2023-04-05 08:00:00+00:00</td>\n <td>2023-04-05 08:59:59.999000064+00:00</td>\n <td>0.547090</td>\n <td>0.547644</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 <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>195</th>\n <td>1.681006e+12</td>\n <td>0.5343</td>\n <td>0.5352</td>\n <td>0.5317</td>\n <td>0.5317</td>\n <td>635130.0</td>\n <td>1.681009e+12</td>\n <td>3.387798e+05</td>\n <td>2508.0</td>\n <td>213688.0</td>\n <td>113956.2408</td>\n <td>0.0</td>\n <td>2023-04-09 02:00:00+00:00</td>\n <td>2023-04-09 02:59:59.999000064+00:00</td>\n <td>0.532694</td>\n <td>0.531989</td>\n </tr>\n <tr>\n <th>196</th>\n <td>1.681009e+12</td>\n <td>0.5318</td>\n <td>0.5320</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>607073.0</td>\n <td>1.681013e+12</td>\n <td>3.224701e+05</td>\n <td>2365.0</td>\n <td>270857.0</td>\n <td>143889.4749</td>\n <td>0.0</td>\n <td>2023-04-09 03:00:00+00:00</td>\n <td>2023-04-09 03:59:59.999000064+00:00</td>\n <td>0.532235</td>\n <td>0.531982</td>\n </tr>\n <tr>\n <th>197</th>\n <td>1.681013e+12</td>\n <td>0.5298</td>\n <td>0.5321</td>\n <td>0.5296</td>\n <td>0.5316</td>\n <td>572264.0</td>\n <td>1.681016e+12</td>\n <td>3.035463e+05</td>\n <td>2963.0</td>\n <td>290869.0</td>\n <td>154308.7456</td>\n <td>0.0</td>\n <td>2023-04-09 04:00:00+00:00</td>\n <td>2023-04-09 04:59:59.999000064+00:00</td>\n <td>0.532051</td>\n <td>0.531978</td>\n </tr>\n <tr>\n <th>198</th>\n <td>1.681016e+12</td>\n <td>0.5315</td>\n <td>0.5330</td>\n <td>0.5296</td>\n <td>0.5297</td>\n <td>593517.0</td>\n <td>1.681020e+12</td>\n <td>3.154650e+05</td>\n <td>2124.0</td>\n <td>293800.0</td>\n <td>156200.1693</td>\n <td>0.0</td>\n <td>2023-04-09 05:00:00+00:00</td>\n <td>2023-04-09 05:59:59.999000064+00:00</td>\n <td>0.531866</td>\n <td>0.531973</td>\n </tr>\n <tr>\n <th>199</th>\n <td>1.681020e+12</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>0.5217</td>\n <td>0.5224</td>\n <td>2191332.0</td>\n <td>1.681024e+12</td>\n <td>1.150854e+06</td>\n <td>5719.0</td>\n <td>971547.0</td>\n <td>510208.1176</td>\n <td>0.0</td>\n <td>2023-04-09 06:00:00+00:00</td>\n <td>2023-04-09 06:59:59.999000064+00:00</td>\n <td>0.529342</td>\n <td>0.531855</td>\n </tr>\n </tbody>\n</table>\n<p>99 rows × 16 columns</p>\n</div>"
},
"execution_count": 106,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# noinspection PyShadowingNames\n",
"def get_vwap_from_anchor_date(df, anchor_datetime=None):\n",
" if anchor_date is not None:\n",
" # df = df[df.open_datetime.dt.date >= anchor_date]\n",
" df = df[df['open_datetime'] >= anchor_datetime]\n",
"\n",
" vol = df['volume'].values\n",
" typ_price = ((df['low'] + df['close'] + df['high']) / 3).values\n",
" df['anchored_vwap'] = (typ_price * vol).cumsum() / vol.cumsum()\n",
" return df\n",
"\n",
"\n",
"anchor_date = datetime.datetime(2023, 4, 5, 4, 0, 0, tzinfo=pytz.UTC)\n",
"av = get_vwap_from_anchor_date(df, anchor_date)\n",
"av"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.357074Z",
"end_time": "2023-04-09T20:49:27.471209Z"
}
}
},
{
"cell_type": "code",
"execution_count": 107,
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAH0CAYAAADfWf7fAAAgAElEQVR4XuydB5gURd7/v7M5wy4ssATJILogJhThDCBmMJwJ499TRPFQX99TT049I4p6p4IY7wzkZED0UFE5fcEMBoLEJSwsLGFzjv+naujdnt2Znenpmtnu3m/fc89xO1XVVZ9fz8xnqqt/5UpNTa0HDxIgARIgARIgARIgARJwKAEXhdehkeWwSIAESIAESIAESIAEJAEKLy8EEiABEiABEiABEiABRxOg8Do6vBwcCZAACZAACZAACZAAhZfXAAmQAAmQAAmQAAmQgKMJUHgdHV4OjgRIgARIgARIgARIgMLLa4AESIAESIAESIAESMDRBCi8jg4vB0cCJEACJEACJEACJEDh5TVAAiRAAiRAAiRAAiTgaAIUXkeHl4MjARIgARIgARIgARKg8PIaIAESIAESIAESIAEScDQBCq+jw8vBkQAJkAAJkAAJkAAJUHh5DZAACZAACZAACZAACTiaAIXX0eHl4EiABEiABEiABEiABCi8vAZIgARIgARIgARIgAQcTYDC6+jwcnAkQAIkQAIkQAIkQAIUXl4DJEACJEACJEACJEACjiZA4XV0eDk4EiABEiABEiABEiABCi+vARIgARIgARIgARIgAUcToPA6OrwcHAmQAAmQAAmQAAmQAIWX1wAJkAAJkAAJkAAJkICjCVB4HR1eDo4ESIAESIAESIAESIDCy2uABEiABEiABEiABEjA0QQovI4OLwdHAiRAAiRAAiRAAiRA4eU1QAIkQAIkQAIkQAIk4GgCFF5Hh5eDIwESIAESIAESIAESoPDyGiABEiABEiABEiABEnA0AQqvo8PLwZEACZAACZAACZAACVB4eQ2QAAmQAAmQAAmQAAk4mgCF19Hh5eBIgARIgARIgARIgAQovLwGSIAESIAESIAESIAEHE2Awuvo8HJwJEACJEACJEACJEACFF5eAyRAAiRAAiRAAiRAAo4mQOF1dHg5OBIgARIgARIgARIgAQovrwESIAESIAESIAESIAFHE6DwOjq8HBwJkAAJkAAJkAAJkACFl9cACZAACZAACZAACZCAowlQeB0dXg6OBEiABEiABEiABEjAssJ78aWX4Yknp2H7tq24ZNwFzSK1buNW/Hfll5h8x0T52iWX/REvTn8ZP69dg0sv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X35e63XjDAqvxd+p7B4JkAAJkAAJkEDQBCwnvEcPGoT27VPlgB7428NITEjAg0cyCogcstryA187rYksDXrBFO28/q+3pPiKXcH0wpuR0RWz5y6AyLm7eNECfLP6/1BbW4ehQ4/H+GuvlxkZ/t8N1yAnZ69h4X308ak49thMiBRh+kPMyor8vp27ZODNf7+O9evWQczsjj57DC4aezFmz3rbY12r2FxiyoMP46uvVuLdxQuxd+9exMfFy80xxPrgwsICjL3wXBQXFzcIr7bxhDhvamoaThsxEldceTV27dyJG667Wm5A0fQIRnjFWuLIyEjZ1Jx5i/DxR8swf95s+f+3b9smd6nztdMalzQE/Z5lRRIgARIgARIgAYMELCe8IgWXkFNvx5LFC/G//3OnfMmI8Ip8sWJpgxDLplsLJyUl4YYb/4QLx47DUUf1hMvlkmnKli39ALPeeRMlJSUNXTEywyvKLl64QC43aHqI7YzvmHwXzj33fHTt1l3m1xU7o82dOwsfvPdus/JnjTob1153PY45NhNCTMVWwrt37cLnn3+K1199WT5IJw5thlffgBBhkQpMjOedt//tM6VZMMK7cXOWZOrtEHES8aLwGnxHsjgJkAAJkAAJkIByApYTXuUjZIMkQAIkQAIkQAIkQAJtmgCFt02Hn4MnARIgARIgARIgAecToPA6P8YcIQmQAAmQAAmQAAm0aQIU3jYdfg6eBEiABEiABEiABJxPgMLr/BhzhCRAAiRAAiRAAiTQpglQeNt0+Dl4EiABEiABEiABEnA+AQqv82PMEZIACZAACZAACZBAmyZA4W3T4efgSYAESIAESIAESMD5BCi8zo8xR0gCJEACJEACJEACbZoAhbdNh5+DJwESIAESIAESIAHnE6DwOj/GHCEJkAAJkAAJkAAJtGkCFN42HX4OngRIgARIgARIgAScT4DC6/wYc4QkQAIkQAIkQAIk0KYJUHjbdPg5eBIgARIgARIgARJwPgEKr/NjzBGSAAmQAAmQAAmQQJsmQOFt0+Hn4EmABEiABEiABEjA+QQovM6PMUdIAiRAAiRAAiRAAm2aAIW3TYefgycBEiABEiABEiAB5xOg8Do/xhwhCZAACZAACZAACbRpAhTeNh1+Dp4ESIAESIAESIAEnE+Awuv8GHOEJEACJEACJEACJNCmCVB423T4OXgS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wFXNzVUPpT32yENIS0tznr1y1To8P3IEfvzhe+Nno8a8hqNHjmD8uLehVml4cujTxmiwQ4jVOR06dsbBgweMFRvU0fKqVhjz6uvo1KGtOdVlVBIgARIgARIgARIgAVB48+kESkhfenkMruvWGenp6W5n/nfIo2javDkeGjQA1apXx9x5n+Lm3j3w78kTWLFqLfrc3MuQW9dj2PBnUC+uvnHNhQsX8NIrY1CiRAk89OAD7IokQAIkQAIkQAIkQAImEaDw5gP2rXfGo9dNN7uN7P755y7c0L0rwsPDMWbsG7i223VITDyPsWNGYdGnn+DWPv3w+pvvICUlxS1yi2YNjRUaXh71Kjp37orQ0FBs3rwJI55+ym1+r0l1ZlgSIAESIAESIAESsC0BCq9tS8+GkwAJkAAJkAAJkIA9CFB47VFntpIESIAESIAESIAEbEuAwmvb0rPhJEACJEACJEACJGAPAhRee9SZrSQBEiABEiABEiAB2xKg8Nq29Gw4CZAACZAACZAACdiDAIXXHnVmK0mABEiABEiABEjAtgQovLYtPRtOAiRAAiRAAiRAAvYgQOG1R53ZShIgARIgARIgARKwLQEKr21Lz4aTAAmQAAmQAAmQgD0IUHjtUWe2kgRIgARIgARIgARsS4DCa9vSs+EkQAIkQAIkQAIkYA8CFF571JmtJAESIAESIAESIAHbEqDw2rb0bDgJkAAJkAAJkAAJ2IMAhdcedWYrSYAESIAESIAESMC2BCi8ti09G04CJEACJEACJEAC9iBA4bVHndlKEiABEiABEiABErAtAQqvbUvPhpMACZAACZAACZCAPQhQeO1RZ7aSBEiABEiABEiABGxLgMJr29Kz4SRAAiRAAiRAAiRgDwIUXnvUma0kARIgARIgARIgAdsSoPDatvRsOAmQAAmQAAmQAAnYgwCF1x51ZitJgARIgARIgARIwLYEKLy2LT0bTgIkQAIkQAIkQAL2IEDhtUed2UoSIAESIAESIAESsC0BCq9tS8+GkwAJkAAJkAAJkIA9CFB47VFntpIESIAESIAESIAEbEuAwmvb0rPhJEACJEACJEACJGAPAhRee9SZrSQBEiABEiABEiAB2xKg8Nq29Gw4CZAACZAACZAACdiDAIXXHnVmK0mABEiABEiABEjAtgQovLYtPRtOAiRAAiRAAiRAAvYgQOG1R53ZShIgARIgARIgARKwLQEKr21Lz4aTAAmQAAmQAAmQgD0IUHjtUWe2kgRIgARIgARIgARsS4DCa9vSs+EkQAIkQAIkQAIkYA8CFF571JmtJAESIAESIAESIAHbEqDw2rb0bDgJkAAJkAAJkAAJ2IMAhdcedWYrSYAESIAESIAESMC2BCi8ti09G04CJEACJEACJEAC9iBA4bVHndlKEiABEiABEiABErAtAQqvbUvPhpMACZAACZAACZCAPQhQeO1RZ7aSBEiABEiABEiABGxLgMJr29Kz4SRAAiRAAiRAAiRgDwIUXnvUma0kARIgARIgARIgAdsSoPDatvRsOAmQAAmQAAmQAAnYgwCF1x51ZitJgARIgARIgARIwLYEKLy2LT0bTgIkQAIkQAIkQAL2IEDhtUed2UoSIAESIAESIAESsC0BCq9tS8+GkwAJkAAJkAAJkIA9CFB47VFntpIESIAESIAESIAEbEuAwmvb0rPhJEACJEACJEACJGAPAv8Dl/p+LY5Q3MoAAAAASUVORK5CYII="
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = go.Figure(data=\n",
" [go.Candlestick(x=df.open_datetime,\n",
" open=df[\"open\"],\n",
" high=df[\"high\"],\n",
" low=df[\"low\"],\n",
" close=df[\"close\"], showlegend=False)])\n",
"\n",
"fig.add_trace(go.Scatter(x=av.open_datetime, y=av.anchored_vwap, showlegend=False))\n",
"fig.update_layout(title=f\"{base}/{quote} {timeframe}\")\n",
"fig.update(layout_xaxis_rangeslider_visible=False)\n",
"fig.show('png')"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.421813Z",
"end_time": "2023-04-09T20:49:27.519336Z"
}
}
},
{
"cell_type": "code",
"execution_count": 108,
"outputs": [
{
"data": {
"text/plain": "({'value': 0.5622, 'index': 0, 'nth': 0},\n {'value': 0.4952, 'index': 70, 'nth': 70})"
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# noinspection PyShadowingNames\n",
"def find_extremas(df: pd.DataFrame):\n",
" highest_value = dict()\n",
" lowest_value = dict()\n",
" for i in range(len(df)):\n",
" if 'value' not in highest_value or df.high.iloc[i] > highest_value['value']:\n",
" highest_value['value'] = df.high.iloc[i]\n",
" highest_value['index'] = df.index[i]\n",
" highest_value['nth'] = i\n",
"\n",
" if 'value' not in lowest_value or df.low.iloc[i] < lowest_value['value']:\n",
" lowest_value['value'] = df.low.iloc[i]\n",
" lowest_value['index'] = df.index[i]\n",
" lowest_value['nth'] = i\n",
"\n",
" return highest_value, lowest_value\n",
"\n",
"\n",
"highest_value, lowest_value = find_extremas(df)\n",
"highest_value, lowest_value"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.497850Z",
"end_time": "2023-04-09T20:49:27.519830Z"
}
}
},
{
"cell_type": "code",
"execution_count": 109,
"outputs": [
{
"data": {
"text/plain": " open_time open high low close volume close_time \\\n55 1.680502e+12 0.5103 0.5108 0.5081 0.5094 1362541.0 1.680505e+12 \n56 1.680505e+12 0.5095 0.5137 0.5091 0.5133 1768497.0 1.680509e+12 \n57 1.680509e+12 0.5134 0.5176 0.5131 0.5164 2905689.0 1.680512e+12 \n58 1.680512e+12 0.5164 0.5186 0.5158 0.5178 1921442.0 1.680516e+12 \n59 1.680516e+12 0.5177 0.5196 0.5155 0.5155 1988773.0 1.680520e+12 \n.. ... ... ... ... ... ... ... \n195 1.681006e+12 0.5343 0.5352 0.5317 0.5317 635130.0 1.681009e+12 \n196 1.681009e+12 0.5318 0.5320 0.5297 0.5297 607073.0 1.681013e+12 \n197 1.681013e+12 0.5298 0.5321 0.5296 0.5316 572264.0 1.681016e+12 \n198 1.681016e+12 0.5315 0.5330 0.5296 0.5297 593517.0 1.681020e+12 \n199 1.681020e+12 0.5297 0.5297 0.5217 0.5224 2191332.0 1.681024e+12 \n\n quote_asset_volume number_of_trades taker_buy_base_asset_volume \\\n55 6.936469e+05 4778.0 679249.0 \n56 9.049418e+05 4900.0 1044676.0 \n57 1.497725e+06 6850.0 1455619.0 \n58 9.936334e+05 5902.0 1007209.0 \n59 1.030203e+06 5549.0 964620.0 \n.. ... ... ... \n195 3.387798e+05 2508.0 213688.0 \n196 3.224701e+05 2365.0 270857.0 \n197 3.035463e+05 2963.0 290869.0 \n198 3.154650e+05 2124.0 293800.0 \n199 1.150854e+06 5719.0 971547.0 \n\n taker_buy_quote_asset_volume ignore open_datetime \\\n55 345838.1589 0.0 2023-04-03 06:00:00+00:00 \n56 534545.9977 0.0 2023-04-03 07:00:00+00:00 \n57 750327.3812 0.0 2023-04-03 08:00:00+00:00 \n58 520900.9619 0.0 2023-04-03 09:00:00+00:00 \n59 499774.4454 0.0 2023-04-03 10:00:00+00:00 \n.. ... ... ... \n195 113956.2408 0.0 2023-04-09 02:00:00+00:00 \n196 143889.4749 0.0 2023-04-09 03:00:00+00:00 \n197 154308.7456 0.0 2023-04-09 04:00:00+00:00 \n198 156200.1693 0.0 2023-04-09 05:00:00+00:00 \n199 510208.1176 0.0 2023-04-09 06:00:00+00:00 \n\n close_datetime vwap \n55 2023-04-03 06:59:59.999000064+00:00 0.512847 \n56 2023-04-03 07:59:59.999000064+00:00 0.512785 \n57 2023-04-03 08:59:59.999000064+00:00 0.513110 \n58 2023-04-03 09:59:59.999000064+00:00 0.513405 \n59 2023-04-03 10:59:59.999000064+00:00 0.513634 \n.. ... ... \n195 2023-04-09 02:59:59.999000064+00:00 0.532694 \n196 2023-04-09 03:59:59.999000064+00:00 0.532235 \n197 2023-04-09 04:59:59.999000064+00:00 0.532051 \n198 2023-04-09 05:59:59.999000064+00:00 0.531866 \n199 2023-04-09 06:59:59.999000064+00:00 0.529342 \n\n[145 rows x 15 columns]",
"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>open_time</th>\n <th>open</th>\n <th>high</th>\n <th>low</th>\n <th>close</th>\n <th>volume</th>\n <th>close_time</th>\n <th>quote_asset_volume</th>\n <th>number_of_trades</th>\n <th>taker_buy_base_asset_volume</th>\n <th>taker_buy_quote_asset_volume</th>\n <th>ignore</th>\n <th>open_datetime</th>\n <th>close_datetime</th>\n <th>vwap</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>55</th>\n <td>1.680502e+12</td>\n <td>0.5103</td>\n <td>0.5108</td>\n <td>0.5081</td>\n <td>0.5094</td>\n <td>1362541.0</td>\n <td>1.680505e+12</td>\n <td>6.936469e+05</td>\n <td>4778.0</td>\n <td>679249.0</td>\n <td>345838.1589</td>\n <td>0.0</td>\n <td>2023-04-03 06:00:00+00:00</td>\n <td>2023-04-03 06:59:59.999000064+00:00</td>\n <td>0.512847</td>\n </tr>\n <tr>\n <th>56</th>\n <td>1.680505e+12</td>\n <td>0.5095</td>\n <td>0.5137</td>\n <td>0.5091</td>\n <td>0.5133</td>\n <td>1768497.0</td>\n <td>1.680509e+12</td>\n <td>9.049418e+05</td>\n <td>4900.0</td>\n <td>1044676.0</td>\n <td>534545.9977</td>\n <td>0.0</td>\n <td>2023-04-03 07:00:00+00:00</td>\n <td>2023-04-03 07:59:59.999000064+00:00</td>\n <td>0.512785</td>\n </tr>\n <tr>\n <th>57</th>\n <td>1.680509e+12</td>\n <td>0.5134</td>\n <td>0.5176</td>\n <td>0.5131</td>\n <td>0.5164</td>\n <td>2905689.0</td>\n <td>1.680512e+12</td>\n <td>1.497725e+06</td>\n <td>6850.0</td>\n <td>1455619.0</td>\n <td>750327.3812</td>\n <td>0.0</td>\n <td>2023-04-03 08:00:00+00:00</td>\n <td>2023-04-03 08:59:59.999000064+00:00</td>\n <td>0.513110</td>\n </tr>\n <tr>\n <th>58</th>\n <td>1.680512e+12</td>\n <td>0.5164</td>\n <td>0.5186</td>\n <td>0.5158</td>\n <td>0.5178</td>\n <td>1921442.0</td>\n <td>1.680516e+12</td>\n <td>9.936334e+05</td>\n <td>5902.0</td>\n <td>1007209.0</td>\n <td>520900.9619</td>\n <td>0.0</td>\n <td>2023-04-03 09:00:00+00:00</td>\n <td>2023-04-03 09:59:59.999000064+00:00</td>\n <td>0.513405</td>\n </tr>\n <tr>\n <th>59</th>\n <td>1.680516e+12</td>\n <td>0.5177</td>\n <td>0.5196</td>\n <td>0.5155</td>\n <td>0.5155</td>\n <td>1988773.0</td>\n <td>1.680520e+12</td>\n <td>1.030203e+06</td>\n <td>5549.0</td>\n <td>964620.0</td>\n <td>499774.4454</td>\n <td>0.0</td>\n <td>2023-04-03 10:00:00+00:00</td>\n <td>2023-04-03 10:59:59.999000064+00:00</td>\n <td>0.513634</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 <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>195</th>\n <td>1.681006e+12</td>\n <td>0.5343</td>\n <td>0.5352</td>\n <td>0.5317</td>\n <td>0.5317</td>\n <td>635130.0</td>\n <td>1.681009e+12</td>\n <td>3.387798e+05</td>\n <td>2508.0</td>\n <td>213688.0</td>\n <td>113956.2408</td>\n <td>0.0</td>\n <td>2023-04-09 02:00:00+00:00</td>\n <td>2023-04-09 02:59:59.999000064+00:00</td>\n <td>0.532694</td>\n </tr>\n <tr>\n <th>196</th>\n <td>1.681009e+12</td>\n <td>0.5318</td>\n <td>0.5320</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>607073.0</td>\n <td>1.681013e+12</td>\n <td>3.224701e+05</td>\n <td>2365.0</td>\n <td>270857.0</td>\n <td>143889.4749</td>\n <td>0.0</td>\n <td>2023-04-09 03:00:00+00:00</td>\n <td>2023-04-09 03:59:59.999000064+00:00</td>\n <td>0.532235</td>\n </tr>\n <tr>\n <th>197</th>\n <td>1.681013e+12</td>\n <td>0.5298</td>\n <td>0.5321</td>\n <td>0.5296</td>\n <td>0.5316</td>\n <td>572264.0</td>\n <td>1.681016e+12</td>\n <td>3.035463e+05</td>\n <td>2963.0</td>\n <td>290869.0</td>\n <td>154308.7456</td>\n <td>0.0</td>\n <td>2023-04-09 04:00:00+00:00</td>\n <td>2023-04-09 04:59:59.999000064+00:00</td>\n <td>0.532051</td>\n </tr>\n <tr>\n <th>198</th>\n <td>1.681016e+12</td>\n <td>0.5315</td>\n <td>0.5330</td>\n <td>0.5296</td>\n <td>0.5297</td>\n <td>593517.0</td>\n <td>1.681020e+12</td>\n <td>3.154650e+05</td>\n <td>2124.0</td>\n <td>293800.0</td>\n <td>156200.1693</td>\n <td>0.0</td>\n <td>2023-04-09 05:00:00+00:00</td>\n <td>2023-04-09 05:59:59.999000064+00:00</td>\n <td>0.531866</td>\n </tr>\n <tr>\n <th>199</th>\n <td>1.681020e+12</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>0.5217</td>\n <td>0.5224</td>\n <td>2191332.0</td>\n <td>1.681024e+12</td>\n <td>1.150854e+06</td>\n <td>5719.0</td>\n <td>971547.0</td>\n <td>510208.1176</td>\n <td>0.0</td>\n <td>2023-04-09 06:00:00+00:00</td>\n <td>2023-04-09 06:59:59.999000064+00:00</td>\n <td>0.529342</td>\n </tr>\n </tbody>\n</table>\n<p>145 rows × 15 columns</p>\n</div>"
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Work only with 5 last days\n",
"df_slice = df[df['open_datetime'] >= df.open_datetime.iloc[-1] - datetime.timedelta(days=6)]\n",
"df_slice"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.497959Z",
"end_time": "2023-04-09T20:49:27.520027Z"
}
}
},
{
"cell_type": "code",
"execution_count": 110,
"outputs": [
{
"data": {
"text/plain": "({'value': 0.5591, 'index': 100, 'nth': 45},\n {'value': 0.4952, 'index': 70, 'nth': 15})"
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"highest_value, lowest_value = find_extremas(df_slice)\n",
"highest_value, lowest_value"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.498138Z",
"end_time": "2023-04-09T20:49:27.549711Z"
}
}
},
{
"cell_type": "code",
"execution_count": 111,
"outputs": [
{
"data": {
"text/plain": "open_time 1680663600000.0\nopen 0.5546\nhigh 0.5591\nlow 0.5472\nclose 0.5493\nvolume 6263952.0\nclose_time 1680667199999.0\nquote_asset_volume 3464511.8655\nnumber_of_trades 13587.0\ntaker_buy_base_asset_volume 2650107.0\ntaker_buy_quote_asset_volume 1466738.6447\nignore 0.0\nopen_datetime 2023-04-05 03:00:00+00:00\nclose_datetime 2023-04-05 03:59:59.999000064+00:00\nvwap 0.546888\nName: 100, dtype: object"
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Maxima was found at\n",
"df_slice.iloc[highest_value['nth']]"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.508134Z",
"end_time": "2023-04-09T20:49:27.587983Z"
}
}
},
{
"cell_type": "code",
"execution_count": 112,
"outputs": [
{
"data": {
"text/plain": "open_time 1680555600000.0\nopen 0.5055\nhigh 0.512\nlow 0.4952\nclose 0.5093\nvolume 5914731.0\nclose_time 1680559199999.0\nquote_asset_volume 2980751.9778\nnumber_of_trades 12803.0\ntaker_buy_base_asset_volume 2773021.0\ntaker_buy_quote_asset_volume 1397302.9197\nignore 0.0\nopen_datetime 2023-04-03 21:00:00+00:00\nclose_datetime 2023-04-03 21:59:59.999000064+00:00\nvwap 0.513152\nName: 70, dtype: object"
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Minima was found at\n",
"df_slice.iloc[lowest_value['nth']]"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.515359Z",
"end_time": "2023-04-09T20:49:27.631852Z"
}
}
},
{
"cell_type": "code",
"execution_count": 113,
"outputs": [
{
"data": {
"text/plain": " open_time open high low close volume close_time \\\n100 1.680664e+12 0.5546 0.5591 0.5472 0.5493 6263952.0 1.680667e+12 \n101 1.680667e+12 0.5492 0.5510 0.5476 0.5484 1755127.0 1.680671e+12 \n102 1.680671e+12 0.5485 0.5520 0.5472 0.5498 2411815.0 1.680674e+12 \n103 1.680674e+12 0.5498 0.5498 0.5442 0.5466 1819419.0 1.680678e+12 \n104 1.680678e+12 0.5465 0.5471 0.5427 0.5464 2075387.0 1.680682e+12 \n.. ... ... ... ... ... ... ... \n195 1.681006e+12 0.5343 0.5352 0.5317 0.5317 635130.0 1.681009e+12 \n196 1.681009e+12 0.5318 0.5320 0.5297 0.5297 607073.0 1.681013e+12 \n197 1.681013e+12 0.5298 0.5321 0.5296 0.5316 572264.0 1.681016e+12 \n198 1.681016e+12 0.5315 0.5330 0.5296 0.5297 593517.0 1.681020e+12 \n199 1.681020e+12 0.5297 0.5297 0.5217 0.5224 2191332.0 1.681024e+12 \n\n quote_asset_volume number_of_trades taker_buy_base_asset_volume \\\n100 3.464512e+06 13587.0 2650107.0 \n101 9.638716e+05 4545.0 793688.0 \n102 1.324632e+06 6002.0 1241253.0 \n103 9.950112e+05 5400.0 792709.0 \n104 1.130594e+06 5035.0 945952.0 \n.. ... ... ... \n195 3.387798e+05 2508.0 213688.0 \n196 3.224701e+05 2365.0 270857.0 \n197 3.035463e+05 2963.0 290869.0 \n198 3.154650e+05 2124.0 293800.0 \n199 1.150854e+06 5719.0 971547.0 \n\n taker_buy_quote_asset_volume ignore open_datetime \\\n100 1.466739e+06 0.0 2023-04-05 03:00:00+00:00 \n101 4.359265e+05 0.0 2023-04-05 04:00:00+00:00 \n102 6.818269e+05 0.0 2023-04-05 05:00:00+00:00 \n103 4.338027e+05 0.0 2023-04-05 06:00:00+00:00 \n104 5.154391e+05 0.0 2023-04-05 07:00:00+00:00 \n.. ... ... ... \n195 1.139562e+05 0.0 2023-04-09 02:00:00+00:00 \n196 1.438895e+05 0.0 2023-04-09 03:00:00+00:00 \n197 1.543087e+05 0.0 2023-04-09 04:00:00+00:00 \n198 1.562002e+05 0.0 2023-04-09 05:00:00+00:00 \n199 5.102081e+05 0.0 2023-04-09 06:00:00+00:00 \n\n close_datetime vwap \n100 2023-04-05 03:59:59.999000064+00:00 0.546888 \n101 2023-04-05 04:59:59.999000064+00:00 0.547026 \n102 2023-04-05 05:59:59.999000064+00:00 0.547244 \n103 2023-04-05 06:59:59.999000064+00:00 0.547222 \n104 2023-04-05 07:59:59.999000064+00:00 0.547108 \n.. ... ... \n195 2023-04-09 02:59:59.999000064+00:00 0.532694 \n196 2023-04-09 03:59:59.999000064+00:00 0.532235 \n197 2023-04-09 04:59:59.999000064+00:00 0.532051 \n198 2023-04-09 05:59:59.999000064+00:00 0.531866 \n199 2023-04-09 06:59:59.999000064+00:00 0.529342 \n\n[100 rows x 15 columns]",
"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>open_time</th>\n <th>open</th>\n <th>high</th>\n <th>low</th>\n <th>close</th>\n <th>volume</th>\n <th>close_time</th>\n <th>quote_asset_volume</th>\n <th>number_of_trades</th>\n <th>taker_buy_base_asset_volume</th>\n <th>taker_buy_quote_asset_volume</th>\n <th>ignore</th>\n <th>open_datetime</th>\n <th>close_datetime</th>\n <th>vwap</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>100</th>\n <td>1.680664e+12</td>\n <td>0.5546</td>\n <td>0.5591</td>\n <td>0.5472</td>\n <td>0.5493</td>\n <td>6263952.0</td>\n <td>1.680667e+12</td>\n <td>3.464512e+06</td>\n <td>13587.0</td>\n <td>2650107.0</td>\n <td>1.466739e+06</td>\n <td>0.0</td>\n <td>2023-04-05 03:00:00+00:00</td>\n <td>2023-04-05 03:59:59.999000064+00:00</td>\n <td>0.546888</td>\n </tr>\n <tr>\n <th>101</th>\n <td>1.680667e+12</td>\n <td>0.5492</td>\n <td>0.5510</td>\n <td>0.5476</td>\n <td>0.5484</td>\n <td>1755127.0</td>\n <td>1.680671e+12</td>\n <td>9.638716e+05</td>\n <td>4545.0</td>\n <td>793688.0</td>\n <td>4.359265e+05</td>\n <td>0.0</td>\n <td>2023-04-05 04:00:00+00:00</td>\n <td>2023-04-05 04:59:59.999000064+00:00</td>\n <td>0.547026</td>\n </tr>\n <tr>\n <th>102</th>\n <td>1.680671e+12</td>\n <td>0.5485</td>\n <td>0.5520</td>\n <td>0.5472</td>\n <td>0.5498</td>\n <td>2411815.0</td>\n <td>1.680674e+12</td>\n <td>1.324632e+06</td>\n <td>6002.0</td>\n <td>1241253.0</td>\n <td>6.818269e+05</td>\n <td>0.0</td>\n <td>2023-04-05 05:00:00+00:00</td>\n <td>2023-04-05 05:59:59.999000064+00:00</td>\n <td>0.547244</td>\n </tr>\n <tr>\n <th>103</th>\n <td>1.680674e+12</td>\n <td>0.5498</td>\n <td>0.5498</td>\n <td>0.5442</td>\n <td>0.5466</td>\n <td>1819419.0</td>\n <td>1.680678e+12</td>\n <td>9.950112e+05</td>\n <td>5400.0</td>\n <td>792709.0</td>\n <td>4.338027e+05</td>\n <td>0.0</td>\n <td>2023-04-05 06:00:00+00:00</td>\n <td>2023-04-05 06:59:59.999000064+00:00</td>\n <td>0.547222</td>\n </tr>\n <tr>\n <th>104</th>\n <td>1.680678e+12</td>\n <td>0.5465</td>\n <td>0.5471</td>\n <td>0.5427</td>\n <td>0.5464</td>\n <td>2075387.0</td>\n <td>1.680682e+12</td>\n <td>1.130594e+06</td>\n <td>5035.0</td>\n <td>945952.0</td>\n <td>5.154391e+05</td>\n <td>0.0</td>\n <td>2023-04-05 07:00:00+00:00</td>\n <td>2023-04-05 07:59:59.999000064+00:00</td>\n <td>0.547108</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 <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>195</th>\n <td>1.681006e+12</td>\n <td>0.5343</td>\n <td>0.5352</td>\n <td>0.5317</td>\n <td>0.5317</td>\n <td>635130.0</td>\n <td>1.681009e+12</td>\n <td>3.387798e+05</td>\n <td>2508.0</td>\n <td>213688.0</td>\n <td>1.139562e+05</td>\n <td>0.0</td>\n <td>2023-04-09 02:00:00+00:00</td>\n <td>2023-04-09 02:59:59.999000064+00:00</td>\n <td>0.532694</td>\n </tr>\n <tr>\n <th>196</th>\n <td>1.681009e+12</td>\n <td>0.5318</td>\n <td>0.5320</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>607073.0</td>\n <td>1.681013e+12</td>\n <td>3.224701e+05</td>\n <td>2365.0</td>\n <td>270857.0</td>\n <td>1.438895e+05</td>\n <td>0.0</td>\n <td>2023-04-09 03:00:00+00:00</td>\n <td>2023-04-09 03:59:59.999000064+00:00</td>\n <td>0.532235</td>\n </tr>\n <tr>\n <th>197</th>\n <td>1.681013e+12</td>\n <td>0.5298</td>\n <td>0.5321</td>\n <td>0.5296</td>\n <td>0.5316</td>\n <td>572264.0</td>\n <td>1.681016e+12</td>\n <td>3.035463e+05</td>\n <td>2963.0</td>\n <td>290869.0</td>\n <td>1.543087e+05</td>\n <td>0.0</td>\n <td>2023-04-09 04:00:00+00:00</td>\n <td>2023-04-09 04:59:59.999000064+00:00</td>\n <td>0.532051</td>\n </tr>\n <tr>\n <th>198</th>\n <td>1.681016e+12</td>\n <td>0.5315</td>\n <td>0.5330</td>\n <td>0.5296</td>\n <td>0.5297</td>\n <td>593517.0</td>\n <td>1.681020e+12</td>\n <td>3.154650e+05</td>\n <td>2124.0</td>\n <td>293800.0</td>\n <td>1.562002e+05</td>\n <td>0.0</td>\n <td>2023-04-09 05:00:00+00:00</td>\n <td>2023-04-09 05:59:59.999000064+00:00</td>\n <td>0.531866</td>\n </tr>\n <tr>\n <th>199</th>\n <td>1.681020e+12</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>0.5217</td>\n <td>0.5224</td>\n <td>2191332.0</td>\n <td>1.681024e+12</td>\n <td>1.150854e+06</td>\n <td>5719.0</td>\n <td>971547.0</td>\n <td>5.102081e+05</td>\n <td>0.0</td>\n <td>2023-04-09 06:00:00+00:00</td>\n <td>2023-04-09 06:59:59.999000064+00:00</td>\n <td>0.529342</td>\n </tr>\n </tbody>\n</table>\n<p>100 rows × 15 columns</p>\n</div>"
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_highest = df_slice.iloc[highest_value['nth']:]\n",
"df_lowest = df_slice.iloc[lowest_value['nth']:]\n",
"\n",
"df_highest"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.522796Z",
"end_time": "2023-04-09T20:49:27.632270Z"
}
}
},
{
"cell_type": "code",
"execution_count": 114,
"outputs": [
{
"data": {
"text/plain": " open_time open high low close volume close_time \\\n70 1.680556e+12 0.5055 0.5120 0.4952 0.5093 5914731.0 1.680559e+12 \n71 1.680559e+12 0.5094 0.5154 0.5094 0.5139 2617240.0 1.680563e+12 \n72 1.680563e+12 0.5139 0.5169 0.5135 0.5149 1739230.0 1.680566e+12 \n73 1.680566e+12 0.5148 0.5201 0.5109 0.5114 2934145.0 1.680570e+12 \n74 1.680570e+12 0.5114 0.5132 0.5084 0.5103 2012682.0 1.680574e+12 \n.. ... ... ... ... ... ... ... \n195 1.681006e+12 0.5343 0.5352 0.5317 0.5317 635130.0 1.681009e+12 \n196 1.681009e+12 0.5318 0.5320 0.5297 0.5297 607073.0 1.681013e+12 \n197 1.681013e+12 0.5298 0.5321 0.5296 0.5316 572264.0 1.681016e+12 \n198 1.681016e+12 0.5315 0.5330 0.5296 0.5297 593517.0 1.681020e+12 \n199 1.681020e+12 0.5297 0.5297 0.5217 0.5224 2191332.0 1.681024e+12 \n\n quote_asset_volume number_of_trades taker_buy_base_asset_volume \\\n70 2.980752e+06 12803.0 2773021.0 \n71 1.343309e+06 6728.0 1278799.0 \n72 8.963248e+05 5501.0 798276.0 \n73 1.514089e+06 7690.0 1396846.0 \n74 1.027706e+06 5688.0 951463.0 \n.. ... ... ... \n195 3.387798e+05 2508.0 213688.0 \n196 3.224701e+05 2365.0 270857.0 \n197 3.035463e+05 2963.0 290869.0 \n198 3.154650e+05 2124.0 293800.0 \n199 1.150854e+06 5719.0 971547.0 \n\n taker_buy_quote_asset_volume ignore open_datetime \\\n70 1.397303e+06 0.0 2023-04-03 21:00:00+00:00 \n71 6.564235e+05 0.0 2023-04-03 22:00:00+00:00 \n72 4.114123e+05 0.0 2023-04-03 23:00:00+00:00 \n73 7.210894e+05 0.0 2023-04-04 00:00:00+00:00 \n74 4.859196e+05 0.0 2023-04-04 01:00:00+00:00 \n.. ... ... ... \n195 1.139562e+05 0.0 2023-04-09 02:00:00+00:00 \n196 1.438895e+05 0.0 2023-04-09 03:00:00+00:00 \n197 1.543087e+05 0.0 2023-04-09 04:00:00+00:00 \n198 1.562002e+05 0.0 2023-04-09 05:00:00+00:00 \n199 5.102081e+05 0.0 2023-04-09 06:00:00+00:00 \n\n close_datetime vwap \n70 2023-04-03 21:59:59.999000064+00:00 0.513152 \n71 2023-04-03 22:59:59.999000064+00:00 0.513142 \n72 2023-04-03 23:59:59.999000064+00:00 0.513191 \n73 2023-04-04 00:59:59.999000064+00:00 0.514133 \n74 2023-04-04 01:59:59.999000064+00:00 0.512709 \n.. ... ... \n195 2023-04-09 02:59:59.999000064+00:00 0.532694 \n196 2023-04-09 03:59:59.999000064+00:00 0.532235 \n197 2023-04-09 04:59:59.999000064+00:00 0.532051 \n198 2023-04-09 05:59:59.999000064+00:00 0.531866 \n199 2023-04-09 06:59:59.999000064+00:00 0.529342 \n\n[130 rows x 15 columns]",
"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>open_time</th>\n <th>open</th>\n <th>high</th>\n <th>low</th>\n <th>close</th>\n <th>volume</th>\n <th>close_time</th>\n <th>quote_asset_volume</th>\n <th>number_of_trades</th>\n <th>taker_buy_base_asset_volume</th>\n <th>taker_buy_quote_asset_volume</th>\n <th>ignore</th>\n <th>open_datetime</th>\n <th>close_datetime</th>\n <th>vwap</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>70</th>\n <td>1.680556e+12</td>\n <td>0.5055</td>\n <td>0.5120</td>\n <td>0.4952</td>\n <td>0.5093</td>\n <td>5914731.0</td>\n <td>1.680559e+12</td>\n <td>2.980752e+06</td>\n <td>12803.0</td>\n <td>2773021.0</td>\n <td>1.397303e+06</td>\n <td>0.0</td>\n <td>2023-04-03 21:00:00+00:00</td>\n <td>2023-04-03 21:59:59.999000064+00:00</td>\n <td>0.513152</td>\n </tr>\n <tr>\n <th>71</th>\n <td>1.680559e+12</td>\n <td>0.5094</td>\n <td>0.5154</td>\n <td>0.5094</td>\n <td>0.5139</td>\n <td>2617240.0</td>\n <td>1.680563e+12</td>\n <td>1.343309e+06</td>\n <td>6728.0</td>\n <td>1278799.0</td>\n <td>6.564235e+05</td>\n <td>0.0</td>\n <td>2023-04-03 22:00:00+00:00</td>\n <td>2023-04-03 22:59:59.999000064+00:00</td>\n <td>0.513142</td>\n </tr>\n <tr>\n <th>72</th>\n <td>1.680563e+12</td>\n <td>0.5139</td>\n <td>0.5169</td>\n <td>0.5135</td>\n <td>0.5149</td>\n <td>1739230.0</td>\n <td>1.680566e+12</td>\n <td>8.963248e+05</td>\n <td>5501.0</td>\n <td>798276.0</td>\n <td>4.114123e+05</td>\n <td>0.0</td>\n <td>2023-04-03 23:00:00+00:00</td>\n <td>2023-04-03 23:59:59.999000064+00:00</td>\n <td>0.513191</td>\n </tr>\n <tr>\n <th>73</th>\n <td>1.680566e+12</td>\n <td>0.5148</td>\n <td>0.5201</td>\n <td>0.5109</td>\n <td>0.5114</td>\n <td>2934145.0</td>\n <td>1.680570e+12</td>\n <td>1.514089e+06</td>\n <td>7690.0</td>\n <td>1396846.0</td>\n <td>7.210894e+05</td>\n <td>0.0</td>\n <td>2023-04-04 00:00:00+00:00</td>\n <td>2023-04-04 00:59:59.999000064+00:00</td>\n <td>0.514133</td>\n </tr>\n <tr>\n <th>74</th>\n <td>1.680570e+12</td>\n <td>0.5114</td>\n <td>0.5132</td>\n <td>0.5084</td>\n <td>0.5103</td>\n <td>2012682.0</td>\n <td>1.680574e+12</td>\n <td>1.027706e+06</td>\n <td>5688.0</td>\n <td>951463.0</td>\n <td>4.859196e+05</td>\n <td>0.0</td>\n <td>2023-04-04 01:00:00+00:00</td>\n <td>2023-04-04 01:59:59.999000064+00:00</td>\n <td>0.512709</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 <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>195</th>\n <td>1.681006e+12</td>\n <td>0.5343</td>\n <td>0.5352</td>\n <td>0.5317</td>\n <td>0.5317</td>\n <td>635130.0</td>\n <td>1.681009e+12</td>\n <td>3.387798e+05</td>\n <td>2508.0</td>\n <td>213688.0</td>\n <td>1.139562e+05</td>\n <td>0.0</td>\n <td>2023-04-09 02:00:00+00:00</td>\n <td>2023-04-09 02:59:59.999000064+00:00</td>\n <td>0.532694</td>\n </tr>\n <tr>\n <th>196</th>\n <td>1.681009e+12</td>\n <td>0.5318</td>\n <td>0.5320</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>607073.0</td>\n <td>1.681013e+12</td>\n <td>3.224701e+05</td>\n <td>2365.0</td>\n <td>270857.0</td>\n <td>1.438895e+05</td>\n <td>0.0</td>\n <td>2023-04-09 03:00:00+00:00</td>\n <td>2023-04-09 03:59:59.999000064+00:00</td>\n <td>0.532235</td>\n </tr>\n <tr>\n <th>197</th>\n <td>1.681013e+12</td>\n <td>0.5298</td>\n <td>0.5321</td>\n <td>0.5296</td>\n <td>0.5316</td>\n <td>572264.0</td>\n <td>1.681016e+12</td>\n <td>3.035463e+05</td>\n <td>2963.0</td>\n <td>290869.0</td>\n <td>1.543087e+05</td>\n <td>0.0</td>\n <td>2023-04-09 04:00:00+00:00</td>\n <td>2023-04-09 04:59:59.999000064+00:00</td>\n <td>0.532051</td>\n </tr>\n <tr>\n <th>198</th>\n <td>1.681016e+12</td>\n <td>0.5315</td>\n <td>0.5330</td>\n <td>0.5296</td>\n <td>0.5297</td>\n <td>593517.0</td>\n <td>1.681020e+12</td>\n <td>3.154650e+05</td>\n <td>2124.0</td>\n <td>293800.0</td>\n <td>1.562002e+05</td>\n <td>0.0</td>\n <td>2023-04-09 05:00:00+00:00</td>\n <td>2023-04-09 05:59:59.999000064+00:00</td>\n <td>0.531866</td>\n </tr>\n <tr>\n <th>199</th>\n <td>1.681020e+12</td>\n <td>0.5297</td>\n <td>0.5297</td>\n <td>0.5217</td>\n <td>0.5224</td>\n <td>2191332.0</td>\n <td>1.681024e+12</td>\n <td>1.150854e+06</td>\n <td>5719.0</td>\n <td>971547.0</td>\n <td>5.102081e+05</td>\n <td>0.0</td>\n <td>2023-04-09 06:00:00+00:00</td>\n <td>2023-04-09 06:59:59.999000064+00:00</td>\n <td>0.529342</td>\n </tr>\n </tbody>\n</table>\n<p>130 rows × 15 columns</p>\n</div>"
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_lowest"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:49:27.540243Z",
"end_time": "2023-04-09T20:49:27.634127Z"
}
}
},
{
"cell_type": "code",
"execution_count": 98,
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAH0CAYAAADfWf7fAAAgAElEQVR4XuydB5gURd7G39mcYRcWWIJkFFkQIyqcAcQM5oDxMyCKB3reqSen3plQ1DsVxHhnIEcDqKionJ6YQSRJWHZJu+wSNuf4PVVDDz27MzvTMzWzPT1v+/gAO9XVVb9/zexvqv9dZUtNTW0CDxIgARIgARIgARIgARKwKAEbhdeikWW3SIAESIAESIAESIAEJAEKLwcCCZAACZAACZAACZCApQlQeC0dXnaOBEiABEiABEiABEiAwssxQAIkQAIkQAIkQAIkYGkCFF5Lh5edIwESIAESIAESIAESoPByDJAACZAACZAACZAACViaAIXX0uFl50iABEiABEiABEiABCi8HAMkQAIkQAIkQAIkQAKWJkDhtXR42TkSIAESIAESIAESIAEKL8cACZAACZAACZAACZCApQlQeC0dXnaOBEiABEiABEiABEiAwssxQAIkQAIkQAIkQAIkYGkCFF5Lh5edIwESIAESIAESIAESoPByDJAACZAACZAACZAACViaAIXX0uFl50iABEiABEiABEiABCi8HAMkQAIkQAIkQAIkQAKWJkDhtXR42TkSIAESIAESIAESIAEKL8cACZAACZAACZAACZCApQlQeC0dXnaOBEiABEiABEiABEiAwssxQAIkQAIkQAIkQAIkYGkCFF5Lh5edIwESIAESIAESIAESoPByDJAACZAACZAACZAACViaAIXX0uFl50iABEiABEiABEiABCi8HAMkQAIkQAIkQAIkQAKWJkDhtXR42TkSIAESIAESIAESIAEKL8cACZAACZAACZAACZCApQlQeC0dXnaOBEiABEiABEiABEiAwssxQAIkQAIkQAIkQAIkYGkCFF5Lh5edIwESIAESIAESIAESoPByDJAACZAACZAACZAACViaAIXX0uFl50iABEiABEiABEiABCi8HAMkQAIkQAIkQAIkQAKWJkDhtXR42TkSIAESIAESIAESIAEKL8cACZAACZAACZAACZCApQlQeC0dXnaOBEiABEiABEiABEiAwssxQAIkQAIkQAIkQAIkYGkCFF5Lh5edIwESIAESIAESIAESMK3wXnLZ5XjyqWnYkbUdl469sEWkNmzejv+u+gqT7p4gX7v08ivw0vRX8OvaNbjskovQ1NTk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eOrJJ9gVSYAESIAESIAESIAENCJA4S0G7AcfzUDfe/rnG9n9998juKtXdwQFBWHylGno0fMOpKQkY8rkSVjz1Re47/6BmPr+R8jIyMgXuU2rpsoKDW9Nehddu3aHv78/9u3bi/Evv5Rvfq9GdWZYEiABEiABEiABEjAtAQqvaUvPhpMACZAACZAACZCAOQhQeM1RZ7aSBEiABEiABEiABExLgMJr2tKz4SRAAiRAAiRAAiRgDgIUXnPUma0kARIgARIgARIgAdMSoPCatvRsOAmQAAmQAAmQAAmYgwCF1xx1ZitJgARIgARIgARIwLQEKLymLT0bTgIkQAIkQAIkQALmIEDhNUed2UoSIAESIAESIAESMC0BCq9pS8+GkwAJkAAJkAAJkIA5CFB4zVFntpIESIAESIAESIAETEuAwmva0rPhJEACJEACJEACJGAOAhRec9SZrSQBEiABEiABEiAB0xKg8Jq29Gw4CZAACZAACZAACZiDAIXXHHVmK0mABEiABEiABEjAtAQovKYtPRtOAiRAAiRAAiRAAuYgQOE1R53ZShIgARIgARIgARIwLQEKr2lLz4aTAAmQAAmQAAmQgDkIUHjNUWe2kgRIgARIgARIgARMS4DCa9rSs+EkQAIkQAIkQAIkYA4CFF5z1JmtJAESIAESIAESIAHTEqDwmrb0bDgJkAAJkAAJkAAJmIMAhdccdWYrSYAESIAESIAESMC0BCi8pi09G04CJEACJEACJEAC5iBA4TVHndlKEiABEiABEiABEjAtAQqvaUvPhpMACZAACZAACZCAOQhQeM1RZ7aSBEiABEiABEiABExLgMJr2tKz4SRAAiRAAiRAAiRgDgIUXnPUma0kARIgARIgARIgAdMSoPCatvRsOAmQAAmQAAmQAAmYgwCF1xx1ZitJgARIgARIgARIwLQEKLymLT0bTgIkQAIkQAIkQALmIEDhNUed2UoSIAESIAESIAESMC0BCq9pS8+GkwAJkAAJkAAJkIA5CFB4zVFntpIESIAESIAESIAETEuAwmva0rPhJEACJEACJEACJGAOAhRec9SZrSQBEiABEiABEiAB0xKg8Jq29Gw4CZAACZAACZAACZiDAIXXHHVmK0mABEiABEiABEjAtAQovKYtPRtOAiRAAiRAAiRAAuYgQOE1R53ZShIgARIgARIgARIwLQEKr2lLz4aTAAmQAAmQAAmQgDkIUHjNUWe2kgRIgARIgARIgARMS4DCa9rSs+EkQAIkQAIkQAIkYA4CFF5z1JmtJAESIAESIAESIAHTEqDwmrb0bDgJkAAJkAAJkAAJmIMAhdccdWYrSYAESIAESIAESMC0BCi8pi09G04CJEACJEACJEAC5iBA4TVHndlKEiABEiABEiABEjAtAQqvaUvPhpMACZAACZAACZCAOQhQeM1RZ7aSBEiABEiABEiABExLgMJr2tKz4SRAAiRAAiRAAiRgDgL/B1ULtFqq43y2AAAAAElFTkSuQmCC"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = go.Figure(data=\n",
" [go.Candlestick(x=df.open_datetime,\n",
" open=df[\"open\"],\n",
" high=df[\"high\"],\n",
" low=df[\"low\"],\n",
" close=df[\"close\"], showlegend=False)])\n",
"\n",
"av = get_vwap_from_anchor_date(df_highest, df_highest.open_datetime)\n",
"av2 = get_vwap_from_anchor_date(df_lowest, df_lowest.open_datetime)\n",
"\n",
"fig.add_trace(go.Scatter(x=av.open_datetime, y=av.anchored_vwap, showlegend=False))\n",
"fig.add_trace(go.Scatter(x=av2.open_datetime, y=av2.anchored_vwap, showlegend=False))\n",
"fig.update_layout(title=f\"{base}/{quote} {timeframe}\")\n",
"fig.update(layout_xaxis_rangeslider_visible=False)\n",
"fig.show('png')"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2023-04-09T20:48:19.169551Z",
"end_time": "2023-04-09T20:48:19.245923Z"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment