diff --git a/examples/README.md b/examples/README.md index 1d5f487e5c74..bf63622353d1 100644 --- a/examples/README.md +++ b/examples/README.md @@ -63,3 +63,14 @@ This notebook demonstrates how to fetch and work with options chains data. ### googleColabInstallation This notebook demonstrates how to install the OpenBB SDK within Google Colab. + + +### volumeAtPrice + +Volume-at-price is a chart used by technical analysts as a visual gauge to where the trading levels are concentrated, relative to price and volume. In short, it is the sum of volume at different price levels. This notebook utilizes individual components of the OpenBB SDK and combines them to build a new view. + +- Price +- Volume +- VWAP +- SMA +- OpenBBFigure diff --git a/examples/volumeAtPrice.ipynb b/examples/volumeAtPrice.ipynb new file mode 100644 index 000000000000..6df96180944a --- /dev/null +++ b/examples/volumeAtPrice.ipynb @@ -0,0 +1,6441 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d724df06", + "metadata": {}, + "source": [ + "# Building a Volume at Price Chart\n", + "\n", + "Volume-at-price is a chart used by technical analysts as a visual gauge to where the trading levels are concentrated, relative to price and volume. In short, it is the sum of volume at different price levels. This notebook utilizes individual components of the OpenBB SDK and combines them to build a new view." + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "bb37c115-58e5-446d-9eab-047d2f650721", + "metadata": {}, + "outputs": [], + "source": [ + "# Import statements\n", + "\n", + "from datetime import datetime, timedelta\n", + "from typing import Optional, Union\n", + "from openbb_terminal.sdk import openbb\n", + "import pandas as pd\n", + "from plotly import graph_objects as go\n", + "from plotly.subplots import make_subplots\n", + "from openbb_terminal import OpenBBFigure\n", + "from openbb_terminal.common.technical_analysis import ta_helpers\n", + "from openbb_terminal.common.technical_analysis.overlap_model import sma, vwap\n", + "from openbb_terminal.rich_config import console\n" + ] + }, + { + "cell_type": "markdown", + "id": "8b045af0", + "metadata": {}, + "source": [ + "Let's look at the pieces we want to put together.\n", + "\n", + "- Price\n", + "- Volume\n", + "- VWAP\n", + "- SMA" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "88a7f4be", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OpenHighLowCloseAdj CloseVolume
date
2023-08-23 09:30:00364.859985364.859985364.850006364.850006364.8500061978013
2023-08-23 09:31:00364.859985365.269989364.730011365.130005365.130005197931
2023-08-23 09:32:00365.119995365.265015364.640015364.709900364.709900156792
2023-08-23 09:33:00364.690002365.156189364.690002364.959991364.959991133015
2023-08-23 09:34:00364.970001365.149292364.750000364.880005364.880005203328
\n", + "
" + ], + "text/plain": [ + " Open High Low Close \\\n", + "date \n", + "2023-08-23 09:30:00 364.859985 364.859985 364.850006 364.850006 \n", + "2023-08-23 09:31:00 364.859985 365.269989 364.730011 365.130005 \n", + "2023-08-23 09:32:00 365.119995 365.265015 364.640015 364.709900 \n", + "2023-08-23 09:33:00 364.690002 365.156189 364.690002 364.959991 \n", + "2023-08-23 09:34:00 364.970001 365.149292 364.750000 364.880005 \n", + "\n", + " Adj Close Volume \n", + "date \n", + "2023-08-23 09:30:00 364.850006 1978013 \n", + "2023-08-23 09:31:00 365.130005 197931 \n", + "2023-08-23 09:32:00 364.709900 156792 \n", + "2023-08-23 09:33:00 364.959991 133015 \n", + "2023-08-23 09:34:00 364.880005 203328 " + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Get the OHLC+V data\n", + "\n", + "ticker= \"QQQ\"\n", + "ohlc_data = openbb.stocks.load(ticker, start_date = datetime.now().date().strftime(\"%Y-%m-%d\"), interval=1, verbose=False)\n", + "ohlc_data.head(5)" + ] + }, + { + "cell_type": "markdown", + "id": "e1fd1f07", + "metadata": {}, + "source": [ + "Rounding the price levels - here to the nearest ten cents - will make the final chart easier display better." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "10246983", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Volume
Close
364.6418695.0
364.7156792.0
364.8647207.0
364.92341760.0
365.0261823.0
\n", + "
" + ], + "text/plain": [ + " Volume\n", + "Close \n", + "364.6 418695.0\n", + "364.7 156792.0\n", + "364.8 647207.0\n", + "364.9 2341760.0\n", + "365.0 261823.0" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Separate volume and close into a new DataFrame and group by the price.\n", + "\n", + "_vap = pd.DataFrame(data = [(round(ohlc_data[\"Close\"], 1)),ohlc_data[\"Volume\"]]).transpose()\n", + "_vap_df = _vap.groupby(\"Close\").sum()[[\"Volume\"]]\n", + "_vap_df.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "03938620", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
VWAP_D
date
2023-08-23 09:30:00364.853333
2023-08-23 09:31:00364.870616
2023-08-23 09:32:00364.870685
2023-08-23 09:33:00364.874176
2023-08-23 09:34:00364.878156
\n", + "
" + ], + "text/plain": [ + " VWAP_D\n", + "date \n", + "2023-08-23 09:30:00 364.853333\n", + "2023-08-23 09:31:00 364.870616\n", + "2023-08-23 09:32:00 364.870685\n", + "2023-08-23 09:33:00 364.874176\n", + "2023-08-23 09:34:00 364.878156" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Get VWAP levels\n", + "\n", + "_vwap = vwap(ohlc_data)\n", + "_vwap.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "e1321d33", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SMA_10
date
2023-08-23 14:49:00369.148868
2023-08-23 14:50:00369.159866
2023-08-23 14:51:00369.165869
2023-08-23 14:52:00369.200879
2023-08-23 14:53:00369.228598
\n", + "
" + ], + "text/plain": [ + " SMA_10\n", + "date \n", + "2023-08-23 14:49:00 369.148868\n", + "2023-08-23 14:50:00 369.159866\n", + "2023-08-23 14:51:00 369.165869\n", + "2023-08-23 14:52:00 369.200879\n", + "2023-08-23 14:53:00 369.228598" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Calculate the simple moving average.\n", + "\n", + "_sma_df = sma(data = ohlc_data[\"Close\"], length = 10)\n", + "_sma_df.tail(5)" + ] + }, + { + "cell_type": "markdown", + "id": "d87c0523", + "metadata": {}, + "source": [ + "## Parameterize the Components as a Function\n", + "\n", + "To combine these components, a function needs to be created that parameterizes the inputs.\n", + "\n", + "The two functions below represent the \"model\" and \"view\" components. As Terminal components, they would be added to `openbb_terminal/common/technical_analysis/volume_model.py` and `volume_view.py` respectively. \n", + "\n", + "At the SDK level, users can call on either one, but only the view will return a chart and provide an input for the simple moving average. As a Terminal as a function, the controller module would call the view function, `display_vap()`." + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "754d902f", + "metadata": {}, + "outputs": [], + "source": [ + "def vap(data: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"Volume at Price.\n", + "\n", + " Parameters\n", + " ----------\n", + " data: pd.DataFrame\n", + " Dataframe of OHLC + Volume.\n", + "\n", + " Returns\n", + " -------\n", + " pd.DataFrame\n", + " Dataframe with technical indicator.\n", + " \"\"\"\n", + " close_col = ta_helpers.check_columns(data, high=False, low=False)\n", + " if close_col is None:\n", + " return pd.DataFrame()\n", + " if \"Volume\" not in data.columns:\n", + " console.print(\"[red]Volume column not found[/red]\\n\")\n", + " return pd.DataFrame()\n", + "\n", + " vap_df = pd.DataFrame(data=[(round(data[\"Close\"], 1)), data[\"Volume\"]]).transpose()\n", + "\n", + " return vap_df.groupby(\"Close\").sum()[[\"Volume\"]]\n", + "\n", + "def display_vap(\n", + " data: Optional[pd.DataFrame] = None,\n", + " symbol: str = \"\",\n", + " ma: Optional[int] = None,\n", + " export: str = \"\",\n", + " sheet_name: Optional[str] = None,\n", + " external_axes: bool = False,\n", + ") -> Union[OpenBBFigure, None]:\n", + " \"\"\"Plots Volume-at-Price with an optional simple moving average.\n", + "\n", + " Parameters\n", + " ----------\n", + " data : pd.DataFrame\n", + " Dataframe of ohlc prices\n", + " symbol : str\n", + " Ticker\n", + " ma: int\n", + " Window for calculating the simple moving average.\n", + " sheet_name: str\n", + " Optionally specify the name of the sheet the data is exported to.\n", + " export: str\n", + " Format to export data as\n", + " external_axes : bool, optional\n", + " Whether to return the figure object or not, by default False\n", + " \"\"\"\n", + " if data is None or data.empty:\n", + " data = openbb.stocks.load(symbol, start_date=datetime.now().strftime(\"%Y-%m-%d\"), interval=1)\n", + " if data.empty:\n", + " return None\n", + " \n", + " if ma is None:\n", + " ma = 0\n", + " ma_df = pd.DataFrame()\n", + "\n", + " if \"vw\" in data.columns:\n", + " data[\"VWAP\"] = data[\"vw\"]\n", + " data[\"VWAP\"] = vwap(data)\n", + "\n", + " vap_df = vap(data)\n", + "\n", + " fig = make_subplots(\n", + " rows=1, cols=2, shared_xaxes=False, shared_yaxes=True, horizontal_spacing=0.001\n", + " )\n", + " fig.add_trace(\n", + " go.Bar(\n", + " x=vap_df.Volume.astype(int),\n", + " y=vap_df.index,\n", + " orientation=\"h\",\n", + " name=\"Volume at Price\",\n", + " opacity=0.25,\n", + " marker={\"color\": \"gray\"},\n", + " ),\n", + " row=1,\n", + " col=1,\n", + " )\n", + " fig.add_trace(\n", + " go.Scatter(x=data.index, y=data[\"VWAP\"], name=\"VWAP\", marker={\"color\": \"red\"}),\n", + " row=1,\n", + " col=2,\n", + " )\n", + " fig.add_trace(\n", + " go.Scatter(\n", + " x=data.index, y=data[\"Close\"], name=\"Close\", marker={\"color\": \"green\"}\n", + " ),\n", + " row=1,\n", + " col=2,\n", + " )\n", + " if ma != 0:\n", + " ma_df = sma(data[\"Close\"], ma).iloc[:, 0]\n", + " fig.add_trace(\n", + " go.Scatter(\n", + " x=ma_df.index,\n", + " y=ma_df,\n", + " name=f\"SMA {ma}\",\n", + " marker={\"color\": \"orange\"},\n", + " ),\n", + " row=1,\n", + " col=2,\n", + " )\n", + "\n", + " fig.update_layout(\n", + " yaxis2=dict(\n", + " zeroline=False,\n", + " showticklabels=False,\n", + " showgrid=False,\n", + " mirror=True,\n", + " showline=True,\n", + " ticklen=0,\n", + " ),\n", + " xaxis2=dict(\n", + " zeroline=False,\n", + " mirror=True,\n", + " showline=True,\n", + " ticks=\"outside\",\n", + " showgrid=False,\n", + " ticklen=0,\n", + " domain=[0, 0],\n", + " ),\n", + " xaxis1=dict(\n", + " zeroline=False,\n", + " showline=False,\n", + " showticklabels=False,\n", + " showgrid=False,\n", + " autorange=False,\n", + " mirror=False,\n", + " range=[0, max(vap_df.Volume)],\n", + " ticklen=0,\n", + " domain=[0, 0],\n", + " ),\n", + " yaxis1=dict(\n", + " zeroline=False,\n", + " showgrid=False,\n", + " showticklabels=True,\n", + " ticks=\"outside\",\n", + " mirror=True,\n", + " showline=False,\n", + " ticklen=0,\n", + " ),\n", + " plot_bgcolor=\"rgba(0,0,0,0)\",\n", + " title=f\"{symbol} - Volume at Price\",\n", + " title_y=1,\n", + " title_x=0.5,\n", + " legend=dict(\n", + " orientation=\"h\",\n", + " yanchor=\"top\",\n", + " y=1.115,\n", + " xanchor=\"right\",\n", + " x=1,\n", + " bgcolor=\"rgba(0,0,0,0)\"\n", + " ),\n", + " )\n", + " # Using the OpenBBFigure class will provide additional processing like removing the time periods between trading days.\n", + " ta = OpenBBFigure(fig)\n", + "\n", + " return ta.show()" + ] + }, + { + "cell_type": "markdown", + "id": "d18c378b", + "metadata": {}, + "source": [ + "The function will check if the `data` parameter is used, and will grab one-minute data from today if not. There is also an optional parameter to add a simple moving average line." + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "25a88e10", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Loading Intraday 1min data for QQQ with starting period 2023-08-23.\n",
+       "
\n" + ], + "text/plain": [ + "Loading Intraday 1min data for QQQ with starting period 2023-08-23.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "displaylogo": false, + "plotlyServerURL": "https://plot.ly", + "scrollZoom": true + }, + "data": [ + { + "marker": { + "color": "gray", + "line": { + "width": 0.15 + } + }, + "name": "Volume at Price", + "opacity": 0.25, + "orientation": "h", + "type": "bar", + "x": [ + 418695, + 156792, + 647207, + 2341760, + 261823, + 278826, + 311512, + 323116, + 221954, + 634974, + 237158, + 317011, + 169302, + 455307, + 64683, + 954020, + 553816, + 149883, + 107005, + 750123, + 355684, + 174201, + 688809, + 502720, + 546406, + 550109, + 314513, + 311710, + 521756, + 103543, + 538149, + 1252361, + 1727588, + 3072788, + 1137470, + 1444764, + 2441902, + 1622618, + 751166, + 972414, + 535703, + 735372, + 766396, + 784820, + 736010, + 509624, + 561723, + 438226, + 180454 + ], + "xaxis": "x", + "y": [ + 364.6, + 364.7, + 364.8, + 364.9, + 365, + 365.1, + 365.4, + 365.5, + 365.7, + 365.8, + 365.9, + 366.1, + 366.2, + 366.4, + 366.5, + 366.6, + 366.7, + 366.8, + 366.9, + 367.1, + 367.2, + 367.3, + 367.4, + 367.5, + 367.6, + 367.7, + 367.8, + 368, + 368.2, + 368.3, + 368.4, + 368.5, + 368.6, + 368.7, + 368.8, + 368.9, + 369, + 369.1, + 369.2, + 369.3, + 369.4, + 369.5, + 369.6, + 369.7, + 369.8, + 369.9, + 370, + 370.1, + 370.2 + ], + "yaxis": "y" + }, + { + "hovertemplate": "%{y}", + "marker": { + "color": "red" + }, + "name": "VWAP", + "type": "scatter", + "x": [ + "2023-08-23T09:30:00", + "2023-08-23T09:31:00", + "2023-08-23T09:32:00", + "2023-08-23T09:33:00", + "2023-08-23T09:34:00", + "2023-08-23T09:35:00", + "2023-08-23T09:36:00", + "2023-08-23T09:37:00", + "2023-08-23T09:38:00", + "2023-08-23T09:39:00", + "2023-08-23T09:40:00", + "2023-08-23T09:41:00", + "2023-08-23T09:42:00", + "2023-08-23T09:43:00", + "2023-08-23T09:44:00", + "2023-08-23T09:45:00", + "2023-08-23T09:46:00", + "2023-08-23T09:47:00", + "2023-08-23T09:48:00", + "2023-08-23T09:49:00", + "2023-08-23T09:50:00", + "2023-08-23T09:51:00", + "2023-08-23T09:52:00", + "2023-08-23T09:53:00", + "2023-08-23T09:54:00", + "2023-08-23T09:55:00", + "2023-08-23T09:56:00", + "2023-08-23T09:57:00", + "2023-08-23T09:58:00", + "2023-08-23T09:59:00", + "2023-08-23T10:00:00", + "2023-08-23T10:01:00", + "2023-08-23T10:02:00", + "2023-08-23T10:03:00", + "2023-08-23T10:04:00", + "2023-08-23T10:05:00", + "2023-08-23T10:06:00", + "2023-08-23T10:07:00", + "2023-08-23T10:08:00", + "2023-08-23T10:09:00", + "2023-08-23T10:10:00", + "2023-08-23T10:11:00", + "2023-08-23T10:12:00", + "2023-08-23T10:13:00", + "2023-08-23T10:14:00", + "2023-08-23T10:15:00", + "2023-08-23T10:16:00", + "2023-08-23T10:17:00", + "2023-08-23T10:18:00", + "2023-08-23T10:19:00", + "2023-08-23T10:20:00", + "2023-08-23T10:21:00", + "2023-08-23T10:22:00", + "2023-08-23T10:23:00", + "2023-08-23T10:24:00", + "2023-08-23T10:25:00", + "2023-08-23T10:26:00", + "2023-08-23T10:27:00", + "2023-08-23T10:28:00", + "2023-08-23T10:29:00", + "2023-08-23T10:30:00", + "2023-08-23T10:31:00", + "2023-08-23T10:32:00", + "2023-08-23T10:33:00", + "2023-08-23T10:34:00", + "2023-08-23T10:35:00", + "2023-08-23T10:36:00", + "2023-08-23T10:37:00", + "2023-08-23T10:38:00", + "2023-08-23T10:39:00", + "2023-08-23T10:40:00", + "2023-08-23T10:41:00", + "2023-08-23T10:42:00", + "2023-08-23T10:43:00", + "2023-08-23T10:44:00", + "2023-08-23T10:45:00", + "2023-08-23T10:46:00", + "2023-08-23T10:47:00", + "2023-08-23T10:48:00", + "2023-08-23T10:49:00", + "2023-08-23T10:50:00", + "2023-08-23T10:51:00", + "2023-08-23T10:52:00", + "2023-08-23T10:53:00", + "2023-08-23T10:54:00", + "2023-08-23T10:55:00", + "2023-08-23T10:57:00", + "2023-08-23T10:58:00", + "2023-08-23T10:59:00", + "2023-08-23T11:00:00", + "2023-08-23T11:01:00", + "2023-08-23T11:02:00", + "2023-08-23T11:03:00", + "2023-08-23T11:04:00", + "2023-08-23T11:05:00", + "2023-08-23T11:06:00", + "2023-08-23T11:07:00", + "2023-08-23T11:08:00", + "2023-08-23T11:09:00", + "2023-08-23T11:10:00", + "2023-08-23T11:11:00", + "2023-08-23T11:12:00", + "2023-08-23T11:13:00", + "2023-08-23T11:14:00", + "2023-08-23T11:15:00", + "2023-08-23T11:16:00", + "2023-08-23T11:17:00", + "2023-08-23T11:18:00", + "2023-08-23T11:19:00", + "2023-08-23T11:20:00", + "2023-08-23T11:21:00", + "2023-08-23T11:22:00", + "2023-08-23T11:23:00", + "2023-08-23T11:24:00", + "2023-08-23T11:25:00", + "2023-08-23T11:26:00", + "2023-08-23T11:27:00", + "2023-08-23T11:28:00", + "2023-08-23T11:29:00", + "2023-08-23T11:30:00", + "2023-08-23T11:31:00", + "2023-08-23T11:32:00", + "2023-08-23T11:33:00", + "2023-08-23T11:34:00", + "2023-08-23T11:35:00", + "2023-08-23T11:36:00", + "2023-08-23T11:37:00", + "2023-08-23T11:38:00", + "2023-08-23T11:39:00", + "2023-08-23T11:40:00", + "2023-08-23T11:41:00", + "2023-08-23T11:42:00", + "2023-08-23T11:43:00", + "2023-08-23T11:44:00", + "2023-08-23T11:45:00", + "2023-08-23T11:46:00", + "2023-08-23T11:47:00", + "2023-08-23T11:48:00", + "2023-08-23T11:49:00", + "2023-08-23T11:50:00", + "2023-08-23T11:51:00", + "2023-08-23T11:52:00", + "2023-08-23T11:53:00", + "2023-08-23T11:54:00", + "2023-08-23T11:55:00", + "2023-08-23T11:56:00", + "2023-08-23T11:57:00", + "2023-08-23T11:58:00", + "2023-08-23T11:59:00", + "2023-08-23T12:00:00", + "2023-08-23T12:01:00", + "2023-08-23T12:02:00", + "2023-08-23T12:03:00", + "2023-08-23T12:04:00", + "2023-08-23T12:05:00", + "2023-08-23T12:06:00", + "2023-08-23T12:07:00", + "2023-08-23T12:08:00", + "2023-08-23T12:09:00", + "2023-08-23T12:10:00", + "2023-08-23T12:11:00", + "2023-08-23T12:12:00", + "2023-08-23T12:13:00", + "2023-08-23T12:14:00", + "2023-08-23T12:15:00", + "2023-08-23T12:16:00", + "2023-08-23T12:17:00", + "2023-08-23T12:18:00", + "2023-08-23T12:19:00", + "2023-08-23T12:20:00", + "2023-08-23T12:21:00", + "2023-08-23T12:22:00", + "2023-08-23T12:23:00", + "2023-08-23T12:24:00", + "2023-08-23T12:25:00", + "2023-08-23T12:26:00", + "2023-08-23T12:27:00", + "2023-08-23T12:28:00", + "2023-08-23T12:29:00", + "2023-08-23T12:30:00", + "2023-08-23T12:31:00", + "2023-08-23T12:32:00", + "2023-08-23T12:33:00", + "2023-08-23T12:34:00", + "2023-08-23T12:35:00", + "2023-08-23T12:36:00", + "2023-08-23T12:37:00", + "2023-08-23T12:38:00", + "2023-08-23T12:39:00", + "2023-08-23T12:40:00", + "2023-08-23T12:41:00", + "2023-08-23T12:42:00", + "2023-08-23T12:43:00", + "2023-08-23T12:44:00", + "2023-08-23T12:45:00", + "2023-08-23T12:46:00", + "2023-08-23T12:47:00", + "2023-08-23T12:48:00", + "2023-08-23T12:49:00", + "2023-08-23T12:50:00", + "2023-08-23T12:51:00", + "2023-08-23T12:52:00", + "2023-08-23T12:53:00", + "2023-08-23T12:54:00", + "2023-08-23T12:55:00", + "2023-08-23T12:56:00", + "2023-08-23T12:57:00", + "2023-08-23T12:58:00", + "2023-08-23T12:59:00", + "2023-08-23T13:00:00", + "2023-08-23T13:01:00", + "2023-08-23T13:02:00", + "2023-08-23T13:03:00", + "2023-08-23T13:04:00", + "2023-08-23T13:05:00", + "2023-08-23T13:06:00", + "2023-08-23T13:07:00", + "2023-08-23T13:08:00", + "2023-08-23T13:09:00", + "2023-08-23T13:10:00", + "2023-08-23T13:11:00", + "2023-08-23T13:12:00", + "2023-08-23T13:13:00", + "2023-08-23T13:14:00", + "2023-08-23T13:15:00", + "2023-08-23T13:16:00", + "2023-08-23T13:17:00", + "2023-08-23T13:18:00", + "2023-08-23T13:19:00", + "2023-08-23T13:20:00", + "2023-08-23T13:21:00", + "2023-08-23T13:22:00", + "2023-08-23T13:23:00", + "2023-08-23T13:24:00", + "2023-08-23T13:25:00", + "2023-08-23T13:26:00", + "2023-08-23T13:27:00", + "2023-08-23T13:28:00", + "2023-08-23T13:29:00", + "2023-08-23T13:30:00", + "2023-08-23T13:31:00", + "2023-08-23T13:32:00", + "2023-08-23T13:33:00", + "2023-08-23T13:34:00", + "2023-08-23T13:35:00", + "2023-08-23T13:36:00", + "2023-08-23T13:37:00", + "2023-08-23T13:38:00", + "2023-08-23T13:39:00", + "2023-08-23T13:40:00", + "2023-08-23T13:41:00", + "2023-08-23T13:42:00", + "2023-08-23T13:43:00", + "2023-08-23T13:44:00", + "2023-08-23T13:45:00", + "2023-08-23T13:46:00", + "2023-08-23T13:47:00", + "2023-08-23T13:48:00", + "2023-08-23T13:49:00", + "2023-08-23T13:50:00", + "2023-08-23T13:51:00", + "2023-08-23T13:52:00", + "2023-08-23T13:53:00", + "2023-08-23T13:54:00", + "2023-08-23T13:55:00", + "2023-08-23T13:56:00", + "2023-08-23T13:57:00", + "2023-08-23T13:58:00", + "2023-08-23T13:59:00", + "2023-08-23T14:00:00", + "2023-08-23T14:01:00", + "2023-08-23T14:02:00", + "2023-08-23T14:03:00", + "2023-08-23T14:04:00", + "2023-08-23T14:05:00", + "2023-08-23T14:06:00", + "2023-08-23T14:07:00", + "2023-08-23T14:08:00", + "2023-08-23T14:09:00", + "2023-08-23T14:10:00", + "2023-08-23T14:11:00", + "2023-08-23T14:12:00", + "2023-08-23T14:13:00", + "2023-08-23T14:14:00", + "2023-08-23T14:15:00", + "2023-08-23T14:16:00", + "2023-08-23T14:17:00", + "2023-08-23T14:18:00", + "2023-08-23T14:19:00", + "2023-08-23T14:20:00", + "2023-08-23T14:21:00", + "2023-08-23T14:22:00", + "2023-08-23T14:23:00", + "2023-08-23T14:24:00", + "2023-08-23T14:25:00", + "2023-08-23T14:26:00", + "2023-08-23T14:27:00", + "2023-08-23T14:28:00", + "2023-08-23T14:29:00", + "2023-08-23T14:30:00", + "2023-08-23T14:31:00", + "2023-08-23T14:32:00", + "2023-08-23T14:33:00", + "2023-08-23T14:34:00", + "2023-08-23T14:35:00", + "2023-08-23T14:36:00", + "2023-08-23T14:37:00", + "2023-08-23T14:38:00", + "2023-08-23T14:39:00", + "2023-08-23T14:40:00", + "2023-08-23T14:41:00", + "2023-08-23T14:42:00", + "2023-08-23T14:43:00", + "2023-08-23T14:44:00", + "2023-08-23T14:45:00", + "2023-08-23T14:46:00", + "2023-08-23T14:47:00", + "2023-08-23T14:48:00", + "2023-08-23T14:49:00", + "2023-08-23T14:50:00", + "2023-08-23T14:51:00", + "2023-08-23T14:52:00", + "2023-08-23T14:53:00", + "2023-08-23T14:54:00", + "2023-08-23T14:55:00", + "2023-08-23T14:56:00", + "2023-08-23T14:57:00", + "2023-08-23T14:58:00", + "2023-08-23T14:59:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "y": [ + 364.85333251953125, + 364.8706157645182, + 364.87068481335945, + 364.874175567556, + 364.8781564370619, + 364.885145552203, + 364.89097282822587, + 364.89226922889316, + 364.88703628677325, + 364.87408505747266, + 364.8640524109877, + 364.8572479323494, + 364.8536494046612, + 364.85139328420297, + 364.85297583793493, + 364.8863844287427, + 364.91641671125245, + 364.95494749686776, + 364.98173682390154, + 365.01248065852565, + 365.0381450565978, + 365.06537896674774, + 365.09307158414293, + 365.1153532248733, + 365.12932843874324, + 365.1533223822606, + 365.1949023683371, + 365.2369042489952, + 365.2862770133789, + 365.3113523379489, + 365.33909296934047, + 365.35797909803, + 365.37831718760066, + 365.4420144478337, + 365.4585464535867, + 365.4675511452122, + 365.491419927474, + 365.50622997599123, + 365.52984623156567, + 365.546428711934, + 365.576027722498, + 365.61175937298486, + 365.6405862953152, + 365.66767021469497, + 365.682036749253, + 365.70504486370226, + 365.7234050115898, + 365.7634407834041, + 365.7750551799703, + 365.78478397505955, + 365.80871902937236, + 365.833052839448, + 365.8561712086148, + 365.88541322296174, + 365.8946328117279, + 365.9156211361404, + 365.9343916398939, + 365.94632851337803, + 365.9571593545691, + 365.9664866534188, + 365.9789701182774, + 366.00368963757154, + 366.01452412043307, + 366.02218551723655, + 366.03118643335216, + 366.0794271053144, + 366.0909888407902, + 366.1043279905058, + 366.1128311969448, + 366.12125345767674, + 366.13186609981955, + 366.1621758496939, + 366.1885560794923, + 366.2143250143618, + 366.23251451449534, + 366.24646824116473, + 366.2614240345748, + 366.27018550880666, + 366.2919156219518, + 366.33109604347555, + 366.3571484949198, + 366.37383783267893, + 366.3936549370836, + 366.41026781179136, + 366.4286988184787, + 366.43335010563925, + 366.5044385510092, + 366.518224877524, + 366.53269418942676, + 366.559098081395, + 366.57402671108724, + 366.5829284432831, + 366.5950938371624, + 366.6009365339643, + 366.6358273585232, + 366.66007690692396, + 366.6818686761505, + 366.69074300498954, + 366.6996046245549, + 366.71156373403954, + 366.7185714178294, + 366.7278423322256, + 366.73970567575543, + 366.7534484188158, + 366.77300675633813, + 366.7832137822995, + 366.79315099494596, + 366.8016886056593, + 366.80793746966856, + 366.82092412957695, + 366.8417910765057, + 366.8592790869922, + 366.8754062160766, + 366.8866407357588, + 366.89293330879536, + 366.90227604992873, + 366.91036483703766, + 366.92277501817057, + 366.9366127858306, + 366.94598227006003, + 366.95323367129197, + 366.9601182181796, + 366.9686129133939, + 366.9789647536958, + 367.0032259357498, + 367.01619376462367, + 367.02390186969876, + 367.03049644115634, + 367.0363651463884, + 367.04675932112457, + 367.05547927107625, + 367.05996535387993, + 367.06770883831007, + 367.0724271578276, + 367.0817139975507, + 367.09002737239933, + 367.09713087163135, + 367.0999063852902, + 367.10436460769694, + 367.11245072741156, + 367.1394365835722, + 367.14434988765737, + 367.14999825670395, + 367.15570249726926, + 367.1618646679314, + 367.19909096602146, + 367.2059267613416, + 367.2093716924977, + 367.2156418309055, + 367.22417805733176, + 367.231165454372, + 367.2363522243072, + 367.2398262750428, + 367.24172491525627, + 367.24539360514507, + 367.2498738992023, + 367.2515222584421, + 367.25439430800293, + 367.2599838046211, + 367.26433306987917, + 367.2671871008539, + 367.2730350713903, + 367.2758383506704, + 367.27732034637785, + 367.2795969637873, + 367.2836669437734, + 367.28764479246354, + 367.2955797767598, + 367.2998053401714, + 367.302223008513, + 367.30554927230514, + 367.31168374813313, + 367.3154728527341, + 367.3174667089129, + 367.32072347738506, + 367.3469314242974, + 367.34939846376756, + 367.3531419269321, + 367.35498763681096, + 367.35790554746956, + 367.3593325013159, + 367.3619588287268, + 367.36548838936926, + 367.3677343203988, + 367.3703596718193, + 367.37448595348286, + 367.37629645105767, + 367.37862894024414, + 367.3820538328876, + 367.3840388059174, + 367.3855109241518, + 367.3892233629261, + 367.391053136687, + 367.39239668146837, + 367.394518365697, + 367.3974381117031, + 367.40093627828685, + 367.4035685321576, + 367.40595331611723, + 367.4223073888276, + 367.42907310693084, + 367.4341936510317, + 367.4369907856124, + 367.43980619402834, + 367.44341339328497, + 367.44480372552687, + 367.44788810265084, + 367.4503343676536, + 367.4523928462858, + 367.45390614464804, + 367.4588592991266, + 367.4631473625115, + 367.4646586968281, + 367.4682557613835, + 367.4695426941876, + 367.4734079874161, + 367.4762118660975, + 367.47841451013363, + 367.49247372530925, + 367.4955719097308, + 367.49918300981784, + 367.50407739428607, + 367.50662447410235, + 367.507940046616, + 367.5287723783685, + 367.53562295485904, + 367.5508204861494, + 367.5600010132265, + 367.5658691204617, + 367.57202537677523, + 367.5801654297818, + 367.58378254789903, + 367.58834479110516, + 367.5915012846177, + 367.5994902515081, + 367.60893787565317, + 367.61661216801843, + 367.6215314828844, + 367.6261484312276, + 367.64181731435826, + 367.65058389432926, + 367.6561777675666, + 367.6646442172295, + 367.66984419982214, + 367.6739122340392, + 367.68061323347155, + 367.68488413954714, + 367.6882091505251, + 367.6911021991961, + 367.69457544357897, + 367.69697538067715, + 367.69929935621093, + 367.7013388890043, + 367.7055708747153, + 367.71558054521597, + 367.7200045501552, + 367.72595842631785, + 367.736169013393, + 367.7401926233834, + 367.7445978753699, + 367.7493366564108, + 367.75367106079653, + 367.7609363110782, + 367.7684339413089, + 367.77251713825314, + 367.77553028900235, + 367.78085821404017, + 367.7832492071566, + 367.78584206817567, + 367.79153856491206, + 367.7949191282596, + 367.7991686977958, + 367.8013288380665, + 367.8060989896485, + 367.80828051728196, + 367.81129841658094, + 367.8162544593477, + 367.8180426506042, + 367.81957968109145, + 367.8219676235563, + 367.8246427258887, + 367.8282041937737, + 367.8342981445966, + 367.83926977738105, + 367.8436333463225, + 367.84640459760965, + 367.8500826462247, + 367.8533607618315, + 367.8560381144743, + 367.8595905233162, + 367.86459708730155, + 367.8665175733344, + 367.8701124894895, + 367.87460819215687, + 367.87945397087896, + 367.8826446102757, + 367.8850899063128, + 367.88692316733994, + 367.88920603764444, + 367.89243020786824, + 367.89546976119027, + 367.898609650587, + 367.9002198871972, + 367.9024180609961, + 367.9035497024345, + 367.9058219091916, + 367.90887529608796, + 367.9149978420662, + 367.91688837819055, + 367.921645703364, + 367.9227238449856, + 367.92351270107787, + 367.92433135101413, + 367.9258730320358, + 367.9258730320358, + 367.928650958683, + 367.9310861556099, + 367.9329098663799, + 367.9337590830423, + 367.93585726786796, + 367.9377527245375, + 367.94006505199815, + 367.9418497928467, + 367.9430126649462, + 367.94530696238434, + 367.9493718644042, + 367.9516252977953, + 367.9529995206379, + 367.9539278994196, + 367.9539278994196 + ], + "yaxis": "y2" + }, + { + "hovertemplate": "%{y}", + "marker": { + "color": "green" + }, + "name": "Close", + "type": "scatter", + "x": [ + "2023-08-23T09:30:00", + "2023-08-23T09:31:00", + "2023-08-23T09:32:00", + "2023-08-23T09:33:00", + "2023-08-23T09:34:00", + "2023-08-23T09:35:00", + "2023-08-23T09:36:00", + "2023-08-23T09:37:00", + "2023-08-23T09:38:00", + "2023-08-23T09:39:00", + "2023-08-23T09:40:00", + "2023-08-23T09:41:00", + "2023-08-23T09:42:00", + "2023-08-23T09:43:00", + "2023-08-23T09:44:00", + "2023-08-23T09:45:00", + "2023-08-23T09:46:00", + "2023-08-23T09:47:00", + "2023-08-23T09:48:00", + "2023-08-23T09:49:00", + "2023-08-23T09:50:00", + "2023-08-23T09:51:00", + "2023-08-23T09:52:00", + "2023-08-23T09:53:00", + "2023-08-23T09:54:00", + "2023-08-23T09:55:00", + "2023-08-23T09:56:00", + "2023-08-23T09:57:00", + "2023-08-23T09:58:00", + "2023-08-23T09:59:00", + "2023-08-23T10:00:00", + "2023-08-23T10:01:00", + "2023-08-23T10:02:00", + "2023-08-23T10:03:00", + "2023-08-23T10:04:00", + "2023-08-23T10:05:00", + "2023-08-23T10:06:00", + "2023-08-23T10:07:00", + "2023-08-23T10:08:00", + "2023-08-23T10:09:00", + "2023-08-23T10:10:00", + "2023-08-23T10:11:00", + "2023-08-23T10:12:00", + "2023-08-23T10:13:00", + "2023-08-23T10:14:00", + "2023-08-23T10:15:00", + "2023-08-23T10:16:00", + "2023-08-23T10:17:00", + "2023-08-23T10:18:00", + "2023-08-23T10:19:00", + "2023-08-23T10:20:00", + "2023-08-23T10:21:00", + "2023-08-23T10:22:00", + "2023-08-23T10:23:00", + "2023-08-23T10:24:00", + "2023-08-23T10:25:00", + "2023-08-23T10:26:00", + "2023-08-23T10:27:00", + "2023-08-23T10:28:00", + "2023-08-23T10:29:00", + "2023-08-23T10:30:00", + "2023-08-23T10:31:00", + "2023-08-23T10:32:00", + "2023-08-23T10:33:00", + "2023-08-23T10:34:00", + "2023-08-23T10:35:00", + "2023-08-23T10:36:00", + "2023-08-23T10:37:00", + "2023-08-23T10:38:00", + "2023-08-23T10:39:00", + "2023-08-23T10:40:00", + "2023-08-23T10:41:00", + "2023-08-23T10:42:00", + "2023-08-23T10:43:00", + "2023-08-23T10:44:00", + "2023-08-23T10:45:00", + "2023-08-23T10:46:00", + "2023-08-23T10:47:00", + "2023-08-23T10:48:00", + "2023-08-23T10:49:00", + "2023-08-23T10:50:00", + "2023-08-23T10:51:00", + "2023-08-23T10:52:00", + "2023-08-23T10:53:00", + "2023-08-23T10:54:00", + "2023-08-23T10:55:00", + "2023-08-23T10:57:00", + "2023-08-23T10:58:00", + "2023-08-23T10:59:00", + "2023-08-23T11:00:00", + "2023-08-23T11:01:00", + "2023-08-23T11:02:00", + "2023-08-23T11:03:00", + "2023-08-23T11:04:00", + "2023-08-23T11:05:00", + "2023-08-23T11:06:00", + "2023-08-23T11:07:00", + "2023-08-23T11:08:00", + "2023-08-23T11:09:00", + "2023-08-23T11:10:00", + "2023-08-23T11:11:00", + "2023-08-23T11:12:00", + "2023-08-23T11:13:00", + "2023-08-23T11:14:00", + "2023-08-23T11:15:00", + "2023-08-23T11:16:00", + "2023-08-23T11:17:00", + "2023-08-23T11:18:00", + "2023-08-23T11:19:00", + "2023-08-23T11:20:00", + "2023-08-23T11:21:00", + "2023-08-23T11:22:00", + "2023-08-23T11:23:00", + "2023-08-23T11:24:00", + "2023-08-23T11:25:00", + "2023-08-23T11:26:00", + "2023-08-23T11:27:00", + "2023-08-23T11:28:00", + "2023-08-23T11:29:00", + "2023-08-23T11:30:00", + "2023-08-23T11:31:00", + "2023-08-23T11:32:00", + "2023-08-23T11:33:00", + "2023-08-23T11:34:00", + "2023-08-23T11:35:00", + "2023-08-23T11:36:00", + "2023-08-23T11:37:00", + "2023-08-23T11:38:00", + "2023-08-23T11:39:00", + "2023-08-23T11:40:00", + "2023-08-23T11:41:00", + "2023-08-23T11:42:00", + "2023-08-23T11:43:00", + "2023-08-23T11:44:00", + "2023-08-23T11:45:00", + "2023-08-23T11:46:00", + "2023-08-23T11:47:00", + "2023-08-23T11:48:00", + "2023-08-23T11:49:00", + "2023-08-23T11:50:00", + "2023-08-23T11:51:00", + "2023-08-23T11:52:00", + "2023-08-23T11:53:00", + "2023-08-23T11:54:00", + "2023-08-23T11:55:00", + "2023-08-23T11:56:00", + "2023-08-23T11:57:00", + "2023-08-23T11:58:00", + "2023-08-23T11:59:00", + "2023-08-23T12:00:00", + "2023-08-23T12:01:00", + "2023-08-23T12:02:00", + "2023-08-23T12:03:00", + "2023-08-23T12:04:00", + "2023-08-23T12:05:00", + "2023-08-23T12:06:00", + "2023-08-23T12:07:00", + "2023-08-23T12:08:00", + "2023-08-23T12:09:00", + "2023-08-23T12:10:00", + "2023-08-23T12:11:00", + "2023-08-23T12:12:00", + "2023-08-23T12:13:00", + "2023-08-23T12:14:00", + "2023-08-23T12:15:00", + "2023-08-23T12:16:00", + "2023-08-23T12:17:00", + "2023-08-23T12:18:00", + "2023-08-23T12:19:00", + "2023-08-23T12:20:00", + "2023-08-23T12:21:00", + "2023-08-23T12:22:00", + "2023-08-23T12:23:00", + "2023-08-23T12:24:00", + "2023-08-23T12:25:00", + "2023-08-23T12:26:00", + "2023-08-23T12:27:00", + "2023-08-23T12:28:00", + "2023-08-23T12:29:00", + "2023-08-23T12:30:00", + "2023-08-23T12:31:00", + "2023-08-23T12:32:00", + "2023-08-23T12:33:00", + "2023-08-23T12:34:00", + "2023-08-23T12:35:00", + "2023-08-23T12:36:00", + "2023-08-23T12:37:00", + "2023-08-23T12:38:00", + "2023-08-23T12:39:00", + "2023-08-23T12:40:00", + "2023-08-23T12:41:00", + "2023-08-23T12:42:00", + "2023-08-23T12:43:00", + "2023-08-23T12:44:00", + "2023-08-23T12:45:00", + "2023-08-23T12:46:00", + "2023-08-23T12:47:00", + "2023-08-23T12:48:00", + "2023-08-23T12:49:00", + "2023-08-23T12:50:00", + "2023-08-23T12:51:00", + "2023-08-23T12:52:00", + "2023-08-23T12:53:00", + "2023-08-23T12:54:00", + "2023-08-23T12:55:00", + "2023-08-23T12:56:00", + "2023-08-23T12:57:00", + "2023-08-23T12:58:00", + "2023-08-23T12:59:00", + "2023-08-23T13:00:00", + "2023-08-23T13:01:00", + "2023-08-23T13:02:00", + "2023-08-23T13:03:00", + "2023-08-23T13:04:00", + "2023-08-23T13:05:00", + "2023-08-23T13:06:00", + "2023-08-23T13:07:00", + "2023-08-23T13:08:00", + "2023-08-23T13:09:00", + "2023-08-23T13:10:00", + "2023-08-23T13:11:00", + "2023-08-23T13:12:00", + "2023-08-23T13:13:00", + "2023-08-23T13:14:00", + "2023-08-23T13:15:00", + "2023-08-23T13:16:00", + "2023-08-23T13:17:00", + "2023-08-23T13:18:00", + "2023-08-23T13:19:00", + "2023-08-23T13:20:00", + "2023-08-23T13:21:00", + "2023-08-23T13:22:00", + "2023-08-23T13:23:00", + "2023-08-23T13:24:00", + "2023-08-23T13:25:00", + "2023-08-23T13:26:00", + "2023-08-23T13:27:00", + "2023-08-23T13:28:00", + "2023-08-23T13:29:00", + "2023-08-23T13:30:00", + "2023-08-23T13:31:00", + "2023-08-23T13:32:00", + "2023-08-23T13:33:00", + "2023-08-23T13:34:00", + "2023-08-23T13:35:00", + "2023-08-23T13:36:00", + "2023-08-23T13:37:00", + "2023-08-23T13:38:00", + "2023-08-23T13:39:00", + "2023-08-23T13:40:00", + "2023-08-23T13:41:00", + "2023-08-23T13:42:00", + "2023-08-23T13:43:00", + "2023-08-23T13:44:00", + "2023-08-23T13:45:00", + "2023-08-23T13:46:00", + "2023-08-23T13:47:00", + "2023-08-23T13:48:00", + "2023-08-23T13:49:00", + "2023-08-23T13:50:00", + "2023-08-23T13:51:00", + "2023-08-23T13:52:00", + "2023-08-23T13:53:00", + "2023-08-23T13:54:00", + "2023-08-23T13:55:00", + "2023-08-23T13:56:00", + "2023-08-23T13:57:00", + "2023-08-23T13:58:00", + "2023-08-23T13:59:00", + "2023-08-23T14:00:00", + "2023-08-23T14:01:00", + "2023-08-23T14:02:00", + "2023-08-23T14:03:00", + "2023-08-23T14:04:00", + "2023-08-23T14:05:00", + "2023-08-23T14:06:00", + "2023-08-23T14:07:00", + "2023-08-23T14:08:00", + "2023-08-23T14:09:00", + "2023-08-23T14:10:00", + "2023-08-23T14:11:00", + "2023-08-23T14:12:00", + "2023-08-23T14:13:00", + "2023-08-23T14:14:00", + "2023-08-23T14:15:00", + "2023-08-23T14:16:00", + "2023-08-23T14:17:00", + "2023-08-23T14:18:00", + "2023-08-23T14:19:00", + "2023-08-23T14:20:00", + "2023-08-23T14:21:00", + "2023-08-23T14:22:00", + "2023-08-23T14:23:00", + "2023-08-23T14:24:00", + "2023-08-23T14:25:00", + "2023-08-23T14:26:00", + "2023-08-23T14:27:00", + "2023-08-23T14:28:00", + "2023-08-23T14:29:00", + "2023-08-23T14:30:00", + "2023-08-23T14:31:00", + "2023-08-23T14:32:00", + "2023-08-23T14:33:00", + "2023-08-23T14:34:00", + "2023-08-23T14:35:00", + "2023-08-23T14:36:00", + "2023-08-23T14:37:00", + "2023-08-23T14:38:00", + "2023-08-23T14:39:00", + "2023-08-23T14:40:00", + "2023-08-23T14:41:00", + "2023-08-23T14:42:00", + "2023-08-23T14:43:00", + "2023-08-23T14:44:00", + "2023-08-23T14:45:00", + "2023-08-23T14:46:00", + "2023-08-23T14:47:00", + "2023-08-23T14:48:00", + "2023-08-23T14:49:00", + "2023-08-23T14:50:00", + "2023-08-23T14:51:00", + "2023-08-23T14:52:00", + "2023-08-23T14:53:00", + "2023-08-23T14:54:00", + "2023-08-23T14:55:00", + "2023-08-23T14:56:00", + "2023-08-23T14:57:00", + "2023-08-23T14:58:00", + "2023-08-23T14:59:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "y": [ + 364.8500061035156, + 365.1300048828125, + 364.70989990234375, + 364.9599914550781, + 364.8800048828125, + 364.82000732421875, + 365.0450134277344, + 364.8599853515625, + 364.80999755859375, + 364.57000732421875, + 364.6400146484375, + 364.6000061035156, + 364.8299865722656, + 364.75, + 365.05499267578125, + 365.4725036621094, + 365.4100036621094, + 365.8800048828125, + 365.82000732421875, + 365.67999267578125, + 365.80999755859375, + 366.0788879394531, + 366.1199951171875, + 365.83380126953125, + 365.75, + 366.1600036621094, + 366.44989013671875, + 366.6199951171875, + 366.625, + 366.60198974609375, + 366.55999755859375, + 366.42999267578125, + 366.635009765625, + 366.70001220703125, + 366.6499938964844, + 366.5474853515625, + 366.79998779296875, + 366.42999267578125, + 366.69000244140625, + 366.9200134277344, + 367.1400146484375, + 367.127685546875, + 367.3900146484375, + 367.44000244140625, + 367.3561096191406, + 367.44000244140625, + 367.25201416015625, + 367.1600036621094, + 367.17999267578125, + 367.2950134277344, + 367.1449890136719, + 367.1499938964844, + 367.6300048828125, + 367.43499755859375, + 367.6199951171875, + 367.71990966796875, + 367.6499938964844, + 367.510009765625, + 367.55999755859375, + 367.45001220703125, + 367.489990234375, + 367.7799987792969, + 367.7200012207031, + 367.6499938964844, + 367.7900085449219, + 367.7300109863281, + 367.6400146484375, + 367.5, + 367.54998779296875, + 367.5400085449219, + 367.7799987792969, + 368, + 368.22100830078125, + 368.19000244140625, + 368.1700134277344, + 368.0299987792969, + 368.260009765625, + 368.152587890625, + 368.3500061035156, + 368.6099853515625, + 368.4800109863281, + 368.70001220703125, + 368.7146911621094, + 368.7049865722656, + 368.6650085449219, + 368.6794128417969, + 368.69500732421875, + 368.7550048828125, + 368.6600036621094, + 368.55999755859375, + 368.42999267578125, + 368.4200134277344, + 368.4642028808594, + 368.4549865722656, + 368.54998779296875, + 368.5, + 368.4153137207031, + 368.5884094238281, + 368.6400146484375, + 368.55999755859375, + 368.6499938964844, + 368.739990234375, + 368.79620361328125, + 368.9200134277344, + 368.8999938964844, + 368.7300109863281, + 368.8399963378906, + 368.8999938964844, + 368.9599914550781, + 368.80999755859375, + 369.010009765625, + 369.0299987792969, + 368.9700012207031, + 368.989990234375, + 369.0799865722656, + 369.0199890136719, + 369.1200866699219, + 369.0299987792969, + 368.94500732421875, + 369.0611877441406, + 369.0899963378906, + 368.96380615234375, + 368.95001220703125, + 368.7900085449219, + 368.7200012207031, + 368.82000732421875, + 368.8999938964844, + 368.8900146484375, + 368.95001220703125, + 368.9200134277344, + 368.69000244140625, + 368.67498779296875, + 368.6000061035156, + 368.510009765625, + 368.6885986328125, + 368.5199890136719, + 368.7099914550781, + 368.70001220703125, + 368.6109924316406, + 368.8691101074219, + 369.0400085449219, + 369.0150146484375, + 368.9700927734375, + 368.9599914550781, + 369.1001892089844, + 369.1700134277344, + 369.20989990234375, + 369.17999267578125, + 369.197998046875, + 369.1499938964844, + 369.010498046875, + 368.80999755859375, + 368.82000732421875, + 368.7705993652344, + 368.7099914550781, + 368.69989013671875, + 368.6499938964844, + 368.7099914550781, + 368.6499938964844, + 368.5950012207031, + 368.6698913574219, + 368.785400390625, + 368.79998779296875, + 368.7200012207031, + 368.4549865722656, + 368.70001220703125, + 368.5862121582031, + 368.4700012207031, + 368.57000732421875, + 368.54998779296875, + 368.69000244140625, + 368.6014099121094, + 368.67498779296875, + 368.6300048828125, + 368.6037902832031, + 368.69000244140625, + 368.6700134277344, + 368.6199951171875, + 368.57000732421875, + 368.67999267578125, + 368.4849853515625, + 368.57940673828125, + 368.7699890136719, + 368.760009765625, + 368.8301086425781, + 368.8699951171875, + 368.8349914550781, + 368.8599853515625, + 369.0190124511719, + 368.94000244140625, + 368.94000244140625, + 368.9200134277344, + 368.92999267578125, + 368.97900390625, + 369.0199890136719, + 368.9700012207031, + 369.04998779296875, + 369.0799865722656, + 369.0899963378906, + 369.0899963378906, + 369.08380126953125, + 369.0000915527344, + 368.9150085449219, + 368.91009521484375, + 368.989990234375, + 368.9800109863281, + 368.7699890136719, + 368.739990234375, + 368.6499938964844, + 368.70001220703125, + 368.6700134277344, + 368.55999755859375, + 368.739990234375, + 368.8800048828125, + 368.8699951171875, + 368.9580078125, + 369, + 369.04998779296875, + 369.1000061035156, + 369.0943908691406, + 369.0199890136719, + 369.0805969238281, + 369.1199951171875, + 369.10009765625, + 369.2698974609375, + 369.3599853515625, + 369.4825134277344, + 369.6099853515625, + 369.5899963378906, + 369.6700134277344, + 369.6195983886719, + 369.6499938964844, + 369.6000061035156, + 369.6499938964844, + 369.70989990234375, + 369.7001037597656, + 369.69000244140625, + 369.6600036621094, + 369.68011474609375, + 369.8900146484375, + 369.9599914550781, + 369.94500732421875, + 369.7900085449219, + 369.79998779296875, + 369.7799987792969, + 369.79998779296875, + 369.7005920410156, + 369.6400146484375, + 369.7373046875, + 369.7892150878906, + 369.80999755859375, + 369.7799987792969, + 369.8399963378906, + 369.8500061035156, + 369.7900085449219, + 369.9100036621094, + 370.0199890136719, + 370.0700988769531, + 370.1000061035156, + 369.989990234375, + 370.0249938964844, + 370.04998779296875, + 370.1799011230469, + 370.06390380859375, + 370.168212890625, + 370.2012023925781, + 370.1099853515625, + 370.1026916503906, + 370.0799865722656, + 369.9200134277344, + 369.95001220703125, + 370.0199890136719, + 370.05999755859375, + 369.9938049316406, + 369.9549865722656, + 369.8800048828125, + 369.7699890136719, + 369.7699890136719, + 369.7699890136719, + 369.70001220703125, + 369.7001037597656, + 369.6600036621094, + 369.55999755859375, + 369.5199890136719, + 369.3800048828125, + 369.4949951171875, + 369.4700012207031, + 369.2900085449219, + 369.3399963378906, + 369.1300048828125, + 369.2699890136719, + 369.19000244140625, + 369.2699890136719, + 369.489990234375, + 369.6499938964844, + 369.6000061035156, + 369.5299987792969, + 369.54998779296875, + 369.45001220703125, + 369.3599853515625, + 369.25, + 369.3731994628906, + 369.2861022949219, + 369.2900085449219, + 369.260009765625, + 369.0599060058594, + 368.9599914550781, + 368.92498779296875, + 369.0299987792969, + 369.0400085449219, + 369.0799865722656, + 369.010009765625, + 369.1000061035156, + 369.05999755859375, + 369.0799865722656, + 369.2799987792969, + 369.3399963378906, + 369.2489929199219, + 369.2300109863281, + 369.1499938964844, + 369.1400146484375, + 369.3700866699219, + 369.3699951171875, + 369.4200134277344, + 369.43499755859375, + 369.489990234375, + 369.28009033203125, + 369.3699951171875, + 369.3299865722656, + 369.3196105957031 + ], + "yaxis": "y2" + }, + { + "hovertemplate": "%{y}", + "marker": { + "color": "orange" + }, + "name": "SMA 90", + "type": "scatter", + "x": [ + "2023-08-23T11:00:00", + "2023-08-23T11:01:00", + "2023-08-23T11:02:00", + "2023-08-23T11:03:00", + "2023-08-23T11:04:00", + "2023-08-23T11:05:00", + "2023-08-23T11:06:00", + "2023-08-23T11:07:00", + "2023-08-23T11:08:00", + "2023-08-23T11:09:00", + "2023-08-23T11:10:00", + "2023-08-23T11:11:00", + "2023-08-23T11:12:00", + "2023-08-23T11:13:00", + "2023-08-23T11:14:00", + "2023-08-23T11:15:00", + "2023-08-23T11:16:00", + "2023-08-23T11:17:00", + "2023-08-23T11:18:00", + "2023-08-23T11:19:00", + "2023-08-23T11:20:00", + "2023-08-23T11:21:00", + "2023-08-23T11:22:00", + "2023-08-23T11:23:00", + "2023-08-23T11:24:00", + "2023-08-23T11:25:00", + "2023-08-23T11:26:00", + "2023-08-23T11:27:00", + "2023-08-23T11:28:00", + "2023-08-23T11:29:00", + "2023-08-23T11:30:00", + "2023-08-23T11:31:00", + "2023-08-23T11:32:00", + "2023-08-23T11:33:00", + "2023-08-23T11:34:00", + "2023-08-23T11:35:00", + "2023-08-23T11:36:00", + "2023-08-23T11:37:00", + "2023-08-23T11:38:00", + "2023-08-23T11:39:00", + "2023-08-23T11:40:00", + "2023-08-23T11:41:00", + "2023-08-23T11:42:00", + "2023-08-23T11:43:00", + "2023-08-23T11:44:00", + "2023-08-23T11:45:00", + "2023-08-23T11:46:00", + "2023-08-23T11:47:00", + "2023-08-23T11:48:00", + "2023-08-23T11:49:00", + "2023-08-23T11:50:00", + "2023-08-23T11:51:00", + "2023-08-23T11:52:00", + "2023-08-23T11:53:00", + "2023-08-23T11:54:00", + "2023-08-23T11:55:00", + "2023-08-23T11:56:00", + "2023-08-23T11:57:00", + "2023-08-23T11:58:00", + "2023-08-23T11:59:00", + "2023-08-23T12:00:00", + "2023-08-23T12:01:00", + "2023-08-23T12:02:00", + "2023-08-23T12:03:00", + "2023-08-23T12:04:00", + "2023-08-23T12:05:00", + "2023-08-23T12:06:00", + "2023-08-23T12:07:00", + "2023-08-23T12:08:00", + "2023-08-23T12:09:00", + "2023-08-23T12:10:00", + "2023-08-23T12:11:00", + "2023-08-23T12:12:00", + "2023-08-23T12:13:00", + "2023-08-23T12:14:00", + "2023-08-23T12:15:00", + "2023-08-23T12:16:00", + "2023-08-23T12:17:00", + "2023-08-23T12:18:00", + "2023-08-23T12:19:00", + "2023-08-23T12:20:00", + "2023-08-23T12:21:00", + "2023-08-23T12:22:00", + "2023-08-23T12:23:00", + "2023-08-23T12:24:00", + "2023-08-23T12:25:00", + "2023-08-23T12:26:00", + "2023-08-23T12:27:00", + "2023-08-23T12:28:00", + "2023-08-23T12:29:00", + "2023-08-23T12:30:00", + "2023-08-23T12:31:00", + "2023-08-23T12:32:00", + "2023-08-23T12:33:00", + "2023-08-23T12:34:00", + "2023-08-23T12:35:00", + "2023-08-23T12:36:00", + "2023-08-23T12:37:00", + "2023-08-23T12:38:00", + "2023-08-23T12:39:00", + "2023-08-23T12:40:00", + "2023-08-23T12:41:00", + "2023-08-23T12:42:00", + "2023-08-23T12:43:00", + "2023-08-23T12:44:00", + "2023-08-23T12:45:00", + "2023-08-23T12:46:00", + "2023-08-23T12:47:00", + "2023-08-23T12:48:00", + "2023-08-23T12:49:00", + "2023-08-23T12:50:00", + "2023-08-23T12:51:00", + "2023-08-23T12:52:00", + "2023-08-23T12:53:00", + "2023-08-23T12:54:00", + "2023-08-23T12:55:00", + "2023-08-23T12:56:00", + "2023-08-23T12:57:00", + "2023-08-23T12:58:00", + "2023-08-23T12:59:00", + "2023-08-23T13:00:00", + "2023-08-23T13:01:00", + "2023-08-23T13:02:00", + "2023-08-23T13:03:00", + "2023-08-23T13:04:00", + "2023-08-23T13:05:00", + "2023-08-23T13:06:00", + "2023-08-23T13:07:00", + "2023-08-23T13:08:00", + "2023-08-23T13:09:00", + "2023-08-23T13:10:00", + "2023-08-23T13:11:00", + "2023-08-23T13:12:00", + "2023-08-23T13:13:00", + "2023-08-23T13:14:00", + "2023-08-23T13:15:00", + "2023-08-23T13:16:00", + "2023-08-23T13:17:00", + "2023-08-23T13:18:00", + "2023-08-23T13:19:00", + "2023-08-23T13:20:00", + "2023-08-23T13:21:00", + "2023-08-23T13:22:00", + "2023-08-23T13:23:00", + "2023-08-23T13:24:00", + "2023-08-23T13:25:00", + "2023-08-23T13:26:00", + "2023-08-23T13:27:00", + "2023-08-23T13:28:00", + "2023-08-23T13:29:00", + "2023-08-23T13:30:00", + "2023-08-23T13:31:00", + "2023-08-23T13:32:00", + "2023-08-23T13:33:00", + "2023-08-23T13:34:00", + "2023-08-23T13:35:00", + "2023-08-23T13:36:00", + "2023-08-23T13:37:00", + "2023-08-23T13:38:00", + "2023-08-23T13:39:00", + "2023-08-23T13:40:00", + "2023-08-23T13:41:00", + "2023-08-23T13:42:00", + "2023-08-23T13:43:00", + "2023-08-23T13:44:00", + "2023-08-23T13:45:00", + "2023-08-23T13:46:00", + "2023-08-23T13:47:00", + "2023-08-23T13:48:00", + "2023-08-23T13:49:00", + "2023-08-23T13:50:00", + "2023-08-23T13:51:00", + "2023-08-23T13:52:00", + "2023-08-23T13:53:00", + "2023-08-23T13:54:00", + "2023-08-23T13:55:00", + "2023-08-23T13:56:00", + "2023-08-23T13:57:00", + "2023-08-23T13:58:00", + "2023-08-23T13:59:00", + "2023-08-23T14:00:00", + "2023-08-23T14:01:00", + "2023-08-23T14:02:00", + "2023-08-23T14:03:00", + "2023-08-23T14:04:00", + "2023-08-23T14:05:00", + "2023-08-23T14:06:00", + "2023-08-23T14:07:00", + "2023-08-23T14:08:00", + "2023-08-23T14:09:00", + "2023-08-23T14:10:00", + "2023-08-23T14:11:00", + "2023-08-23T14:12:00", + "2023-08-23T14:13:00", + "2023-08-23T14:14:00", + "2023-08-23T14:15:00", + "2023-08-23T14:16:00", + "2023-08-23T14:17:00", + "2023-08-23T14:18:00", + "2023-08-23T14:19:00", + "2023-08-23T14:20:00", + "2023-08-23T14:21:00", + "2023-08-23T14:22:00", + "2023-08-23T14:23:00", + "2023-08-23T14:24:00", + "2023-08-23T14:25:00", + "2023-08-23T14:26:00", + "2023-08-23T14:27:00", + "2023-08-23T14:28:00", + "2023-08-23T14:29:00", + "2023-08-23T14:30:00", + "2023-08-23T14:31:00", + "2023-08-23T14:32:00", + "2023-08-23T14:33:00", + "2023-08-23T14:34:00", + "2023-08-23T14:35:00", + "2023-08-23T14:36:00", + "2023-08-23T14:37:00", + "2023-08-23T14:38:00", + "2023-08-23T14:39:00", + "2023-08-23T14:40:00", + "2023-08-23T14:41:00", + "2023-08-23T14:42:00", + "2023-08-23T14:43:00", + "2023-08-23T14:44:00", + "2023-08-23T14:45:00", + "2023-08-23T14:46:00", + "2023-08-23T14:47:00", + "2023-08-23T14:48:00", + "2023-08-23T14:49:00", + "2023-08-23T14:50:00", + "2023-08-23T14:51:00", + "2023-08-23T14:52:00", + "2023-08-23T14:53:00", + "2023-08-23T14:54:00", + "2023-08-23T14:55:00", + "2023-08-23T14:56:00", + "2023-08-23T14:57:00", + "2023-08-23T14:58:00", + "2023-08-23T14:59:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "xhoverformat": "%I:%M%p %Y-%m-%d", + "y": [ + 366.90669996473525, + 366.946477593316, + 366.9830332438151, + 367.0247477213542, + 367.06358100043406, + 367.10435858832466, + 367.14524739583334, + 367.18269517686633, + 367.2241221110026, + 367.2666778564453, + 367.3110110812717, + 367.35556640625, + 367.40156622992623, + 367.4456353081597, + 367.4919687906901, + 367.5346910264757, + 367.57088555230035, + 367.60899658203124, + 367.6425520155165, + 367.6774407280816, + 367.71221856011283, + 367.7477742513021, + 367.7805643717448, + 367.8122311062283, + 367.8472998725043, + 367.88429972330727, + 367.91607733832467, + 367.9457461886936, + 367.97252400716144, + 367.9983018663194, + 368.02562628851996, + 368.0537373860677, + 368.08189086914064, + 368.1076131184896, + 368.1308353000217, + 368.1538353814019, + 368.17908562554254, + 368.2024190266927, + 368.22975260416666, + 368.2548638237847, + 368.27708604600696, + 368.29430813259546, + 368.3115003797743, + 368.32494472927516, + 368.3368336995443, + 368.3516391330295, + 368.36363898383246, + 368.37983873155383, + 368.3969499376085, + 368.41284993489586, + 368.43033989800347, + 368.45139567057294, + 368.4721181233724, + 368.4870079888238, + 368.50395236545137, + 368.52039896647136, + 368.53651123046876, + 368.55384351942274, + 368.57239888509116, + 368.5905988905165, + 368.60948757595486, + 368.62638210720485, + 368.63782653808596, + 368.650048828125, + 368.6625, + 368.67272203233506, + 368.6834984673394, + 368.69472045898436, + 368.70816480848526, + 368.7203870985243, + 368.7321092393663, + 368.7419969346788, + 368.7507236056858, + 368.7571567111545, + 368.76304558648, + 368.7662119547526, + 368.7736565483941, + 368.77728101942273, + 368.78080783420137, + 368.7832522922092, + 368.7825856526693, + 368.784918891059, + 368.7838233100043, + 368.78338216145835, + 368.7825490315755, + 368.78186882866754, + 368.7819864908854, + 368.7817087809245, + 368.78020867241753, + 368.77920871310766, + 368.7805419921875, + 368.7811530219184, + 368.78292405870224, + 368.78632168240017, + 368.78971082899307, + 368.7928232828776, + 368.79693433973523, + 368.80159742567275, + 368.8046149359809, + 368.808826022678, + 368.81304829915365, + 368.81627061631946, + 368.8182708740234, + 368.81975741916233, + 368.8204128689236, + 368.82174614800346, + 368.8244127061632, + 368.82674594455295, + 368.82874586317274, + 368.8301903618707, + 368.8333014594184, + 368.8341213650174, + 368.8337890625, + 368.83317803276907, + 368.8322903103299, + 368.83129035101996, + 368.8308461507161, + 368.8269561767578, + 368.82373385959204, + 368.82045593261716, + 368.8164428710937, + 368.8117763943142, + 368.8072896321615, + 368.8049560546875, + 368.8059560139974, + 368.80762261284724, + 368.80915595160593, + 368.8102671305339, + 368.8120446099175, + 368.81371120876736, + 368.8156487358941, + 368.8193152533637, + 368.8238220214844, + 368.8295996771918, + 368.8361562093099, + 368.84261508517795, + 368.8519483778212, + 368.86053195529513, + 368.87064276801215, + 368.8815205891927, + 368.890419514974, + 368.8968594021267, + 368.903914727105, + 368.9109137641059, + 368.9185804578993, + 368.92535502115885, + 368.931244913737, + 368.93657938639325, + 368.94191284179686, + 368.9472696940104, + 368.9554921468099, + 368.96604207356773, + 368.97865329318574, + 368.9894310845269, + 369.00086873372396, + 369.01275770399303, + 369.0249810112847, + 369.03665432400174, + 369.04698791503904, + 369.0590691460503, + 369.0723381890191, + 369.08500603569877, + 369.09605712890624, + 369.1076127794054, + 369.1201683892144, + 369.1350019666884, + 369.1484463161892, + 369.1643771701389, + 369.1821560329861, + 369.19915601942273, + 369.21515604654945, + 369.2299892849392, + 369.24608459472654, + 369.26280585394966, + 369.2787380642361, + 369.2961205376519, + 369.3129116482205, + 369.32891133626305, + 369.3453857421875, + 369.36216328938804, + 369.37594129774305, + 369.39221937391494, + 369.4082258436415, + 369.42255927191843, + 369.43626810709634, + 369.44876675075955, + 369.45998908148874, + 369.47037794325087, + 369.48048909505206, + 369.48883327907987, + 369.4972778320313, + 369.5057234022352, + 369.5139455159505, + 369.520945570204, + 369.526956515842, + 369.5309566921658, + 369.5367899576823, + 369.54145677354603, + 369.54379035102, + 369.54656812879773, + 369.54701266818574, + 369.54908142089846, + 369.55119154188367, + 369.55513576931423, + 369.561579047309, + 369.56891242133247, + 369.57580125596786, + 369.58424580891926, + 369.5932457817925, + 369.60213487413193, + 369.60946790907116, + 369.6159122043186, + 369.624947781033, + 369.63101569281685, + 369.6355712890625, + 369.63990478515626, + 369.6410369873047, + 369.6405924479167, + 369.6392035590278, + 369.6384256998698, + 369.6378214518229, + 369.63848809136283, + 369.63770378960504, + 369.6374816894531, + 369.6370361328125, + 369.63492601182725, + 369.6340372721354, + 369.63245374891494, + 369.6284427218967, + 369.6244428846571, + 369.61866488986544, + 369.61333618164065, + 369.61022610134546, + 369.60767042371964, + 369.60511508517794, + 369.6020606146918, + 369.59972601996526, + 369.5951714409722, + 369.59194912380644, + 369.58805881076387, + 369.58172098795575 + ], + "yaxis": "y2" + } + ], + "layout": { + "annotations": [ + { + "font": { + "color": "gray", + "size": 17 + }, + "opacity": 0.5, + "showarrow": false, + "text": "OpenBB Terminal", + "x": 1, + "xanchor": "right", + "xref": "paper", + "xshift": 40, + "y": 0, + "yanchor": "bottom", + "yref": "paper", + "yshift": -80 + } + ], + "bargap": 0, + "bargroupgap": 0, + "barmode": "overlay", + "legend": { + "bgcolor": "rgba(0,0,0,0)", + "orientation": "h", + "x": 1, + "xanchor": "right", + "y": 1.115, + "yanchor": "top" + }, + "margin": { + "b": 80, + "l": 40, + "r": 50, + "t": 50 + }, + "plot_bgcolor": "rgba(0,0,0,0)", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#f2f5fa" + }, + "error_y": { + "color": "#f2f5fa" + }, + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "candlestick": [ + { + "decreasing": { + "fillcolor": "#e4003a", + "line": { + "color": "#e4003a" + } + }, + "increasing": { + "fillcolor": "#00ACFF", + "line": { + "color": "#00ACFF" + } + }, + "type": "candlestick" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "baxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#506784" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "header": { + "fill": { + "color": "#2a3f5f" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#f2f5fa", + "arrowhead": 0, + "arrowwidth": 1, + "showarrow": false + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#ffed00", + "#ef7d00", + "#e4003a", + "#c13246", + "#822661", + "#48277c", + "#005ca9", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff" + ], + "dragmode": "pan", + "font": { + "color": "#f2f5fa", + "family": "Fira Code", + "size": 18 + }, + "geo": { + "bgcolor": "rgb(17,17,17)", + "lakecolor": "rgb(17,17,17)", + "landcolor": "rgb(17,17,17)", + "showlakes": true, + "showland": true, + "subunitcolor": "#506784" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "x", + "legend": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + }, + "x": 0.01, + "xanchor": "left", + "y": 0.99, + "yanchor": "top" + }, + "legend2": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend3": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend4": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend5": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "mapbox": { + "style": "dark" + }, + "paper_bgcolor": "#000000", + "plot_bgcolor": "#000000", + "polar": { + "angularaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "radialaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "yaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "zaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + } + }, + "shapedefaults": { + "line": { + "color": "#f2f5fa" + } + }, + "sliderdefaults": { + "bgcolor": "#C8D4E3", + "bordercolor": "rgb(17,17,17)", + "borderwidth": 1, + "tickwidth": 0 + }, + "ternary": { + "aaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "baxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "caxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "updatemenudefaults": { + "bgcolor": "#506784", + "borderwidth": 0 + }, + "xaxis": { + "automargin": true, + "autorange": true, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "rangeslider": { + "visible": false + }, + "showgrid": true, + "showline": true, + "tick0": 1, + "tickfont": { + "size": 14 + }, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + }, + "yaxis": { + "anchor": "x", + "automargin": true, + "fixedrange": false, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "showgrid": true, + "showline": true, + "side": "right", + "tick0": 0.5, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "QQQ - Volume at Price", + "x": 0.5, + "y": 1 + }, + "xaxis": { + "anchor": "y", + "autorange": false, + "domain": [ + 0, + 0 + ], + "mirror": false, + "range": [ + 0, + 3072788 + ], + "showgrid": false, + "showline": false, + "showticklabels": false, + "ticklen": 0, + "zeroline": false + }, + "xaxis2": { + "anchor": "y2", + "domain": [ + 0, + 0 + ], + "mirror": true, + "rangebreaks": [ + { + "values": [] + } + ], + "showgrid": false, + "showline": true, + "tick0": 0.5, + "tickformatstops": [ + { + "dtickrange": [ + null, + 86400000 + ], + "value": "%I:%M%p\n%b,%d" + }, + { + "dtickrange": [ + 86400000, + 604800000 + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + 604800000, + "M1" + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + "M1", + null + ], + "value": "%Y-%m-%d" + } + ], + "ticklen": 0, + "ticks": "outside", + "type": "date", + "zeroline": false + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "mirror": true, + "showgrid": false, + "showline": false, + "showticklabels": true, + "ticklen": 0, + "ticks": "outside", + "zeroline": false + }, + "yaxis2": { + "anchor": "x2", + "domain": [ + 0, + 1 + ], + "matches": "y", + "mirror": true, + "showgrid": false, + "showline": true, + "showticklabels": false, + "ticklen": 0, + "zeroline": false + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display_vap(symbol=\"QQQ\", ma=90)" + ] + }, + { + "cell_type": "markdown", + "id": "447d0b6a", + "metadata": {}, + "source": [ + "Alternatively, if the `data` parameter is fed a time series DataFrame, it can offer more flexibility. Now the `symbol` parameter is just a title. This mimics the behaviour of similar functions in the Terminal.\n", + "\n", + "To see the difference between outputs of the Plotly figure object and the OpenBBFigure object, modify the last two lines in the `display_vap` function. Comment out `ta=OpenBBFigure(fig)` and change `return ta.show()` to be `return fig.show()`. You will notice that the gap between trading days is removed when the `OpenBBFigure` object is used.\n", + "\n", + "Without OpenBBFigure:\n", + "\n", + "``` \n", + " # ta = OpenBBFigure(fig)\n", + "\n", + " return fig.show()\n", + " ```" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "66f434cb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Loading Intraday 15min data for QQQ with starting period 2023-08-22.\n",
+       "
\n" + ], + "text/plain": [ + "Loading Intraday 15min data for QQQ with starting period 2023-08-22.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "marker": { + "color": "gray" + }, + "name": "Volume at Price", + "opacity": 0.25, + "orientation": "h", + "type": "bar", + "x": [ + 2126361, + 1176822, + 1395984, + 2313528, + 925521, + 5287506, + 1298862, + 1300701, + 2518711, + 1179362, + 1208883, + 1640740, + 3184786, + 2891685, + 1353417, + 1566637, + 1486239, + 911994, + 4105103, + 6107540, + 1265920, + 3004734, + 2263960, + 1877969, + 1908434, + 1429742, + 2320421, + 2833852, + 3371026, + 631427, + 1974660, + 1676029, + 645208, + 1850899, + 1646841, + 1053173, + 1041058 + ], + "xaxis": "x", + "y": [ + 362.8, + 363, + 363.1, + 363.2, + 363.3, + 363.4, + 363.5, + 363.6, + 363.7, + 363.8, + 363.9, + 364, + 364.3, + 364.4, + 364.5, + 364.6, + 364.7, + 364.8, + 365.1, + 365.4, + 365.5, + 366.6, + 367.4, + 367.5, + 368.2, + 368.5, + 368.6, + 368.7, + 368.9, + 369, + 369.1, + 369.2, + 369.3, + 369.5, + 369.7, + 369.9, + 370.1 + ], + "yaxis": "y" + }, + { + "marker": { + "color": "red" + }, + "name": "VWAP", + "type": "scatter", + "x": [ + "2023-08-22T09:30:00", + "2023-08-22T09:45:00", + "2023-08-22T10:00:00", + "2023-08-22T10:15:00", + "2023-08-22T10:30:00", + "2023-08-22T10:45:00", + "2023-08-22T11:00:00", + "2023-08-22T11:15:00", + "2023-08-22T11:30:00", + "2023-08-22T11:45:00", + "2023-08-22T12:00:00", + "2023-08-22T12:15:00", + "2023-08-22T12:30:00", + "2023-08-22T12:45:00", + "2023-08-22T13:00:00", + "2023-08-22T13:15:00", + "2023-08-22T13:30:00", + "2023-08-22T13:45:00", + "2023-08-22T14:00:00", + "2023-08-22T14:15:00", + "2023-08-22T14:30:00", + "2023-08-22T14:45:00", + "2023-08-22T15:00:00", + "2023-08-22T15:15:00", + "2023-08-22T15:30:00", + "2023-08-22T15:45:00", + "2023-08-23T09:30:00", + "2023-08-23T09:45:00", + "2023-08-23T10:00:00", + "2023-08-23T10:15:00", + "2023-08-23T10:30:00", + "2023-08-23T10:45:00", + "2023-08-23T11:00:00", + "2023-08-23T11:15:00", + "2023-08-23T11:30:00", + "2023-08-23T11:45:00", + "2023-08-23T12:00:00", + "2023-08-23T12:15:00", + "2023-08-23T12:30:00", + "2023-08-23T12:45:00", + "2023-08-23T13:00:00", + "2023-08-23T13:15:00", + "2023-08-23T13:30:00", + "2023-08-23T13:45:00", + "2023-08-23T14:00:00", + "2023-08-23T14:15:00", + "2023-08-23T14:30:00", + "2023-08-23T14:45:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "y": [ + 365.55999755859375, + 365.2515001311089, + 365.2194068022041, + 365.17353052564584, + 365.01693237093417, + 365.02000717788167, + 365.0209331053361, + 365.01372728342375, + 364.98282609075795, + 364.92362556457664, + 364.8279196080493, + 364.7203659206545, + 364.64980176346666, + 364.5962080091559, + 364.52660922480294, + 364.4739039554072, + 364.4149670292882, + 364.374582061838, + 364.3357970860939, + 364.3068538581353, + 364.27912234337043, + 364.2596749027902, + 364.2574405639389, + 364.2430314693294, + 364.1757251157667, + 364.11000889170595, + 364.9216715494792, + 365.43683851324175, + 365.8317729138599, + 366.0960218712973, + 366.36584411436587, + 366.64173997979333, + 366.8688653934527, + 367.03933288555663, + 367.1596899222035, + 367.2996375192426, + 367.3590691478979, + 367.43063393481737, + 367.4665267311795, + 367.5178671834957, + 367.57072839723753, + 367.6848501877831, + 367.76230640326906, + 367.8404033102429, + 367.88974843306426, + 367.93825663424167, + 367.973976251826, + 367.99950389448037, + 368.00079997820643 + ], + "yaxis": "y2" + }, + { + "marker": { + "color": "green" + }, + "name": "Close", + "type": "scatter", + "x": [ + "2023-08-22T09:30:00", + "2023-08-22T09:45:00", + "2023-08-22T10:00:00", + "2023-08-22T10:15:00", + "2023-08-22T10:30:00", + "2023-08-22T10:45:00", + "2023-08-22T11:00:00", + "2023-08-22T11:15:00", + "2023-08-22T11:30:00", + "2023-08-22T11:45:00", + "2023-08-22T12:00:00", + "2023-08-22T12:15:00", + "2023-08-22T12:30:00", + "2023-08-22T12:45:00", + "2023-08-22T13:00:00", + "2023-08-22T13:15:00", + "2023-08-22T13:30:00", + "2023-08-22T13:45:00", + "2023-08-22T14:00:00", + "2023-08-22T14:15:00", + "2023-08-22T14:30:00", + "2023-08-22T14:45:00", + "2023-08-22T15:00:00", + "2023-08-22T15:15:00", + "2023-08-22T15:30:00", + "2023-08-22T15:45:00", + "2023-08-23T09:30:00", + "2023-08-23T09:45:00", + "2023-08-23T10:00:00", + "2023-08-23T10:15:00", + "2023-08-23T10:30:00", + "2023-08-23T10:45:00", + "2023-08-23T11:00:00", + "2023-08-23T11:15:00", + "2023-08-23T11:30:00", + "2023-08-23T11:45:00", + "2023-08-23T12:00:00", + "2023-08-23T12:15:00", + "2023-08-23T12:30:00", + "2023-08-23T12:45:00", + "2023-08-23T13:00:00", + "2023-08-23T13:15:00", + "2023-08-23T13:30:00", + "2023-08-23T13:45:00", + "2023-08-23T14:00:00", + "2023-08-23T14:15:00", + "2023-08-23T14:30:00", + "2023-08-23T14:45:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "y": [ + 365.3800048828125, + 364.4100036621094, + 365.3765869140625, + 364.5899963378906, + 364.28509521484375, + 365.5299987792969, + 364.7200012207031, + 364.80999755859375, + 364.30999755859375, + 363.94000244140625, + 362.9700012207031, + 363.4150085449219, + 363.9725036621094, + 363.6700134277344, + 363.1000061035156, + 363.3699951171875, + 363.1600036621094, + 363.3453063964844, + 363.1600036621094, + 363.8299865722656, + 363.45001220703125, + 363.7099914550781, + 364.456298828125, + 363.5993957519531, + 362.760009765625, + 363.3699951171875, + 365.05499267578125, + 366.60198974609375, + 367.3561096191406, + 367.45001220703125, + 368.1700134277344, + 368.6600036621094, + 368.9200134277344, + 368.94500732421875, + 368.510009765625, + 369.197998046875, + 368.7200012207031, + 368.57000732421875, + 368.97900390625, + 368.6499938964844, + 369.10009765625, + 369.68011474609375, + 369.8500061035156, + 370.0799865722656, + 369.5199890136719, + 369.45001220703125, + 369.05999755859375, + 369.3299865722656, + 369.1700134277344 + ], + "yaxis": "y2" + } + ], + "layout": { + "legend": { + "bgcolor": "rgba(0,0,0,0)", + "orientation": "h", + "x": 1, + "xanchor": "right", + "y": 1.115, + "yanchor": "top" + }, + "plot_bgcolor": "rgba(0,0,0,0)", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#f2f5fa" + }, + "error_y": { + "color": "#f2f5fa" + }, + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "candlestick": [ + { + "decreasing": { + "fillcolor": "#e4003a", + "line": { + "color": "#e4003a" + } + }, + "increasing": { + "fillcolor": "#00ACFF", + "line": { + "color": "#00ACFF" + } + }, + "type": "candlestick" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "baxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#506784" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "header": { + "fill": { + "color": "#2a3f5f" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#f2f5fa", + "arrowhead": 0, + "arrowwidth": 1, + "showarrow": false + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#ffed00", + "#ef7d00", + "#e4003a", + "#c13246", + "#822661", + "#48277c", + "#005ca9", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff" + ], + "dragmode": "pan", + "font": { + "color": "#f2f5fa", + "family": "Fira Code", + "size": 18 + }, + "geo": { + "bgcolor": "rgb(17,17,17)", + "lakecolor": "rgb(17,17,17)", + "landcolor": "rgb(17,17,17)", + "showlakes": true, + "showland": true, + "subunitcolor": "#506784" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "x", + "legend": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + }, + "x": 0.01, + "xanchor": "left", + "y": 0.99, + "yanchor": "top" + }, + "legend2": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend3": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend4": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend5": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "mapbox": { + "style": "dark" + }, + "paper_bgcolor": "#000000", + "plot_bgcolor": "#000000", + "polar": { + "angularaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "radialaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "yaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "zaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + } + }, + "shapedefaults": { + "line": { + "color": "#f2f5fa" + } + }, + "sliderdefaults": { + "bgcolor": "#C8D4E3", + "bordercolor": "rgb(17,17,17)", + "borderwidth": 1, + "tickwidth": 0 + }, + "ternary": { + "aaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "baxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "caxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "updatemenudefaults": { + "bgcolor": "#506784", + "borderwidth": 0 + }, + "xaxis": { + "automargin": true, + "autorange": true, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "rangeslider": { + "visible": false + }, + "showgrid": true, + "showline": true, + "tick0": 1, + "tickfont": { + "size": 14 + }, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + }, + "yaxis": { + "anchor": "x", + "automargin": true, + "fixedrange": false, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "showgrid": true, + "showline": true, + "side": "right", + "tick0": 0.5, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "QQQ - 15 Minute - Volume at Price", + "x": 0.5, + "y": 1 + }, + "xaxis": { + "anchor": "y", + "autorange": false, + "domain": [ + 0, + 0 + ], + "mirror": false, + "range": [ + 0, + 6107540 + ], + "showgrid": false, + "showline": false, + "showticklabels": false, + "ticklen": 0, + "zeroline": false + }, + "xaxis2": { + "anchor": "y2", + "domain": [ + 0, + 0 + ], + "mirror": true, + "showgrid": false, + "showline": true, + "ticklen": 0, + "ticks": "outside", + "zeroline": false + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "mirror": true, + "showgrid": false, + "showline": false, + "showticklabels": true, + "ticklen": 0, + "ticks": "outside", + "zeroline": false + }, + "yaxis2": { + "anchor": "x2", + "domain": [ + 0, + 1 + ], + "matches": "y", + "mirror": true, + "showgrid": false, + "showline": true, + "showticklabels": false, + "ticklen": 0, + "zeroline": false + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = openbb.stocks.load(\"QQQ\", start_date=(datetime.now()-timedelta(days=1)).date().strftime(\"%Y-%m-%d\"), interval=15)\n", + "display_vap(data, symbol=\"QQQ - 15 Minute\")" + ] + }, + { + "cell_type": "markdown", + "id": "bc8937c8", + "metadata": {}, + "source": [ + "With OpenBBFigure:\n", + "\n", + "``` \n", + " ta = OpenBBFigure(fig)\n", + "\n", + " return ta.show()\n", + " ```" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "f783d1cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Loading Intraday 15min data for QQQ with starting period 2023-08-22.\n",
+       "
\n" + ], + "text/plain": [ + "Loading Intraday 15min data for QQQ with starting period 2023-08-22.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "displaylogo": false, + "plotlyServerURL": "https://plot.ly", + "scrollZoom": true + }, + "data": [ + { + "marker": { + "color": "gray", + "line": { + "width": 0.15 + } + }, + "name": "Volume at Price", + "opacity": 0.25, + "orientation": "h", + "type": "bar", + "x": [ + 2126361, + 1176822, + 1395984, + 2313528, + 925521, + 5287506, + 1298862, + 1300701, + 2518711, + 1179362, + 1208883, + 1640740, + 3184786, + 2891685, + 1353417, + 1566637, + 1486239, + 911994, + 4105103, + 6107540, + 1265920, + 3004734, + 2263960, + 1877969, + 1908434, + 1429742, + 2320421, + 2833852, + 3371026, + 631427, + 2078538, + 1640602, + 657705, + 1850899, + 1646841, + 1053173, + 1041058 + ], + "xaxis": "x", + "y": [ + 362.8, + 363, + 363.1, + 363.2, + 363.3, + 363.4, + 363.5, + 363.6, + 363.7, + 363.8, + 363.9, + 364, + 364.3, + 364.4, + 364.5, + 364.6, + 364.7, + 364.8, + 365.1, + 365.4, + 365.5, + 366.6, + 367.4, + 367.5, + 368.2, + 368.5, + 368.6, + 368.7, + 368.9, + 369, + 369.1, + 369.2, + 369.3, + 369.5, + 369.7, + 369.9, + 370.1 + ], + "yaxis": "y" + }, + { + "hovertemplate": "%{y}", + "marker": { + "color": "red" + }, + "name": "VWAP", + "type": "scatter", + "x": [ + "2023-08-22T09:30:00", + "2023-08-22T09:45:00", + "2023-08-22T10:00:00", + "2023-08-22T10:15:00", + "2023-08-22T10:30:00", + "2023-08-22T10:45:00", + "2023-08-22T11:00:00", + "2023-08-22T11:15:00", + "2023-08-22T11:30:00", + "2023-08-22T11:45:00", + "2023-08-22T12:00:00", + "2023-08-22T12:15:00", + "2023-08-22T12:30:00", + "2023-08-22T12:45:00", + "2023-08-22T13:00:00", + "2023-08-22T13:15:00", + "2023-08-22T13:30:00", + "2023-08-22T13:45:00", + "2023-08-22T14:00:00", + "2023-08-22T14:15:00", + "2023-08-22T14:30:00", + "2023-08-22T14:45:00", + "2023-08-22T15:00:00", + "2023-08-22T15:15:00", + "2023-08-22T15:30:00", + "2023-08-22T15:45:00", + "2023-08-23T09:30:00", + "2023-08-23T09:45:00", + "2023-08-23T10:00:00", + "2023-08-23T10:15:00", + "2023-08-23T10:30:00", + "2023-08-23T10:45:00", + "2023-08-23T11:00:00", + "2023-08-23T11:15:00", + "2023-08-23T11:30:00", + "2023-08-23T11:45:00", + "2023-08-23T12:00:00", + "2023-08-23T12:15:00", + "2023-08-23T12:30:00", + "2023-08-23T12:45:00", + "2023-08-23T13:00:00", + "2023-08-23T13:15:00", + "2023-08-23T13:30:00", + "2023-08-23T13:45:00", + "2023-08-23T14:00:00", + "2023-08-23T14:15:00", + "2023-08-23T14:30:00", + "2023-08-23T14:45:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "y": [ + 365.55999755859375, + 365.2515001311089, + 365.2194068022041, + 365.17353052564584, + 365.01693237093417, + 365.02000717788167, + 365.0209331053361, + 365.01372728342375, + 364.98282609075795, + 364.92362556457664, + 364.8279196080493, + 364.7203659206545, + 364.64980176346666, + 364.5962080091559, + 364.52660922480294, + 364.4739039554072, + 364.4149670292882, + 364.374582061838, + 364.3357970860939, + 364.3068538581353, + 364.27912234337043, + 364.2596749027902, + 364.2574405639389, + 364.2430314693294, + 364.1757251157667, + 364.11000889170595, + 364.9216715494792, + 365.43683851324175, + 365.8317729138599, + 366.0960218712973, + 366.36584411436587, + 366.64173997979333, + 366.8688653934527, + 367.03933288555663, + 367.1596899222035, + 367.2996375192426, + 367.3590691478979, + 367.43063393481737, + 367.4665267311795, + 367.5178671834957, + 367.57072839723753, + 367.6848501877831, + 367.76230640326906, + 367.8404033102429, + 367.88974843306426, + 367.93825663424167, + 367.973976251826, + 367.99998866288524, + 368.00362020160605 + ], + "yaxis": "y2" + }, + { + "hovertemplate": "%{y}", + "marker": { + "color": "green" + }, + "name": "Close", + "type": "scatter", + "x": [ + "2023-08-22T09:30:00", + "2023-08-22T09:45:00", + "2023-08-22T10:00:00", + "2023-08-22T10:15:00", + "2023-08-22T10:30:00", + "2023-08-22T10:45:00", + "2023-08-22T11:00:00", + "2023-08-22T11:15:00", + "2023-08-22T11:30:00", + "2023-08-22T11:45:00", + "2023-08-22T12:00:00", + "2023-08-22T12:15:00", + "2023-08-22T12:30:00", + "2023-08-22T12:45:00", + "2023-08-22T13:00:00", + "2023-08-22T13:15:00", + "2023-08-22T13:30:00", + "2023-08-22T13:45:00", + "2023-08-22T14:00:00", + "2023-08-22T14:15:00", + "2023-08-22T14:30:00", + "2023-08-22T14:45:00", + "2023-08-22T15:00:00", + "2023-08-22T15:15:00", + "2023-08-22T15:30:00", + "2023-08-22T15:45:00", + "2023-08-23T09:30:00", + "2023-08-23T09:45:00", + "2023-08-23T10:00:00", + "2023-08-23T10:15:00", + "2023-08-23T10:30:00", + "2023-08-23T10:45:00", + "2023-08-23T11:00:00", + "2023-08-23T11:15:00", + "2023-08-23T11:30:00", + "2023-08-23T11:45:00", + "2023-08-23T12:00:00", + "2023-08-23T12:15:00", + "2023-08-23T12:30:00", + "2023-08-23T12:45:00", + "2023-08-23T13:00:00", + "2023-08-23T13:15:00", + "2023-08-23T13:30:00", + "2023-08-23T13:45:00", + "2023-08-23T14:00:00", + "2023-08-23T14:15:00", + "2023-08-23T14:30:00", + "2023-08-23T14:45:00", + "2023-08-23T15:00:00" + ], + "xaxis": "x2", + "xhoverformat": "%I:%M%p %Y-%m-%d", + "y": [ + 365.3800048828125, + 364.4100036621094, + 365.3765869140625, + 364.5899963378906, + 364.28509521484375, + 365.5299987792969, + 364.7200012207031, + 364.80999755859375, + 364.30999755859375, + 363.94000244140625, + 362.9700012207031, + 363.4150085449219, + 363.9725036621094, + 363.6700134277344, + 363.1000061035156, + 363.3699951171875, + 363.1600036621094, + 363.3453063964844, + 363.1600036621094, + 363.8299865722656, + 363.45001220703125, + 363.7099914550781, + 364.456298828125, + 363.5993957519531, + 362.760009765625, + 363.3699951171875, + 365.05499267578125, + 366.60198974609375, + 367.3561096191406, + 367.45001220703125, + 368.1700134277344, + 368.6600036621094, + 368.9200134277344, + 368.94500732421875, + 368.510009765625, + 369.197998046875, + 368.7200012207031, + 368.57000732421875, + 368.97900390625, + 368.6499938964844, + 369.10009765625, + 369.68011474609375, + 369.8500061035156, + 370.0799865722656, + 369.5199890136719, + 369.45001220703125, + 369.05999755859375, + 369.3299865722656, + 369.1109924316406 + ], + "yaxis": "y2" + } + ], + "layout": { + "annotations": [ + { + "font": { + "color": "gray", + "size": 17 + }, + "opacity": 0.5, + "showarrow": false, + "text": "OpenBB Terminal", + "x": 1, + "xanchor": "right", + "xref": "paper", + "xshift": 40, + "y": 0, + "yanchor": "bottom", + "yref": "paper", + "yshift": -80 + } + ], + "bargap": 0, + "bargroupgap": 0, + "barmode": "overlay", + "legend": { + "bgcolor": "rgba(0,0,0,0)", + "orientation": "h", + "x": 1, + "xanchor": "right", + "y": 1.115, + "yanchor": "top" + }, + "margin": { + "b": 80, + "l": 40, + "r": 50, + "t": 50 + }, + "plot_bgcolor": "rgba(0,0,0,0)", + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#f2f5fa" + }, + "error_y": { + "color": "#f2f5fa" + }, + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(17,17,17)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "candlestick": [ + { + "decreasing": { + "fillcolor": "#e4003a", + "line": { + "color": "#e4003a" + } + }, + "increasing": { + "fillcolor": "#00ACFF", + "line": { + "color": "#00ACFF" + } + }, + "type": "candlestick" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "baxis": { + "endlinecolor": "#A2B1C6", + "gridcolor": "#506784", + "linecolor": "#506784", + "minorgridcolor": "#506784", + "startlinecolor": "#A2B1C6" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "line": { + "color": "#283442" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#506784" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "header": { + "fill": { + "color": "#2a3f5f" + }, + "line": { + "color": "rgb(17,17,17)" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#f2f5fa", + "arrowhead": 0, + "arrowwidth": 1, + "showarrow": false + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#ffed00", + "#ef7d00", + "#e4003a", + "#c13246", + "#822661", + "#48277c", + "#005ca9", + "#00aaff", + "#9b30d9", + "#af005f", + "#5f00af", + "#af87ff" + ], + "dragmode": "pan", + "font": { + "color": "#f2f5fa", + "family": "Fira Code", + "size": 18 + }, + "geo": { + "bgcolor": "rgb(17,17,17)", + "lakecolor": "rgb(17,17,17)", + "landcolor": "rgb(17,17,17)", + "showlakes": true, + "showland": true, + "subunitcolor": "#506784" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "x", + "legend": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + }, + "x": 0.01, + "xanchor": "left", + "y": 0.99, + "yanchor": "top" + }, + "legend2": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend3": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend4": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "legend5": { + "bgcolor": "rgba(0, 0, 0, 0.5)", + "font": { + "size": 15 + } + }, + "mapbox": { + "style": "dark" + }, + "paper_bgcolor": "#000000", + "plot_bgcolor": "#000000", + "polar": { + "angularaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "radialaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "yaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + }, + "zaxis": { + "backgroundcolor": "rgb(17,17,17)", + "gridcolor": "#506784", + "gridwidth": 2, + "linecolor": "#506784", + "showbackground": true, + "ticks": "", + "zerolinecolor": "#C8D4E3" + } + }, + "shapedefaults": { + "line": { + "color": "#f2f5fa" + } + }, + "sliderdefaults": { + "bgcolor": "#C8D4E3", + "bordercolor": "rgb(17,17,17)", + "borderwidth": 1, + "tickwidth": 0 + }, + "ternary": { + "aaxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "baxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + }, + "bgcolor": "rgb(17,17,17)", + "caxis": { + "gridcolor": "#506784", + "linecolor": "#506784", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "updatemenudefaults": { + "bgcolor": "#506784", + "borderwidth": 0 + }, + "xaxis": { + "automargin": true, + "autorange": true, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "rangeslider": { + "visible": false + }, + "showgrid": true, + "showline": true, + "tick0": 1, + "tickfont": { + "size": 14 + }, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + }, + "yaxis": { + "anchor": "x", + "automargin": true, + "fixedrange": false, + "gridcolor": "#283442", + "linecolor": "#F5EFF3", + "mirror": true, + "showgrid": true, + "showline": true, + "side": "right", + "tick0": 0.5, + "ticks": "outside", + "title": { + "standoff": 20 + }, + "zeroline": false, + "zerolinecolor": "#283442", + "zerolinewidth": 2 + } + } + }, + "title": { + "text": "QQQ - 15 Minute - Volume at Price", + "x": 0.5, + "y": 1 + }, + "xaxis": { + "anchor": "y", + "autorange": false, + "domain": [ + 0, + 0 + ], + "mirror": false, + "range": [ + 0, + 6107540 + ], + "showgrid": false, + "showline": false, + "showticklabels": false, + "ticklen": 0, + "zeroline": false + }, + "xaxis2": { + "anchor": "y2", + "domain": [ + 0, + 0 + ], + "mirror": true, + "rangebreaks": [ + { + "bounds": [ + "2023-08-22T16:00:00", + "2023-08-23T09:30:00" + ] + }, + { + "values": [] + } + ], + "showgrid": false, + "showline": true, + "tick0": 0.5, + "tickformatstops": [ + { + "dtickrange": [ + null, + 86400000 + ], + "value": "%I:%M%p\n%b,%d" + }, + { + "dtickrange": [ + 86400000, + 604800000 + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + 604800000, + "M1" + ], + "value": "%Y-%m-%d" + }, + { + "dtickrange": [ + "M1", + null + ], + "value": "%Y-%m-%d" + } + ], + "ticklen": 0, + "ticks": "outside", + "type": "date", + "zeroline": false + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "mirror": true, + "showgrid": false, + "showline": false, + "showticklabels": true, + "ticklen": 0, + "ticks": "outside", + "zeroline": false + }, + "yaxis2": { + "anchor": "x2", + "domain": [ + 0, + 1 + ], + "matches": "y", + "mirror": true, + "showgrid": false, + "showline": true, + "showticklabels": false, + "ticklen": 0, + "zeroline": false + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = openbb.stocks.load(\"QQQ\", start_date=(datetime.now()-timedelta(days=1)).date().strftime(\"%Y-%m-%d\"), interval=15)\n", + "display_vap(data=data, symbol=\"QQQ - 15 Minute\")" + ] + } + ], + "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.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}