{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Description\n", "In this project we backtest historical signals from a Telegram Channel using VectorBT Pro.
\n", "**Author(s)**: `Oleg Polakow` (VBT Pro Simulations), `Dilip Rajkumar` (Signal Extraction)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from numba import njit\n", "import vectorbtpro as vbt\n", "\n", "vbt.settings.set_theme(\"dark\")\n", "vbt.settings['plotting']['layout']['width'] = 1280" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Read Market Data and Telegram Signals (Extracted) Data" ] }, { "cell_type": "code", "execution_count": 57, "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", " \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", "
openhighlowclosevolume
timestamp
2021-09-02 00:00:00+00:001813.22501813.7321813.2221813.53450.0417
2021-09-02 00:01:00+00:001813.52451813.7421813.6211813.48500.0374
2021-09-02 00:02:00+00:001813.52501813.8021813.5311813.47000.0313
2021-09-02 00:03:00+00:001813.50001813.7421813.5421813.37500.0301
2021-09-02 00:04:00+00:001813.37001813.7721813.4721813.55500.0449
..................
2023-03-13 23:55:00+00:001911.91501912.3051912.0251912.15500.0079
2023-03-13 23:56:00+00:001912.16501912.3151911.9951911.87500.0048
2023-03-13 23:57:00+00:001911.89001912.3851912.0351912.10350.0145
2023-03-13 23:58:00+00:001912.11351912.7151912.2821912.51000.0194
2023-03-13 23:59:00+00:001912.51851912.6951912.3421912.17350.0272
\n", "

119906 rows × 5 columns

\n", "
" ], "text/plain": [ " open high low close volume\n", "timestamp \n", "2021-09-02 00:00:00+00:00 1813.2250 1813.732 1813.222 1813.5345 0.0417\n", "2021-09-02 00:01:00+00:00 1813.5245 1813.742 1813.621 1813.4850 0.0374\n", "2021-09-02 00:02:00+00:00 1813.5250 1813.802 1813.531 1813.4700 0.0313\n", "2021-09-02 00:03:00+00:00 1813.5000 1813.742 1813.542 1813.3750 0.0301\n", "2021-09-02 00:04:00+00:00 1813.3700 1813.772 1813.472 1813.5550 0.0449\n", "... ... ... ... ... ...\n", "2023-03-13 23:55:00+00:00 1911.9150 1912.305 1912.025 1912.1550 0.0079\n", "2023-03-13 23:56:00+00:00 1912.1650 1912.315 1911.995 1911.8750 0.0048\n", "2023-03-13 23:57:00+00:00 1911.8900 1912.385 1912.035 1912.1035 0.0145\n", "2023-03-13 23:58:00+00:00 1912.1135 1912.715 1912.282 1912.5100 0.0194\n", "2023-03-13 23:59:00+00:00 1912.5185 1912.695 1912.342 1912.1735 0.0272\n", "\n", "[119906 rows x 5 columns]" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fetch data\n", "def date_parser(timestamps):\n", " # First column are integer timestamps, parse them into DatetimeIndex\n", " return pd.to_datetime(timestamps, utc=True, unit=\"ms\")\n", "\n", "## Read OHLCV for XAUUSD downloaded from Dukascopy\n", "data = vbt.CSVData.fetch(\"/Users/dilip.rajkumar/Documents/TeleGram_Signal_Extraction/data/xauusd_202109_202303.csv\", date_parser=date_parser)\n", "data.get()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Telegram Signal DF Shape: (543, 10)\n" ] }, { "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", " \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", " \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", "
idmessageSymbolOrderTypeEntryPriceSLTP1TP2TP3TP4
date
2021-09-14 05:57:17+00:00840Gbpchf sell now @1.27590 - 1.27890\\n\\nSL: 1.28...GBPCHFSELL1.27891.281.27NaNNaNNaN
2021-09-14 05:57:30+00:00841Gbpaud sell now @1.88550 - 1.88750\\n\\nSL: 1.89...GBPAUDSELL1.88751.891.88NaNNaNNaN
2021-09-14 06:28:04+00:00843Eurjpy buy now @ 129.980\\n\\nSL: 129.580\\nTP1: ...EURJPYBUY129.9800129.58130.13130.28130.48NaN
2021-09-14 08:39:48+00:00844Gbpjpy Sell now @ 152.650\\n\\nTP1: 152.500 (15...GBPJPYSELL152.6500153.05152.50152.35152.15NaN
2021-09-14 12:43:51+00:00846XAUUSD sell now@ 1792.4\\n\\nTP1: 1790.9 (15 pip...XAUUSDSELL1792.40001796.401790.901789.401787.40NaN
.................................
2023-03-13 10:17:39+00:004408XAUUSD SELL 1885.00\\nSL 1895\\nTP 1882\\nTP 18...XAUUSDSELL1885.00001895.001882.001877.001865.001800.0
2023-03-13 13:08:21+00:004411XAUUSD SELL STOP 1896.00\\nSL 1906\\nTP 1893\\n...XAUUSDSELL STOP1896.00001906.001893.001888.001870.001840.0
2023-03-13 14:36:09+00:004413XAUUSD SELL 1907.00\\nSL 1918\\nTP 1903\\nTP 1...XAUUSDSELL1907.00001918.001903.001900.001890.001860.0
2023-03-15 06:27:23+00:004425XAUUSD SELL STOP 1899.00\\nSL 1910\\nTP 1896\\...XAUUSDSELL STOP1899.00001910.001896.001890.001880.001850.0
2023-03-16 13:03:03+00:004432XAUUSD SELL 1929.00\\nSL 1940\\nTP 1926\\nTP 1...XAUUSDSELL1929.00001940.001926.001920.001915.001870.0
\n", "

543 rows × 10 columns

\n", "
" ], "text/plain": [ " id \\\n", "date \n", "2021-09-14 05:57:17+00:00 840 \n", "2021-09-14 05:57:30+00:00 841 \n", "2021-09-14 06:28:04+00:00 843 \n", "2021-09-14 08:39:48+00:00 844 \n", "2021-09-14 12:43:51+00:00 846 \n", "... ... \n", "2023-03-13 10:17:39+00:00 4408 \n", "2023-03-13 13:08:21+00:00 4411 \n", "2023-03-13 14:36:09+00:00 4413 \n", "2023-03-15 06:27:23+00:00 4425 \n", "2023-03-16 13:03:03+00:00 4432 \n", "\n", " message \\\n", "date \n", "2021-09-14 05:57:17+00:00 Gbpchf sell now @1.27590 - 1.27890\\n\\nSL: 1.28... \n", "2021-09-14 05:57:30+00:00 Gbpaud sell now @1.88550 - 1.88750\\n\\nSL: 1.89... \n", "2021-09-14 06:28:04+00:00 Eurjpy buy now @ 129.980\\n\\nSL: 129.580\\nTP1: ... \n", "2021-09-14 08:39:48+00:00 Gbpjpy Sell now @ 152.650\\n\\nTP1: 152.500 (15... \n", "2021-09-14 12:43:51+00:00 XAUUSD sell now@ 1792.4\\n\\nTP1: 1790.9 (15 pip... \n", "... ... \n", "2023-03-13 10:17:39+00:00 XAUUSD SELL 1885.00\\nSL 1895\\nTP 1882\\nTP 18... \n", "2023-03-13 13:08:21+00:00 XAUUSD SELL STOP 1896.00\\nSL 1906\\nTP 1893\\n... \n", "2023-03-13 14:36:09+00:00 XAUUSD SELL 1907.00\\nSL 1918\\nTP 1903\\nTP 1... \n", "2023-03-15 06:27:23+00:00 XAUUSD SELL STOP 1899.00\\nSL 1910\\nTP 1896\\... \n", "2023-03-16 13:03:03+00:00 XAUUSD SELL 1929.00\\nSL 1940\\nTP 1926\\nTP 1... \n", "\n", " Symbol OrderType EntryPrice SL TP1 \\\n", "date \n", "2021-09-14 05:57:17+00:00 GBPCHF SELL 1.2789 1.28 1.27 \n", "2021-09-14 05:57:30+00:00 GBPAUD SELL 1.8875 1.89 1.88 \n", "2021-09-14 06:28:04+00:00 EURJPY BUY 129.9800 129.58 130.13 \n", "2021-09-14 08:39:48+00:00 GBPJPY SELL 152.6500 153.05 152.50 \n", "2021-09-14 12:43:51+00:00 XAUUSD SELL 1792.4000 1796.40 1790.90 \n", "... ... ... ... ... ... \n", "2023-03-13 10:17:39+00:00 XAUUSD SELL 1885.0000 1895.00 1882.00 \n", "2023-03-13 13:08:21+00:00 XAUUSD SELL STOP 1896.0000 1906.00 1893.00 \n", "2023-03-13 14:36:09+00:00 XAUUSD SELL 1907.0000 1918.00 1903.00 \n", "2023-03-15 06:27:23+00:00 XAUUSD SELL STOP 1899.0000 1910.00 1896.00 \n", "2023-03-16 13:03:03+00:00 XAUUSD SELL 1929.0000 1940.00 1926.00 \n", "\n", " TP2 TP3 TP4 \n", "date \n", "2021-09-14 05:57:17+00:00 NaN NaN NaN \n", "2021-09-14 05:57:30+00:00 NaN NaN NaN \n", "2021-09-14 06:28:04+00:00 130.28 130.48 NaN \n", "2021-09-14 08:39:48+00:00 152.35 152.15 NaN \n", "2021-09-14 12:43:51+00:00 1789.40 1787.40 NaN \n", "... ... ... ... \n", "2023-03-13 10:17:39+00:00 1877.00 1865.00 1800.0 \n", "2023-03-13 13:08:21+00:00 1888.00 1870.00 1840.0 \n", "2023-03-13 14:36:09+00:00 1900.00 1890.00 1860.0 \n", "2023-03-15 06:27:23+00:00 1890.00 1880.00 1850.0 \n", "2023-03-16 13:03:03+00:00 1920.00 1915.00 1870.0 \n", "\n", "[543 rows x 10 columns]" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fetch Telegram signals extracted from \"Green Pips\" ( https://t.me/forexbookspdf )\n", "signal_data = vbt.CSVData.fetch(\"/Users/dilip.rajkumar/Documents/TeleGram_Signal_Extraction/data/TG_Extracted_Signals.csv\", index_col=1)\n", "print(\"Telegram Signal DF Shape:\",signal_data.wrapper.shape)\n", "signal_data.get()" ] }, { "cell_type": "code", "execution_count": 59, "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", "
idmessageSymbolOrderTypeEntryPriceSLTP1TP2TP3TP4
date
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [id, message, Symbol, OrderType, EntryPrice, SL, TP1, TP2, TP3, TP4]\n", "Index: []" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = signal_data.get()\n", "df.OrderType = df.OrderType.apply(lambda x: x.rstrip()) ## Remove empty white spaces at the end of the string using rstrip()\n", "df.Symbol = df.Symbol.apply(lambda x: x.rstrip())\n", "df[df['EntryPrice'] == 0] ## Checking for signals with NULL Entry Prices" ] }, { "cell_type": "code", "execution_count": 60, "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", "
idmessageSymbolOrderTypeEntryPriceSLTP1TP2TP3TP4
date
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [id, message, Symbol, OrderType, EntryPrice, SL, TP1, TP2, TP3, TP4]\n", "Index: []" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df['EntryPrice'].isna()]" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['SELL' 'BUY' 'BUY STOP' 'SELL STOP']\n" ] } ], "source": [ "## Different Order Types present in the TeleGram Signal\n", "print(df['OrderType'][(df['Symbol']=='XAUUSD')].unique())" ] }, { "cell_type": "code", "execution_count": 62, "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", " \n", " \n", "
idmessageSymbolOrderTypeEntryPriceSLTP1TP2TP3TP4
date
2022-07-15 13:01:54+00:002837XAUUSD BUY STOP 1710.00\\nSL 1697\\nTP 1713\\nTP ...XAUUSDBUY STOP1710.01697.01713.01719.01770.0NaN
2022-08-11 07:59:19+00:003002XAUUSD BUY STOP 1788.00 \\nSL 1777\\nTP 1791\\nT...XAUUSDBUY STOP1788.01777.01791.01797.01850.0NaN
2022-08-31 12:24:05+00:003110XAUUSD BUY STOP 1712.00 \\nSL 1700\\nTP 1715\\nTP...XAUUSDBUY STOP1712.01700.01715.01721.01780.0NaN
\n", "
" ], "text/plain": [ " id \\\n", "date \n", "2022-07-15 13:01:54+00:00 2837 \n", "2022-08-11 07:59:19+00:00 3002 \n", "2022-08-31 12:24:05+00:00 3110 \n", "\n", " message \\\n", "date \n", "2022-07-15 13:01:54+00:00 XAUUSD BUY STOP 1710.00\\nSL 1697\\nTP 1713\\nTP ... \n", "2022-08-11 07:59:19+00:00 XAUUSD BUY STOP 1788.00 \\nSL 1777\\nTP 1791\\nT... \n", "2022-08-31 12:24:05+00:00 XAUUSD BUY STOP 1712.00 \\nSL 1700\\nTP 1715\\nTP... \n", "\n", " Symbol OrderType EntryPrice SL TP1 \\\n", "date \n", "2022-07-15 13:01:54+00:00 XAUUSD BUY STOP 1710.0 1697.0 1713.0 \n", "2022-08-11 07:59:19+00:00 XAUUSD BUY STOP 1788.0 1777.0 1791.0 \n", "2022-08-31 12:24:05+00:00 XAUUSD BUY STOP 1712.0 1700.0 1715.0 \n", "\n", " TP2 TP3 TP4 \n", "date \n", "2022-07-15 13:01:54+00:00 1719.0 1770.0 NaN \n", "2022-08-11 07:59:19+00:00 1797.0 1850.0 NaN \n", "2022-08-31 12:24:05+00:00 1721.0 1780.0 NaN " ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Check for BUY STOP Orders in XAUUSD Symbol\n", "df[(df['Symbol']=='XAUUSD') & (df['OrderType'] == 'BUY STOP')]" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Creation of various `NamedTuple`s" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OrderTypeT(BUY=0, SELL=1, BUYSTOP=2, SELLSTOP=3)\n" ] } ], "source": [ "# Numba doesn't understand strings, thus create an enumerated type for stop types\n", "from collections import namedtuple\n", "\n", "# Create a type first\n", "OrderTypeT = namedtuple(\"OrderTypeT\", [\"BUY\", \"SELL\", \"BUYSTOP\", \"SELLSTOP\"])\n", "\n", "# Then create a tuple of type: OrderTypeT\n", "OrderType = OrderTypeT(*range(len(OrderTypeT._fields)))\n", "\n", "print(OrderType)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NamedTuple Fields: ('BUY', 'SELL', 'BUYSTOP', 'SELLSTOP')\n", "NamedTuple Name : OrderTypeT\n" ] } ], "source": [ "## You could have also created the named tuple with `typing.NamedTuple`, \n", "## but some versions of Numba don't like it, so to to access the \n", "## `field_names` and `typename` like this\n", "print(\"NamedTuple Fields:\", OrderTypeT._fields)\n", "print(\"NamedTuple Name :\", OrderTypeT.__name__)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Mapping `OrderTypes` column of string values to integers in the `OrderType` namedtuple" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DF All Columns: ['id', 'message', 'Symbol', 'OrderType', 'EntryPrice', 'SL', 'TP1', 'TP2', 'TP3', 'TP4']\n", "DF Sel Int. Columns: ['id', 'OrderType', 'EntryPrice', 'SL', 'TP1', 'TP2', 'TP3', 'TP4']\n", "Final Signal DF Shape: (232, 8)\n" ] } ], "source": [ "def transform_signal_data(df: pd.DataFrame, symbol : str = 'XAUUSD'):\n", " '''Transform OrderType Column to numerical type for numba'''\n", " # Select only one symbol, the one we fetched the data for\n", " print(\"DF All Columns:\",df.columns.tolist())\n", " df = df[df[\"Symbol\"] == symbol]\n", " \n", " # Select columns of interest\n", " df = df.iloc[:, [0, 3, 4, 5, 6, 7, 8 , 9]]\n", " print(\"DF Sel Int. Columns:\",df.columns.tolist())\n", " # Map order types using OrderType\n", " df[\"OrderType\"] = df[\"OrderType\"].map(lambda x: OrderType._fields.index(x.replace(\" \", \"\")))\n", " \n", " # Some entry prices are zero\n", " df = df[df[\"EntryPrice\"] > 0]\n", " \n", " return df\n", "\n", "signal_data = signal_data.transform(transform_signal_data)\n", "\n", "print(\"Final Signal DF Shape:\",signal_data.wrapper.shape)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We have about 232 signals for XAUUSD" ] }, { "cell_type": "code", "execution_count": 66, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idOrderTypeEntryPriceSLTP1TP2TP3TP4
date
2021-09-14 12:43:51+00:0084611792.41796.41790.91789.41787.4NaN
2021-09-15 04:24:47+00:0085401800.01797.51805.01810.0NaNNaN
2021-09-15 08:08:45+00:0086611802.51806.51801.01799.51797.5NaN
2021-09-16 10:39:52+00:0088401780.0NaN1781.31783.3NaNNaN
2021-09-16 12:48:36+00:0088701762.31758.31763.81765.31767.3NaN
...........................
2023-03-13 10:17:39+00:00440811885.01895.01882.01877.01865.01800.0
2023-03-13 13:08:21+00:00441131896.01906.01893.01888.01870.01840.0
2023-03-13 14:36:09+00:00441311907.01918.01903.01900.01890.01860.0
2023-03-15 06:27:23+00:00442531899.01910.01896.01890.01880.01850.0
2023-03-16 13:03:03+00:00443211929.01940.01926.01920.01915.01870.0
\n", "

232 rows × 8 columns

\n", "
" ], "text/plain": [ " id OrderType EntryPrice SL TP1 \\\n", "date \n", "2021-09-14 12:43:51+00:00 846 1 1792.4 1796.4 1790.9 \n", "2021-09-15 04:24:47+00:00 854 0 1800.0 1797.5 1805.0 \n", "2021-09-15 08:08:45+00:00 866 1 1802.5 1806.5 1801.0 \n", "2021-09-16 10:39:52+00:00 884 0 1780.0 NaN 1781.3 \n", "2021-09-16 12:48:36+00:00 887 0 1762.3 1758.3 1763.8 \n", "... ... ... ... ... ... \n", "2023-03-13 10:17:39+00:00 4408 1 1885.0 1895.0 1882.0 \n", "2023-03-13 13:08:21+00:00 4411 3 1896.0 1906.0 1893.0 \n", "2023-03-13 14:36:09+00:00 4413 1 1907.0 1918.0 1903.0 \n", "2023-03-15 06:27:23+00:00 4425 3 1899.0 1910.0 1896.0 \n", "2023-03-16 13:03:03+00:00 4432 1 1929.0 1940.0 1926.0 \n", "\n", " TP2 TP3 TP4 \n", "date \n", "2021-09-14 12:43:51+00:00 1789.4 1787.4 NaN \n", "2021-09-15 04:24:47+00:00 1810.0 NaN NaN \n", "2021-09-15 08:08:45+00:00 1799.5 1797.5 NaN \n", "2021-09-16 10:39:52+00:00 1783.3 NaN NaN \n", "2021-09-16 12:48:36+00:00 1765.3 1767.3 NaN \n", "... ... ... ... \n", "2023-03-13 10:17:39+00:00 1877.0 1865.0 1800.0 \n", "2023-03-13 13:08:21+00:00 1888.0 1870.0 1840.0 \n", "2023-03-13 14:36:09+00:00 1900.0 1890.0 1860.0 \n", "2023-03-15 06:27:23+00:00 1890.0 1880.0 1850.0 \n", "2023-03-16 13:03:03+00:00 1920.0 1915.0 1870.0 \n", "\n", "[232 rows x 8 columns]" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## OrderType column now remapped\n", "signal_data.get()" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "# Create named tuples which will act as containers for various arrays\n", "\n", "# SignalInfo will contain signal information in a vbt-friendly format\n", "# Rows in each array correspond to signals\n", "SignalInfo = namedtuple(typename = \"SignalInfo\", field_names = [\n", " \"timestamp\", # 1d array with timestamps in nanosecond format (int64)\n", " \"order_type\", # 1d array with order types in integer format (int64, see order_type_map)\n", " \"entry_price\", # 1d array with entry price (float64)\n", " \"sl\", # 2d array where columns are SL levels (float64)\n", " \"tp\", # 2d array where columns are TP levels (float64)\n", "])\n", "\n", "# TempInfo will contain temporary information that will be written during backtesting\n", "# You can imagine being buffer that we write and then access at a later time\n", "# Rows in each array correspond to signals\n", "TempInfo = namedtuple(typename = \"TempInfo\", field_names = [\n", " \"ts_bar\", # 1d array with row indices of the timestamp where the signal was hit (int64)\n", " \"entry_price_bar\", # 1d array with row indices where entry price was hit (int64)\n", " \"sl_bar\", # 2d array with row indices where each SL level was hit, same shape as SignalInfo.sl (int64)\n", " \"tp_bar\", # 2d array with row indices where each TP level was hit, same shape as SignalInfo.tp (int64)\n", "])" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In the `TempInfo` namedtuple above, the purpose of `ts_bar` is to mark the bar (i.e absolute index of the row) where we saw the signal for the first time, we could have also created a boolean array with `True` for _\"signal seen\"_ but for more consistency we use this namedTuple format for storing more rich information. Basically it just a one-dimensional array where each element corresponds to a column (signal). Before the signal is hit, the value is -1. After that, it becomes the row index that never changes. Having this array is important because we want to skip our logic if there is no signal yet." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### `order_func_nb` - A Numba Compiled Order Function \n", "The `order_func_nb` will deal with the execution of various entry and exit orders for our signals along with the position management. For the `order_func_nb` below, here's what we will do:\n", "- Represent each signal as a separate column with its own starting capital\n", "- The order function is executed at each bar and column (signal in our case). If the current bar contains a signal, execute the signal logic\n", "- Order functions can issue only one order at bar, thus if multiple stops were hit, we will aggregate them\n", "- We will go all in and then gradually reduce the position based on the number of stops\n", "- Sometimes we may see two signals occuring right next to each other with different stop losses. To maintain the consistency in the number of rows (i.e levels). All these stops are stored in a single array, i.e. all stops across all signals must have the same number of rows (ladder steps/levels), thus we just pad the columns where there are less stops with `NaN`. You could have also run the simulation on each signal separately (would be slower a bit), in such a case you wouldn't need padding.\n", "- Finally, we will run this order function `order_func_nb` using `Portfolio.from_order_func()`\n" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "@njit\n", "def has_data_nb(c):\n", " \"\"\"\n", " Numba function to check whether OHLC is not NaN. \n", " If any column O,H,L,C is NaN returns False else returns True\n", " \"\"\"\n", " if np.isnan(vbt.pf_nb.select_nb(c, c.open)):\n", " return False\n", " if np.isnan(vbt.pf_nb.select_nb(c, c.high)):\n", " return False\n", " if np.isnan(vbt.pf_nb.select_nb(c, c.low)):\n", " return False\n", " if np.isnan(vbt.pf_nb.select_nb(c, c.close)):\n", " return False\n", " return True\n", "\n", "## Wrapper function to call the vbt function\n", "@njit\n", "def check_price_hit_nb(c, price, hit_below, can_use_ohlc):\n", " # Numba function to check whether a price level was hit during this bar\n", " # Use hit_below = True to check against low and hit_below = False to check against high\n", " # If can_use_ohlc is False, will check only against the close price\n", " \n", " order_price, hit_on_open, hit = vbt.pf_nb.check_price_hit_nb(\n", " open = vbt.pf_nb.select_nb(c, c.open), # OHLC are flexible arrays, always use select_nb!\n", " high = vbt.pf_nb.select_nb(c, c.high),\n", " low = vbt.pf_nb.select_nb(c, c.low),\n", " close= vbt.pf_nb.select_nb(c, c.close),\n", " price=price,\n", " hit_below=hit_below,\n", " can_use_ohlc=can_use_ohlc\n", " )\n", " # Order price here isn't necessarily the price that has been hit\n", " # For example, if the price was hit before open, order price is set to the open price\n", " return order_price, hit\n", "\n", "@njit(boundscheck=True)\n", "def order_func_nb(c, signal_info, temp_info): # first argument is context object, other are our namedTuple containers\n", " if not has_data_nb(c):\n", " # If this bar contains no data, skip it\n", " return vbt.pf_nb.order_nothing_nb()\n", " \n", " # Each column corresponds to a signal\n", " signal = c.col\n", " \n", " # Each row corresponds to a bar\n", " bar = c.i\n", " \n", " # Define various flags for pure convenience\n", " buy_market = signal_info.order_type[signal] == OrderType.BUY\n", " sell_market = signal_info.order_type[signal] == OrderType.SELL\n", " buy_stop = signal_info.order_type[signal] == OrderType.BUYSTOP\n", " sell_stop = signal_info.order_type[signal] == OrderType.SELLSTOP\n", " buy = buy_market or buy_stop\n", " # We have only `buy = buy_market or buy_stop` because Selling means not buying, \n", " # so we only need to check whether it's a buy operation, and if not, \n", " # it's automatically a sell operation (i.e. `sell = not buy`)\n", " \n", " # First, we need to check whether the current bar contains a signal\n", " can_use_ohlc = True\n", " if temp_info.ts_bar[signal] == -1:\n", " # Check whether the signal has been discovered\n", " # -1 means hasn't been discovered yet \n", " if c.index[bar] == signal_info.timestamp[signal]:\n", " # If so, store the current row index in a temporary array\n", " # such that later we know that we already discovered a signal\n", " temp_info.ts_bar[signal] = bar\n", "\n", " # The signal has the granularity of seconds, thus it belongs somewhere in the bar\n", " # We need to notify the functions below that they cannot use fully OHLC information, only close\n", " # This is to avoid using prices that technically happened before the signal\n", " can_use_ohlc = False\n", " \n", " # Here comes the entry order\n", " if temp_info.ts_bar[signal] != -1: \n", " # Then, check whether the entry order hasn't been executed\n", " if temp_info.entry_price_bar[signal] == -1: \n", " # If so, execute the entry order\n", " if buy_market:\n", " # Buy market order (using closing price)\n", " # Store the current row index in a temporary array such that future bars know\n", " # that the order has already been executed\n", " temp_info.entry_price_bar[signal] = bar\n", " order_price = signal_info.entry_price[signal]\n", " return vbt.pf_nb.order_nb(np.inf, np.inf) # size, price \n", " if sell_market:\n", " # Sell market order (using closing price)\n", " temp_info.entry_price_bar[signal] = bar\n", " order_price = signal_info.entry_price[signal]\n", " return vbt.pf_nb.order_nb(-np.inf, np.inf)\n", " \n", " if buy_stop: # Buy stop order\n", " # A buy stop order is entered at a stop price above the current market price \n", " # Since it's a pending order, we first need to check whether the entry price has been hit\n", " order_price, hit = check_price_hit_nb(c,\n", " price=signal_info.entry_price[signal],\n", " hit_below=False,\n", " can_use_ohlc=can_use_ohlc)\n", " if hit: # If so, execute the order\n", " temp_info.entry_price_bar[signal] = bar\n", " return vbt.pf_nb.order_nb(np.inf, order_price)\n", " \n", " if sell_stop: # Sell stop order\n", " # A sell stop order is entered at a stop price below the current market price\n", " order_price, hit = check_price_hit_nb(c,\n", " price=signal_info.entry_price[signal],\n", " hit_below=True,\n", " can_use_ohlc=can_use_ohlc)\n", " if hit:\n", " temp_info.entry_price_bar[signal] = bar\n", " return vbt.pf_nb.order_nb(-np.inf, order_price)\n", " \n", " # Here comes the stop order, i.e EXIT Order\n", " # Check whether the entry order has been executed\n", " if temp_info.entry_price_bar[signal] != -1:\n", " # We also need to check whether we're still in a position\n", " # in case stops have already closed out the position\n", " if c.last_position[signal] != 0:\n", " \n", " # If so, start with checking for potential SL orders\n", " # (remember that SL pessimistically comes before TP)\n", " # First, we need to know the number of potential and already executed SL levels\n", " # since we want to gradually reduce the position proportionally to the number of levels\n", " # For example, one signal may define [12.35, 12.29] and another [17.53, nan]\n", " n_sl_levels = 0\n", " n_sl_hits = 0\n", " sl_levels = signal_info.sl[signal] # select 1d array from 2d array\n", " sl_bar = temp_info.sl_bar[signal] # same here\n", " for k in range(len(sl_levels)):\n", " if not np.isnan(sl_levels[k]):\n", " n_sl_levels += 1\n", " if sl_bar[k] != -1:\n", " n_sl_hits += 1\n", " \n", " # We can execute only one order at the current bar\n", " # Thus, if the price crossed multiple SL levels, we need to pack them into one order\n", " # Since SL levels are guaranteed to be sorted, we will check the most distant levels first\n", " # because if a distant stop has been hit, the closer stops are automatically hit too\n", " for k in range(n_sl_levels - 1, n_sl_hits - 1, -1):\n", " if not np.isnan(sl_levels[k]) and sl_bar[k] == -1:\n", " # Check against low for buy orders and against high for sell orders\n", " order_price, hit = check_price_hit_nb(c,\n", " price=sl_levels[k],\n", " hit_below=buy,\n", " can_use_ohlc=can_use_ohlc)\n", " if hit:\n", " sl_bar[k] = bar\n", " # The further away the stop is, the more of the position needs to be closed\n", " # We will specify a target percentage\n", " # For example, for two stops it would be 0.5 (SL1) and 0.0 (SL2)\n", " # while for three stops it would be 0.66 (SL1), 0.33 (SL2), and 0.0 (SL3)\n", " # This works only if we went all in before (size=np.inf)!\n", " size = 1 - (k + 1) / n_sl_levels\n", " size_type = vbt.pf_enums.SizeType.TargetPercent\n", " if buy:\n", " return vbt.pf_nb.order_nb(size, order_price, size_type)\n", " else:\n", " # Size must be negative for short positions\n", " return vbt.pf_nb.order_nb(-size, order_price, size_type)\n", " \n", " # Same for potential TP orders\n", " n_tp_levels = 0\n", " n_tp_hits = 0\n", " tp_levels = signal_info.tp[signal]\n", " tp_bar = temp_info.tp_bar[signal]\n", " for k in range(len(tp_levels)):\n", " if not np.isnan(tp_levels[k]):\n", " n_tp_levels += 1\n", " if tp_bar[k] != -1:\n", " n_tp_hits += 1\n", " \n", " for k in range(n_tp_levels - 1, n_tp_hits - 1, -1):\n", " if not np.isnan(tp_levels[k]) and tp_bar[k] == -1:\n", " # Check against high for buy orders and against low for sell orders\n", " order_price, hit = check_price_hit_nb(c,\n", " price=tp_levels[k],\n", " hit_below=not buy,\n", " can_use_ohlc=can_use_ohlc)\n", " if hit:\n", " tp_bar[k] = bar\n", " size = 1 - (k + 1) / n_tp_levels\n", " size_type = vbt.pf_enums.SizeType.TargetPercent\n", " if buy:\n", " return vbt.pf_nb.order_nb(size, order_price, size_type)\n", " else:\n", " return vbt.pf_nb.order_nb(-size, order_price, size_type)\n", " \n", " # If neither of orders has been executed, order nothing\n", " return vbt.pf_nb.order_nothing_nb()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Partial Position Closure Illustration at multiple TP Levels\n", "**Case Study - 3 TP Levels**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "To make the requested code segment more clear, let's run it on some sample data. First, we will derive the number of TP levels that are defined in this signal and the number of levels that have been already hit:\n", "" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nr of TP Levels: 3\n", "Nr. of TP Hits: 0\n" ] } ], "source": [ "tp_levels = np.array([10, 12, 14]) # stop prices\n", "tp_bar = np.array([-1, -1, -1]) # row indices where each stop price was hit\n", "\n", "n_tp_levels = 0\n", "n_tp_hits = 0\n", "for k in range(len(tp_levels)):\n", " if not np.isnan(tp_levels[k]):\n", " n_tp_levels += 1\n", " if tp_bar[k] != -1:\n", " n_tp_hits += 1\n", "\n", "print(\"Nr of TP Levels:\",n_tp_levels)\n", "print(\"Nr. of TP Hits:\",n_tp_hits)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "We see that initially none of the TP stop prices have been hit.\n", " \n", "Next we want to create a loop that iterates over the TP stop prices in a reversed order. Order is reversed because if the last stop price has been hit, all the stop prices defined before it are hit automatically too. We want to iterate only over those prices that haven't been hit yet.\n", "" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TP Level: 14\n", "TP Level: 12\n", "TP Level: 10\n" ] } ], "source": [ "for k in range(n_tp_levels - 1, n_tp_hits - 1, -1):\n", " if not np.isnan(tp_levels[k]) and tp_bar[k] == -1:\n", " print(\"TP Level:\",tp_levels[k])" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Let's assume that the first stop price has been hit:\n", "" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nr. of TP Levels: 3\n", "Size: 0.6666666666666667\n" ] } ], "source": [ "k = 0\n", "size = 1 - (k + 1) / n_tp_levels\n", "print(\"Nr. of TP Levels:\", n_tp_levels)\n", "print(\"Size:\", size)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "The size represents a target percentage size, that is, we want the column value after the order to be 66.6% of the value that is right now. We basically remove 1/3 from the value by hitting the first stop price.\n", " \n", " \n", "But what happens if our second stop price is hit instead?\n", "" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size: 0.33333333333333337\n" ] } ], "source": [ "k = 1\n", "size = 1 - (k + 1) / n_tp_levels\n", "print(\"Size:\",size)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "We remove 2/3 from the value with this stop price. \n", "Finally, the last stop price is hit and the position is now closed.
\n", "We removed an equal chunk of value with each stop price using the above equation.\n", "
" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size: 0.0\n" ] } ], "source": [ "k = 2\n", "size = 1 - (k + 1) / n_tp_levels\n", "print(\"Size:\", size)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "#### Case Study - Two TP Levels \n", "(`NaN` in a TP_Level)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Now let's say we only have a ladder with 2 TP levels but there are three rows because some other column is using three levels (in such a case the array is padded with nan):\n", "" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nr of TP Levels: 2\n", "Nr. of TP Hits: 0\n" ] } ], "source": [ "tp_levels = np.array([10, 12, np.nan]) # stop prices\n", "tp_bar = np.array([-1, -1, -1]) # row indices where each stop price was hit\n", "\n", "n_tp_levels = 0\n", "n_tp_hits = 0\n", "for k in range(len(tp_levels)):\n", " if not np.isnan(tp_levels[k]):\n", " n_tp_levels += 1\n", " if tp_bar[k] != -1:\n", " n_tp_hits += 1\n", "\n", "print(\"Nr of TP Levels:\",n_tp_levels)\n", "print(\"Nr. of TP Hits:\",n_tp_hits)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "This code has correctly determined the number of levels in the ladder of this signal.\n", "\n", "Let's say the first stop price is hit:\n", "" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5\n" ] } ], "source": [ "k = 0\n", "size = 1 - (k + 1) / n_tp_levels\n", "print(size)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0\n" ] } ], "source": [ "k = 1\n", "size = 1 - (k + 1) / n_tp_levels\n", "print(size)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Since we have only two levels in the ladder, we now remove 50% from the value instead of 33.3%.\n", "" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Matching Timestamps - minute to minute" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1631623431000000000 1631679887000000000 1631693325000000000\n", " 1631788792000000000 1631796516000000000]\n" ] } ], "source": [ "# Prepare timestamp for signal information\n", "timestamp = signal_data.index.values.astype(np.int64) # nanoseconds\n", "print(timestamp[:5])\n" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1631623380000000000 1631679840000000000 1631693280000000000\n", " 1631788740000000000 1631796480000000000]\n" ] } ], "source": [ "# Since the signals are of the second granularity while the data is of the minute granularity,\n", "# we need to round the timestamp of the signal to the nearest minute\n", "# Timestamps represent the opening time, thus the 59th second in \"19:28:59\" still belongs to the minute \"19:28:00\"\n", "\n", "timestamp = timestamp - timestamp % vbt.dt_nb.m_ns\n", "print(timestamp[:5])" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Each value above is a date represented in nanosecond format since Unix epoch (01-01-1970). Since they are just regular integers, we can do operations such as \"modulo\" as we did above, which just translates to \"remove the remainder from dividing the timestamp by a minute\" to effectively remove any seconds, milliseconds, microseconds, and nanoseconds from the minute we're currently in. Here, `vbt.dt_nb.m_ns` is the total number of nanoseconds in one minute.\n", "" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Actual Simulation 🏃🏻‍♂️🎬" ] }, { "cell_type": "code", "execution_count": 79, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idOrderTypeEntryPriceSLTP1TP2TP3TP4
date
2021-09-14 12:43:51+00:0084611792.41796.41790.91789.41787.4NaN
2021-09-15 04:24:47+00:0085401800.01797.51805.01810.0NaNNaN
2021-09-15 08:08:45+00:0086611802.51806.51801.01799.51797.5NaN
2021-09-16 10:39:52+00:0088401780.0NaN1781.31783.3NaNNaN
2021-09-16 12:48:36+00:0088701762.31758.31763.81765.31767.3NaN
\n", "
" ], "text/plain": [ " id OrderType EntryPrice SL TP1 TP2 \\\n", "date \n", "2021-09-14 12:43:51+00:00 846 1 1792.4 1796.4 1790.9 1789.4 \n", "2021-09-15 04:24:47+00:00 854 0 1800.0 1797.5 1805.0 1810.0 \n", "2021-09-15 08:08:45+00:00 866 1 1802.5 1806.5 1801.0 1799.5 \n", "2021-09-16 10:39:52+00:00 884 0 1780.0 NaN 1781.3 1783.3 \n", "2021-09-16 12:48:36+00:00 887 0 1762.3 1758.3 1763.8 1765.3 \n", "\n", " TP3 TP4 \n", "date \n", "2021-09-14 12:43:51+00:00 1787.4 NaN \n", "2021-09-15 04:24:47+00:00 NaN NaN \n", "2021-09-15 08:08:45+00:00 1797.5 NaN \n", "2021-09-16 10:39:52+00:00 NaN NaN \n", "2021-09-16 12:48:36+00:00 1767.3 NaN " ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal_data.get().head()" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total nr. of Signals: 232\n", "Nr. of SL Levels: 1\n", "Nr. of TP Levels: 4\n" ] } ], "source": [ "order_type = signal_data.get(\"OrderType\").values\n", "entry_price = signal_data.get(\"EntryPrice\").values\n", "sl = signal_data.get(\"SL\").values\n", "tp1 = signal_data.get(\"TP1\").values\n", "tp2 = signal_data.get(\"TP2\").values\n", "tp3 = signal_data.get(\"TP3\").values\n", "tp4 = signal_data.get(\"TP4\").values\n", "\n", "n_signals = len(timestamp)\n", "print('Total nr. of Signals:',n_signals)\n", "# Create a named tuple for signal information\n", "\n", "## Feed the above created arrays into the namedtuple\n", "signal_info = SignalInfo(\n", " timestamp=timestamp,\n", " order_type=order_type,\n", " entry_price=entry_price,\n", " sl=np.column_stack((sl,)),\n", " tp=np.column_stack((tp1, tp2, tp3, tp4))\n", ")\n", "\n", "n_sl_levels = signal_info.sl.shape[1]\n", "print(\"Nr. of SL Levels:\",n_sl_levels)\n", "\n", "n_tp_levels = signal_info.tp.shape[1]\n", "print(\"Nr. of TP Levels:\",n_tp_levels)" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "# Important: re-run this cell every time you're running the simulation!\n", "# Create a named tuple for temporary information\n", "# All arrays below hold row indices, thus the default value is -1\n", "\n", "def build_temp_info(signal_info):\n", " return TempInfo(\n", " ts_bar=np.full(len(signal_info.timestamp), -1),\n", " entry_price_bar=np.full(len(signal_info.timestamp), -1),\n", " sl_bar=np.full(signal_info.sl.shape, -1),\n", " tp_bar=np.full(signal_info.tp.shape, -1)\n", " )\n", "\n", "temp_info = build_temp_info(signal_info)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ " Why re-run `build_temp_info`?
_Temporary information_ gets overridden during the simulation (it acts as a memory where signal functions from the future access information written by the signal functions from the past), and you don't want to use dirty arrays in the next simulation, so we have to re-run this `build_temp_info` function everytime for each simulation\n" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nr. of SL Levels: 1\n", "Nr. of TP Levels: 4\n", "Maximum Orders: 6\n" ] } ], "source": [ "# By default, vectorBT initializes an empty order array of the same shape as data\n", "# But since our data is highly granular, it would take a lot of RAM\n", "# Let's limit the number of records to one entry order and the maximum number of SL and TP orders\n", "# It will be applied per column\n", "\n", "## The 1 below is for Entry Order\n", "max_orders = 1 + n_sl_levels + n_tp_levels\n", "\n", "# It's the maximum number of orders per column (i.e per signal)\n", "print(\"Nr. of SL Levels:\", n_sl_levels)\n", "print(\"Nr. of TP Levels:\", n_tp_levels)\n", "print(\"Maximum Orders:\",max_orders)" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [], "source": [ "# Perform the actual simulation\n", "# Since we don't broadcast data against any other array, vectorbt doesn't know anything about\n", "# our signal arrays and will simulate only the one column in our data\n", "# Thus, we need to tell it to expand the number of columns by the number of signals using tiling\n", "# But don't worry: thanks to flexible indexing vectorbt won't actually tile the data - good for RAM!\n", "# (it would tile the data if it had multiple columns though!)\n", "\n", "pf = vbt.Portfolio.from_order_func(\n", " data,\n", " order_func_nb=order_func_nb,\n", " order_args=(signal_info, temp_info),\n", " broadcast_kwargs=dict(tile=n_signals), # tiling here\n", " max_orders=max_orders,\n", " freq=\"minute\" # we have an irregular one-minute frequency\n", ")\n", "# (may take a minute...)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "- `tiling` in `broadcast_kwargs` argument in below `vbt.Portfolio.from_order_func` function
\n", "Since we don't broadcast data against any other array, vectorbt doesn't know anything about our signal arrays and will simulate only the one column that is in our data. For example, if `data` has shape (500, 1), then the simulation will only run on one column. Thus, we need to tell it to expand the number of columns to the number of signals, which is as simple as providing the `tile` argument to the broadcaster. Under the hood, it will replace our example shape of (500, 1) with (500, 232).
\n", " Also note that you can pass an index instead of a number. For example, you can pass `signal_info.timestamp` or telegram message IDs as `pd.Index` so they become the column names in the new portfolio." ] }, { "cell_type": "code", "execution_count": 84, "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", " \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", "
Order IdColumnIndexSizePriceFeesSide
0002021-09-14 12:43:00+00:000.0558301791.1600.0Sell
1102021-09-14 12:44:00+00:000.0186101790.9000.0Buy
2202021-09-14 12:50:00+00:000.0185911789.4000.0Buy
3302021-09-14 12:55:00+00:000.0186291796.4000.0Buy
4052021-09-17 11:00:00+00:000.0567621761.7270.0Buy
........................
15032262023-03-13 00:00:00+00:000.0270031877.8650.0Buy
15102272023-03-13 10:17:00+00:000.0530661884.4550.0Sell
15212272023-03-13 10:47:00+00:000.0131741882.0000.0Buy
15322272023-03-13 12:29:00+00:000.0398921895.0000.0Buy
15402292023-03-13 14:36:00+00:000.0524681905.9350.0Sell
\n", "

155 rows × 7 columns

\n", "
" ], "text/plain": [ " Order Id Column Index Size Price Fees \\\n", "0 0 0 2021-09-14 12:43:00+00:00 0.055830 1791.160 0.0 \n", "1 1 0 2021-09-14 12:44:00+00:00 0.018610 1790.900 0.0 \n", "2 2 0 2021-09-14 12:50:00+00:00 0.018591 1789.400 0.0 \n", "3 3 0 2021-09-14 12:55:00+00:00 0.018629 1796.400 0.0 \n", "4 0 5 2021-09-17 11:00:00+00:00 0.056762 1761.727 0.0 \n", ".. ... ... ... ... ... ... \n", "150 3 226 2023-03-13 00:00:00+00:00 0.027003 1877.865 0.0 \n", "151 0 227 2023-03-13 10:17:00+00:00 0.053066 1884.455 0.0 \n", "152 1 227 2023-03-13 10:47:00+00:00 0.013174 1882.000 0.0 \n", "153 2 227 2023-03-13 12:29:00+00:00 0.039892 1895.000 0.0 \n", "154 0 229 2023-03-13 14:36:00+00:00 0.052468 1905.935 0.0 \n", "\n", " Side \n", "0 Sell \n", "1 Buy \n", "2 Buy \n", "3 Buy \n", "4 Buy \n", ".. ... \n", "150 Buy \n", "151 Sell \n", "152 Buy \n", "153 Buy \n", "154 Sell \n", "\n", "[155 rows x 7 columns]" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's print out the order records in a human-readable format\n", "pf.orders.records_readable" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "- Calculation of `size` using `order_func_nb`
\n", "We treat our columns as independent backtests and assign to each backtest $100 of capital. By default, without specifying the size, vbt will use the entire cash (that is, size of infinity). Since each signal is executed at a different point of price history, absolute size is different across all signals, but they are using the same amount of cash which makes them perfectly comparable during the simulation phase." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Creating the StopType Column\n", "A position can be stopped out in one of two scenarios, either it hits a Stop Loss or it hits a TakeProfit. We collectively, frame these two scenarios as a `StopOrder` Type" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "StopTypeT(SL1=0, TP1=1, TP2=2, TP3=3, TP4=4)\n" ] } ], "source": [ "# We can notice above that there's no information whether an order is an SL or TP order\n", "# What we can do is to create our own order records with custom fields, copy the old ones over,\n", "# and tell the portfolio to use them instead of the default ones\n", "\n", "# First, we need to create an enumerated field for stop types\n", "# SL levels will come first, TP levels second, in an incremental fashion\n", "StopTypeT = namedtuple(\"StopTypeT\", [\n", " *[f\"SL{i + 1}\" for i in range(n_sl_levels)],\n", " *[f\"TP{i + 1}\" for i in range(n_tp_levels)]\n", "])\n", "StopType = StopTypeT(*range(len(StopTypeT._fields)))\n", "\n", "print(StopType)" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([(0, 0, 4663, 0.05582974, 1791.16 , 0., 1, 1, -1),\n", " (1, 0, 4664, 0.01860971, 1790.9 , 0., 0, 1, 1),\n", " (2, 0, 4670, 0.01859054, 1789.4 , 0., 0, 1, 2),\n", " (3, 0, 4675, 0.01862949, 1796.4 , 0., 0, 1, 0),\n", " (0, 5, 5940, 0.05676248, 1761.727 , 0., 0, 0, -1),\n", " (1, 5, 6054, 0.05676248, 1755. , 0., 1, 0, 0),\n", " (0, 21, 8746, 0.05683987, 1759.3285, 0., 1, 1, -1),\n", " (1, 21, 9180, 0.05683987, 1791.78 , 0., 0, 1, 0),\n", " (0, 27, 9663, 0.05568476, 1795.8235, 0., 1, 1, -1),\n", " (1, 27, 9782, 0.05568476, 1798.8 , 0., 0, 1, 0)],\n", " dtype=[('id', '\n", "An Orders class basically represents the raw order data in a more analysis-friendly fashion. For example, order records have a field \"size\", which can be analyzed by querying `pf.orders.size`. Since we've got new fields, we want to attach them in the same way. This is easily done by using two decorators: \"attach_fields\" creates properties around new fields, such as for example `pf.orders.side_buy` is an automatically-created property to filter only the records with the side \"Buy\". The second decorator \"override_field_config\" allows us to describe the fields and make them human-readable, for example, \"title\" is the name of the field whenever the user prints out `pf.orders.records_readable`.\n", "" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "# Finally, let's replace the order records and the class in the portfolio\n", "pf = pf.replace(order_records=custom_order_records, orders_cls=CustomOrders)" ] }, { "cell_type": "code", "execution_count": 89, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Order IdColumnIndexSizePriceFeesSideOrder TypeStop Type
0002021-09-14 12:43:00+00:000.0558301791.1600.0SellSELLNone
1102021-09-14 12:44:00+00:000.0186101790.9000.0BuySELLTP1
2202021-09-14 12:50:00+00:000.0185911789.4000.0BuySELLTP2
3302021-09-14 12:55:00+00:000.0186291796.4000.0BuySELLSL1
4052021-09-17 11:00:00+00:000.0567621761.7270.0BuyBUYNone
..............................
15032262023-03-13 00:00:00+00:000.0270031877.8650.0BuySELLSTOPSL1
15102272023-03-13 10:17:00+00:000.0530661884.4550.0SellSELLNone
15212272023-03-13 10:47:00+00:000.0131741882.0000.0BuySELLTP1
15322272023-03-13 12:29:00+00:000.0398921895.0000.0BuySELLSL1
15402292023-03-13 14:36:00+00:000.0524681905.9350.0SellSELLNone
\n", "

155 rows × 9 columns

\n", "
" ], "text/plain": [ " Order Id Column Index Size Price Fees \\\n", "0 0 0 2021-09-14 12:43:00+00:00 0.055830 1791.160 0.0 \n", "1 1 0 2021-09-14 12:44:00+00:00 0.018610 1790.900 0.0 \n", "2 2 0 2021-09-14 12:50:00+00:00 0.018591 1789.400 0.0 \n", "3 3 0 2021-09-14 12:55:00+00:00 0.018629 1796.400 0.0 \n", "4 0 5 2021-09-17 11:00:00+00:00 0.056762 1761.727 0.0 \n", ".. ... ... ... ... ... ... \n", "150 3 226 2023-03-13 00:00:00+00:00 0.027003 1877.865 0.0 \n", "151 0 227 2023-03-13 10:17:00+00:00 0.053066 1884.455 0.0 \n", "152 1 227 2023-03-13 10:47:00+00:00 0.013174 1882.000 0.0 \n", "153 2 227 2023-03-13 12:29:00+00:00 0.039892 1895.000 0.0 \n", "154 0 229 2023-03-13 14:36:00+00:00 0.052468 1905.935 0.0 \n", "\n", " Side Order Type Stop Type \n", "0 Sell SELL None \n", "1 Buy SELL TP1 \n", "2 Buy SELL TP2 \n", "3 Buy SELL SL1 \n", "4 Buy BUY None \n", ".. ... ... ... \n", "150 Buy SELLSTOP SL1 \n", "151 Sell SELL None \n", "152 Buy SELL TP1 \n", "153 Buy SELL SL1 \n", "154 Sell SELL None \n", "\n", "[155 rows x 9 columns]" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We can now effortlessly analyze the stop type\n", "pf.orders.records_readable" ] }, { "cell_type": "code", "execution_count": 90, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Order IdColumnIndexSizePriceFeesSideOrder TypeStop Type
0102021-09-14 12:44:00+00:000.0186101790.9000.0BuySELLTP1
1202021-09-14 12:50:00+00:000.0185911789.4000.0BuySELLTP2
2302021-09-14 12:55:00+00:000.0186291796.4000.0BuySELLSL1
3052021-09-17 11:00:00+00:000.0567621761.7270.0BuyBUYNone
41212021-10-14 00:00:00+00:000.0568401791.7800.0BuySELLSL1
..............................
8912262023-03-10 16:05:00+00:000.0132921862.0000.0BuySELLSTOPTP1
9022262023-03-10 16:19:00+00:000.0133241857.0000.0BuySELLSTOPTP2
9132262023-03-13 00:00:00+00:000.0270031877.8650.0BuySELLSTOPSL1
9212272023-03-13 10:47:00+00:000.0131741882.0000.0BuySELLTP1
9322272023-03-13 12:29:00+00:000.0398921895.0000.0BuySELLSL1
\n", "

94 rows × 9 columns

\n", "
" ], "text/plain": [ " Order Id Column Index Size Price Fees Side \\\n", "0 1 0 2021-09-14 12:44:00+00:00 0.018610 1790.900 0.0 Buy \n", "1 2 0 2021-09-14 12:50:00+00:00 0.018591 1789.400 0.0 Buy \n", "2 3 0 2021-09-14 12:55:00+00:00 0.018629 1796.400 0.0 Buy \n", "3 0 5 2021-09-17 11:00:00+00:00 0.056762 1761.727 0.0 Buy \n", "4 1 21 2021-10-14 00:00:00+00:00 0.056840 1791.780 0.0 Buy \n", ".. ... ... ... ... ... ... ... \n", "89 1 226 2023-03-10 16:05:00+00:00 0.013292 1862.000 0.0 Buy \n", "90 2 226 2023-03-10 16:19:00+00:00 0.013324 1857.000 0.0 Buy \n", "91 3 226 2023-03-13 00:00:00+00:00 0.027003 1877.865 0.0 Buy \n", "92 1 227 2023-03-13 10:47:00+00:00 0.013174 1882.000 0.0 Buy \n", "93 2 227 2023-03-13 12:29:00+00:00 0.039892 1895.000 0.0 Buy \n", "\n", " Order Type Stop Type \n", "0 SELL TP1 \n", "1 SELL TP2 \n", "2 SELL SL1 \n", "3 BUY None \n", "4 SELL SL1 \n", ".. ... ... \n", "89 SELLSTOP TP1 \n", "90 SELLSTOP TP2 \n", "91 SELLSTOP SL1 \n", "92 SELL TP1 \n", "93 SELL SL1 \n", "\n", "[94 rows x 9 columns]" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Selecting only BUY Side orders\n", "pf.orders.side_buy.records_readable" ] }, { "cell_type": "code", "execution_count": 91, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idOrderTypeEntryPriceSLTP1TP2TP3TP4
date
2021-09-14 12:43:51+00:0084611792.41796.41790.91789.41787.4NaN
2021-09-15 04:24:47+00:0085401800.01797.51805.01810.0NaNNaN
2021-09-15 08:08:45+00:0086611802.51806.51801.01799.51797.5NaN
2021-09-16 10:39:52+00:0088401780.0NaN1781.31783.3NaNNaN
2021-09-16 12:48:36+00:0088701762.31758.31763.81765.31767.3NaN
...........................
2023-03-13 10:17:39+00:00440811885.01895.01882.01877.01865.01800.0
2023-03-13 13:08:21+00:00441131896.01906.01893.01888.01870.01840.0
2023-03-13 14:36:09+00:00441311907.01918.01903.01900.01890.01860.0
2023-03-15 06:27:23+00:00442531899.01910.01896.01890.01880.01850.0
2023-03-16 13:03:03+00:00443211929.01940.01926.01920.01915.01870.0
\n", "

232 rows × 8 columns

\n", "
" ], "text/plain": [ " id OrderType EntryPrice SL TP1 \\\n", "date \n", "2021-09-14 12:43:51+00:00 846 1 1792.4 1796.4 1790.9 \n", "2021-09-15 04:24:47+00:00 854 0 1800.0 1797.5 1805.0 \n", "2021-09-15 08:08:45+00:00 866 1 1802.5 1806.5 1801.0 \n", "2021-09-16 10:39:52+00:00 884 0 1780.0 NaN 1781.3 \n", "2021-09-16 12:48:36+00:00 887 0 1762.3 1758.3 1763.8 \n", "... ... ... ... ... ... \n", "2023-03-13 10:17:39+00:00 4408 1 1885.0 1895.0 1882.0 \n", "2023-03-13 13:08:21+00:00 4411 3 1896.0 1906.0 1893.0 \n", "2023-03-13 14:36:09+00:00 4413 1 1907.0 1918.0 1903.0 \n", "2023-03-15 06:27:23+00:00 4425 3 1899.0 1910.0 1896.0 \n", "2023-03-16 13:03:03+00:00 4432 1 1929.0 1940.0 1926.0 \n", "\n", " TP2 TP3 TP4 \n", "date \n", "2021-09-14 12:43:51+00:00 1789.4 1787.4 NaN \n", "2021-09-15 04:24:47+00:00 1810.0 NaN NaN \n", "2021-09-15 08:08:45+00:00 1799.5 1797.5 NaN \n", "2021-09-16 10:39:52+00:00 1783.3 NaN NaN \n", "2021-09-16 12:48:36+00:00 1765.3 1767.3 NaN \n", "... ... ... ... \n", "2023-03-13 10:17:39+00:00 1877.0 1865.0 1800.0 \n", "2023-03-13 13:08:21+00:00 1888.0 1870.0 1840.0 \n", "2023-03-13 14:36:09+00:00 1900.0 1890.0 1860.0 \n", "2023-03-15 06:27:23+00:00 1890.0 1880.0 1850.0 \n", "2023-03-16 13:03:03+00:00 1920.0 1915.0 1870.0 \n", "\n", "[232 rows x 8 columns]" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# And here are the signals that correspond to these records for verification\n", "signal_data.get()" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 4\n", "1 0\n", "2 0\n", "3 0\n", "4 0\n", " ..\n", "227 3\n", "228 0\n", "229 1\n", "230 0\n", "231 0\n", "Name: count, Length: 232, dtype: int64" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.orders.count()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "#### Filtering Telegram Signals which got skipped\n", "If we run `np.flatnonzero(pf.orders.count() == 0)` we can get the rows of the signals that were skipped. Since we have the `ID` column of the Telegram messages, we use these indices to select signal data, like this `signal_data.get().iloc[np.flatnonzero(pf.orders.count() == 0)]`." ] }, { "cell_type": "code", "execution_count": 93, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idOrderTypeEntryPriceSLTP1TP2TP3TP4
date
2021-09-15 04:24:47+00:0085401800.01797.51805.01810.0NaNNaN
2021-09-15 08:08:45+00:0086611802.51806.51801.01799.51797.5NaN
2021-09-16 10:39:52+00:0088401780.0NaN1781.31783.3NaNNaN
2021-09-16 12:48:36+00:0088701762.31758.31763.81765.31767.3NaN
2021-09-21 13:42:40+00:0094211775.01776.01769.01766.0NaNNaN
...........................
2023-03-08 15:15:01+00:00438111820.01830.01817.01812.01805.01770.0
2023-03-08 15:38:05+00:00438211823.01830.01820.01815.01805.01770.0
2023-03-13 13:08:21+00:00441131896.01906.01893.01888.01870.01840.0
2023-03-15 06:27:23+00:00442531899.01910.01896.01890.01880.01850.0
2023-03-16 13:03:03+00:00443211929.01940.01926.01920.01915.01870.0
\n", "

187 rows × 8 columns

\n", "
" ], "text/plain": [ " id OrderType EntryPrice SL TP1 \\\n", "date \n", "2021-09-15 04:24:47+00:00 854 0 1800.0 1797.5 1805.0 \n", "2021-09-15 08:08:45+00:00 866 1 1802.5 1806.5 1801.0 \n", "2021-09-16 10:39:52+00:00 884 0 1780.0 NaN 1781.3 \n", "2021-09-16 12:48:36+00:00 887 0 1762.3 1758.3 1763.8 \n", "2021-09-21 13:42:40+00:00 942 1 1775.0 1776.0 1769.0 \n", "... ... ... ... ... ... \n", "2023-03-08 15:15:01+00:00 4381 1 1820.0 1830.0 1817.0 \n", "2023-03-08 15:38:05+00:00 4382 1 1823.0 1830.0 1820.0 \n", "2023-03-13 13:08:21+00:00 4411 3 1896.0 1906.0 1893.0 \n", "2023-03-15 06:27:23+00:00 4425 3 1899.0 1910.0 1896.0 \n", "2023-03-16 13:03:03+00:00 4432 1 1929.0 1940.0 1926.0 \n", "\n", " TP2 TP3 TP4 \n", "date \n", "2021-09-15 04:24:47+00:00 1810.0 NaN NaN \n", "2021-09-15 08:08:45+00:00 1799.5 1797.5 NaN \n", "2021-09-16 10:39:52+00:00 1783.3 NaN NaN \n", "2021-09-16 12:48:36+00:00 1765.3 1767.3 NaN \n", "2021-09-21 13:42:40+00:00 1766.0 NaN NaN \n", "... ... ... ... \n", "2023-03-08 15:15:01+00:00 1812.0 1805.0 1770.0 \n", "2023-03-08 15:38:05+00:00 1815.0 1805.0 1770.0 \n", "2023-03-13 13:08:21+00:00 1888.0 1870.0 1840.0 \n", "2023-03-15 06:27:23+00:00 1890.0 1880.0 1850.0 \n", "2023-03-16 13:03:03+00:00 1920.0 1915.0 1870.0 \n", "\n", "[187 rows x 8 columns]" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal_data.get().iloc[np.flatnonzero(pf.orders.count() == 0)]" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nr. Orders which got skipped: 187\n" ] } ], "source": [ "print(\"Nr. Orders which got skipped:\", (pf.orders.count() == 0).sum())" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "45\n" ] } ], "source": [ "# We can see that some signals were skipped, let's remove them from the portfolio\n", "pf = pf.loc[:, pf.orders.count() >= 1]\n", "print(len(pf.wrapper.columns))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Analysis and Visualization of our Signals Backtesting" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Start 2021-09-02 00:00:00+00:00\n", "End 2023-03-13 23:59:00+00:00\n", "Period 83 days 06:26:00\n", "Count 155\n", "Value Counts: None 45\n", "Value Counts: SL1 34\n", "Value Counts: TP1 34\n", "Value Counts: TP2 30\n", "Value Counts: TP3 8\n", "Value Counts: TP4 4\n", "Name: group, dtype: object\n" ] } ], "source": [ "# There are various ways to analyze the data\n", "# For example, we can count how many times each stop type was triggered\n", "# Since we want to combine all trades in each statistic, we need to provide grouping\n", "\n", "print(pf.orders.stop_type.stats(group_by=True))" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "There were 225 signals (columns) and the above stats show the distribution of stop types, where None means that the order was not any type of a stop order and Stop Loss was hit 34 times, while TP3 and TP4 was hit very sparringly at 8 and 4 times respectively." ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Start 2021-09-02 00:00:00+00:00\n", "End 2023-03-13 23:59:00+00:00\n", "Period 83 days 06:26:00\n", "First Trade Start 2021-09-14 12:43:00+00:00\n", "Last Trade End 2023-03-13 23:59:00+00:00\n", "Coverage 32 days 18:10:00\n", "Overlap Coverage 5 days 09:17:00\n", "Total Records 45\n", "Total Long Trades 11\n", "Total Short Trades 34\n", "Total Closed Trades 44\n", "Total Open Trades 1\n", "Open Trade PnL -0.32732\n", "Win Rate [%] 27.272727\n", "Max Win Streak 1\n", "Max Loss Streak 1\n", "Best Trade [%] 2.876974\n", "Worst Trade [%] -1.844539\n", "Avg Winning Trade [%] 0.94318\n", "Avg Losing Trade [%] -0.36128\n", "Avg Winning Trade Duration 1 days 09:37:30\n", "Avg Losing Trade Duration 0 days 15:46:16.875000\n", "Profit Factor 0.978998\n", "Expectancy -0.005518\n", "SQN -0.045627\n", "Edge Ratio 1.497918\n", "Name: group, dtype: object" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We can also get the position stats for P&L information\n", "pf.positions.stats(group_by=True)" ] }, { "cell_type": "code", "execution_count": 98, "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", " \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", " \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", " \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", "
Exit Trade IdColumnSizeEntry Order IdEntry IndexAvg Entry PriceEntry FeesExit Order IdExit IndexAvg Exit PriceExit FeesPnLReturnDirectionStatusPosition Id
0000.01861002021-09-14 12:43:00+00:001791.16000.012021-09-14 12:44:00+00:001790.90000.00.0048390.000145ShortClosed0
1100.01859102021-09-14 12:43:00+00:001791.16000.022021-09-14 12:50:00+00:001789.40000.00.0327190.000983ShortClosed0
2200.01862902021-09-14 12:43:00+00:001791.16000.032021-09-14 12:55:00+00:001796.40000.0-0.097619-0.002925ShortClosed0
3050.05676202021-09-17 11:00:00+00:001761.72700.012021-09-17 12:54:00+00:001755.00000.0-0.381841-0.003818LongClosed0
40210.05684002021-10-05 15:46:00+00:001759.32850.012021-10-14 00:00:00+00:001791.78000.0-1.844539-0.018445ShortClosed0
...................................................
10612260.01332402023-03-10 15:51:00+00:001865.00000.022023-03-10 16:19:00+00:001857.00000.00.1065910.004290ShortClosed0
10722260.02700302023-03-10 15:51:00+00:001865.00000.032023-03-13 00:00:00+00:001877.86500.0-0.347394-0.006898ShortClosed0
10802270.01317402023-03-13 10:17:00+00:001884.45500.012023-03-13 10:47:00+00:001882.00000.00.0323420.001303ShortClosed0
10912270.03989202023-03-13 10:17:00+00:001884.45500.022023-03-13 12:29:00+00:001895.00000.0-0.420660-0.005596ShortClosed0
11002290.05246802023-03-13 14:36:00+00:001905.93500.0-12023-03-13 23:59:00+00:001912.17350.0-0.327320-0.003273ShortOpen0
\n", "

111 rows × 16 columns

\n", "
" ], "text/plain": [ " Exit Trade Id Column Size Entry Order Id \\\n", "0 0 0 0.018610 0 \n", "1 1 0 0.018591 0 \n", "2 2 0 0.018629 0 \n", "3 0 5 0.056762 0 \n", "4 0 21 0.056840 0 \n", ".. ... ... ... ... \n", "106 1 226 0.013324 0 \n", "107 2 226 0.027003 0 \n", "108 0 227 0.013174 0 \n", "109 1 227 0.039892 0 \n", "110 0 229 0.052468 0 \n", "\n", " Entry Index Avg Entry Price Entry Fees Exit Order Id \\\n", "0 2021-09-14 12:43:00+00:00 1791.1600 0.0 1 \n", "1 2021-09-14 12:43:00+00:00 1791.1600 0.0 2 \n", "2 2021-09-14 12:43:00+00:00 1791.1600 0.0 3 \n", "3 2021-09-17 11:00:00+00:00 1761.7270 0.0 1 \n", "4 2021-10-05 15:46:00+00:00 1759.3285 0.0 1 \n", ".. ... ... ... ... \n", "106 2023-03-10 15:51:00+00:00 1865.0000 0.0 2 \n", "107 2023-03-10 15:51:00+00:00 1865.0000 0.0 3 \n", "108 2023-03-13 10:17:00+00:00 1884.4550 0.0 1 \n", "109 2023-03-13 10:17:00+00:00 1884.4550 0.0 2 \n", "110 2023-03-13 14:36:00+00:00 1905.9350 0.0 -1 \n", "\n", " Exit Index Avg Exit Price Exit Fees PnL Return \\\n", "0 2021-09-14 12:44:00+00:00 1790.9000 0.0 0.004839 0.000145 \n", "1 2021-09-14 12:50:00+00:00 1789.4000 0.0 0.032719 0.000983 \n", "2 2021-09-14 12:55:00+00:00 1796.4000 0.0 -0.097619 -0.002925 \n", "3 2021-09-17 12:54:00+00:00 1755.0000 0.0 -0.381841 -0.003818 \n", "4 2021-10-14 00:00:00+00:00 1791.7800 0.0 -1.844539 -0.018445 \n", ".. ... ... ... ... ... \n", "106 2023-03-10 16:19:00+00:00 1857.0000 0.0 0.106591 0.004290 \n", "107 2023-03-13 00:00:00+00:00 1877.8650 0.0 -0.347394 -0.006898 \n", "108 2023-03-13 10:47:00+00:00 1882.0000 0.0 0.032342 0.001303 \n", "109 2023-03-13 12:29:00+00:00 1895.0000 0.0 -0.420660 -0.005596 \n", "110 2023-03-13 23:59:00+00:00 1912.1735 0.0 -0.327320 -0.003273 \n", "\n", " Direction Status Position Id \n", "0 Short Closed 0 \n", "1 Short Closed 0 \n", "2 Short Closed 0 \n", "3 Long Closed 0 \n", "4 Short Closed 0 \n", ".. ... ... ... \n", "106 Short Closed 0 \n", "107 Short Closed 0 \n", "108 Short Closed 0 \n", "109 Short Closed 0 \n", "110 Short Open 0 \n", "\n", "[111 rows x 16 columns]" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.trades.records_readable" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0])" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.trades.records_readable['Position Id'].unique()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Trades vs Orders:
\n", "`pf.Orders` is our customized vectorBT representation of the various orders that result from the simulation of our signals data.\n", "\n", "Trades in `vectorbtpro` world are a bit different from what you normally call trades. There are two types of trades: entry trades and exit trades. For example, a position may have several entry orders that increase the position and several exit orders that decrease the position. The first are called entry trades, the second exit trades. `pf.trades` is the same as `pf.exit_trades`, for entry trades you can query `pf.entry_trades` " ] }, { "cell_type": "code", "execution_count": 100, "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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", " \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", "
Entry Trade IdColumnSizeEntry Order IdEntry IndexAvg Entry PriceEntry FeesExit Order IdExit IndexAvg Exit PriceExit FeesPnLReturnDirectionStatusPosition Id
0000.05583002021-09-14 12:43:00+00:001791.16000.032021-09-14 12:55:00+00:001792.2357830.0-0.060061-0.000601ShortClosed0
1050.05676202021-09-17 11:00:00+00:001761.72700.012021-09-17 12:54:00+00:001755.0000000.0-0.381841-0.003818LongClosed0
20210.05684002021-10-05 15:46:00+00:001759.32850.012021-10-14 00:00:00+00:001791.7800000.0-1.844539-0.018445ShortClosed0
30270.05568502021-10-14 08:03:00+00:001795.82350.012021-10-14 10:02:00+00:001798.8000000.0-0.165746-0.001657ShortClosed0
40320.05415602022-01-20 15:04:00+00:001846.51000.042022-01-26 19:03:00+00:001836.7173180.00.5303350.005303ShortClosed0
50350.05375702022-02-14 14:37:00+00:001860.24000.012022-02-14 15:16:00+00:001868.0000000.0-0.417150-0.004172ShortClosed0
60460.05066002022-03-10 01:06:00+00:001973.94500.032022-03-10 11:09:00+00:001991.6588770.00.8973850.008974LongClosed0
70470.05047202022-03-10 07:05:00+00:001981.29300.032022-03-10 11:09:00+00:001994.6638240.00.6748530.006749LongClosed0
80480.05004202022-03-10 14:57:00+00:001998.33800.022022-03-14 00:00:00+00:001984.9300000.0-0.670958-0.006710LongClosed0
90500.05069902022-03-14 01:18:00+00:001972.42500.022022-03-14 08:57:00+00:001970.6666670.0-0.089146-0.000891LongClosed0
100510.05146202022-03-24 01:45:00+00:001943.16750.022022-03-24 11:40:00+00:001947.7000700.0-0.233257-0.002333ShortClosed0
110520.05137302022-03-24 11:32:00+00:001946.55450.022022-03-24 11:40:00+00:001947.2750000.00.0370140.000370LongClosed0
120530.05121702022-03-24 11:46:00+00:001952.47250.032022-03-30 00:00:00+00:001946.5149170.0-0.305130-0.003051LongClosed0
130560.05201202022-03-30 01:25:00+00:001922.63250.022022-04-21 00:00:00+00:001942.4275000.01.0295780.010296LongClosed0
140630.05138002022-04-21 12:41:00+00:001946.29800.032022-05-09 00:00:00+00:001911.7434450.01.7753990.017754ShortClosed0
150700.05402102022-05-11 09:06:00+00:001851.13450.032022-05-24 13:12:00+00:001851.2027020.0-0.003684-0.000037ShortClosed0
160770.05379402022-05-24 08:25:00+00:001858.94050.032022-07-19 00:00:00+00:001805.4592650.02.8769740.028770ShortClosed0
1701110.05698202022-08-19 07:01:00+00:001754.93800.032022-09-13 13:02:00+00:001733.2151200.01.2378150.012378ShortClosed0
1801160.05841102022-08-31 12:25:00+00:001712.00000.032022-09-13 13:02:00+00:001712.0065280.00.0003810.000004LongClosed0
1901230.05878102022-09-13 13:25:00+00:001701.22350.032022-09-16 00:00:00+00:001691.5107430.0-0.570928-0.005709LongClosed0
2001250.06004402022-09-19 12:37:00+00:001665.45850.032022-09-21 18:35:00+00:001666.7115690.0-0.075239-0.000752ShortClosed0
2101260.05977302022-09-21 13:44:00+00:001673.00000.032022-09-21 18:44:00+00:001673.0182460.0-0.001091-0.000011ShortClosed0
2201290.06075802022-09-28 13:33:00+00:001645.88500.022022-09-30 06:54:00+00:001653.9660330.0-0.490984-0.004910ShortClosed0
2301300.06023402022-09-28 17:11:00+00:001660.19750.032022-09-30 14:37:00+00:001662.0444700.0-0.111250-0.001113ShortClosed0
2401360.06011002022-10-11 10:36:00+00:001663.62150.032022-10-13 12:45:00+00:001662.6698950.0-0.057201-0.000572LongClosed0
2501390.06035002022-10-13 12:39:00+00:001657.00000.032022-10-13 15:39:00+00:001657.0260430.0-0.001572-0.000016ShortClosed0
2601400.06009602022-10-17 12:33:00+00:001664.01500.032022-11-06 23:00:00+00:001664.0415330.0-0.001594-0.000016ShortClosed0
2701550.05638402022-11-16 03:34:00+00:001773.56000.022022-11-16 10:21:00+00:001780.3589970.0-0.383353-0.003834ShortClosed0
2801560.05611402022-11-16 10:39:00+00:001782.08000.032022-12-05 00:00:00+00:001784.0535320.0-0.110743-0.001107ShortClosed0
2901590.05705702022-11-25 08:20:00+00:001752.62950.022022-12-05 00:00:00+00:001782.7660070.0-1.719502-0.017195ShortClosed0
3001780.05387902023-01-04 07:47:00+00:001856.01500.032023-01-06 19:41:00+00:001857.6992090.0-0.090743-0.000907ShortClosed0
3101790.05436702023-01-06 02:24:00+00:001839.33500.032023-01-06 15:05:00+00:001843.7858170.0-0.241980-0.002420ShortClosed0
3201800.05426802023-01-06 13:40:00+00:001842.70650.012023-01-06 13:47:00+00:001850.0000000.0-0.395804-0.003958ShortClosed0
3301810.05410502023-01-06 14:04:00+00:001848.25000.032023-01-06 15:08:00+00:001850.3555580.0-0.113922-0.001139ShortClosed0
3401820.05331002023-01-09 05:13:00+00:001875.83000.032023-01-15 23:00:00+00:001888.2824900.0-0.663839-0.006638ShortClosed0
3501870.05232902023-01-17 05:30:00+00:001911.00000.032023-01-25 00:00:00+00:001916.4136780.0-0.283290-0.002833ShortClosed0
3601940.05178702023-01-25 15:34:00+00:001931.00000.012023-01-25 17:33:00+00:001940.0000000.0-0.466080-0.004661ShortClosed0
3701950.05160302023-01-25 17:58:00+00:001937.87000.032023-02-03 13:41:00+00:001916.1347030.01.1216080.011216ShortClosed0
3802020.05197502023-01-31 15:07:00+00:001924.00000.042023-02-03 15:10:00+00:001903.8958900.01.0449120.010449ShortClosed0
3902210.05386802023-03-06 07:32:00+00:001856.37350.042023-03-10 20:57:00+00:001854.6673430.00.0919080.000919ShortClosed0
4002240.05500202023-03-09 08:48:00+00:001818.10150.012023-03-09 14:20:00+00:001828.0000000.0-0.544442-0.005444ShortClosed0
4102250.05475602023-03-09 14:26:00+00:001826.29500.012023-03-09 15:07:00+00:001835.0000000.0-0.476648-0.004766ShortClosed0
4202260.05361902023-03-10 15:51:00+00:001865.00000.032023-03-13 00:00:00+00:001868.7472730.0-0.200926-0.002009ShortClosed0
4302270.05306602023-03-13 10:17:00+00:001884.45500.022023-03-13 12:29:00+00:001891.7726880.0-0.388319-0.003883ShortClosed0
4402290.05246802023-03-13 14:36:00+00:001905.93500.0-12023-03-13 23:59:00+00:001912.1735000.0-0.327320-0.003273ShortOpen0
\n", "
" ], "text/plain": [ " Entry Trade Id Column Size Entry Order Id \\\n", "0 0 0 0.055830 0 \n", "1 0 5 0.056762 0 \n", "2 0 21 0.056840 0 \n", "3 0 27 0.055685 0 \n", "4 0 32 0.054156 0 \n", "5 0 35 0.053757 0 \n", "6 0 46 0.050660 0 \n", "7 0 47 0.050472 0 \n", "8 0 48 0.050042 0 \n", "9 0 50 0.050699 0 \n", "10 0 51 0.051462 0 \n", "11 0 52 0.051373 0 \n", "12 0 53 0.051217 0 \n", "13 0 56 0.052012 0 \n", "14 0 63 0.051380 0 \n", "15 0 70 0.054021 0 \n", "16 0 77 0.053794 0 \n", "17 0 111 0.056982 0 \n", "18 0 116 0.058411 0 \n", "19 0 123 0.058781 0 \n", "20 0 125 0.060044 0 \n", "21 0 126 0.059773 0 \n", "22 0 129 0.060758 0 \n", "23 0 130 0.060234 0 \n", "24 0 136 0.060110 0 \n", "25 0 139 0.060350 0 \n", "26 0 140 0.060096 0 \n", "27 0 155 0.056384 0 \n", "28 0 156 0.056114 0 \n", "29 0 159 0.057057 0 \n", "30 0 178 0.053879 0 \n", "31 0 179 0.054367 0 \n", "32 0 180 0.054268 0 \n", "33 0 181 0.054105 0 \n", "34 0 182 0.053310 0 \n", "35 0 187 0.052329 0 \n", "36 0 194 0.051787 0 \n", "37 0 195 0.051603 0 \n", "38 0 202 0.051975 0 \n", "39 0 221 0.053868 0 \n", "40 0 224 0.055002 0 \n", "41 0 225 0.054756 0 \n", "42 0 226 0.053619 0 \n", "43 0 227 0.053066 0 \n", "44 0 229 0.052468 0 \n", "\n", " Entry Index Avg Entry Price Entry Fees Exit Order Id \\\n", "0 2021-09-14 12:43:00+00:00 1791.1600 0.0 3 \n", "1 2021-09-17 11:00:00+00:00 1761.7270 0.0 1 \n", "2 2021-10-05 15:46:00+00:00 1759.3285 0.0 1 \n", "3 2021-10-14 08:03:00+00:00 1795.8235 0.0 1 \n", "4 2022-01-20 15:04:00+00:00 1846.5100 0.0 4 \n", "5 2022-02-14 14:37:00+00:00 1860.2400 0.0 1 \n", "6 2022-03-10 01:06:00+00:00 1973.9450 0.0 3 \n", "7 2022-03-10 07:05:00+00:00 1981.2930 0.0 3 \n", "8 2022-03-10 14:57:00+00:00 1998.3380 0.0 2 \n", "9 2022-03-14 01:18:00+00:00 1972.4250 0.0 2 \n", "10 2022-03-24 01:45:00+00:00 1943.1675 0.0 2 \n", "11 2022-03-24 11:32:00+00:00 1946.5545 0.0 2 \n", "12 2022-03-24 11:46:00+00:00 1952.4725 0.0 3 \n", "13 2022-03-30 01:25:00+00:00 1922.6325 0.0 2 \n", "14 2022-04-21 12:41:00+00:00 1946.2980 0.0 3 \n", "15 2022-05-11 09:06:00+00:00 1851.1345 0.0 3 \n", "16 2022-05-24 08:25:00+00:00 1858.9405 0.0 3 \n", "17 2022-08-19 07:01:00+00:00 1754.9380 0.0 3 \n", "18 2022-08-31 12:25:00+00:00 1712.0000 0.0 3 \n", "19 2022-09-13 13:25:00+00:00 1701.2235 0.0 3 \n", "20 2022-09-19 12:37:00+00:00 1665.4585 0.0 3 \n", "21 2022-09-21 13:44:00+00:00 1673.0000 0.0 3 \n", "22 2022-09-28 13:33:00+00:00 1645.8850 0.0 2 \n", "23 2022-09-28 17:11:00+00:00 1660.1975 0.0 3 \n", "24 2022-10-11 10:36:00+00:00 1663.6215 0.0 3 \n", "25 2022-10-13 12:39:00+00:00 1657.0000 0.0 3 \n", "26 2022-10-17 12:33:00+00:00 1664.0150 0.0 3 \n", "27 2022-11-16 03:34:00+00:00 1773.5600 0.0 2 \n", "28 2022-11-16 10:39:00+00:00 1782.0800 0.0 3 \n", "29 2022-11-25 08:20:00+00:00 1752.6295 0.0 2 \n", "30 2023-01-04 07:47:00+00:00 1856.0150 0.0 3 \n", "31 2023-01-06 02:24:00+00:00 1839.3350 0.0 3 \n", "32 2023-01-06 13:40:00+00:00 1842.7065 0.0 1 \n", "33 2023-01-06 14:04:00+00:00 1848.2500 0.0 3 \n", "34 2023-01-09 05:13:00+00:00 1875.8300 0.0 3 \n", "35 2023-01-17 05:30:00+00:00 1911.0000 0.0 3 \n", "36 2023-01-25 15:34:00+00:00 1931.0000 0.0 1 \n", "37 2023-01-25 17:58:00+00:00 1937.8700 0.0 3 \n", "38 2023-01-31 15:07:00+00:00 1924.0000 0.0 4 \n", "39 2023-03-06 07:32:00+00:00 1856.3735 0.0 4 \n", "40 2023-03-09 08:48:00+00:00 1818.1015 0.0 1 \n", "41 2023-03-09 14:26:00+00:00 1826.2950 0.0 1 \n", "42 2023-03-10 15:51:00+00:00 1865.0000 0.0 3 \n", "43 2023-03-13 10:17:00+00:00 1884.4550 0.0 2 \n", "44 2023-03-13 14:36:00+00:00 1905.9350 0.0 -1 \n", "\n", " Exit Index Avg Exit Price Exit Fees PnL Return \\\n", "0 2021-09-14 12:55:00+00:00 1792.235783 0.0 -0.060061 -0.000601 \n", "1 2021-09-17 12:54:00+00:00 1755.000000 0.0 -0.381841 -0.003818 \n", "2 2021-10-14 00:00:00+00:00 1791.780000 0.0 -1.844539 -0.018445 \n", "3 2021-10-14 10:02:00+00:00 1798.800000 0.0 -0.165746 -0.001657 \n", "4 2022-01-26 19:03:00+00:00 1836.717318 0.0 0.530335 0.005303 \n", "5 2022-02-14 15:16:00+00:00 1868.000000 0.0 -0.417150 -0.004172 \n", "6 2022-03-10 11:09:00+00:00 1991.658877 0.0 0.897385 0.008974 \n", "7 2022-03-10 11:09:00+00:00 1994.663824 0.0 0.674853 0.006749 \n", "8 2022-03-14 00:00:00+00:00 1984.930000 0.0 -0.670958 -0.006710 \n", "9 2022-03-14 08:57:00+00:00 1970.666667 0.0 -0.089146 -0.000891 \n", "10 2022-03-24 11:40:00+00:00 1947.700070 0.0 -0.233257 -0.002333 \n", "11 2022-03-24 11:40:00+00:00 1947.275000 0.0 0.037014 0.000370 \n", "12 2022-03-30 00:00:00+00:00 1946.514917 0.0 -0.305130 -0.003051 \n", "13 2022-04-21 00:00:00+00:00 1942.427500 0.0 1.029578 0.010296 \n", "14 2022-05-09 00:00:00+00:00 1911.743445 0.0 1.775399 0.017754 \n", "15 2022-05-24 13:12:00+00:00 1851.202702 0.0 -0.003684 -0.000037 \n", "16 2022-07-19 00:00:00+00:00 1805.459265 0.0 2.876974 0.028770 \n", "17 2022-09-13 13:02:00+00:00 1733.215120 0.0 1.237815 0.012378 \n", "18 2022-09-13 13:02:00+00:00 1712.006528 0.0 0.000381 0.000004 \n", "19 2022-09-16 00:00:00+00:00 1691.510743 0.0 -0.570928 -0.005709 \n", "20 2022-09-21 18:35:00+00:00 1666.711569 0.0 -0.075239 -0.000752 \n", "21 2022-09-21 18:44:00+00:00 1673.018246 0.0 -0.001091 -0.000011 \n", "22 2022-09-30 06:54:00+00:00 1653.966033 0.0 -0.490984 -0.004910 \n", "23 2022-09-30 14:37:00+00:00 1662.044470 0.0 -0.111250 -0.001113 \n", "24 2022-10-13 12:45:00+00:00 1662.669895 0.0 -0.057201 -0.000572 \n", "25 2022-10-13 15:39:00+00:00 1657.026043 0.0 -0.001572 -0.000016 \n", "26 2022-11-06 23:00:00+00:00 1664.041533 0.0 -0.001594 -0.000016 \n", "27 2022-11-16 10:21:00+00:00 1780.358997 0.0 -0.383353 -0.003834 \n", "28 2022-12-05 00:00:00+00:00 1784.053532 0.0 -0.110743 -0.001107 \n", "29 2022-12-05 00:00:00+00:00 1782.766007 0.0 -1.719502 -0.017195 \n", "30 2023-01-06 19:41:00+00:00 1857.699209 0.0 -0.090743 -0.000907 \n", "31 2023-01-06 15:05:00+00:00 1843.785817 0.0 -0.241980 -0.002420 \n", "32 2023-01-06 13:47:00+00:00 1850.000000 0.0 -0.395804 -0.003958 \n", "33 2023-01-06 15:08:00+00:00 1850.355558 0.0 -0.113922 -0.001139 \n", "34 2023-01-15 23:00:00+00:00 1888.282490 0.0 -0.663839 -0.006638 \n", "35 2023-01-25 00:00:00+00:00 1916.413678 0.0 -0.283290 -0.002833 \n", "36 2023-01-25 17:33:00+00:00 1940.000000 0.0 -0.466080 -0.004661 \n", "37 2023-02-03 13:41:00+00:00 1916.134703 0.0 1.121608 0.011216 \n", "38 2023-02-03 15:10:00+00:00 1903.895890 0.0 1.044912 0.010449 \n", "39 2023-03-10 20:57:00+00:00 1854.667343 0.0 0.091908 0.000919 \n", "40 2023-03-09 14:20:00+00:00 1828.000000 0.0 -0.544442 -0.005444 \n", "41 2023-03-09 15:07:00+00:00 1835.000000 0.0 -0.476648 -0.004766 \n", "42 2023-03-13 00:00:00+00:00 1868.747273 0.0 -0.200926 -0.002009 \n", "43 2023-03-13 12:29:00+00:00 1891.772688 0.0 -0.388319 -0.003883 \n", "44 2023-03-13 23:59:00+00:00 1912.173500 0.0 -0.327320 -0.003273 \n", "\n", " Direction Status Position Id \n", "0 Short Closed 0 \n", "1 Long Closed 0 \n", "2 Short Closed 0 \n", "3 Short Closed 0 \n", "4 Short Closed 0 \n", "5 Short Closed 0 \n", "6 Long Closed 0 \n", "7 Long Closed 0 \n", "8 Long Closed 0 \n", "9 Long Closed 0 \n", "10 Short Closed 0 \n", "11 Long Closed 0 \n", "12 Long Closed 0 \n", "13 Long Closed 0 \n", "14 Short Closed 0 \n", "15 Short Closed 0 \n", "16 Short Closed 0 \n", "17 Short Closed 0 \n", "18 Long Closed 0 \n", "19 Long Closed 0 \n", "20 Short Closed 0 \n", "21 Short Closed 0 \n", "22 Short Closed 0 \n", "23 Short Closed 0 \n", "24 Long Closed 0 \n", "25 Short Closed 0 \n", "26 Short Closed 0 \n", "27 Short Closed 0 \n", "28 Short Closed 0 \n", "29 Short Closed 0 \n", "30 Short Closed 0 \n", "31 Short Closed 0 \n", "32 Short Closed 0 \n", "33 Short Closed 0 \n", "34 Short Closed 0 \n", "35 Short Closed 0 \n", "36 Short Closed 0 \n", "37 Short Closed 0 \n", "38 Short Closed 0 \n", "39 Short Closed 0 \n", "40 Short Closed 0 \n", "41 Short Closed 0 \n", "42 Short Closed 0 \n", "43 Short Closed 0 \n", "44 Short Open 0 " ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.entry_trades.records_readable" ] }, { "cell_type": "code", "execution_count": 101, "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", " \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", " \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", " \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", "
Exit Trade IdColumnSizeEntry Order IdEntry IndexAvg Entry PriceEntry FeesExit Order IdExit IndexAvg Exit PriceExit FeesPnLReturnDirectionStatusPosition Id
0000.01861002021-09-14 12:43:00+00:001791.16000.012021-09-14 12:44:00+00:001790.90000.00.0048390.000145ShortClosed0
1100.01859102021-09-14 12:43:00+00:001791.16000.022021-09-14 12:50:00+00:001789.40000.00.0327190.000983ShortClosed0
2200.01862902021-09-14 12:43:00+00:001791.16000.032021-09-14 12:55:00+00:001796.40000.0-0.097619-0.002925ShortClosed0
3050.05676202021-09-17 11:00:00+00:001761.72700.012021-09-17 12:54:00+00:001755.00000.0-0.381841-0.003818LongClosed0
40210.05684002021-10-05 15:46:00+00:001759.32850.012021-10-14 00:00:00+00:001791.78000.0-1.844539-0.018445ShortClosed0
...................................................
10612260.01332402023-03-10 15:51:00+00:001865.00000.022023-03-10 16:19:00+00:001857.00000.00.1065910.004290ShortClosed0
10722260.02700302023-03-10 15:51:00+00:001865.00000.032023-03-13 00:00:00+00:001877.86500.0-0.347394-0.006898ShortClosed0
10802270.01317402023-03-13 10:17:00+00:001884.45500.012023-03-13 10:47:00+00:001882.00000.00.0323420.001303ShortClosed0
10912270.03989202023-03-13 10:17:00+00:001884.45500.022023-03-13 12:29:00+00:001895.00000.0-0.420660-0.005596ShortClosed0
11002290.05246802023-03-13 14:36:00+00:001905.93500.0-12023-03-13 23:59:00+00:001912.17350.0-0.327320-0.003273ShortOpen0
\n", "

111 rows × 16 columns

\n", "
" ], "text/plain": [ " Exit Trade Id Column Size Entry Order Id \\\n", "0 0 0 0.018610 0 \n", "1 1 0 0.018591 0 \n", "2 2 0 0.018629 0 \n", "3 0 5 0.056762 0 \n", "4 0 21 0.056840 0 \n", ".. ... ... ... ... \n", "106 1 226 0.013324 0 \n", "107 2 226 0.027003 0 \n", "108 0 227 0.013174 0 \n", "109 1 227 0.039892 0 \n", "110 0 229 0.052468 0 \n", "\n", " Entry Index Avg Entry Price Entry Fees Exit Order Id \\\n", "0 2021-09-14 12:43:00+00:00 1791.1600 0.0 1 \n", "1 2021-09-14 12:43:00+00:00 1791.1600 0.0 2 \n", "2 2021-09-14 12:43:00+00:00 1791.1600 0.0 3 \n", "3 2021-09-17 11:00:00+00:00 1761.7270 0.0 1 \n", "4 2021-10-05 15:46:00+00:00 1759.3285 0.0 1 \n", ".. ... ... ... ... \n", "106 2023-03-10 15:51:00+00:00 1865.0000 0.0 2 \n", "107 2023-03-10 15:51:00+00:00 1865.0000 0.0 3 \n", "108 2023-03-13 10:17:00+00:00 1884.4550 0.0 1 \n", "109 2023-03-13 10:17:00+00:00 1884.4550 0.0 2 \n", "110 2023-03-13 14:36:00+00:00 1905.9350 0.0 -1 \n", "\n", " Exit Index Avg Exit Price Exit Fees PnL Return \\\n", "0 2021-09-14 12:44:00+00:00 1790.9000 0.0 0.004839 0.000145 \n", "1 2021-09-14 12:50:00+00:00 1789.4000 0.0 0.032719 0.000983 \n", "2 2021-09-14 12:55:00+00:00 1796.4000 0.0 -0.097619 -0.002925 \n", "3 2021-09-17 12:54:00+00:00 1755.0000 0.0 -0.381841 -0.003818 \n", "4 2021-10-14 00:00:00+00:00 1791.7800 0.0 -1.844539 -0.018445 \n", ".. ... ... ... ... ... \n", "106 2023-03-10 16:19:00+00:00 1857.0000 0.0 0.106591 0.004290 \n", "107 2023-03-13 00:00:00+00:00 1877.8650 0.0 -0.347394 -0.006898 \n", "108 2023-03-13 10:47:00+00:00 1882.0000 0.0 0.032342 0.001303 \n", "109 2023-03-13 12:29:00+00:00 1895.0000 0.0 -0.420660 -0.005596 \n", "110 2023-03-13 23:59:00+00:00 1912.1735 0.0 -0.327320 -0.003273 \n", "\n", " Direction Status Position Id \n", "0 Short Closed 0 \n", "1 Short Closed 0 \n", "2 Short Closed 0 \n", "3 Long Closed 0 \n", "4 Short Closed 0 \n", ".. ... ... ... \n", "106 Short Closed 0 \n", "107 Short Closed 0 \n", "108 Short Closed 0 \n", "109 Short Closed 0 \n", "110 Short Open 0 \n", "\n", "[111 rows x 16 columns]" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.exit_trades.records_readable" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing Individual Trades\n", "Here, we're randomly selecting one column (i.e., one signal), and plotting its exit trades . Since the only orders that reduce our position are stop orders, each green/red colored box represents a stop order of this signal. In our case, a green box is a TP order, a red box is an SL order, while the blue box is the market order that initialized the position." ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Signal (or) Column Nr: 6\n" ] }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "close": [ 1973.945, 1975.878, 1976.348, 1976.128, 1977.765, 1977.343, 1977.415, 1976.445, 1977.275, 1976.833, 1977.033, 1976.413, 1974.49, 1972.2, 1970.843, 1973.955, 1974.68, 1974.575, 1974.42, 1974.1115, 1974.245, 1974.71, 1974.11, 1973.7135, 1972.488, 1972.538, 1974.01, 1973.067, 1973.322, 1975.198, 1974.965, 1975.807, 1975.723, 1975.035, 1974.658, 1974.438, 1973.96, 1974.04, 1974.292, 1973.84, 1974.14, 1974.245, 1972.985, 1972.865, 1973.645, 1974.155, 1973.868, 1974.39, 1974.245, 1975.103, 1975.558, 1975.213, 1975.89, 1974.78, 1975.28, 1974.58, 1973.803, 1973.738, 1974.0015, 1975.033, 1975.015, 1974.3, 1973.243, 1972.278, 1971.925, 1971.365, 1971.65, 1971.415, 1972.001, 1971.967, 1971.595, 1971.385, 1971.62, 1971.26, 1971.53, 1972.07, 1972.375, 1972.095, 1972.46, 1973.73, 1973.64, 1973.82, 1973.845, 1973.655, 1973.635, 1973.653, 1974.19, 1974.46, 1974.177, 1974.495, 1974.94, 1975.437, 1975.455, 1975.252, 1975.647, 1975.825, 1976.632, 1976.367, 1976.705, 1975.787, 1976.022, 1974.857, 1975.07, 1974.842, 1974.932, 1975.222, 1975.522, 1976.035, 1975.83, 1976.007, 1975.397, 1975.146, 1975.03, 1974.805, 1974.725, 1974.951, 1974.152, 1973.842, 1973.362, 1974.06, 1973.805, 1973.71, 1974.0965, 1973.735, 1973.89, 1973.61, 1974.08, 1974.907, 1975.195, 1974.735, 1974.575, 1974.505, 1974.73, 1975.765, 1976.082, 1975.98, 1976.345, 1977.39, 1977.127, 1976.655, 1976.547, 1976.147, 1976.75, 1976.582, 1976.727, 1976.767, 1976.857, 1977.007, 1977.042, 1977.155, 1978.085, 1978.182, 1977.642, 1977.855, 1977.498, 1978.335, 1978.545, 1978.303, 1978.218, 1978.463, 1978.44, 1979.075, 1978.96, 1978.14, 1977.422, 1976.702, 1975.2, 1975.526, 1975.925, 1976.043, 1976.16, 1976.258, 1976.562, 1976.468, 1976.68, 1976.505, 1977.333, 1977.725, 1977.183, 1976.9, 1975.88, 1976.595, 1976.735, 1976.595, 1976.735, 1977.042, 1976.9565, 1977.593, 1976.845, 1976.61, 1976.222, 1976.092, 1975.945, 1976.471, 1976.848, 1976.273, 1976.6265, 1976.157, 1975.745, 1975.695, 1975.915, 1977.28, 1976.49, 1976.93, 1977.163, 1977.48, 1977.965, 1978.015, 1978.56, 1978.42, 1978.4, 1978.9285, 1979.455, 1979.357, 1979.347, 1979.447, 1979.357, 1979.322, 1979.185, 1979.515, 1979.437, 1979.292, 1979.24, 1978.95, 1978.795, 1978.53, 1978.6, 1978.385, 1978.217, 1977.96, 1978.147, 1978.037, 1977.855, 1977.83, 1977.64, 1978.267, 1978.217, 1978.93, 1979.1, 1979.13, 1978.397, 1978.388, 1978.7285, 1978.775, 1978.635, 1978.48, 1978.433, 1978.693, 1978.785, 1978.3, 1977.658, 1977.593, 1977.53, 1977.69, 1978.182, 1978.205, 1978.027, 1977.905, 1977.865, 1977.945, 1978.125, 1978.18, 1978.18, 1978.0335, 1979.382, 1979.884, 1979.884, 1981.29, 1981.23, 1980.333, 1980.32, 1979.76, 1979.995, 1980.608, 1980.138, 1980.298, 1981.49, 1981.36, 1980.758, 1982.43, 1982.773, 1983.533, 1982.7925, 1983.227, 1984, 1983.362, 1982.75, 1982.505, 1982.115, 1981.25, 1980.69, 1980.6635, 1981.001, 1980.845, 1981.082, 1981.612, 1981.943, 1982.302, 1981.79, 1981.91, 1982.982, 1982.987, 1982.7385, 1983.52, 1983.705, 1983.95, 1983.51, 1982.355, 1982.405, 1983.08, 1983.11, 1983.065, 1983.565, 1983.702, 1984.26, 1984.452, 1984.671, 1985.535, 1986.083, 1986.203, 1985.418, 1986.075, 1987.458, 1987.945, 1987.86, 1987.952, 1988.593, 1988.157, 1988.635, 1988.31, 1987.967, 1987.142, 1985.865, 1986.91, 1986.5, 1986.195, 1986.645, 1985.325, 1985.298, 1985.352, 1985.125, 1984.985, 1984.87, 1984.38, 1984.24, 1985.055, 1985.035, 1984.39, 1984.675, 1985.24, 1984.265, 1983.805, 1983.291, 1983.327, 1980.185, 1980.893, 1980.7515, 1981.63, 1981.28, 1981.293, 1981.153, 1980.888, 1979.508, 1980.298, 1979.535, 1979.778, 1979.283, 1981.258, 1980.663, 1979.225, 1979.119, 1979.79, 1979.412, 1979.19, 1980.022, 1980.915, 1981.93, 1981.442, 1981.63, 1980.921, 1981.538, 1981.8, 1981.81, 1981.777, 1980.647, 1980.137, 1980.253, 1979.85, 1979.425, 1979.64, 1980.275, 1979.635, 1977.32, 1977.692, 1977.782, 1977.072, 1977.866, 1979.175, 1979.542, 1979.59, 1979.04, 1979.788, 1979.768, 1980.84, 1981.2, 1981.125, 1980.2, 1979.217, 1978.955, 1978.258, 1978.197, 1977.8, 1976.497, 1975.47, 1977.61, 1978.668, 1979.432, 1981.295, 1981.815, 1982.155, 1982.596, 1980.887, 1980.56, 1980.445, 1982.675, 1983.301, 1983.993, 1983.65, 1982.927, 1981.967, 1981.72, 1982.715, 1982.19, 1981.855, 1981.445, 1982.522, 1983.59, 1984.2, 1984.655, 1984.893, 1984.79, 1985.203, 1985.965, 1985.097, 1985.67, 1985.742, 1986.265, 1986.482, 1986.395, 1985.673, 1985.345, 1985.82, 1986.208, 1986.635, 1987.215, 1987.6635, 1987.7885, 1987.472, 1986.52, 1987.315, 1985.037, 1983.835, 1983.86, 1984.515, 1985.745, 1985.64, 1987.187, 1984.5635, 1985.345, 1984.903, 1985.343, 1985.068, 1984.898, 1983.93, 1982.052, 1981.075, 1981.1965, 1981.38, 1979.72, 1979.327, 1976.93, 1978.257, 1978.59, 1978.54, 1976.892, 1978.52, 1979.057, 1979.698, 1980.89, 1980.408, 1980.9615, 1980.168, 1980.725, 1980.072, 1980.292, 1980.058, 1979.1, 1979.741, 1980.448, 1980.7915, 1980.435, 1981.14, 1982.093, 1982.137, 1982.605, 1982.222, 1982.402, 1981.74, 1982.105, 1982.218, 1981.094, 1981.59, 1982.923, 1982.35, 1981.87, 1981.922, 1980.81, 1980.425, 1979.882, 1981.49, 1980.795, 1980.922, 1981.037, 1980.337, 1981.315, 1981.015, 1979.658, 1983.22, 1984.35, 1983.982, 1987.3, 1986.82, 1985.555, 1986.017, 1985.4285, 1984.455, 1985.3, 1986.188, 1986.638, 1987.41, 1986.912, 1986.087, 1988.87, 1988.958, 1989.303, 1990.316, 1993.53, 1999.27, 1995.27, 1994.377, 1996.27, 1995.652, 1995.597, 1994.802, 1993.9785, 1994.196, 1994.685, 1992.785, 1992.885, 1992.975, 1992.247, 1992.29, 1992.195, 1991.83, 1994.16, 1994.892, 1993.7185, 1992.985, 1994.053, 1995.735, 1997.1, 1997.16, 1997.415, 1997.77, 1998.28, 1996.63, 1995.585, 1997.383, 1996.535, 1996.283, 1997.588, 1997.6315, 1996.887, 1994.51, 1995.27, 1995.122, 1994.62, 1995.325, 1995.06, 1996.605, 1998.5, 1998.898, 1999.42, 1999.702, 2000.985, 2001.325, 2001.277, 2000.315, 2000.262, 2000.555, 2002.34, 2002.73, 2002.87, 2007.07 ], "decreasing": { "fillcolor": "#ee534f", "line": { "color": "#ee534f" } }, "high": [ 1975.302, 1976.328, 1976.982, 1977.748, 1978.572, 1978.028, 1978.082, 1977.992, 1977.582, 1978.092, 1977.398, 1977.818, 1976.738, 1974.732, 1973.062, 1974.458, 1975.118, 1975.098, 1975.012, 1974.918, 1974.578, 1975.132, 1975.168, 1974.552, 1975.002, 1973.038, 1974.61, 1974.242, 1973.582, 1976.252, 1976.352, 1976.662, 1976.512, 1976.538, 1975.548, 1975.268, 1974.842, 1974.558, 1974.522, 1974.522, 1974.322, 1974.538, 1974.482, 1973.218, 1974.342, 1974.382, 1974.502, 1974.682, 1974.69, 1975.318, 1976.002, 1975.778, 1976.242, 1976.192, 1975.928, 1975.472, 1974.972, 1974.538, 1974.742, 1975.372, 1975.352, 1975.282, 1975.022, 1973.842, 1972.548, 1972.162, 1972.032, 1971.982, 1972.17, 1972.172, 1972.188, 1972.072, 1971.852, 1971.832, 1971.832, 1972.272, 1972.582, 1973.362, 1972.682, 1973.862, 1974.298, 1974.118, 1974.178, 1974.002, 1974.192, 1973.962, 1974.578, 1974.682, 1974.672, 1974.832, 1975.632, 1975.832, 1975.832, 1975.912, 1975.912, 1976.292, 1976.922, 1977.032, 1976.952, 1977.062, 1976.252, 1976.252, 1975.442, 1975.342, 1975.242, 1975.622, 1975.682, 1976.362, 1976.262, 1976.432, 1976.272, 1975.622, 1975.392, 1975.352, 1975.432, 1975.21, 1975.292, 1974.382, 1974.022, 1974.262, 1974.762, 1974.082, 1974.255, 1974.322, 1974.112, 1974.272, 1974.332, 1975.212, 1975.602, 1975.542, 1975.132, 1974.862, 1975.032, 1976.062, 1976.542, 1976.412, 1976.592, 1977.802, 1977.662, 1977.432, 1977.082, 1976.788, 1977.122, 1977.052, 1976.992, 1977.262, 1977.192, 1977.322, 1977.532, 1977.662, 1978.512, 1978.422, 1978.442, 1978.402, 1978.398, 1978.582, 1978.752, 1978.882, 1978.588, 1978.808, 1978.732, 1979.292, 1979.418, 1979.182, 1978.522, 1977.682, 1977.012, 1976.092, 1976.212, 1976.372, 1976.482, 1976.562, 1977.078, 1976.888, 1976.982, 1977.048, 1977.618, 1977.912, 1977.912, 1977.652, 1977.112, 1976.852, 1977.122, 1976.952, 1976.942, 1977.442, 1977.432, 1977.902, 1978.058, 1977.072, 1976.822, 1976.472, 1976.292, 1976.752, 1977.088, 1977.508, 1976.975, 1976.992, 1976.935, 1976.092, 1976.358, 1977.598, 1977.602, 1977.172, 1977.538, 1977.902, 1978.262, 1978.392, 1978.802, 1978.672, 1978.762, 1979.882, 1979.672, 1979.742, 1979.722, 1979.872, 1979.812, 1979.662, 1979.712, 1979.792, 1979.702, 1979.822, 1979.652, 1979.522, 1979.222, 1978.972, 1978.962, 1978.902, 1978.642, 1978.462, 1978.392, 1978.382, 1978.262, 1978.142, 1978.192, 1979.012, 1978.562, 1979.362, 1979.332, 1979.452, 1979.452, 1978.908, 1979.452, 1979.332, 1979.142, 1978.822, 1978.988, 1979.002, 1979.118, 1979.018, 1978.542, 1978.062, 1977.892, 1978.132, 1978.412, 1978.768, 1978.462, 1978.532, 1978.152, 1978.192, 1978.472, 1978.532, 1978.432, 1978.432, 1980, 1980, 1980.432, 1981.822, 1981.542, 1981.458, 1980.628, 1980.512, 1980.428, 1980.928, 1980.928, 1980.578, 1981.742, 1982.172, 1981.522, 1982.652, 1983.452, 1983.838, 1983.768, 1983.462, 1984.395, 1984.472, 1983.622, 1983.082, 1982.772, 1982.392, 1981.622, 1981.232, 1981.602, 1981.352, 1981.322, 1982.042, 1982.222, 1982.602, 1982.582, 1982.312, 1983.172, 1983.282, 1982.955, 1983.812, 1984.072, 1984.522, 1984.212, 1983.712, 1982.832, 1983.432, 1983.452, 1983.922, 1983.772, 1983.992, 1984.742, 1984.752, 1985.022, 1985.712, 1986.248, 1986.728, 1986.448, 1986.328, 1987.722, 1988.202, 1988.278, 1988.172, 1988.982, 1989.262, 1988.942, 1988.942, 1988.632, 1988.252, 1987.462, 1987.208, 1987.442, 1986.848, 1986.872, 1986.822, 1985.752, 1985.682, 1985.585, 1985.562, 1985.312, 1985.252, 1984.902, 1985.298, 1985.292, 1985.552, 1985.092, 1985.622, 1985.508, 1984.742, 1984.042, 1983.812, 1983.592, 1981.702, 1981.732, 1982.162, 1981.832, 1981.752, 1981.828, 1981.342, 1981.338, 1981.242, 1980.438, 1980.378, 1980.068, 1981.868, 1981.628, 1981.158, 1979.562, 1980.242, 1979.972, 1979.622, 1980.292, 1981.162, 1982.212, 1982.232, 1982.092, 1981.842, 1981.778, 1982.152, 1982.362, 1982.112, 1982.002, 1980.782, 1981.512, 1980.952, 1980.098, 1979.932, 1981.012, 1980.882, 1979.952, 1977.942, 1978.392, 1978.182, 1978.702, 1979.392, 1979.772, 1979.925, 1980.052, 1980.118, 1980.148, 1981.502, 1981.532, 1981.682, 1981.378, 1980.422, 1979.592, 1979.242, 1978.702, 1978.598, 1978.472, 1976.792, 1978.008, 1979.722, 1979.682, 1981.442, 1982.482, 1982.562, 1983.572, 1982.792, 1981.86, 1981.022, 1982.956, 1983.582, 1984.278, 1984.392, 1983.912, 1983.162, 1982.584, 1982.942, 1982.962, 1982.332, 1982.042, 1982.832, 1983.932, 1984.432, 1985.282, 1985.332, 1985.372, 1985.582, 1986.594, 1986.432, 1986.722, 1986.352, 1986.742, 1987.308, 1986.902, 1986.592, 1985.898, 1986.062, 1986.658, 1986.946, 1987.708, 1988.108, 1988.412, 1988.182, 1988.144, 1987.552, 1987.692, 1985.352, 1984.702, 1984.702, 1986.032, 1986.962, 1987.542, 1987.232, 1985.722, 1985.468, 1986.062, 1985.632, 1986.292, 1985.262, 1984.532, 1983.232, 1982.822, 1982.822, 1981.822, 1982.392, 1979.422, 1979.582, 1979.546, 1979.592, 1979.042, 1979.452, 1979.882, 1980.615, 1981.112, 1981.492, 1981.398, 1981.438, 1981.422, 1981.298, 1980.708, 1981.018, 1980.232, 1980.028, 1981.758, 1981.248, 1981.132, 1981.742, 1982.432, 1982.534, 1982.872, 1983.092, 1983.162, 1982.745, 1982.792, 1983.222, 1982.418, 1981.912, 1983.118, 1983.392, 1982.472, 1982.922, 1982.652, 1981.002, 1980.912, 1981.814, 1981.792, 1981.612, 1981.282, 1981.132, 1981.764, 1981.556, 1981.282, 1983.402, 1984.818, 1987.502, 1987.762, 1987.582, 1987.522, 1986.312, 1986.402, 1985.574, 1986.282, 1987.232, 1988.202, 1987.928, 1987.582, 1987.148, 1989.508, 1989.508, 1989.582, 1990.772, 1994.602, 2000.348, 2000.102, 1995.682, 1996.842, 1996.952, 1996.672, 1995.862, 1995.702, 1994.442, 1996.312, 1994.928, 1993.432, 1994.052, 1993.432, 1992.818, 1992.928, 1992.602, 1994.458, 1995.978, 1995.172, 1993.932, 1994.452, 1996.043, 1997.742, 1998.322, 1998.788, 1999.292, 1999.022, 1998.768, 1996.782, 1997.702, 1997.702, 1996.992, 1998.182, 1997.978, 1997.825, 1997.522, 1996.042, 1995.572, 1995.412, 1995.562, 1996.182, 1996.932, 1998.852, 1999.138, 1999.672, 2000.472, 2001.322, 2001.944, 2002.312, 2001.652, 2001.092, 2001.222, 2003.138, 2003.932, 2003.282, 2007.272 ], "increasing": { "fillcolor": "#26a69a", "line": { "color": "#26a69a" } }, "low": [ 1973.182, 1974.242, 1976.028, 1976.252, 1975.822, 1976.612, 1976.492, 1976.662, 1976.608, 1976.538, 1976.868, 1976.662, 1973.752, 1971.562, 1970.752, 1970.988, 1973.768, 1973.892, 1974.148, 1974.202, 1973.858, 1973.992, 1974.012, 1973.632, 1972.552, 1971.792, 1972.518, 1973.302, 1972.392, 1973.392, 1974.962, 1974.992, 1975.888, 1975.072, 1974.268, 1974.508, 1974.038, 1974.098, 1974.022, 1973.702, 1973.532, 1973.772, 1972.913, 1972.818, 1973.062, 1973.552, 1973.838, 1973.998, 1973.362, 1974.312, 1975.268, 1975.098, 1975.172, 1974.762, 1974.632, 1974.512, 1973.842, 1973.772, 1973.708, 1974.368, 1974.892, 1974.062, 1972.948, 1972.212, 1971.602, 1971.142, 1971.372, 1971.302, 1971.342, 1971.712, 1971.742, 1971.392, 1971.452, 1971.362, 1971.422, 1971.692, 1971.702, 1972.312, 1972.048, 1972.592, 1973.652, 1973.702, 1973.958, 1973.682, 1973.722, 1973.342, 1973.738, 1974.168, 1974.248, 1974.392, 1974.742, 1975.152, 1975.532, 1975.382, 1975.312, 1975.312, 1976.052, 1976.312, 1976.232, 1975.802, 1975.602, 1974.522, 1974.942, 1974.742, 1974.592, 1975.172, 1975.432, 1975.582, 1975.912, 1976.082, 1975.622, 1975.152, 1975.092, 1974.772, 1974.732, 1974.862, 1974.122, 1973.762, 1973.122, 1973.472, 1973.892, 1973.772, 1973.792, 1973.882, 1973.802, 1973.728, 1973.792, 1973.972, 1975.052, 1974.952, 1974.652, 1974.502, 1974.542, 1974.972, 1975.662, 1975.962, 1976.132, 1976.472, 1977.322, 1976.708, 1976.652, 1976.272, 1976.282, 1976.472, 1976.552, 1976.902, 1976.902, 1977.052, 1977.072, 1977.242, 1977.352, 1977.792, 1977.662, 1977.882, 1977.302, 1977.732, 1978.368, 1978.298, 1978.388, 1978.248, 1978.532, 1978.682, 1979.138, 1978.302, 1977.482, 1976.712, 1975.382, 1975.412, 1975.782, 1976.048, 1976.068, 1976.322, 1976.468, 1976.662, 1976.658, 1976.648, 1976.682, 1977.318, 1977.438, 1976.928, 1976.072, 1976.162, 1976.592, 1976.752, 1976.572, 1976.912, 1977.128, 1977.098, 1976.972, 1976.642, 1976.212, 1975.942, 1975.942, 1976.032, 1976.202, 1976.432, 1976.508, 1975.992, 1975.932, 1975.852, 1975.892, 1976.058, 1976.622, 1976.682, 1977.052, 1977.428, 1977.682, 1978.092, 1978.102, 1978.532, 1978.312, 1978.132, 1979.012, 1978.822, 1979.412, 1979.452, 1979.542, 1979.202, 1979.322, 1979.322, 1979.432, 1979.352, 1979.342, 1978.982, 1978.662, 1978.672, 1978.532, 1978.492, 1978.182, 1977.962, 1978.162, 1978.232, 1978.002, 1977.982, 1977.762, 1977.862, 1978.362, 1978.462, 1978.972, 1979.072, 1978.472, 1978.242, 1978.528, 1978.812, 1978.632, 1978.398, 1978.488, 1978.628, 1978.748, 1978.472, 1977.738, 1977.608, 1977.612, 1977.742, 1977.902, 1978.188, 1978.012, 1977.932, 1977.992, 1978.062, 1978.102, 1978.182, 1977.958, 1978.142, 1978.152, 1979.612, 1979.948, 1980, 1980.512, 1980.408, 1979.782, 1979.872, 1979.962, 1979.982, 1980.338, 1980.338, 1980.448, 1981.462, 1980.948, 1980.868, 1982.358, 1982.824, 1982.925, 1982.925, 1983.432, 1983.272, 1982.702, 1982.622, 1982.262, 1981.332, 1980.752, 1980.782, 1980.852, 1981.002, 1980.712, 1981.302, 1981.492, 1982.128, 1981.612, 1981.912, 1982.032, 1982.562, 1982.722, 1982.742, 1983.272, 1983.822, 1983.362, 1982.372, 1982.062, 1982.682, 1983.162, 1983.142, 1983.232, 1983.582, 1983.912, 1984.322, 1984.612, 1984.882, 1985.722, 1986.102, 1985.578, 1985.478, 1986.282, 1987.488, 1987.882, 1987.912, 1988.062, 1988.382, 1988.162, 1988.142, 1988.002, 1987.248, 1985.942, 1985.848, 1986.612, 1986.152, 1986.012, 1985.442, 1985.292, 1985.352, 1985.232, 1985.232, 1984.692, 1984.602, 1984.322, 1984.382, 1984.692, 1984.102, 1984.522, 1984.852, 1984.472, 1983.692, 1983.392, 1983.322, 1980.128, 1980.162, 1980.752, 1980.962, 1981.422, 1981.182, 1981.262, 1980.888, 1978.622, 1979.038, 1979.638, 1979.318, 1979.218, 1979.408, 1980.808, 1979.252, 1978.732, 1979.172, 1979.182, 1979.242, 1979.232, 1979.562, 1980.942, 1980.962, 1981.632, 1980.732, 1981.102, 1981.388, 1981.772, 1981.512, 1980.782, 1979.948, 1980.328, 1979.992, 1978.672, 1979.582, 1979.302, 1979.352, 1977.332, 1977.152, 1977.622, 1977.252, 1977.292, 1978.052, 1979.022, 1979.395, 1978.868, 1979.038, 1979.532, 1979.782, 1981.012, 1981.152, 1980.382, 1979.162, 1978.742, 1977.842, 1977.892, 1977.582, 1976.692, 1974.782, 1975.192, 1977.732, 1978.908, 1979.642, 1981.262, 1981.652, 1982.392, 1981.042, 1980.692, 1980.092, 1980.642, 1982.412, 1983.522, 1983.578, 1982.952, 1981.972, 1981.638, 1981.808, 1981.892, 1981.672, 1981.402, 1981.222, 1982.776, 1983.682, 1984.412, 1984.378, 1984.698, 1984.702, 1985.388, 1984.702, 1985.252, 1985.692, 1985.952, 1985.702, 1986.092, 1985.725, 1985.236, 1984.822, 1985.992, 1985.848, 1986.768, 1986.358, 1987.602, 1987.648, 1986.512, 1986.712, 1984.962, 1984.012, 1983.898, 1983.522, 1984.688, 1985.612, 1985.702, 1984.758, 1984.232, 1984.628, 1984.658, 1985.158, 1984.602, 1984.068, 1977.622, 1981.072, 1981.198, 1981.232, 1979.682, 1979.452, 1977.072, 1977.152, 1977.952, 1978.182, 1977.002, 1977.072, 1977.952, 1979.272, 1979.985, 1980.512, 1980.468, 1980.358, 1980.415, 1980.012, 1980.172, 1980.158, 1979.252, 1978.918, 1979.978, 1980.168, 1980.552, 1980.572, 1981.172, 1981.598, 1981.252, 1982.102, 1981.992, 1981.892, 1981.852, 1982.028, 1981.228, 1980.518, 1981.802, 1981.862, 1981.822, 1981.962, 1980.882, 1980.202, 1979.952, 1980.032, 1980.502, 1980.862, 1980.812, 1980.182, 1980.052, 1980.852, 1979.692, 1979.592, 1980.348, 1982.852, 1984.182, 1985.912, 1985.312, 1984.916, 1985.288, 1984.232, 1984.018, 1985.422, 1985.452, 1986.588, 1986.322, 1986.178, 1986.282, 1988.306, 1988.238, 1989.538, 1989.938, 1993.642, 1995.262, 1993.892, 1993.492, 1995.642, 1995.212, 1994.742, 1994.032, 1993.282, 1994.302, 1993.022, 1992.802, 1993.158, 1991.812, 1992.078, 1992.142, 1991.902, 1992.055, 1994.252, 1993.822, 1992.722, 1993.148, 1994.338, 1995.302, 1996.382, 1996.672, 1997.805, 1997.582, 1996.368, 1995.512, 1995.608, 1996.688, 1996.428, 1996.346, 1997.048, 1996.998, 1994.662, 1994.728, 1994.862, 1994.562, 1994.702, 1994.625, 1995.022, 1996.692, 1997.812, 1999.012, 1999.322, 1999.672, 2000.652, 2000.912, 1999.902, 2000.182, 1999.152, 2000.248, 2002.022, 2001.952, 2003.002 ], "name": "OHLC", "opacity": 0.5, "open": [ 1974.314, 1973.995, 1975.813, 1976.355, 1976.062, 1977.74, 1977.293, 1977.71, 1976.41, 1977.355, 1976.823, 1977.042, 1976.395, 1974.495, 1972.171, 1970.833, 1973.993, 1974.643, 1974.709, 1974.427, 1974.1085, 1974.243, 1974.69, 1974.12, 1973.7285, 1972.472, 1972.583, 1974.015, 1973.087, 1973.317, 1975.193, 1974.9235, 1975.79, 1975.793, 1975.043, 1974.66, 1974.453, 1973.965, 1973.865, 1974.297, 1973.83, 1974.135, 1974.203, 1972.975, 1972.87, 1973.665, 1974.22, 1973.878, 1974.398, 1974.25, 1975.113, 1975.533, 1975.203, 1975.865, 1974.765, 1975.285, 1974.6, 1973.83, 1973.648, 1974.148, 1974.988, 1975.06, 1974.33, 1973.3285, 1972.28, 1971.945, 1971.307, 1971.655, 1971.459, 1972.006, 1971.972, 1971.585, 1971.39, 1971.55, 1971.352, 1971.515, 1972.035, 1972.382, 1972.168, 1972.39, 1973.735, 1973.675, 1973.815, 1973.8, 1973.665, 1973.63, 1973.655, 1974.18, 1974.45, 1974.172, 1974.49, 1974.947, 1975.392, 1975.465, 1975.267, 1975.667, 1975.85, 1976.642, 1976.345, 1976.76, 1975.797, 1975.958, 1974.837, 1975.08, 1974.832, 1974.962, 1975.212, 1975.467, 1976.025, 1976.005, 1976.012, 1975.4, 1975.115, 1975.015, 1974.79, 1974.73, 1974.941, 1974.187, 1973.822, 1973.342, 1974.025, 1973.795, 1973.725, 1974.0915, 1973.72, 1973.88, 1973.605, 1974.075, 1974.952, 1975.275, 1974.73, 1974.585, 1974.49, 1974.762, 1975.755, 1976.08, 1975.965, 1976.275, 1977.427, 1977.137, 1976.717, 1976.525, 1976.157, 1976.73, 1976.682, 1976.737, 1976.797, 1976.892, 1976.995, 1977.052, 1977.17, 1977.838, 1978.152, 1977.657, 1977.983, 1977.629, 1978.33, 1978.555, 1978.228, 1978.223, 1978.423, 1978.45, 1979.055, 1978.97, 1978.145, 1977.396, 1976.687, 1975.215, 1975.602, 1975.92, 1976.038, 1976.158, 1976.223, 1976.567, 1976.47, 1976.672, 1976.5, 1977.243, 1977.735, 1977.063, 1976.897, 1976.0145, 1976.57, 1976.668, 1976.6195, 1976.71, 1977.117, 1976.9415, 1977.588, 1976.81, 1976.625, 1976.252, 1975.955, 1975.935, 1976.466, 1976.808, 1976.273, 1976.6765, 1976.125, 1975.74, 1975.787, 1975.965, 1977.248, 1976.455, 1976.887, 1977.16, 1977.477, 1977.941, 1978.02, 1978.466, 1978.415, 1978.38, 1979.031, 1978.88, 1979.352, 1979.32, 1979.48, 1979.34, 1979.277, 1979.165, 1979.465, 1979.447, 1979.28, 1979.24, 1978.955, 1978.7285, 1978.443, 1978.535, 1978.437, 1978.24, 1977.972, 1978.102, 1978.047, 1977.85, 1977.82, 1977.66, 1978.185, 1978.302, 1978.83, 1979.09, 1979.145, 1978.385, 1978.383, 1978.7335, 1978.778, 1978.63, 1978.463, 1978.428, 1978.713, 1978.783, 1978.185, 1977.65, 1977.588, 1977.52, 1977.69, 1978.192, 1978.173, 1978.15, 1977.915, 1977.86, 1977.94, 1978.115, 1978.048, 1978.175, 1978.0635, 1979.392, 1979.929, 1979.854, 1981.28, 1981.25, 1980.338, 1980.315, 1979.755, 1979.993, 1980.613, 1980.148, 1980.283, 1981.56, 1981.34, 1980.753, 1982.425, 1982.713, 1983.518, 1982.7935, 1983.232, 1984.015, 1983.347, 1982.83, 1982.478, 1982.13, 1981.265, 1980.745, 1980.6585, 1980.991, 1980.84, 1981.087, 1981.582, 1981.953, 1982.352, 1981.78, 1981.835, 1982.987, 1982.8565, 1982.7085, 1983.515, 1983.68, 1983.995, 1983.5, 1982.305, 1982.46, 1983.12, 1983.095, 1983.051, 1983.59, 1983.727, 1984.265, 1984.472, 1984.681, 1985.54, 1986.05, 1986.228, 1985.388, 1986.08, 1987.465, 1987.95, 1987.945, 1987.885, 1988.653, 1988.137, 1988.622, 1988.31, 1987.977, 1987.2, 1985.87, 1986.93, 1986.49, 1986.17, 1986.61, 1985.315, 1985.415, 1985.3535, 1985.11, 1984.982, 1984.845, 1984.35, 1984.25, 1985.045, 1985.03, 1984.395, 1984.625, 1985.273, 1984.335, 1983.8, 1983.251, 1983.332, 1980.115, 1980.928, 1980.75, 1981.62, 1981.285, 1981.258, 1981.135, 1980.883, 1979.5, 1980.148, 1979.54, 1979.833, 1979.28, 1981.348, 1980.633, 1979.23, 1979.029, 1979.815, 1979.342, 1979.185, 1980.037, 1980.929, 1982, 1981.385, 1981.59, 1980.937, 1981.533, 1981.825, 1981.87, 1981.767, 1980.567, 1980.15, 1980.343, 1979.855, 1979.41, 1979.645, 1980.27, 1979.655, 1977.29, 1977.827, 1977.792, 1977.067, 1977.851, 1979.165, 1979.545, 1979.585, 1979.035, 1979.805, 1979.735, 1980.833, 1981.205, 1981.128, 1980.23, 1979.222, 1978.947, 1978.25, 1978.19, 1977.715, 1976.522, 1975.475, 1977.615, 1978.828, 1979.46, 1981.3, 1981.825, 1982.175, 1982.601, 1980.831, 1980.545, 1980.465, 1982.677, 1983.295, 1983.99, 1983.645, 1982.93, 1981.992, 1981.715, 1982.725, 1982.13, 1981.85, 1981.495, 1982.607, 1983.615, 1984.215, 1984.653, 1984.938, 1984.775, 1985.168, 1985.95, 1985.059, 1985.685, 1985.745, 1986.27, 1986.5185, 1986.415, 1985.663, 1985.3135, 1985.825, 1986.205, 1986.638, 1987.207, 1987.6865, 1987.76, 1987.4665, 1986.518, 1987.32, 1985.047, 1983.855, 1983.855, 1984.51, 1985.735, 1985.665, 1987.0185, 1984.5585, 1985.2735, 1984.898, 1985.34, 1985.068, 1984.91, 1983.923, 1981.975, 1981.095, 1981.245, 1981.39, 1979.725, 1979.144, 1976.97, 1978.307, 1978.66, 1978.53, 1976.92, 1978.505, 1979.052, 1979.7485, 1980.902, 1980.37, 1980.9515, 1980.1765, 1980.8015, 1980.077, 1980.295, 1980.053, 1979.12, 1979.748, 1980.458, 1980.798, 1980.375, 1980.98, 1982.098, 1982.127, 1982.615, 1982.225, 1982.445, 1981.725, 1982.097, 1982.183, 1981.083, 1981.592, 1982.95, 1982.315, 1981.875, 1981.987, 1980.7835, 1980.39, 1979.855, 1981.2955, 1980.837, 1980.943, 1980.545, 1980.352, 1981.3185, 1981.012, 1979.64, 1983.19, 1984.2385, 1984.022, 1987.24, 1986.965, 1985.635, 1986.03, 1985.3735, 1984.46, 1985.275, 1986.168, 1986.7115, 1987.353, 1986.883, 1986.047, 1988.83, 1988.868, 1989.298, 1990.243, 1993.425, 1999.205, 1995.355, 1994.363, 1996.0765, 1995.7, 1995.612, 1994.817, 1993.91, 1994.224, 1994.673, 1992.785, 1992.887, 1992.97, 1992.218, 1992.284, 1992.185, 1991.8565, 1994.21, 1994.902, 1993.7535, 1993.007, 1994.098, 1995.745, 1997.125, 1997.15, 1997.5665, 1997.758, 1998.3215, 1996.48, 1995.51, 1997.338, 1996.393, 1996.293, 1997.593, 1997.6565, 1996.892, 1994.463, 1995.26, 1995.102, 1994.627, 1995.328, 1995.03, 1996.6, 1998.545, 1998.868, 1999.43, 1999.727, 2000.9885, 2001.32, 2001.342, 2000.275, 2000.23, 2000.54, 2002.375, 2002.752, 2002.86 ], "type": "candlestick", "uid": "c88d3faa-3714-4db2-ab7e-70be384d1eb0", "x": [ "2022-03-10T01:06:00+00:00", "2022-03-10T01:07:00+00:00", "2022-03-10T01:08:00+00:00", "2022-03-10T01:09:00+00:00", "2022-03-10T01:10:00+00:00", "2022-03-10T01:11:00+00:00", "2022-03-10T01:12:00+00:00", "2022-03-10T01:13:00+00:00", "2022-03-10T01:14:00+00:00", "2022-03-10T01:15:00+00:00", "2022-03-10T01:16:00+00:00", "2022-03-10T01:17:00+00:00", "2022-03-10T01:18:00+00:00", "2022-03-10T01:19:00+00:00", "2022-03-10T01:20:00+00:00", "2022-03-10T01:21:00+00:00", "2022-03-10T01:22:00+00:00", "2022-03-10T01:23:00+00:00", "2022-03-10T01:24:00+00:00", "2022-03-10T01:25:00+00:00", "2022-03-10T01:26:00+00:00", "2022-03-10T01:27:00+00:00", "2022-03-10T01:28:00+00:00", "2022-03-10T01:29:00+00:00", "2022-03-10T01:30:00+00:00", "2022-03-10T01:31:00+00:00", "2022-03-10T01:32:00+00:00", "2022-03-10T01:33:00+00:00", "2022-03-10T01:34:00+00:00", "2022-03-10T01:35:00+00:00", "2022-03-10T01:36:00+00:00", "2022-03-10T01:37:00+00:00", "2022-03-10T01:38:00+00:00", "2022-03-10T01:39:00+00:00", "2022-03-10T01:40:00+00:00", "2022-03-10T01:41:00+00:00", "2022-03-10T01:42:00+00:00", "2022-03-10T01:43:00+00:00", "2022-03-10T01:44:00+00:00", "2022-03-10T01:45:00+00:00", "2022-03-10T01:46:00+00:00", "2022-03-10T01:47:00+00:00", "2022-03-10T01:48:00+00:00", "2022-03-10T01:49:00+00:00", "2022-03-10T01:50:00+00:00", "2022-03-10T01:51:00+00:00", "2022-03-10T01:52:00+00:00", "2022-03-10T01:53:00+00:00", "2022-03-10T01:54:00+00:00", "2022-03-10T01:55:00+00:00", "2022-03-10T01:56:00+00:00", "2022-03-10T01:57:00+00:00", "2022-03-10T01:58:00+00:00", "2022-03-10T01:59:00+00:00", "2022-03-10T02:00:00+00:00", "2022-03-10T02:01:00+00:00", "2022-03-10T02:02:00+00:00", "2022-03-10T02:03:00+00:00", "2022-03-10T02:04:00+00:00", "2022-03-10T02:05:00+00:00", "2022-03-10T02:06:00+00:00", "2022-03-10T02:07:00+00:00", "2022-03-10T02:08:00+00:00", "2022-03-10T02:09:00+00:00", "2022-03-10T02:10:00+00:00", "2022-03-10T02:11:00+00:00", "2022-03-10T02:12:00+00:00", "2022-03-10T02:13:00+00:00", "2022-03-10T02:14:00+00:00", "2022-03-10T02:15:00+00:00", "2022-03-10T02:16:00+00:00", "2022-03-10T02:17:00+00:00", "2022-03-10T02:18:00+00:00", "2022-03-10T02:19:00+00:00", "2022-03-10T02:20:00+00:00", "2022-03-10T02:21:00+00:00", "2022-03-10T02:22:00+00:00", "2022-03-10T02:23:00+00:00", "2022-03-10T02:24:00+00:00", "2022-03-10T02:25:00+00:00", "2022-03-10T02:26:00+00:00", "2022-03-10T02:27:00+00:00", "2022-03-10T02:28:00+00:00", "2022-03-10T02:29:00+00:00", "2022-03-10T02:30:00+00:00", "2022-03-10T02:31:00+00:00", "2022-03-10T02:32:00+00:00", "2022-03-10T02:33:00+00:00", "2022-03-10T02:34:00+00:00", "2022-03-10T02:35:00+00:00", "2022-03-10T02:36:00+00:00", "2022-03-10T02:37:00+00:00", "2022-03-10T02:38:00+00:00", "2022-03-10T02:39:00+00:00", "2022-03-10T02:40:00+00:00", "2022-03-10T02:41:00+00:00", "2022-03-10T02:42:00+00:00", "2022-03-10T02:43:00+00:00", "2022-03-10T02:44:00+00:00", "2022-03-10T02:45:00+00:00", "2022-03-10T02:46:00+00:00", "2022-03-10T02:47:00+00:00", "2022-03-10T02:48:00+00:00", "2022-03-10T02:49:00+00:00", "2022-03-10T02:50:00+00:00", "2022-03-10T02:51:00+00:00", "2022-03-10T02:52:00+00:00", "2022-03-10T02:53:00+00:00", "2022-03-10T02:54:00+00:00", "2022-03-10T02:55:00+00:00", "2022-03-10T02:56:00+00:00", "2022-03-10T02:57:00+00:00", "2022-03-10T02:58:00+00:00", "2022-03-10T02:59:00+00:00", "2022-03-10T03:00:00+00:00", "2022-03-10T03:01:00+00:00", "2022-03-10T03:02:00+00:00", "2022-03-10T03:03:00+00:00", "2022-03-10T03:04:00+00:00", "2022-03-10T03:05:00+00:00", "2022-03-10T03:06:00+00:00", "2022-03-10T03:07:00+00:00", "2022-03-10T03:08:00+00:00", "2022-03-10T03:09:00+00:00", "2022-03-10T03:10:00+00:00", "2022-03-10T03:11:00+00:00", "2022-03-10T03:12:00+00:00", "2022-03-10T03:13:00+00:00", "2022-03-10T03:14:00+00:00", "2022-03-10T03:15:00+00:00", "2022-03-10T03:16:00+00:00", "2022-03-10T03:17:00+00:00", "2022-03-10T03:18:00+00:00", "2022-03-10T03:19:00+00:00", "2022-03-10T03:20:00+00:00", "2022-03-10T03:21:00+00:00", "2022-03-10T03:22:00+00:00", "2022-03-10T03:23:00+00:00", "2022-03-10T03:24:00+00:00", "2022-03-10T03:25:00+00:00", "2022-03-10T03:26:00+00:00", "2022-03-10T03:27:00+00:00", "2022-03-10T03:28:00+00:00", "2022-03-10T03:29:00+00:00", "2022-03-10T03:30:00+00:00", "2022-03-10T03:31:00+00:00", "2022-03-10T03:32:00+00:00", "2022-03-10T03:33:00+00:00", "2022-03-10T03:34:00+00:00", "2022-03-10T03:35:00+00:00", "2022-03-10T03:36:00+00:00", "2022-03-10T03:37:00+00:00", "2022-03-10T03:38:00+00:00", "2022-03-10T03:39:00+00:00", "2022-03-10T03:40:00+00:00", "2022-03-10T03:41:00+00:00", "2022-03-10T03:42:00+00:00", "2022-03-10T03:43:00+00:00", "2022-03-10T03:44:00+00:00", "2022-03-10T03:45:00+00:00", "2022-03-10T03:46:00+00:00", "2022-03-10T03:47:00+00:00", "2022-03-10T03:48:00+00:00", "2022-03-10T03:49:00+00:00", "2022-03-10T03:50:00+00:00", "2022-03-10T03:51:00+00:00", "2022-03-10T03:52:00+00:00", "2022-03-10T03:53:00+00:00", "2022-03-10T03:54:00+00:00", "2022-03-10T03:55:00+00:00", "2022-03-10T03:56:00+00:00", "2022-03-10T03:57:00+00:00", "2022-03-10T03:58:00+00:00", "2022-03-10T03:59:00+00:00", "2022-03-10T04:00:00+00:00", "2022-03-10T04:01:00+00:00", "2022-03-10T04:02:00+00:00", "2022-03-10T04:03:00+00:00", "2022-03-10T04:04:00+00:00", "2022-03-10T04:05:00+00:00", "2022-03-10T04:06:00+00:00", "2022-03-10T04:07:00+00:00", "2022-03-10T04:08:00+00:00", "2022-03-10T04:09:00+00:00", "2022-03-10T04:10:00+00:00", "2022-03-10T04:11:00+00:00", "2022-03-10T04:12:00+00:00", "2022-03-10T04:13:00+00:00", "2022-03-10T04:14:00+00:00", "2022-03-10T04:15:00+00:00", "2022-03-10T04:16:00+00:00", "2022-03-10T04:17:00+00:00", "2022-03-10T04:18:00+00:00", "2022-03-10T04:19:00+00:00", "2022-03-10T04:20:00+00:00", "2022-03-10T04:21:00+00:00", "2022-03-10T04:22:00+00:00", "2022-03-10T04:23:00+00:00", "2022-03-10T04:24:00+00:00", "2022-03-10T04:25:00+00:00", "2022-03-10T04:26:00+00:00", "2022-03-10T04:27:00+00:00", "2022-03-10T04:28:00+00:00", "2022-03-10T04:29:00+00:00", "2022-03-10T04:30:00+00:00", "2022-03-10T04:31:00+00:00", "2022-03-10T04:32:00+00:00", "2022-03-10T04:33:00+00:00", "2022-03-10T04:34:00+00:00", "2022-03-10T04:35:00+00:00", "2022-03-10T04:36:00+00:00", "2022-03-10T04:37:00+00:00", "2022-03-10T04:38:00+00:00", "2022-03-10T04:39:00+00:00", "2022-03-10T04:40:00+00:00", "2022-03-10T04:41:00+00:00", "2022-03-10T04:42:00+00:00", "2022-03-10T04:43:00+00:00", "2022-03-10T04:44:00+00:00", "2022-03-10T04:45:00+00:00", "2022-03-10T04:46:00+00:00", "2022-03-10T04:47:00+00:00", "2022-03-10T04:48:00+00:00", "2022-03-10T04:49:00+00:00", "2022-03-10T04:50:00+00:00", "2022-03-10T04:51:00+00:00", "2022-03-10T04:52:00+00:00", "2022-03-10T04:53:00+00:00", "2022-03-10T04:54:00+00:00", "2022-03-10T04:55:00+00:00", "2022-03-10T04:56:00+00:00", "2022-03-10T04:57:00+00:00", "2022-03-10T04:58:00+00:00", "2022-03-10T04:59:00+00:00", "2022-03-10T05:00:00+00:00", "2022-03-10T05:01:00+00:00", "2022-03-10T05:02:00+00:00", "2022-03-10T05:03:00+00:00", "2022-03-10T05:04:00+00:00", "2022-03-10T05:05:00+00:00", "2022-03-10T05:06:00+00:00", "2022-03-10T05:07:00+00:00", "2022-03-10T05:08:00+00:00", "2022-03-10T05:09:00+00:00", "2022-03-10T05:10:00+00:00", "2022-03-10T05:11:00+00:00", "2022-03-10T05:12:00+00:00", "2022-03-10T05:13:00+00:00", "2022-03-10T05:14:00+00:00", "2022-03-10T05:15:00+00:00", "2022-03-10T05:16:00+00:00", "2022-03-10T05:17:00+00:00", "2022-03-10T05:18:00+00:00", "2022-03-10T05:19:00+00:00", "2022-03-10T05:20:00+00:00", "2022-03-10T05:21:00+00:00", "2022-03-10T05:22:00+00:00", "2022-03-10T05:23:00+00:00", "2022-03-10T05:24:00+00:00", "2022-03-10T05:25:00+00:00", "2022-03-10T05:26:00+00:00", "2022-03-10T05:27:00+00:00", "2022-03-10T05:28:00+00:00", "2022-03-10T05:29:00+00:00", "2022-03-10T05:30:00+00:00", "2022-03-10T05:31:00+00:00", "2022-03-10T05:32:00+00:00", "2022-03-10T05:33:00+00:00", "2022-03-10T05:34:00+00:00", "2022-03-10T05:35:00+00:00", "2022-03-10T05:36:00+00:00", "2022-03-10T05:37:00+00:00", "2022-03-10T05:38:00+00:00", "2022-03-10T05:39:00+00:00", "2022-03-10T05:40:00+00:00", "2022-03-10T05:41:00+00:00", "2022-03-10T05:42:00+00:00", "2022-03-10T05:43:00+00:00", "2022-03-10T05:44:00+00:00", "2022-03-10T05:45:00+00:00", "2022-03-10T05:46:00+00:00", "2022-03-10T05:47:00+00:00", "2022-03-10T05:48:00+00:00", "2022-03-10T05:49:00+00:00", "2022-03-10T05:50:00+00:00", "2022-03-10T05:51:00+00:00", "2022-03-10T05:52:00+00:00", "2022-03-10T05:53:00+00:00", "2022-03-10T05:54:00+00:00", "2022-03-10T05:55:00+00:00", "2022-03-10T05:56:00+00:00", "2022-03-10T05:57:00+00:00", "2022-03-10T05:58:00+00:00", "2022-03-10T05:59:00+00:00", "2022-03-10T06:00:00+00:00", "2022-03-10T06:01:00+00:00", "2022-03-10T06:02:00+00:00", "2022-03-10T06:03:00+00:00", "2022-03-10T06:04:00+00:00", "2022-03-10T06:05:00+00:00", "2022-03-10T06:06:00+00:00", "2022-03-10T06:07:00+00:00", "2022-03-10T06:08:00+00:00", "2022-03-10T06:09:00+00:00", "2022-03-10T06:10:00+00:00", "2022-03-10T06:11:00+00:00", "2022-03-10T06:12:00+00:00", "2022-03-10T06:13:00+00:00", "2022-03-10T06:14:00+00:00", "2022-03-10T06:15:00+00:00", "2022-03-10T06:16:00+00:00", "2022-03-10T06:17:00+00:00", "2022-03-10T06:18:00+00:00", "2022-03-10T06:19:00+00:00", "2022-03-10T06:20:00+00:00", "2022-03-10T06:21:00+00:00", "2022-03-10T06:22:00+00:00", "2022-03-10T06:23:00+00:00", "2022-03-10T06:24:00+00:00", "2022-03-10T06:25:00+00:00", "2022-03-10T06:26:00+00:00", "2022-03-10T06:27:00+00:00", "2022-03-10T06:28:00+00:00", "2022-03-10T06:29:00+00:00", "2022-03-10T06:30:00+00:00", "2022-03-10T06:31:00+00:00", "2022-03-10T06:32:00+00:00", "2022-03-10T06:33:00+00:00", "2022-03-10T06:34:00+00:00", "2022-03-10T06:35:00+00:00", "2022-03-10T06:36:00+00:00", "2022-03-10T06:37:00+00:00", "2022-03-10T06:38:00+00:00", "2022-03-10T06:39:00+00:00", "2022-03-10T06:40:00+00:00", "2022-03-10T06:41:00+00:00", "2022-03-10T06:42:00+00:00", "2022-03-10T06:43:00+00:00", "2022-03-10T06:44:00+00:00", "2022-03-10T06:45:00+00:00", "2022-03-10T06:46:00+00:00", "2022-03-10T06:47:00+00:00", "2022-03-10T06:48:00+00:00", "2022-03-10T06:49:00+00:00", "2022-03-10T06:50:00+00:00", "2022-03-10T06:51:00+00:00", "2022-03-10T06:52:00+00:00", "2022-03-10T06:53:00+00:00", "2022-03-10T06:54:00+00:00", "2022-03-10T06:55:00+00:00", "2022-03-10T06:56:00+00:00", "2022-03-10T06:57:00+00:00", "2022-03-10T06:58:00+00:00", "2022-03-10T06:59:00+00:00", "2022-03-10T07:00:00+00:00", "2022-03-10T07:01:00+00:00", "2022-03-10T07:02:00+00:00", "2022-03-10T07:03:00+00:00", "2022-03-10T07:04:00+00:00", "2022-03-10T07:05:00+00:00", "2022-03-10T07:06:00+00:00", "2022-03-10T07:07:00+00:00", "2022-03-10T07:08:00+00:00", "2022-03-10T07:09:00+00:00", "2022-03-10T07:10:00+00:00", "2022-03-10T07:11:00+00:00", "2022-03-10T07:12:00+00:00", "2022-03-10T07:13:00+00:00", "2022-03-10T07:14:00+00:00", "2022-03-10T07:15:00+00:00", "2022-03-10T07:16:00+00:00", "2022-03-10T07:17:00+00:00", "2022-03-10T07:18:00+00:00", "2022-03-10T07:19:00+00:00", "2022-03-10T07:20:00+00:00", "2022-03-10T07:21:00+00:00", "2022-03-10T07:22:00+00:00", "2022-03-10T07:23:00+00:00", "2022-03-10T07:24:00+00:00", "2022-03-10T07:25:00+00:00", "2022-03-10T07:26:00+00:00", "2022-03-10T07:27:00+00:00", "2022-03-10T07:28:00+00:00", "2022-03-10T07:29:00+00:00", "2022-03-10T07:30:00+00:00", "2022-03-10T07:31:00+00:00", "2022-03-10T07:32:00+00:00", "2022-03-10T07:33:00+00:00", "2022-03-10T07:34:00+00:00", "2022-03-10T07:35:00+00:00", "2022-03-10T07:36:00+00:00", "2022-03-10T07:37:00+00:00", "2022-03-10T07:38:00+00:00", "2022-03-10T07:39:00+00:00", "2022-03-10T07:40:00+00:00", "2022-03-10T07:41:00+00:00", "2022-03-10T07:42:00+00:00", "2022-03-10T07:43:00+00:00", "2022-03-10T07:44:00+00:00", "2022-03-10T07:45:00+00:00", "2022-03-10T07:46:00+00:00", "2022-03-10T07:47:00+00:00", "2022-03-10T07:48:00+00:00", "2022-03-10T07:49:00+00:00", "2022-03-10T07:50:00+00:00", "2022-03-10T07:51:00+00:00", "2022-03-10T07:52:00+00:00", "2022-03-10T07:53:00+00:00", "2022-03-10T07:54:00+00:00", "2022-03-10T07:55:00+00:00", "2022-03-10T07:56:00+00:00", "2022-03-10T07:57:00+00:00", "2022-03-10T07:58:00+00:00", "2022-03-10T07:59:00+00:00", "2022-03-10T08:00:00+00:00", "2022-03-10T08:01:00+00:00", "2022-03-10T08:02:00+00:00", "2022-03-10T08:03:00+00:00", "2022-03-10T08:04:00+00:00", "2022-03-10T08:05:00+00:00", "2022-03-10T08:06:00+00:00", "2022-03-10T08:07:00+00:00", "2022-03-10T08:08:00+00:00", "2022-03-10T08:09:00+00:00", "2022-03-10T08:10:00+00:00", "2022-03-10T08:11:00+00:00", "2022-03-10T08:12:00+00:00", "2022-03-10T08:13:00+00:00", "2022-03-10T08:14:00+00:00", "2022-03-10T08:15:00+00:00", "2022-03-10T08:16:00+00:00", "2022-03-10T08:17:00+00:00", "2022-03-10T08:18:00+00:00", "2022-03-10T08:19:00+00:00", "2022-03-10T08:20:00+00:00", "2022-03-10T08:21:00+00:00", "2022-03-10T08:22:00+00:00", "2022-03-10T08:23:00+00:00", "2022-03-10T08:24:00+00:00", "2022-03-10T08:25:00+00:00", "2022-03-10T08:26:00+00:00", "2022-03-10T08:27:00+00:00", "2022-03-10T08:28:00+00:00", "2022-03-10T08:29:00+00:00", "2022-03-10T08:30:00+00:00", "2022-03-10T08:31:00+00:00", "2022-03-10T08:32:00+00:00", "2022-03-10T08:33:00+00:00", "2022-03-10T08:34:00+00:00", "2022-03-10T08:35:00+00:00", "2022-03-10T08:36:00+00:00", "2022-03-10T08:37:00+00:00", "2022-03-10T08:38:00+00:00", "2022-03-10T08:39:00+00:00", "2022-03-10T08:40:00+00:00", "2022-03-10T08:41:00+00:00", "2022-03-10T08:42:00+00:00", "2022-03-10T08:43:00+00:00", "2022-03-10T08:44:00+00:00", "2022-03-10T08:45:00+00:00", "2022-03-10T08:46:00+00:00", "2022-03-10T08:47:00+00:00", "2022-03-10T08:48:00+00:00", "2022-03-10T08:49:00+00:00", "2022-03-10T08:50:00+00:00", "2022-03-10T08:51:00+00:00", "2022-03-10T08:52:00+00:00", "2022-03-10T08:53:00+00:00", "2022-03-10T08:54:00+00:00", "2022-03-10T08:55:00+00:00", "2022-03-10T08:56:00+00:00", "2022-03-10T08:57:00+00:00", "2022-03-10T08:58:00+00:00", "2022-03-10T08:59:00+00:00", "2022-03-10T09:00:00+00:00", "2022-03-10T09:01:00+00:00", "2022-03-10T09:02:00+00:00", "2022-03-10T09:03:00+00:00", "2022-03-10T09:04:00+00:00", "2022-03-10T09:05:00+00:00", "2022-03-10T09:06:00+00:00", "2022-03-10T09:07:00+00:00", "2022-03-10T09:08:00+00:00", "2022-03-10T09:09:00+00:00", "2022-03-10T09:10:00+00:00", "2022-03-10T09:11:00+00:00", "2022-03-10T09:12:00+00:00", "2022-03-10T09:13:00+00:00", "2022-03-10T09:14:00+00:00", "2022-03-10T09:15:00+00:00", "2022-03-10T09:16:00+00:00", "2022-03-10T09:17:00+00:00", "2022-03-10T09:18:00+00:00", "2022-03-10T09:19:00+00:00", "2022-03-10T09:20:00+00:00", "2022-03-10T09:21:00+00:00", "2022-03-10T09:22:00+00:00", "2022-03-10T09:23:00+00:00", "2022-03-10T09:24:00+00:00", "2022-03-10T09:25:00+00:00", "2022-03-10T09:26:00+00:00", "2022-03-10T09:27:00+00:00", "2022-03-10T09:28:00+00:00", "2022-03-10T09:29:00+00:00", "2022-03-10T09:30:00+00:00", "2022-03-10T09:31:00+00:00", "2022-03-10T09:32:00+00:00", "2022-03-10T09:33:00+00:00", "2022-03-10T09:34:00+00:00", "2022-03-10T09:35:00+00:00", "2022-03-10T09:36:00+00:00", "2022-03-10T09:37:00+00:00", "2022-03-10T09:38:00+00:00", "2022-03-10T09:39:00+00:00", "2022-03-10T09:40:00+00:00", "2022-03-10T09:41:00+00:00", "2022-03-10T09:42:00+00:00", "2022-03-10T09:43:00+00:00", "2022-03-10T09:44:00+00:00", "2022-03-10T09:45:00+00:00", "2022-03-10T09:46:00+00:00", "2022-03-10T09:47:00+00:00", "2022-03-10T09:48:00+00:00", "2022-03-10T09:49:00+00:00", "2022-03-10T09:50:00+00:00", "2022-03-10T09:51:00+00:00", "2022-03-10T09:52:00+00:00", "2022-03-10T09:53:00+00:00", "2022-03-10T09:54:00+00:00", "2022-03-10T09:55:00+00:00", "2022-03-10T09:56:00+00:00", "2022-03-10T09:57:00+00:00", "2022-03-10T09:58:00+00:00", "2022-03-10T09:59:00+00:00", "2022-03-10T10:00:00+00:00", "2022-03-10T10:01:00+00:00", "2022-03-10T10:02:00+00:00", "2022-03-10T10:03:00+00:00", "2022-03-10T10:04:00+00:00", "2022-03-10T10:05:00+00:00", "2022-03-10T10:06:00+00:00", "2022-03-10T10:07:00+00:00", "2022-03-10T10:08:00+00:00", "2022-03-10T10:09:00+00:00", "2022-03-10T10:10:00+00:00", "2022-03-10T10:11:00+00:00", "2022-03-10T10:12:00+00:00", "2022-03-10T10:13:00+00:00", "2022-03-10T10:14:00+00:00", "2022-03-10T10:15:00+00:00", "2022-03-10T10:16:00+00:00", "2022-03-10T10:17:00+00:00", "2022-03-10T10:18:00+00:00", "2022-03-10T10:19:00+00:00", "2022-03-10T10:20:00+00:00", "2022-03-10T10:21:00+00:00", "2022-03-10T10:22:00+00:00", "2022-03-10T10:23:00+00:00", "2022-03-10T10:24:00+00:00", "2022-03-10T10:25:00+00:00", "2022-03-10T10:26:00+00:00", "2022-03-10T10:27:00+00:00", "2022-03-10T10:28:00+00:00", "2022-03-10T10:29:00+00:00", "2022-03-10T10:30:00+00:00", "2022-03-10T10:31:00+00:00", "2022-03-10T10:32:00+00:00", "2022-03-10T10:33:00+00:00", "2022-03-10T10:34:00+00:00", "2022-03-10T10:35:00+00:00", "2022-03-10T10:36:00+00:00", "2022-03-10T10:37:00+00:00", "2022-03-10T10:38:00+00:00", "2022-03-10T10:39:00+00:00", "2022-03-10T10:40:00+00:00", "2022-03-10T10:41:00+00:00", "2022-03-10T10:42:00+00:00", "2022-03-10T10:43:00+00:00", "2022-03-10T10:44:00+00:00", "2022-03-10T10:45:00+00:00", "2022-03-10T10:46:00+00:00", "2022-03-10T10:47:00+00:00", "2022-03-10T10:48:00+00:00", "2022-03-10T10:49:00+00:00", "2022-03-10T10:50:00+00:00", "2022-03-10T10:51:00+00:00", "2022-03-10T10:52:00+00:00", "2022-03-10T10:53:00+00:00", "2022-03-10T10:54:00+00:00", "2022-03-10T10:55:00+00:00", "2022-03-10T10:56:00+00:00", "2022-03-10T10:57:00+00:00", "2022-03-10T10:58:00+00:00", "2022-03-10T10:59:00+00:00", "2022-03-10T11:00:00+00:00", "2022-03-10T11:01:00+00:00", "2022-03-10T11:02:00+00:00", "2022-03-10T11:03:00+00:00", "2022-03-10T11:04:00+00:00", "2022-03-10T11:05:00+00:00", "2022-03-10T11:06:00+00:00", "2022-03-10T11:07:00+00:00", "2022-03-10T11:08:00+00:00", "2022-03-10T11:09:00+00:00" ] }, { "customdata": [ [ "0", "0", "0", "2022-03-10 01:06:00+00:00", 0.01688665759853153, 1973.945, 0, "Long" ], [ "1", "0", "0", "2022-03-10 01:06:00+00:00", 0.016912967070910098, 1973.9450000000002, 0, "Long" ], [ "2", "0", "0", "2022-03-10 01:06:00+00:00", 0.01686034812615298, 1973.945, 0, "Long" ] ], "hovertemplate": "
Exit Trade Id: %{customdata[0]}\n
Entry Order Id: %{customdata[1]}\n
Position Id: %{customdata[2]}\n
Entry Index: %{customdata[3]}\n
Size: %{customdata[4]:,}\n
Avg Entry Price: %{customdata[5]:,}\n
Entry Fees: %{customdata[6]:,}\n
Direction: %{customdata[7]}", "marker": { "color": "#4285F4", "line": { "color": "rgb(11,84,205)", "width": 1 }, "size": 7, "symbol": "square" }, "mode": "markers", "name": "Entry", "type": "scatter", "uid": "95622ef7-b8af-4c40-bd37-3896163e186e", "x": [ "2022-03-10T01:06:00+00:00", "2022-03-10T01:06:00+00:00", "2022-03-10T01:06:00+00:00" ], "y": [ 1973.945, 1973.9450000000002, 1973.945 ] }, { "customdata": [ [ "0", "1", "0", "2022-03-10 05:30:00+00:00", 0.01688665759853153, 1980, 0, 0.10224871175910977, 0.003067461352773294, "Long", "0 days 04:24:00" ], [ "1", "2", "0", "2022-03-10 10:11:00+00:00", 0.016912967070910098, 1990, 0, 0.2715376863234553, 0.008133458632332525, "Long", "0 days 09:05:00" ], [ "2", "3", "0", "2022-03-10 11:09:00+00:00", 0.01686034812615298, 2005, 0, 0.5235981110576802, 0.015732454551671885, "Long", "0 days 10:03:00" ] ], "hovertemplate": "
Exit Trade Id: %{customdata[0]}\n
Exit Order Id: %{customdata[1]}\n
Position Id: %{customdata[2]}\n
Exit Index: %{customdata[3]}\n
Size: %{customdata[4]:,}\n
Avg Exit Price: %{customdata[5]:,}\n
Exit Fees: %{customdata[6]:,}\n
PnL: %{customdata[7]:,}\n
Return: %{customdata[8]:,%}\n
Direction: %{customdata[9]}\n
Duration: %{customdata[10]}", "marker": { "color": "#37B13F", "line": { "color": "rgb(38,123,44)", "width": 1 }, "size": 7, "symbol": "square" }, "mode": "markers", "name": "Exit - Profit", "type": "scatter", "uid": "270c486e-54bc-43b0-8a5b-23fa6ddb687d", "x": [ "2022-03-10T05:30:00+00:00", "2022-03-10T10:11:00+00:00", "2022-03-10T11:09:00+00:00" ], "y": [ 1980, 1990, 2005 ] } ], "layout": { "height": 350, "legend": { "orientation": "h", "traceorder": "normal", "x": 1, "xanchor": "right", "y": 1.02, "yanchor": "bottom" }, "margin": { "b": 30, "l": 30, "r": 30, "t": 30 }, "shapes": [ { "fillcolor": "#37B13F", "layer": "below", "line": { "width": 0 }, "opacity": 0.15, "type": "rect", "x0": "2022-03-10T01:06:00+00:00", "x1": "2022-03-10T05:30:00+00:00", "xref": "x", "y0": 1973.945, "y1": 1980, "yref": "y" }, { "fillcolor": "#37B13F", "layer": "below", "line": { "width": 0 }, "opacity": 0.15, "type": "rect", "x0": "2022-03-10T01:06:00+00:00", "x1": "2022-03-10T10:11:00+00:00", "xref": "x", "y0": 1973.9450000000002, "y1": 1990, "yref": "y" }, { "fillcolor": "#37B13F", "layer": "below", "line": { "width": 0 }, "opacity": 0.15, "type": "rect", "x0": "2022-03-10T01:06:00+00:00", "x1": "2022-03-10T11:09:00+00:00", "xref": "x", "y0": 1973.945, "y1": 2005, "yref": "y" } ], "template": { "data": { "bar": [ { "error_x": { "color": "#d6dfef" }, "error_y": { "color": "#d6dfef" }, "marker": { "line": { "color": "#21222c", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#21222c", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#A2B1C6", "gridcolor": "#343545", "linecolor": "#343545", "minorgridcolor": "#343545", "startlinecolor": "#A2B1C6" }, "baxis": { "endlinecolor": "#A2B1C6", "gridcolor": "#343545", "linecolor": "#343545", "minorgridcolor": "#343545", "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": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "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": "#343545" } }, "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": "#343545" } }, "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": "#343545" }, "line": { "color": "#21222c" } }, "header": { "fill": { "color": "#2a3f5f" }, "line": { "color": "#21222c" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#d6dfef", "arrowhead": 0, "arrowwidth": 1 }, "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": [ "#1f77b4", "#ff7f0e", "#2ca02c", "#dc3912", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf" ], "font": { "color": "#d6dfef" }, "geo": { "bgcolor": "#21222c", "lakecolor": "#21222c", "landcolor": "#21222c", "showlakes": true, "showland": true, "subunitcolor": "#343545" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "dark" }, "paper_bgcolor": "#21222c", "plot_bgcolor": "#21222c", "polar": { "angularaxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" }, "bgcolor": "#21222c", "radialaxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#21222c", "gridcolor": "#343545", "gridwidth": 2, "linecolor": "#343545", "showbackground": true, "ticks": "", "zerolinecolor": "#aec0d6" }, "yaxis": { "backgroundcolor": "#21222c", "gridcolor": "#343545", "gridwidth": 2, "linecolor": "#343545", "showbackground": true, "ticks": "", "zerolinecolor": "#aec0d6" }, "zaxis": { "backgroundcolor": "#21222c", "gridcolor": "#343545", "gridwidth": 2, "linecolor": "#343545", "showbackground": true, "ticks": "", "zerolinecolor": "#aec0d6" } }, "shapedefaults": { "line": { "color": "#d6dfef" } }, "sliderdefaults": { "bgcolor": "#aec0d6", "bordercolor": "#21222c", "borderwidth": 1, "tickwidth": 0 }, "ternary": { "aaxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" }, "baxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" }, "bgcolor": "#21222c", "caxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" } }, "title": { "x": 0.05 }, "updatemenudefaults": { "bgcolor": "#343545", "borderwidth": 0 }, "xaxis": { "automargin": true, "gridcolor": "#343545", "linecolor": "#343545", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#343545", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#343545", "linecolor": "#343545", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#343545", "zerolinewidth": 2 } } }, "width": 1280, "xaxis": { "rangeslider": { "visible": false } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's plot a random trade\n", "# The only issue: we have too much data for that (thanks to Plotly)\n", "# Thus, crop it before plotting to remove irrelevant data\n", "\n", "signal = np.random.choice(len(pf.wrapper.columns)) ## 6 is hitting all levels till TP3 #6\n", "print(\"Signal (or) Column Nr:\", signal) \n", "pf.trades.iloc[:, signal].crop().plot().show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "This particular trade having signal or col. Nr as 6, has all 3 Take Profits. Yay! 😃" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Order Entry Check within the Candle\n", "The use case is clear: what if the telegram group gives us signals at a price that is too optimistic to be executed at the current time? They could provide a much higher price for a SELL order to make the trade appear more profitable than it really is. Instead of manually checking whether the order price is within the expected range (OHLC), there's a property `pf.orders.price_status` that does the check for us and returns the status for each order. For example, it returns \"BelowLow\" if the requested order price is lower than the low price of the bar where the order happened. For example, with `pf.orders.bar_high` we get the high price of the bar where an order happened, then we call `to_readable` to make it a Pandas Series and put to our DataFrame. Same for low. By putting high and low price columns alongside \"Price\", we can analyze whether the order price is within its candle. " ] }, { "cell_type": "code", "execution_count": 103, "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", " \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", "
ColumnOrder TypeStop TypePriceHighLowPrice Status
00SELLNone1791.1601791.8661790.982OK
10SELLTP11790.9001791.4361790.262OK
20SELLTP21789.4001790.3961789.156OK
30SELLSL11796.4001797.1561794.742OK
45BUYNone1761.7271761.9931761.736BelowLow
........................
150226SELLSTOPSL11877.8651878.0351875.445OK
151227SELLNone1884.4551884.7151883.635OK
152227SELLTP11882.0001882.5851881.685OK
153227SELLSL11895.0001898.3351894.185OK
154229SELLNone1905.9351906.7951905.795OK
\n", "

155 rows × 7 columns

\n", "
" ], "text/plain": [ " Column Order Type Stop Type Price High Low Price Status\n", "0 0 SELL None 1791.160 1791.866 1790.982 OK\n", "1 0 SELL TP1 1790.900 1791.436 1790.262 OK\n", "2 0 SELL TP2 1789.400 1790.396 1789.156 OK\n", "3 0 SELL SL1 1796.400 1797.156 1794.742 OK\n", "4 5 BUY None 1761.727 1761.993 1761.736 BelowLow\n", ".. ... ... ... ... ... ... ...\n", "150 226 SELLSTOP SL1 1877.865 1878.035 1875.445 OK\n", "151 227 SELL None 1884.455 1884.715 1883.635 OK\n", "152 227 SELL TP1 1882.000 1882.585 1881.685 OK\n", "153 227 SELL SL1 1895.000 1898.335 1894.185 OK\n", "154 229 SELL None 1905.935 1906.795 1905.795 OK\n", "\n", "[155 rows x 7 columns]" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's verify that the entry price stays within each candle\n", "pd.concat((\n", " pf.orders.records_readable[[\"Column\", \"Order Type\", \"Stop Type\", \"Price\"]],\n", " pf.orders.bar_high.to_readable(title=\"High\", only_values=True),\n", " pf.orders.bar_low.to_readable(title=\"Low\", only_values=True),\n", " pf.orders.price_status.to_readable(title=\"Price Status\", only_values=True),\n", "), axis=1)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Start 2021-09-02 00:00:00+00:00\n", "End 2023-03-13 23:59:00+00:00\n", "Period 83 days 06:26:00\n", "Count 155\n", "Value Counts: OK 122\n", "Value Counts: BelowLow 33\n", "Name: group, dtype: object" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.orders.price_status.stats(group_by=True)" ] }, { "cell_type": "code", "execution_count": 105, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdColumnIndexValue
0002021-09-14 12:43:00+00:001791.866
1102021-09-14 12:44:00+00:001791.436
2202021-09-14 12:50:00+00:001790.396
3302021-09-14 12:55:00+00:001797.156
4052021-09-17 11:00:00+00:001761.993
...............
15032262023-03-13 00:00:00+00:001878.035
15102272023-03-13 10:17:00+00:001884.715
15212272023-03-13 10:47:00+00:001882.585
15322272023-03-13 12:29:00+00:001898.335
15402292023-03-13 14:36:00+00:001906.795
\n", "

155 rows × 4 columns

\n", "
" ], "text/plain": [ " Id Column Index Value\n", "0 0 0 2021-09-14 12:43:00+00:00 1791.866\n", "1 1 0 2021-09-14 12:44:00+00:00 1791.436\n", "2 2 0 2021-09-14 12:50:00+00:00 1790.396\n", "3 3 0 2021-09-14 12:55:00+00:00 1797.156\n", "4 0 5 2021-09-17 11:00:00+00:00 1761.993\n", ".. .. ... ... ...\n", "150 3 226 2023-03-13 00:00:00+00:00 1878.035\n", "151 0 227 2023-03-13 10:17:00+00:00 1884.715\n", "152 1 227 2023-03-13 10:47:00+00:00 1882.585\n", "153 2 227 2023-03-13 12:29:00+00:00 1898.335\n", "154 0 229 2023-03-13 14:36:00+00:00 1906.795\n", "\n", "[155 rows x 4 columns]" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.orders.bar_high.to_readable()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Merging Order Records for portfolio metrics" ] }, { "cell_type": "code", "execution_count": 106, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idcolidxsizepricefeessideorder_typestop_type
00046630.0558301791.1600.011-1
11046640.0186101790.9000.0011
22046700.0185911789.4000.0012
33046750.0186291796.4000.0010
44059400.0567621761.7270.000-1
..............................
15015001185260.0270031877.8650.0030
15115101191430.0530661884.4550.011-1
15215201191730.0131741882.0000.0011
15315301192750.0398921895.0000.0010
15415401194020.0524681905.9350.011-1
\n", "

155 rows × 9 columns

\n", "
" ], "text/plain": [ " id col idx size price fees side order_type stop_type\n", "0 0 0 4663 0.055830 1791.160 0.0 1 1 -1\n", "1 1 0 4664 0.018610 1790.900 0.0 0 1 1\n", "2 2 0 4670 0.018591 1789.400 0.0 0 1 2\n", "3 3 0 4675 0.018629 1796.400 0.0 0 1 0\n", "4 4 0 5940 0.056762 1761.727 0.0 0 0 -1\n", ".. ... ... ... ... ... ... ... ... ...\n", "150 150 0 118526 0.027003 1877.865 0.0 0 3 0\n", "151 151 0 119143 0.053066 1884.455 0.0 1 1 -1\n", "152 152 0 119173 0.013174 1882.000 0.0 0 1 1\n", "153 153 0 119275 0.039892 1895.000 0.0 0 1 0\n", "154 154 0 119402 0.052468 1905.935 0.0 1 1 -1\n", "\n", "[155 rows x 9 columns]" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Now, what if we're interested in portfolio metrics, such as the Sharpe ratio?\n", "# The problem is that most metrics are producing multiple (intermediate) time series of the full shape, which is \n", "# disastrous for RAM since our data will have to be tiled by the number of columns. \n", "# But here's a trick: merge order records of all columns into one, as if we did the simulation on just one column!\n", "\n", "def merge_order_records(order_records):\n", " merged_order_records = order_records.copy()\n", " \n", " # New records should have only one column\n", " merged_order_records[\"col\"][:] = 0\n", " \n", " # Sort the records by the timestamp\n", " merged_order_records = merged_order_records[np.argsort(merged_order_records[\"idx\"])]\n", " \n", " # Reset the order ids\n", " merged_order_records[\"id\"][:] = np.arange(len(merged_order_records))\n", " return merged_order_records\n", "\n", "merged_order_records = merge_order_records(custom_order_records)\n", "pd.DataFrame(merged_order_records)" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "# We also need to change the wrapper because it holds the information on our columns\n", "merged_wrapper = pf.wrapper.replace(columns=[0], ndim=1)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Portfolio(\n", " wrapper=ArrayWrapper(\n", " index=,\n", " columns=,\n", " ndim=2,\n", " freq='minute',\n", " column_only_select=None,\n", " range_only_select=None,\n", " group_select=None,\n", " grouped_ndim=None,\n", " grouper=Grouper(\n", " index=,\n", " group_by=None,\n", " def_lvl_name='group',\n", " allow_enable=True,\n", " allow_disable=True,\n", " allow_modify=True\n", " )\n", " ),\n", " order_records=,\n", " open=,\n", " high=,\n", " low=,\n", " close=,\n", " log_records=,\n", " cash_sharing=False,\n", " init_cash=,\n", " init_position=,\n", " init_price=,\n", " cash_deposits=,\n", " cash_earnings=,\n", " call_seq=None,\n", " in_outputs=None,\n", " use_in_outputs=None,\n", " bm_close=None,\n", " fillna_close=None,\n", " trades_type=None,\n", " orders_cls=,\n", " logs_cls=None,\n", " trades_cls=None,\n", " entry_trades_cls=None,\n", " exit_trades_cls=None,\n", " positions_cls=None,\n", " drawdowns_cls=None\n", ")\n" ] } ], "source": [ "# Is there any other array that requires merging?\n", "# Let's introspect the portfolio instance and search for arrays of the full shape\n", "print(pf)\n", "# There are none, thus replace only the records and the wrapper" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [], "source": [ "merged_pf = pf.replace(\n", " order_records=merged_order_records, \n", " wrapper=merged_wrapper,\n", " init_cash=\"auto\"\n", ")\n", "\n", "# Also, the previous individual portfolios were each using the starting capital of $100m Which was used 100%, \n", "# but since we merge columns together, we now may require less starting capital\n", "# Thus, we will determine it automatically\n", "## init_Cash = \"auto\" means automatic initial capital is choosen, which is calculated from the max amount of cash we spent during all simulations.\n", "## This is better than taking 100$ and multiplying by the number of signals since then we would have inflated the returns." ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Start 2021-09-02 00:00:00+00:00\n", "End 2023-03-13 23:59:00+00:00\n", "Period 83 days 06:26:00\n", "Start Value 168.90342\n", "Min Value 166.380452\n", "Max Value 174.233989\n", "End Value 168.333302\n", "Total Return [%] -0.337541\n", "Benchmark Return [%] 5.439047\n", "Total Time Exposure [%] 39.339149\n", "Max Gross Exposure [%] 100.0\n", "Max Drawdown [%] 3.894613\n", "Max Drawdown Duration 38 days 07:03:00\n", "Total Orders 155\n", "Total Fees Paid 0.0\n", "Total Trades 112\n", "Win Rate [%] 61.261261\n", "Best Trade [%] 8.00419\n", "Worst Trade [%] -2.386677\n", "Avg Winning Trade [%] 0.642969\n", "Avg Losing Trade [%] -0.712394\n", "Avg Winning Trade Duration 0 days 14:31:48.529411764\n", "Avg Losing Trade Duration 1 days 03:40:20.930232558\n", "Profit Factor 0.983703\n", "Expectancy -0.002187\n", "Sharpe Ratio -0.161445\n", "Calmar Ratio -0.056725\n", "Omega Ratio 0.99786\n", "Sortino Ratio -0.227766\n", "dtype: object\n" ] } ], "source": [ "# We can now get any portfolio statistic\n", "print(merged_pf.stats())" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total Profit: -0.5701185962467719\n", "PnL Sum: -0.5701185962467079\n" ] } ], "source": [ "# You may wonder why the win rate and other trade metrics are different here\n", "# There are two reasons: \n", "# 1) Portfolio stats uses exit trades (previously we used positions), that is, each stop order is a trade\n", "# 2) After merging, there's no more information which order belongs to which trade, thus positions are built in a sequential order\n", "\n", "# But to verify that both portfolio match, we can compare to the total profit to the previous trade P&L\n", "print(\"Total Profit:\",merged_pf.total_profit)\n", "print(\"PnL Sum:\",pf.trades.pnl.sum(group_by=True))" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "close": [ 1809.575, 1827.84, null, null, 1823.66, null, null, null, null, null, 1787.462, null, 1803.787, null, null, 1754.5, null, null, null, null, null, null, 1750.5, null, null, null, null, null, null, null, null, null, null, 1759.4115000000002, null, null, null, null, null, null, null, null, 1795.46, null, null, null, 1764.058, null, null, null, 1792.355, null, null, null, 1793.65, null, null, null, null, null, 1792.132, null, null, null, null, null, null, null, null, null, null, null, null, null, 1862.44, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1773.3015, 1781.89, null, 1783.38, null, 1783.0035, null, null, null, 1776.4365, null, null, null, 1785.84, null, 1779.5685, null, null, null, null, 1791.6885000000002, 1790.5985, null, 1808.575, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1839.01, null, null, null, 1843.665, null, 1822.015, null, 1791.61, null, null, null, null, null, null, null, null, null, null, 1826.005, 1832.655, null, null, null, null, 1871.125, null, null, null, null, null, null, null, 1898.28, 1910.8175, null, null, null, null, 1906.355, null, 1928.89, null, 1970.7, null, null, null, null, null, 1995.365, null, null, null, 1952.255, null, 1927.145, null, 1921.55, null, 1919.1525, 1935.71, 1919.7675, null, 1959.3685, null, null, null, null, null, 1934.185, null, 1925.51, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1951.05, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1854.751, null, 1854.1675, null, null, null, 1813.305, null, null, null, null, 1846.55, null, null, null, 1867.491, null, 1852.875, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1838.525, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1710.0549999999998, null, null, null, null, null, null, null, null, null, null, null, 1762.292, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1758.532, 1747.465, null, null, null, null, null, null, null, null, 1734.8295, null, 1723.427, 1709.0320000000002, null, null, null, null, null, null, null, null, null, null, null, null, 1702.228, null, null, 1674.9499999999998, null, null, 1675.84, null, 1667.1315, null, 1644.15, null, null, null, null, 1656.2635, 1664.685, 1660.52, null, null, null, null, null, null, 1694.975, null, 1696.772, null, 1664.145, null, 1663.54, null, null, null, 1650.77, null, 1627.185, null, 1657.725, null, 1661.3755, null, null, null, null, null, null, null, null, null, null, null, null, null, 1672.7545, null, null, null, null, null, null, null, null, null, 1773.95, null, null, null, null, null, null, null, null, 1754.66, null, null, null, null, null, null, null, null, null, 1769.4495, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1805.885, null, null, null, null, null, null, 1854.8365, 1832.905, 1865.925, null, null, 1870.575, null, 1877.025, null, null, null, 1917, 1917.99, 1908.7215, null, null, null, null, null, null, null, 1948.365, null, null, null, 1929.0285, null, 1927.3765, null, null, 1865.15, null, null, null, null, null, null, null, null, null, 1854.5385, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1846.405, 1814.03, null, 1831.595, 1867.825, null, null, 1912.1735 ], "decreasing": { "fillcolor": "#ee534f", "line": { "color": "#ee534f" } }, "high": [ 1817.342, 1834.166, null, null, 1828.782, null, null, null, null, null, 1789.916, null, 1808.786, null, null, 1767.716, null, null, null, null, null, null, 1757.852, null, null, null, null, null, null, null, null, null, null, 1768.645, null, null, null, null, null, null, null, null, 1800.765, null, null, null, 1772.296, null, null, null, 1813.996, null, null, null, 1808.182, null, null, null, null, null, 1796.032, null, null, null, null, null, null, null, null, null, null, null, null, null, 1870.742, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1809.002, 1795.022, null, 1786.355, null, 1786.612, null, null, null, 1787.842, null, null, null, 1791.772, null, 1781.732, null, null, null, null, 1804.382, 1800.722, null, 1810.952, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1848.116, null, null, null, 1844.552, null, 1849.852, null, 1799.622, null, null, null, null, null, null, null, null, null, null, 1828.982, 1836.032, null, null, null, null, 1874.322, null, null, null, null, null, null, null, 1914.147, 1911.812, null, null, null, null, 1919.712, null, 1948, null, 1971.582, null, null, null, null, null, 2009.382, null, null, null, 1979.172, null, 1929.787, null, 1945.602, null, 1926.812, 1941.501, 1938.692, null, 1966.312, null, null, null, null, null, 1938.806, null, 1939.782, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1957.752, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1882.382, null, 1858.402, null, null, null, 1815.182, null, null, null, null, 1849.677, null, null, null, 1869.955, null, 1854.592, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1840.672, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1718.656, null, null, null, null, null, null, null, null, null, null, null, 1766.71, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1772.626, 1758.866, null, null, null, null, null, null, null, null, 1738.912, null, 1740.806, 1726.802, null, null, null, null, null, null, null, null, null, null, null, null, 1732.022, null, null, 1680.542, null, null, 1679.045, null, 1688.392, null, 1676.192, null, null, null, null, 1662.915, 1665.485, 1675.555, null, null, null, null, null, null, 1715.036, null, 1700.172, null, 1684.202, null, 1682.692, null, null, null, 1668.672, null, 1653.743, null, 1658.902, null, 1671.392, null, null, null, null, null, null, null, null, null, null, null, null, null, 1680.663, null, null, null, null, null, null, null, null, null, 1785.282, null, null, null, null, null, null, null, null, 1761.423, null, null, null, null, null, null, null, null, null, 1810.223, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1814.825, null, null, null, null, null, null, 1865.345, 1859.195, 1870.115, null, null, 1881.823, null, 1886.855, null, null, null, 1923.743, 1929.225, 1919.245, null, null, null, null, null, null, null, 1949.085, null, null, null, 1930.603, null, 1931.312, null, null, 1918.845, null, null, null, null, null, null, null, null, null, 1866.795, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1858.485, 1851.845, null, 1835.895, 1870.405, null, null, 1915.006 ], "increasing": { "fillcolor": "#26a69a", "line": { "color": "#26a69a" } }, "low": [ 1805.132, 1809.246, null, null, 1821.593, null, null, null, null, null, 1787.272, null, 1781.117, null, null, 1747.563, null, null, null, null, null, null, 1740.643, null, null, null, null, null, null, null, null, null, null, 1748.842, null, null, null, null, null, null, null, null, 1786.926, null, null, null, 1760.476, null, null, null, 1783.076, null, null, null, 1782.586, null, null, null, null, null, 1780.186, null, null, null, null, null, null, null, null, null, null, null, null, null, 1856.602, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1770.122, 1772.882, null, 1766.362, null, 1780.981, null, null, null, 1773.541, null, null, null, 1782.005, null, 1753.575, null, null, null, null, 1788.502, 1785.091, null, 1799.045, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1836.162, null, null, null, 1829.942, null, 1815.152, null, 1780.482, null, null, null, null, null, null, null, null, null, null, 1815.612, 1824.902, null, null, null, null, 1851.042, null, null, null, null, null, null, null, 1891.602, 1889.824, null, null, null, null, 1891.122, null, 1914.099, null, 1929.952, null, null, null, null, null, 1970.752, null, null, null, 1949.898, null, 1895.247, null, 1918.232, null, 1918.602, 1918.212, 1910.821, null, 1937.692, null, null, null, null, null, 1916.267, null, 1918.242, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1936.977, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1851.972, null, 1832.242, null, null, null, 1810.042, null, null, null, null, 1832.587, null, null, null, 1849.522, null, 1841.117, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1835.052, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1705.552, null, null, null, null, null, null, null, null, null, null, null, 1761.116, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1755.576, 1745.726, null, null, null, null, null, null, null, null, 1733.622, null, 1721.342, 1706.086, null, null, null, null, null, null, null, null, null, null, null, null, 1697.236, null, null, 1654.425, null, null, 1659.845, null, 1654.072, null, 1640.002, null, null, null, null, 1615.092, 1641.745, 1659.495, null, null, null, null, null, null, 1690.792, null, 1695.886, null, 1661.228, null, 1642.552, null, null, null, 1646.585, null, 1626.752, null, 1617.502, null, 1656.932, null, null, null, null, null, null, null, null, null, null, null, null, null, 1672.592, null, null, null, null, null, null, null, null, null, 1770.552, null, null, null, null, null, null, null, null, 1746.262, null, null, null, null, null, null, null, null, null, 1766.002, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1797.242, null, null, null, null, null, null, 1836.395, 1825.322, 1831.515, null, null, 1867.345, null, 1867.375, null, null, null, 1917.105, 1911.025, 1904.002, null, null, null, null, null, null, null, 1920.045, null, null, null, 1925.953, null, 1901.035, null, null, 1861.552, null, null, null, null, null, null, null, null, null, 1850.665, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1845.355, 1812.952, null, 1812.145, 1827.972, null, null, 1871.685 ], "name": "OHLC", "opacity": 0.5, "open": [ 1813.225, 1809.58, null, null, 1827.645, null, null, null, null, null, 1788.525, null, 1793.128, null, null, 1753.962, null, null, null, null, null, null, 1746.3249999999998, null, null, null, null, null, null, null, null, null, null, 1768.145, null, null, null, null, null, null, null, null, 1791.78, null, null, null, 1771.053, null, null, null, 1784.658, null, null, null, 1807.932, null, null, null, null, null, 1780.095, null, null, null, null, null, null, null, null, null, null, null, null, null, 1865.62, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1786.8784999999998, 1773.33, null, 1769.0785, null, 1785.29, null, null, null, 1783.5735, null, null, null, 1783.2885, null, 1772.5765, null, null, null, null, 1800.32, 1791.6935, null, 1803.7615, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1838.633, null, null, null, 1834.802, null, 1849.5735, null, 1797.3049999999998, null, null, null, null, null, null, null, null, null, null, 1822.065, 1826.038, null, null, null, null, 1859.64, null, null, null, null, null, null, null, 1909.565, 1898.27, null, null, null, null, 1910.35, null, 1942.365, null, 1935.0095, null, null, null, null, null, 1989.95, null, null, null, 1974.395, null, 1917.9855, null, 1943.995, null, 1921.92, 1919.1475, 1935.705, null, 1946.1305, null, null, null, null, null, 1916.5, null, 1936.87, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1956.855, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1881.325, null, 1833.6425, null, null, null, 1810.332, null, null, null, null, 1842.1575, null, null, null, 1853.98, null, 1854.065, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1837.85, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1708.338, null, null, null, null, null, null, null, null, null, null, null, 1765.6575, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1765.0485, 1758.5205, null, null, null, null, null, null, null, null, 1736.4, null, 1739.63, 1723.422, null, null, null, null, null, null, null, null, null, null, null, null, 1725.34, null, null, 1662.4855, null, null, 1678.03, null, 1666.483, null, 1672.83, null, null, null, null, 1628.8915000000002, 1656.2835, 1664.7085, null, null, null, null, null, null, 1711.9905, null, 1695.675, null, 1670.1950000000002, null, 1674.542, null, null, null, 1647.54, null, 1652.42, null, 1627.095, null, 1658.1, null, null, null, null, null, null, null, null, null, null, null, null, null, 1674.775, null, null, null, null, null, null, null, null, null, 1780.89, null, null, null, null, null, null, null, null, 1755.4699999999998, null, null, null, null, null, null, null, null, null, 1799.03, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1812.475, null, null, null, null, null, null, 1836.5365, 1854.81, 1832.89, null, null, 1869.77, null, 1877.295, null, null, null, 1920.6, 1917.02, 1918.005, null, null, null, null, null, null, null, 1937.055, null, null, null, 1927.6, null, 1922.19, null, null, 1915.2135, null, null, null, null, null, null, null, null, null, 1862.74, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1852.4235, 1846.38, null, 1815.3905, 1831.6015, null, null, 1877.865 ], "type": "candlestick", "uid": "6e893fb5-8d06-4a7f-8ae7-52e87b3ef240", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x", "yaxis": "y" }, { "customdata": [ [ "1", "2021-09-14 00:00:00+00:00", 0.018609706075401897, 1790.9, 0, "SELL", "TP1" ], [ "2", "2021-09-14 00:00:00+00:00", 0.018590542273315167, 1789.4, 0, "SELL", "TP2" ], [ "3", "2021-09-14 00:00:00+00:00", 0.01862949327123872, 1796.4, 0, "SELL", "SL1" ], [ "4", "2021-09-17 00:00:00+00:00", 0.05676248363111878, 1761.727, 0, "BUY", "None" ], [ "7", "2021-10-14 00:00:00+00:00", 0.05683986816560978, 1791.78, 0, "SELL", "SL1" ], [ "9", "2021-10-14 00:00:00+00:00", 0.055684759665969405, 1798.8, 0, "SELL", "SL1" ], [ "11", "2022-01-20 00:00:00+00:00", 0.013502083448301574, 1845, 0, "SELL", "TP1" ], [ "12", "2022-01-20 00:00:00+00:00", 0.013458990240711809, 1840, 0, "SELL", "TP2" ], [ "13", "2022-01-24 00:00:00+00:00", 0.013508951040446962, 1834, 0, "SELL", "TP3" ], [ "14", "2022-01-26 00:00:00+00:00", 0.013686194299951897, 1828, 0, "SELL", "TP4" ], [ "16", "2022-02-14 00:00:00+00:00", 0.053756504537048985, 1868, 0, "SELL", "SL1" ], [ "17", "2022-03-10 00:00:00+00:00", 0.05065997279559461, 1973.945, 0, "BUY", "None" ], [ "19", "2022-03-10 00:00:00+00:00", 0.050472090700365874, 1981.293, 0, "BUY", "None" ], [ "25", "2022-03-10 00:00:00+00:00", 0.050041584556766674, 1998.338, 0, "BUY", "None" ], [ "28", "2022-03-14 00:00:00+00:00", 0.0506990126367289, 1972.425, 0, "BUY", "None" ], [ "32", "2022-03-24 00:00:00+00:00", 0.017021890797353625, 1939, 0, "SELL", "TP1" ], [ "33", "2022-03-24 00:00:00+00:00", 0.05137282310872878, 1946.5545, 0, "BUY", "None" ], [ "35", "2022-03-24 00:00:00+00:00", 0.03444047670313205, 1952, 0, "SELL", "SL1" ], [ "37", "2022-03-24 00:00:00+00:00", 0.05121711061231336, 1952.4725, 0, "BUY", "None" ], [ "41", "2022-03-30 00:00:00+00:00", 0.052012019977816876, 1922.6325, 0, "BUY", "None" ], [ "45", "2022-04-21 00:00:00+00:00", 0.012863188272471036, 1945, 0, "SELL", "TP1" ], [ "46", "2022-04-21 00:00:00+00:00", 0.012677014091578221, 1940, 0, "SELL", "TP2" ], [ "47", "2022-05-09 00:00:00+00:00", 0.025839391100055415, 1881.325, 0, "SELL", "TP4" ], [ "49", "2022-05-11 00:00:00+00:00", 0.01795828534107119, 1848, 0, "SELL", "TP1" ], [ "50", "2022-05-11 00:00:00+00:00", 0.017943351529757796, 1843, 0, "SELL", "TP2" ], [ "52", "2022-05-24 00:00:00+00:00", 0.01786963140331429, 1857, 0, "SELL", "TP1" ], [ "53", "2022-05-24 00:00:00+00:00", 0.018119289215309003, 1862.5, 0, "SELL", "SL1" ], [ "54", "2022-05-26 00:00:00+00:00", 0.017875390112208185, 1852, 0, "SELL", "TP2" ], [ "55", "2022-07-19 00:00:00+00:00", 0.01804906172705576, 1708.338, 0, "SELL", "TP3" ], [ "57", "2022-08-19 00:00:00+00:00", 0.01893596672495703, 1753, 0, "SELL", "TP1" ], [ "58", "2022-08-19 00:00:00+00:00", 0.01891617136505771, 1747, 0, "SELL", "TP2" ], [ "59", "2022-08-31 00:00:00+00:00", 0.05841121495327103, 1712, 0, "BUYSTOP", "None" ], [ "62", "2022-09-13 00:00:00+00:00", 0.019129931931832184, 1700, 0, "SELL", "TP3" ], [ "64", "2022-09-13 00:00:00+00:00", 0.058781224218922436, 1701.2235, 0, "BUY", "None" ], [ "69", "2022-09-19 00:00:00+00:00", 0.01990138518217898, 1663, 0, "SELL", "TP1" ], [ "71", "2022-09-21 00:00:00+00:00", 0.019787835711933557, 1670, 0, "SELLSTOP", "TP1" ], [ "72", "2022-09-21 00:00:00+00:00", 0.019967430654720085, 1665, 0, "SELLSTOP", "TP2" ], [ "73", "2022-09-21 00:00:00+00:00", 0.019980898860758, 1657, 0, "SELL", "TP2" ], [ "74", "2022-09-21 00:00:00+00:00", 0.02016124150873542, 1680, 0, "SELL", "SL1" ], [ "75", "2022-09-21 00:00:00+00:00", 0.02001759675348981, 1684, 0, "SELLSTOP", "SL1" ], [ "77", "2022-09-28 00:00:00+00:00", 0.04050665714277457, 1645.9499999999998, 0, "SELL", "TP2" ], [ "79", "2022-09-28 00:00:00+00:00", 0.01997107568881608, 1657.9915, 0, "SELL", "TP1" ], [ "80", "2022-09-29 00:00:00+00:00", 0.02003103180213181, 1653, 0, "SELL", "TP2" ], [ "81", "2022-09-30 00:00:00+00:00", 0.02025092920135032, 1670, 0, "SELL", "SL1" ], [ "82", "2022-09-30 00:00:00+00:00", 0.020231689993989894, 1675, 0, "SELL", "SL1" ], [ "83", "2022-10-11 00:00:00+00:00", 0.06010982666429833, 1663.6215000000002, 0, "BUY", "None" ], [ "87", "2022-10-13 00:00:00+00:00", 0.02008096804941778, 1653, 0, "SELLSTOP", "TP1" ], [ "88", "2022-10-13 00:00:00+00:00", 0.020059116684558405, 1650, 0, "SELLSTOP", "TP2" ], [ "90", "2022-10-13 00:00:00+00:00", 0.0202099454410389, 1668, 0, "SELLSTOP", "SL1" ], [ "92", "2022-10-17 00:00:00+00:00", 0.019914687544875437, 1661, 0, "SELL", "TP1" ], [ "93", "2022-10-17 00:00:00+00:00", 0.019986851690339414, 1656, 0, "SELL", "TP2" ], [ "94", "2022-11-06 00:00:00+00:00", 0.020194072883666283, 1675, 0, "SELL", "SL1" ], [ "96", "2022-11-16 00:00:00+00:00", 0.018691232520613978, 1771, 0, "SELL", "TP1" ], [ "97", "2022-11-16 00:00:00+00:00", 0.0376925379748866, 1785, 0, "SELL", "SL1" ], [ "99", "2022-11-16 00:00:00+00:00", 0.018579812689180866, 1779, 0, "SELL", "TP1" ], [ "100", "2022-11-16 00:00:00+00:00", 0.018707108755893806, 1774, 0, "SELL", "TP2" ], [ "102", "2022-11-25 00:00:00+00:00", 0.018926711756983773, 1750, 0, "SELL", "TP1" ], [ "103", "2022-12-05 00:00:00+00:00", 0.03813041298044647, 1799.03, 0, "SELL", "SL1" ], [ "104", "2022-12-05 00:00:00+00:00", 0.01882728218214745, 1799.03, 0, "SELL", "SL1" ], [ "106", "2023-01-04 00:00:00+00:00", 0.017903322029970338, 1854, 0, "SELL", "TP1" ], [ "107", "2023-01-04 00:00:00+00:00", 0.017919029314375053, 1849, 0, "SELL", "TP2" ], [ "109", "2023-01-06 00:00:00+00:00", 0.01812190056458543, 1839.32, 0, "SELL", "TP1" ], [ "110", "2023-01-06 00:00:00+00:00", 0.018085299516511735, 1837, 0, "SELL", "TP2" ], [ "112", "2023-01-06 00:00:00+00:00", 0.054268001985123514, 1850, 0, "SELL", "SL1" ], [ "114", "2023-01-06 00:00:00+00:00", 0.01806239006307815, 1848, 0, "SELL", "TP1" ], [ "115", "2023-01-06 00:00:00+00:00", 0.017945066075036396, 1843, 0, "SELL", "TP2" ], [ "116", "2023-01-06 00:00:00+00:00", 0.018160275120538208, 1855, 0, "SELL", "SL1" ], [ "117", "2023-01-06 00:00:00+00:00", 0.01809777854334088, 1860, 0, "SELL", "SL1" ], [ "118", "2023-01-06 00:00:00+00:00", 0.018056523556988915, 1870, 0, "SELL", "SL1" ], [ "120", "2023-01-09 00:00:00+00:00", 0.01772099683299281, 1874, 0, "SELL", "TP1" ], [ "121", "2023-01-09 00:00:00+00:00", 0.01772805225605732, 1870, 0, "SELL", "TP2" ], [ "122", "2023-01-15 00:00:00+00:00", 0.01786068580163826, 1920.6, 0, "SELL", "SL1" ], [ "124", "2023-01-17 00:00:00+00:00", 0.01734768991318815, 1908, 0, "SELLSTOP", "TP1" ], [ "125", "2023-01-17 00:00:00+00:00", 0.017428372071505542, 1904, 0, "SELLSTOP", "TP2" ], [ "126", "2023-01-25 00:00:00+00:00", 0.017552561772501495, 1937.055, 0, "SELLSTOP", "SL1" ], [ "128", "2023-01-25 00:00:00+00:00", 0.05178663904712584, 1940, 0, "SELLSTOP", "SL1" ], [ "130", "2023-01-29 00:00:00+00:00", 0.02552659007815494, 1927.6, 0, "SELL", "TP2" ], [ "131", "2023-01-31 00:00:00+00:00", 0.01296101935502713, 1920, 0, "SELL", "TP3" ], [ "133", "2023-01-31 00:00:00+00:00", 0.012878512977411577, 1921, 0, "SELLSTOP", "TP1" ], [ "134", "2023-02-03 00:00:00+00:00", 0.012890020173803009, 1915.2135, 0, "SELLSTOP", "TP2" ], [ "135", "2023-02-03 00:00:00+00:00", 0.013053339267485326, 1910, 0, "SELLSTOP", "TP3" ], [ "136", "2023-02-03 00:00:00+00:00", 0.013115439274935612, 1890, 0, "SELL", "TP4" ], [ "137", "2023-02-03 00:00:00+00:00", 0.013153179556352066, 1870, 0, "SELLSTOP", "TP4" ], [ "139", "2023-03-06 00:00:00+00:00", 0.013466529852721836, 1856.36, 0, "SELL", "TP1" ], [ "140", "2023-03-06 00:00:00+00:00", 0.013358514520424306, 1852, 0, "SELL", "TP2" ], [ "141", "2023-03-07 00:00:00+00:00", 0.013393668401496445, 1840, 0, "SELL", "TP3" ], [ "143", "2023-03-09 00:00:00+00:00", 0.05500242973233343, 1828, 0, "SELL", "SL1" ], [ "145", "2023-03-09 00:00:00+00:00", 0.05475566652703971, 1835, 0, "SELL", "SL1" ], [ "147", "2023-03-10 00:00:00+00:00", 0.01329232681717947, 1862, 0, "SELLSTOP", "TP1" ], [ "148", "2023-03-10 00:00:00+00:00", 0.013323910802925675, 1857, 0, "SELLSTOP", "TP2" ], [ "149", "2023-03-10 00:00:00+00:00", 0.013649757121097682, 1870, 0, "SELL", "SL1" ], [ "150", "2023-03-13 00:00:00+00:00", 0.027003065328956518, 1877.865, 0, "SELLSTOP", "SL1" ], [ "152", "2023-03-13 00:00:00+00:00", 0.01317382278773823, 1882, 0, "SELL", "TP1" ], [ "153", "2023-03-13 00:00:00+00:00", 0.03989191770487104, 1895, 0, "SELL", "SL1" ] ], "hovertemplate": "
Order Id: %{customdata[0]}\n
Index: %{customdata[1]}\n
Size: %{customdata[2]:,}\n
Price: %{customdata[3]:,}\n
Fees: %{customdata[4]:,}\n
Order Type: %{customdata[5]}\n
Stop Type: %{customdata[6]}", "marker": { "color": "#37B13F", "line": { "color": "rgb(38,123,44)", "width": 1 }, "size": 8, "symbol": "triangle-up" }, "mode": "markers", "name": "Buy", "type": "scatter", "uid": "0533ba70-0cf8-4fbb-918f-ead87e365395", "x": [ "2021-09-14T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-13T00:00:00+00:00", "2023-03-13T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x", "y": [ 1790.9, 1789.4, 1796.4, 1761.727, 1791.78, 1798.8, 1845, 1840, 1834, 1828, 1868, 1973.945, 1981.293, 1998.338, 1972.425, 1939, 1946.5545, 1952, 1952.4725, 1922.6325, 1945, 1940, 1881.325, 1848, 1843, 1857, 1862.5, 1852, 1708.338, 1753, 1747, 1712, 1700, 1701.2235, 1663, 1670, 1665, 1657, 1680, 1684, 1645.9499999999998, 1657.9915, 1653, 1670, 1675, 1663.6215000000002, 1653, 1650, 1668, 1661, 1656, 1675, 1771, 1785, 1779, 1774, 1750, 1799.03, 1799.03, 1854, 1849, 1839.32, 1837, 1850, 1848, 1843, 1855, 1860, 1870, 1874, 1870, 1920.6, 1908, 1904, 1937.055, 1940, 1927.6, 1920, 1921, 1915.2135, 1910, 1890, 1870, 1856.36, 1852, 1840, 1828, 1835, 1862, 1857, 1870, 1877.865, 1882, 1895 ], "yaxis": "y" }, { "customdata": [ [ "0", "2021-09-14 00:00:00+00:00", 0.05582974161995578, 1791.16, 0, "SELL", "None" ], [ "5", "2021-09-17 00:00:00+00:00", 0.05676248363111878, 1755, 0, "BUY", "SL1" ], [ "6", "2021-10-05 00:00:00+00:00", 0.05683986816560978, 1759.3285, 0, "SELL", "None" ], [ "8", "2021-10-14 00:00:00+00:00", 0.055684759665969405, 1795.8235, 0, "SELL", "None" ], [ "10", "2022-01-20 00:00:00+00:00", 0.05415621902941224, 1846.51, 0, "SELL", "None" ], [ "15", "2022-02-14 00:00:00+00:00", 0.053756504537048985, 1860.24, 0, "SELL", "None" ], [ "18", "2022-03-10 00:00:00+00:00", 0.01688665759853153, 1980, 0, "BUY", "TP1" ], [ "20", "2022-03-10 00:00:00+00:00", 0.016824030233455287, 1986, 0, "BUY", "TP1" ], [ "21", "2022-03-10 00:00:00+00:00", 0.016912967070910098, 1990, 0, "BUY", "TP2" ], [ "22", "2022-03-10 00:00:00+00:00", 0.016835985952812268, 1993, 0, "BUY", "TP2" ], [ "23", "2022-03-10 00:00:00+00:00", 0.01686034812615298, 2005, 0, "BUY", "TP3" ], [ "24", "2022-03-10 00:00:00+00:00", 0.01681207451409832, 2005, 0, "BUY", "TP3" ], [ "26", "2022-03-10 00:00:00+00:00", 0.01668052818558889, 2006, 0, "BUY", "TP1" ], [ "27", "2022-03-14 00:00:00+00:00", 0.03336105637117778, 1974.395, 0, "BUY", "SL1" ], [ "29", "2022-03-14 00:00:00+00:00", 0.01689967087890963, 1976, 0, "BUY", "TP1" ], [ "30", "2022-03-14 00:00:00+00:00", 0.03379934175781927, 1968, 0, "BUY", "SL1" ], [ "31", "2022-03-24 00:00:00+00:00", 0.051462367500485676, 1943.1675, 0, "SELL", "None" ], [ "34", "2022-03-24 00:00:00+00:00", 0.02568641155436439, 1946.55, 0, "BUY", "TP1" ], [ "36", "2022-03-24 00:00:00+00:00", 0.02568641155436439, 1948, 0, "BUY", "TP2" ], [ "38", "2022-03-24 00:00:00+00:00", 0.017072370204104452, 1958, 0, "BUY", "TP1" ], [ "39", "2022-03-24 00:00:00+00:00", 0.017088122925238473, 1965, 0, "BUY", "TP2" ], [ "40", "2022-03-30 00:00:00+00:00", 0.017056617482970438, 1916.5, 0, "BUY", "SL1" ], [ "42", "2022-03-30 00:00:00+00:00", 0.026006009988908438, 1928, 0, "BUY", "TP1" ], [ "43", "2022-04-21 00:00:00+00:00", 0.026006009988908438, 1956.855, 0, "BUY", "TP2" ], [ "44", "2022-04-21 00:00:00+00:00", 0.05137959346410467, 1946.298, 0, "SELL", "None" ], [ "48", "2022-05-11 00:00:00+00:00", 0.05402092608613799, 1851.1345, 0, "SELL", "None" ], [ "51", "2022-05-24 00:00:00+00:00", 0.053794083242578235, 1858.9405, 0, "SELL", "None" ], [ "56", "2022-08-19 00:00:00+00:00", 0.05698207002184692, 1754.938, 0, "SELL", "None" ], [ "60", "2022-08-31 00:00:00+00:00", 0.01947040498442367, 1715, 0, "BUYSTOP", "TP1" ], [ "61", "2022-08-31 00:00:00+00:00", 0.01948856237232783, 1721, 0, "BUYSTOP", "TP2" ], [ "63", "2022-09-13 00:00:00+00:00", 0.019452247596519527, 1700, 0, "BUYSTOP", "SL1" ], [ "65", "2022-09-13 00:00:00+00:00", 0.01959374140630747, 1703, 0, "BUY", "TP1" ], [ "66", "2022-09-13 00:00:00+00:00", 0.019613425216055365, 1709, 0, "BUY", "TP2" ], [ "67", "2022-09-16 00:00:00+00:00", 0.0195740575965596, 1662.4855, 0, "BUY", "SL1" ], [ "68", "2022-09-19 00:00:00+00:00", 0.0600435255516724, 1665.4585000000002, 0, "SELL", "None" ], [ "70", "2022-09-21 00:00:00+00:00", 0.05977286312014345, 1673, 0, "SELLSTOP", "None" ], [ "76", "2022-09-28 00:00:00+00:00", 0.06075758634412489, 1645.885, 0, "SELL", "None" ], [ "78", "2022-09-28 00:00:00+00:00", 0.06023379748493778, 1660.1975, 0, "SELL", "None" ], [ "84", "2022-10-11 00:00:00+00:00", 0.02003660888809944, 1666, 0, "BUY", "TP1" ], [ "85", "2022-10-11 00:00:00+00:00", 0.020047389499006543, 1670, 0, "BUY", "TP2" ], [ "86", "2022-10-13 00:00:00+00:00", 0.060350030175015085, 1657, 0, "SELLSTOP", "None" ], [ "89", "2022-10-13 00:00:00+00:00", 0.020025828277192348, 1652, 0, "BUY", "SL1" ], [ "91", "2022-10-17 00:00:00+00:00", 0.060095612118881134, 1664.015, 0, "SELL", "None" ], [ "95", "2022-11-16 00:00:00+00:00", 0.05638377049550058, 1773.56, 0, "SELL", "None" ], [ "98", "2022-11-16 00:00:00+00:00", 0.05611420362722212, 1782.08, 0, "SELL", "None" ], [ "101", "2022-11-25 00:00:00+00:00", 0.05705712473743024, 1752.6295, 0, "SELL", "None" ], [ "105", "2023-01-04 00:00:00+00:00", 0.053878874901334306, 1856.015, 0, "SELL", "None" ], [ "108", "2023-01-06 00:00:00+00:00", 0.054367475201635374, 1839.335, 0, "SELL", "None" ], [ "111", "2023-01-06 00:00:00+00:00", 0.054268001985123514, 1842.7065, 0, "SELL", "None" ], [ "113", "2023-01-06 00:00:00+00:00", 0.05410523468145543, 1848.25, 0, "SELL", "None" ], [ "119", "2023-01-09 00:00:00+00:00", 0.05330973489068839, 1875.83, 0, "SELL", "None" ], [ "123", "2023-01-17 00:00:00+00:00", 0.052328623757195186, 1911, 0, "SELLSTOP", "None" ], [ "127", "2023-01-25 00:00:00+00:00", 0.05178663904712584, 1931, 0, "SELLSTOP", "None" ], [ "129", "2023-01-25 00:00:00+00:00", 0.05160304870811768, 1937.87, 0, "SELL", "None" ], [ "132", "2023-01-31 00:00:00+00:00", 0.05197505197505198, 1924, 0, "SELLSTOP", "None" ], [ "138", "2023-03-06 00:00:00+00:00", 0.05386846989574027, 1856.3735, 0, "SELL", "None" ], [ "142", "2023-03-09 00:00:00+00:00", 0.05500242973233343, 1818.1015, 0, "SELL", "None" ], [ "144", "2023-03-09 00:00:00+00:00", 0.05475566652703971, 1826.295, 0, "SELL", "None" ], [ "146", "2023-03-10 00:00:00+00:00", 0.05361930294906166, 1865, 0, "SELLSTOP", "None" ], [ "151", "2023-03-13 00:00:00+00:00", 0.05306574049260927, 1884.455, 0, "SELL", "None" ], [ "154", "2023-03-13 00:00:00+00:00", 0.052467686463599235, 1905.935, 0, "SELL", "None" ] ], "hovertemplate": "
Order Id: %{customdata[0]}\n
Index: %{customdata[1]}\n
Size: %{customdata[2]:,}\n
Price: %{customdata[3]:,}\n
Fees: %{customdata[4]:,}\n
Order Type: %{customdata[5]}\n
Stop Type: %{customdata[6]}", "marker": { "color": "#EA4335", "line": { "color": "rgb(181,31,18)", "width": 1 }, "size": 8, "symbol": "triangle-down" }, "mode": "markers", "name": "Sell", "type": "scatter", "uid": "0a7f45a4-ebd3-47f7-9424-aacf18f5ce6f", "x": [ "2021-09-14T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-13T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x", "y": [ 1791.16, 1755, 1759.3285, 1795.8235, 1846.51, 1860.24, 1980, 1986, 1990, 1993, 2005, 2005, 2006, 1974.395, 1976, 1968, 1943.1675, 1946.55, 1948, 1958, 1965, 1916.5, 1928, 1956.855, 1946.298, 1851.1345, 1858.9405, 1754.938, 1715, 1721, 1700, 1703, 1709, 1662.4855, 1665.4585000000002, 1673, 1645.885, 1660.1975, 1666, 1670, 1657, 1652, 1664.015, 1773.56, 1782.08, 1752.6295, 1856.015, 1839.335, 1842.7065, 1848.25, 1875.83, 1911, 1931, 1937.87, 1924, 1856.3735, 1818.1015, 1826.295, 1865, 1884.455, 1905.935 ], "yaxis": "y" }, { "customdata": [ [ "0", "0", "2021-09-14 00:00:00+00:00", 0.004838523579607568, 0.00014515732821197727 ], [ "1", "0", "2021-09-14 00:00:00+00:00", 0.03271935440103846, 0.0009826034525113347 ], [ "6", "4", "2022-01-20 00:00:00+00:00", 0.020388146006936836, 0.0008177589073441833 ], [ "7", "4", "2022-01-20 00:00:00+00:00", 0.08761802646703387, 0.003525569858814737 ], [ "8", "4", "2022-01-24 00:00:00+00:00", 0.16899697751599163, 0.006774943000579477 ], [ "9", "4", "2022-01-26 00:00:00+00:00", 0.25333145649210564, 0.010024316142344046 ], [ "11", "6", "2022-03-10 00:00:00+00:00", 0.10224871175910977, 0.003067461352773294 ], [ "12", "6", "2022-03-10 00:00:00+00:00", 0.12875018037461672, 0.003868256673763402 ], [ "13", "6", "2022-03-10 00:00:00+00:00", 0.19708266047987877, 0.005890146415301617 ], [ "14", "6", "2022-03-10 00:00:00+00:00", 0.2466935762345983, 0.00740656372145542 ], [ "15", "6", "2022-03-10 00:00:00+00:00", 0.44937472670405043, 0.013472232946070346 ], [ "16", "6", "2022-03-10 00:00:00+00:00", 0.4480881019521945, 0.01347223294607046 ], [ "17", "7", "2022-03-10 00:00:00+00:00", 0.1278062069579775, 0.003834186208739325 ], [ "19", "8", "2022-03-14 00:00:00+00:00", 0.06041632339210423, 0.0018124897017631272 ], [ "21", "9", "2022-03-24 00:00:00+00:00", 0.07093872989796779, 0.0021446941655826365 ], [ "26", "13", "2022-03-24 00:00:00+00:00", 0.09436752630318779, 0.002831025789095634 ], [ "27", "13", "2022-03-24 00:00:00+00:00", 0.21407145994592724, 0.006416223531957625 ], [ "29", "14", "2022-03-30 00:00:00+00:00", 0.13958725861547094, 0.002791745172309419 ], [ "30", "14", "2022-04-21 00:00:00+00:00", 0.8899906768454215, 0.017799813536908432 ], [ "31", "15", "2022-04-21 00:00:00+00:00", 0.016696418377669886, 0.0006669071231641778 ], [ "32", "15", "2022-04-21 00:00:00+00:00", 0.0798398347487641, 0.003235886796369493 ], [ "33", "15", "2022-05-09 00:00:00+00:00", 1.6788627579439108, 0.033382863261432937 ], [ "34", "16", "2022-05-11 00:00:00+00:00", 0.056290245401584116, 0.0016932859281698894 ], [ "35", "16", "2022-05-11 00:00:00+00:00", 0.1459601930188157, 0.004394332232476921 ], [ "38", "16", "2022-05-26 00:00:00+00:00", 0.08890684006433247, 0.002678390482430136 ], [ "39", "16", "2022-07-19 00:00:00+00:00", 2.682734936526529, 0.08004189861769641 ], [ "40", "17", "2022-08-19 00:00:00+00:00", 0.03669790351296598, 0.001104312517023371 ], [ "41", "17", "2022-08-19 00:00:00+00:00", 0.15015656829583435, 0.004523236718334397 ], [ "42", "17", "2022-08-31 00:00:00+00:00", 0.8214010172890127, 0.024466961225980702 ], [ "43", "18", "2022-08-31 00:00:00+00:00", 0.05841121495327428, 0.001752336448598229 ], [ "44", "18", "2022-08-31 00:00:00+00:00", 0.17539706135095656, 0.005257009345794576 ], [ "46", "19", "2022-09-13 00:00:00+00:00", 0.034808281608299296, 0.0010442484482489792 ], [ "47", "19", "2022-09-13 00:00:00+00:00", 0.15252380119265752, 0.004571121901384593 ], [ "49", "20", "2022-09-19 00:00:00+00:00", 0.04892755547038519, 0.0014761700756878106 ], [ "51", "20", "2022-09-21 00:00:00+00:00", 0.09924023051172526, 0.002976164162313504 ], [ "52", "20", "2022-09-21 00:00:00+00:00", 0.259154359798373, 0.007766669079251353 ], [ "57", "21", "2022-09-29 00:00:00+00:00", 0.07203764286271053, 0.0021708983363106825 ], [ "60", "22", "2022-10-11 00:00:00+00:00", 0.047657074240341046, 0.0014297122272102318 ], [ "61", "22", "2022-10-11 00:00:00+00:00", 0.12787227391940803, 0.003834105293782113 ], [ "63", "23", "2022-10-13 00:00:00+00:00", 0.0803238721976669, 0.002414001207000477 ], [ "64", "23", "2022-10-13 00:00:00+00:00", 0.1404138167919058, 0.004224502112250964 ], [ "66", "24", "2022-10-17 00:00:00+00:00", 0.060042782947796525, 0.0018118827053841785 ], [ "67", "24", "2022-10-17 00:00:00+00:00", 0.16019461629807807, 0.004816663311328553 ], [ "69", "25", "2022-11-16 00:00:00+00:00", 0.04784955525277468, 0.001443424524684902 ], [ "71", "26", "2022-11-16 00:00:00+00:00", 0.057225823082674765, 0.0017283174717183717 ], [ "72", "26", "2022-11-16 00:00:00+00:00", 0.15115343874762743, 0.004534027653079711 ], [ "73", "26", "2022-11-25 00:00:00+00:00", 0.18806165798396535, 0.0056458344736175815 ], [ "76", "27", "2023-01-04 00:00:00+00:00", 0.03607519389039737, 0.0010856593292621012 ], [ "77", "27", "2023-01-04 00:00:00+00:00", 0.12570199064033716, 0.0037796030743284864 ], [ "78", "27", "2023-01-06 00:00:00+00:00", 0.07563365720120174, 0.002263965071839958 ], [ "79", "27", "2023-01-06 00:00:00+00:00", 0.11743879375742239, 0.0035224451628698833 ], [ "82", "27", "2023-01-06 00:00:00+00:00", 0.056590182765468455, 0.0017081587160593494 ], [ "86", "28", "2023-01-09 00:00:00+00:00", 0.03242942420438055, 0.0009755681484997092 ], [ "87", "28", "2023-01-09 00:00:00+00:00", 0.10335454465281657, 0.003107957544127205 ], [ "89", "29", "2023-01-17 00:00:00+00:00", 0.052043069739561076, 0.001569858712715754 ], [ "90", "29", "2023-01-17 00:00:00+00:00", 0.1219986045005399, 0.003663003663003696 ], [ "93", "31", "2023-01-29 00:00:00+00:00", 0.26215808010265107, 0.005299633102323682 ], [ "94", "31", "2023-01-31 00:00:00+00:00", 0.23161341587433526, 0.009221464804140647 ], [ "95", "31", "2023-01-31 00:00:00+00:00", 0.07462766262904807, 0.0030074517401976262 ], [ "96", "31", "2023-02-03 00:00:00+00:00", 0.1492824456013011, 0.006010625806051681 ], [ "97", "31", "2023-02-03 00:00:00+00:00", 0.21922746785223168, 0.0087164147963447 ], [ "98", "31", "2023-02-03 00:00:00+00:00", 0.4825792069667152, 0.019096347625702295 ], [ "99", "31", "2023-02-03 00:00:00+00:00", 0.7470314420190469, 0.029476280455059956 ], [ "100", "32", "2023-03-06 00:00:00+00:00", 0.0001817981530152224, 0.000007272243436064046 ], [ "101", "32", "2023-03-06 00:00:00+00:00", 0.05842346325507819, 0.0023559375308903007 ], [ "102", "32", "2023-03-07 00:00:00+00:00", 0.21930122957190434, 0.008820153918379125 ], [ "106", "32", "2023-03-10 00:00:00+00:00", 0.001633628871363868, 0.0000660208492238481 ], [ "109", "33", "2023-03-13 00:00:00+00:00", 0.032341734943894807, 0.001302763929093455 ] ], "hovertemplate": "
Exit Trade Id: %{customdata[0]}\n
Position Id: %{customdata[1]}\n
Exit Index: %{customdata[2]}\n
PnL: %{customdata[3]:,}\n
Return: %{customdata[4]:,%}", "marker": { "color": "#37B13F", "line": { "color": "rgb(38,123,44)", "width": 1 }, "opacity": [ 0.7502677029395275, 0.7518371378104868, 0.7515282071581547, 0.7566028415828575, 0.7626924028925011, 0.7687819642021442, 0.755744312964475, 0.7572450615676337, 0.761034229818021, 0.7638761060058118, 0.7752436107569741, 0.7752436107569743, 0.7571812110412213, 0.7533924049264402, 0.7540149802237381, 0.7553012155429172, 0.7620201365500923, 0.755227600813625, 0.7833538111496626, 0.7512454999563791, 0.7560599544805878, 0.8125575783221757, 0.7531690083954888, 0.7582309653800076, 0.7550151658904445, 0.9, 0.7520652294386102, 0.7584725417504243, 0.7958485302360041, 0.7532796733603379, 0.7598476849572245, 0.7519526650105341, 0.7585622820619508, 0.75276211751614, 0.7555732153975144, 0.764550969605207, 0.7540640887432141, 0.7526750521332874, 0.7571810594007136, 0.7545196811824412, 0.7579126913978516, 0.7533912673711325, 0.7590224445008813, 0.752700749974848, 0.753234660052871, 0.7584927647460155, 0.7605763714919209, 0.7520302720097348, 0.7570789182822903, 0.7542385025661787, 0.7565969856756717, 0.7531968810803873, 0.7518239531397083, 0.7558202057688092, 0.7529376968276895, 0.7568604025154169, 0.7599275649732483, 0.7672773624733739, 0.7556318505912712, 0.7612600169481881, 0.7663308620707643, 0.7857836102152956, 0.8052363583598271, 0.7500092962743661, 0.7544108656355311, 0.7665252767213064, 0.750119395429247, 0.7524371418007988 ], "size": [ 7.012492803844616, 7.085733097822718, 7.071316334047221, 7.308132607200018, 7.592312134983381, 7.876491662766727, 7.268067938342167, 7.338102873156241, 7.514930724840981, 7.6475516136045485, 8.178035168658795, 8.178035168658806, 7.3351231819236595, 7.158312229900543, 7.187365743774447, 7.247390058669469, 7.560939705670971, 7.243954704635834, 8.556511186984256, 7.058123331297692, 7.2827978757607665, 9.919353655034866, 7.147887058456145, 7.384111717733685, 7.234041074887411, 14, 7.096377373801808, 7.395385281686466, 9.139598077680194, 7.153051423482432, 7.459558631337145, 7.09112436715826, 7.399573162891034, 7.1288988174198655, 7.260083385217339, 7.679045248242991, 7.189657474683322, 7.124835766220083, 7.335116105366635, 7.21091845518059, 7.369258931899741, 7.1582591439861805, 7.421047410041129, 7.12603499882624, 7.150950802467312, 7.396329021480721, 7.493564002956311, 7.09474602712096, 7.3303495198402135, 7.197796786421673, 7.307859331531348, 7.14918778375141, 7.085117813186386, 7.271609602544429, 7.1370925186255105, 7.320152117386121, 7.463286365418253, 7.806276915424116, 7.262819694259324, 7.525467457582111, 7.7621068966356646, 8.66990181004713, 9.5776967234586, 7.000433826137086, 7.205840396324784, 7.771179580327631, 7.005571786698192, 7.113733284037278 ], "symbol": "circle" }, "mode": "markers", "name": "Closed - Profit", "type": "scatter", "uid": "b475f194-5233-42a7-8582-025224f343d1", "x": [ "2021-09-14T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x2", "y": [ 0.00014515732821197727, 0.0009826034525113347, 0.0008177589073441833, 0.003525569858814737, 0.006774943000579477, 0.010024316142344046, 0.003067461352773294, 0.003868256673763402, 0.005890146415301617, 0.00740656372145542, 0.013472232946070346, 0.01347223294607046, 0.003834186208739325, 0.0018124897017631272, 0.0021446941655826365, 0.002831025789095634, 0.006416223531957625, 0.002791745172309419, 0.017799813536908432, 0.0006669071231641778, 0.003235886796369493, 0.033382863261432937, 0.0016932859281698894, 0.004394332232476921, 0.002678390482430136, 0.08004189861769641, 0.001104312517023371, 0.004523236718334397, 0.024466961225980702, 0.001752336448598229, 0.005257009345794576, 0.0010442484482489792, 0.004571121901384593, 0.0014761700756878106, 0.002976164162313504, 0.007766669079251353, 0.0021708983363106825, 0.0014297122272102318, 0.003834105293782113, 0.002414001207000477, 0.004224502112250964, 0.0018118827053841785, 0.004816663311328553, 0.001443424524684902, 0.0017283174717183717, 0.004534027653079711, 0.0056458344736175815, 0.0010856593292621012, 0.0037796030743284864, 0.002263965071839958, 0.0035224451628698833, 0.0017081587160593494, 0.0009755681484997092, 0.003107957544127205, 0.001569858712715754, 0.003663003663003696, 0.005299633102323682, 0.009221464804140647, 0.0030074517401976262, 0.006010625806051681, 0.0087164147963447, 0.019096347625702295, 0.029476280455059956, 0.000007272243436064046, 0.0023559375308903007, 0.008820153918379125, 0.0000660208492238481, 0.001302763929093455 ], "yaxis": "y2" }, { "customdata": [ [ "2", "0", "2021-09-14 00:00:00+00:00", -0.0976185447412874, -0.002925478460885578 ], [ "3", "1", "2021-09-17 00:00:00+00:00", -0.3818412273865448, -0.003818412273865448 ], [ "4", "2", "2021-10-14 00:00:00+00:00", -1.8445389817762816, -0.018445389817762815 ], [ "5", "3", "2021-10-14 00:00:00+00:00", -0.16574568714575832, -0.0016574568714575833 ], [ "10", "5", "2022-02-14 00:00:00+00:00", -0.4171504752075066, -0.004171504752075066 ], [ "18", "7", "2022-03-14 00:00:00+00:00", -0.7987637726950965, -0.011981456590426449 ], [ "20", "8", "2022-03-14 00:00:00+00:00", -0.14956208727835474, -0.002243431309175321 ], [ "22", "9", "2022-03-24 00:00:00+00:00", -0.1166498945935075, -0.0017430303872414386 ], [ "23", "10", "2022-03-24 00:00:00+00:00", -0.00007619555882598661, -0.0000023117770399171074 ], [ "24", "11", "2022-03-24 00:00:00+00:00", -0.047709655060785394, -0.0027998253319977337 ], [ "25", "12", "2022-03-24 00:00:00+00:00", -0.10274564621745697, -0.0020491803278688404 ], [ "28", "13", "2022-03-30 00:00:00+00:00", -0.6135691724061516, -0.01842407511501435 ], [ "36", "16", "2022-05-24 00:00:00+00:00", -0.0004699590466188397, -0.000014162459032093956 ], [ "37", "16", "2022-05-24 00:00:00+00:00", -0.10013261555999975, -0.002975970694640466 ], [ "45", "18", "2022-09-13 00:00:00+00:00", -0.0038677879762474277, -0.00011694809608892126 ], [ "48", "19", "2022-09-16 00:00:00+00:00", -0.758259843175523, -0.022770670637926094 ], [ "50", "20", "2022-09-21 00:00:00+00:00", -0.0005915538032397194, -0.000017901410772680732 ], [ "53", "20", "2022-09-21 00:00:00+00:00", -0.20221513178998407, -0.006006032556944898 ], [ "54", "20", "2022-09-21 00:00:00+00:00", -0.28084477701726485, -0.008401285015413781 ], [ "55", "21", "2022-09-28 00:00:00+00:00", -0.0026329327142633474, -0.00003949243112342619 ], [ "56", "21", "2022-09-28 00:00:00+00:00", -0.02786360173762148, -0.0008422075081869749 ], [ "58", "21", "2022-09-30 00:00:00+00:00", -0.2714373360692832, -0.008091106943957453 ], [ "59", "21", "2022-09-30 00:00:00+00:00", -0.3723379095170216, -0.011109343791095063 ], [ "62", "22", "2022-10-13 00:00:00+00:00", -0.1326010219374325, -0.003980172172576615 ], [ "65", "23", "2022-10-13 00:00:00+00:00", -0.32243854123738913, -0.009657390415614147 ], [ "68", "24", "2022-11-06 00:00:00+00:00", -0.22183189062707243, -0.006601502991259042 ], [ "70", "25", "2022-11-16 00:00:00+00:00", -0.431202634432708, -0.0064503033446853455 ], [ "74", "26", "2022-12-05 00:00:00+00:00", -1.4906585795110772, -0.02221312823253012 ], [ "75", "26", "2022-12-05 00:00:00+00:00", -0.736027950394508, -0.02221312823253014 ], [ "80", "27", "2023-01-06 00:00:00+00:00", -0.3787070232518488, -0.003786422881080272 ], [ "81", "27", "2023-01-06 00:00:00+00:00", -0.03335178362796398, -0.001000175091004746 ], [ "83", "27", "2023-01-06 00:00:00+00:00", -0.16065445195628314, -0.004791842420895122 ], [ "84", "27", "2023-01-06 00:00:00+00:00", -0.2505904701547266, -0.007500176227959572 ], [ "85", "27", "2023-01-06 00:00:00+00:00", -0.4305844695145282, -0.012916843842088493 ], [ "88", "28", "2023-01-15 00:00:00+00:00", -0.7996229033393405, -0.02386676831056106 ], [ "91", "29", "2023-01-25 00:00:00+00:00", -0.4573319969825249, -0.013634222919937157 ], [ "92", "30", "2023-01-25 00:00:00+00:00", -0.4660797514241324, -0.0046607975142413235 ], [ "103", "32", "2023-03-09 00:00:00+00:00", -0.12590481695721678, -0.001253800553687048 ], [ "104", "32", "2023-03-09 00:00:00+00:00", -0.48302973963257045, -0.004830605669276933 ], [ "105", "32", "2023-03-10 00:00:00+00:00", -0.06483187768948895, -0.0026263161974930853 ], [ "107", "32", "2023-03-10 00:00:00+00:00", -0.17577326207302235, -0.006934055472240904 ], [ "108", "32", "2023-03-13 00:00:00+00:00", -0.5601081443351745, -0.011169101646727018 ], [ "110", "33", "2023-03-13 00:00:00+00:00", -0.42066027219786406, -0.005595782334945633 ] ], "hovertemplate": "
Exit Trade Id: %{customdata[0]}\n
Position Id: %{customdata[1]}\n
Exit Index: %{customdata[2]}\n
PnL: %{customdata[3]:,}\n
Return: %{customdata[4]:,%}", "marker": { "color": "#EA4335", "line": { "color": "rgb(181,31,18)", "width": 1 }, "opacity": [ 0.755478226711112, 0.7571516495414126, 0.7845636679961371, 0.7531018621405045, 0.7578133704950312, 0.7724497875730569, 0.7542000208033252, 0.7532622331253414, 0.75, 0.7552427436198423, 0.7538359803535165, 0.7845237226948372, 0.7500222090389143, 0.7555728528250412, 0.7502148367893451, 0.7926695584515203, 0.7500292161060822, 0.7612514088656978, 0.7657402859695439, 0.7500696792466411, 0.751574025612137, 0.7651589897315827, 0.7708153848348201, 0.7574547993422103, 0.7680943187359194, 0.7623673637159513, 0.7620840045947803, 0.791624683482639, 0.7916246834826391, 0.7570916990955496, 0.751870068337468, 0.7589759283491623, 0.7640515426432294, 0.7742027712313638, 0.794723725113107, 0.7755471917353267, 0.758730340674688, 0.7523453808784745, 0.7590485734924817, 0.7549175748976761, 0.7629905912226923, 0.7709273753972232, 0.7604825701481467 ], "size": [ 7.255650579851891, 7.333743645265918, 8.612971173153065, 7.144753566556874, 7.364623956434789, 8.047656753409322, 7.196000970821842, 7.152237545849265, 7, 7.2446613689259785, 7.1790124164974385, 8.611107059092403, 7.001036421815999, 7.260066465168589, 7.010025716836102, 8.991246061070948, 7.001363418283837, 7.525065747065895, 7.734546678578718, 7.003251698176587, 7.073454528566394, 7.707419520807191, 7.971384625624941, 7.347890635969811, 7.84440154100957, 7.577143640077727, 7.563920214423083, 8.942485229189824, 8.942485229189826, 7.330945957792318, 7.087269855748502, 7.418876656294238, 7.655738656684039, 8.129462657463645, 9.08710717194499, 8.192202280981915, 7.407415898152109, 7.1094511076621405, 7.4222667629824794, 7.229486828558216, 7.606227590392306, 7.976610851870417, 7.489186606913511 ], "symbol": "circle" }, "mode": "markers", "name": "Closed - Loss", "type": "scatter", "uid": "8e32e362-8d8f-45a0-bcb0-35f6e3516429", "x": [ "2021-09-14T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-13T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x2", "y": [ -0.002925478460885578, -0.003818412273865448, -0.018445389817762815, -0.0016574568714575833, -0.004171504752075066, -0.011981456590426449, -0.002243431309175321, -0.0017430303872414386, -0.0000023117770399171074, -0.0027998253319977337, -0.0020491803278688404, -0.01842407511501435, -0.000014162459032093956, -0.002975970694640466, -0.00011694809608892126, -0.022770670637926094, -0.000017901410772680732, -0.006006032556944898, -0.008401285015413781, -0.00003949243112342619, -0.0008422075081869749, -0.008091106943957453, -0.011109343791095063, -0.003980172172576615, -0.009657390415614147, -0.006601502991259042, -0.0064503033446853455, -0.02221312823253012, -0.02221312823253014, -0.003786422881080272, -0.001000175091004746, -0.004791842420895122, -0.007500176227959572, -0.012916843842088493, -0.02386676831056106, -0.013634222919937157, -0.0046607975142413235, -0.001253800553687048, -0.004830605669276933, -0.0026263161974930853, -0.006934055472240904, -0.011169101646727018, -0.005595782334945633 ], "yaxis": "y2" }, { "customdata": [ [ "111", "34", "2023-03-13 00:00:00+00:00", -0.32731966200317686, -0.0032731966200317685 ] ], "hovertemplate": "
Exit Trade Id: %{customdata[0]}\n
Position Id: %{customdata[1]}\n
Exit Index: %{customdata[2]}\n
PnL: %{customdata[3]:,}\n
Return: %{customdata[4]:,%}", "marker": { "color": "#FFAA00", "line": { "color": "rgb(178,118,0)", "width": 1 }, "opacity": [ 0.7561298758004028 ], "size": [ 7.286060870685463 ], "symbol": "circle" }, "mode": "markers", "name": "Open", "type": "scatter", "uid": "f12d4bce-6403-4b2c-9dc5-bc9d0ab5fa85", "x": [ "2023-03-13T00:00:00+00:00" ], "xaxis": "x2", "y": [ -0.0032731966200317685 ], "yaxis": "y2" }, { "legendgroup": "0", "line": { "color": "#7f7f7f" }, "mode": "lines", "name": "Benchmark", "showlegend": true, "type": "scatter", "uid": "d6eb1dbb-640f-4eda-b308-21b2e03919a1", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1.0100935302488152, 1.0100935302488152, 1.0100935302488152, 1.007783595595651, 1.007783595595651, 1.007783595595651, 1.007783595595651, 1.007783595595651, 1.007783595595651, 0.9877800035920036, 0.9877800035920036, 0.9968014589060967, 0.9968014589060967, 0.9968014589060967, 0.9695646767887488, 0.9695646767887488, 0.9695646767887488, 0.9695646767887488, 0.9695646767887488, 0.9695646767887488, 0.9695646767887488, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.9673542130058163, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.972278850006217, 0.9921998259259771, 0.9921998259259771, 0.9921998259259771, 0.9921998259259771, 0.9748465799980658, 0.9748465799980658, 0.9748465799980658, 0.9748465799980658, 0.9904839534144758, 0.9904839534144758, 0.9904839534144758, 0.9904839534144758, 0.9911995910642003, 0.9911995910642003, 0.9911995910642003, 0.9911995910642003, 0.9911995910642003, 0.9911995910642003, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 0.9903607200585774, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 1.0292140419711813, 0.97995468549245, 0.9847008275423789, 0.9847008275423789, 0.9855242253015213, 0.9855242253015213, 0.9853161653979527, 0.9853161653979527, 0.9853161653979527, 0.9853161653979527, 0.9816871364823235, 0.9816871364823235, 0.9816871364823235, 0.9816871364823235, 0.9868836605280249, 0.9868836605280249, 0.9834179296243596, 0.9834179296243596, 0.9834179296243596, 0.9834179296243596, 0.9834179296243596, 0.990115634886645, 0.9895132835057957, 0.9895132835057957, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 0.999447384054267, 1.0162662503626543, 1.0162662503626543, 1.0162662503626543, 1.0162662503626543, 1.0188386775900418, 1.0188386775900418, 1.00687454236492, 1.00687454236492, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 0.9900722545349044, 1.009079479988395, 1.0127543760275202, 1.0127543760275202, 1.0127543760275202, 1.0127543760275202, 1.0127543760275202, 1.034013511459873, 1.034013511459873, 1.034013511459873, 1.034013511459873, 1.034013511459873, 1.034013511459873, 1.034013511459873, 1.034013511459873, 1.0490197974662556, 1.0559482198858845, 1.0559482198858845, 1.0559482198858845, 1.0559482198858845, 1.0559482198858845, 1.0534821712280504, 1.0534821712280504, 1.0659353715651463, 1.0659353715651463, 1.0890402442562477, 1.0890402442562477, 1.0890402442562477, 1.0890402442562477, 1.0890402442562477, 1.0890402442562477, 1.1026705165577548, 1.1026705165577548, 1.1026705165577548, 1.1026705165577548, 1.0788472431372005, 1.0788472431372005, 1.0649710567398418, 1.0649710567398418, 1.0618791705234651, 1.0618791705234651, 1.06055427379357, 1.069704212315046, 1.0608941326001957, 1.0608941326001957, 1.082778276667173, 1.082778276667173, 1.082778276667173, 1.082778276667173, 1.082778276667173, 1.082778276667173, 1.068861472997803, 1.068861472997803, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0640675296685682, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0781813409225918, 1.0249649779644388, 1.0249649779644388, 1.0246425265601036, 1.0246425265601036, 1.0246425265601036, 1.0246425265601036, 1.0020612574775842, 1.0020612574775842, 1.0020612574775842, 1.0020612574775842, 1.0020612574775842, 1.0204329745934815, 1.0204329745934815, 1.0204329745934815, 1.0204329745934815, 1.0320053051130786, 1.0320053051130786, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0239282704502435, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 1.0159982316289733, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.94500366108064, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9738706602379008, 0.9717928242819444, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9656770236105161, 0.9586944448282055, 0.9586944448282055, 0.9523932415069836, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9444383349681557, 0.9406783360733876, 0.9406783360733876, 0.9406783360733876, 0.9256040783056796, 0.9256040783056796, 0.9256040783056796, 0.926095906497382, 0.926095906497382, 0.9212834505339652, 0.9212834505339652, 0.9085835071770997, 0.9085835071770997, 0.9085835071770997, 0.9085835071770997, 0.9085835071770997, 0.9152776204357377, 0.9199314756227291, 0.9176298302087509, 0.9176298302087509, 0.9176298302087509, 0.9176298302087509, 0.9176298302087509, 0.9176298302087509, 0.9176298302087509, 0.9366702126189852, 0.9366702126189852, 0.9376632634734676, 0.9376632634734676, 0.9196330630120333, 0.9196330630120333, 0.9192987303648646, 0.9192987303648646, 0.9192987303648646, 0.9192987303648646, 0.9122418247378529, 0.9122418247378529, 0.8992083776577373, 0.8992083776577373, 0.9160852686404266, 0.9160852686404266, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9181025931503255, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.9243908099968227, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.980313056933258, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9696530953400663, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.9778260088694861, 0.997960847160245, 0.997960847160245, 0.997960847160245, 0.997960847160245, 0.997960847160245, 0.997960847160245, 0.997960847160245, 1.0250122266277997, 1.012892530013954, 1.0311399085420614, 1.0311399085420614, 1.0311399085420614, 1.0337095726897203, 1.0337095726897203, 1.0372739455396989, 1.0372739455396989, 1.0372739455396989, 1.0372739455396989, 1.0593647679703802, 1.059911857756656, 1.0547899368636287, 1.0547899368636287, 1.0547899368636287, 1.0547899368636287, 1.0547899368636287, 1.0547899368636287, 1.0547899368636287, 1.0547899368636287, 1.0766975671082994, 1.0766975671082994, 1.0766975671082994, 1.0766975671082994, 1.066011908873631, 1.066011908873631, 1.06509898733128, 1.06509898733128, 1.06509898733128, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0307116311841182, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0248475470759713, 1.0203528452813508, 1.0024619040382414, 1.0024619040382414, 1.0121686031250436, 1.0321898788389545, 1.0321898788389545, 1.0321898788389545, 1.0566975671082997 ], "yaxis": "y3" }, { "hoverinfo": "skip", "line": { "color": "rgba(0, 0, 0, 0)", "width": 0 }, "mode": "lines", "opacity": 0, "showlegend": false, "type": "scatter", "uid": "3bacd60f-1cd3-4213-bd0b-aceeb32b97a7", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "yaxis": "y3" }, { "connectgaps": false, "fill": "tonexty", "fillcolor": "rgba(0, 128, 0, 0.25)", "hoverinfo": "skip", "line": { "color": "rgba(0, 0, 0, 0)", "width": 0 }, "mode": "lines", "opacity": 0, "showlegend": false, "type": "scatter", "uid": "e73fa4df-7ebd-4dcb-aa80-b11dc6806cd8", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.0076962298938408, 1.0076962298938408, 1.0091556870797203, 1.0091556870797203, 1.0091556870797203, 1.0091556870797203, 1.0164918762863764, 1.0164918762863764, 1.0164918762863764, 1.0164918762863764, 1.0164918762863764, 1.0105232838073241, 1.0105232838073241, 1.0105232838073241, 1.0105232838073241, 1.0049597188399066, 1.0049597188399066, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0418289389296196, 1.0418289389296196, 1.0439902532874752, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0504855444514725, 1.0504855444514725, 1.0504855444514725, 1.042777566251313, 1.042777566251313, 1.042777566251313, 1.0391331691518497, 1.0391331691518497, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0419186371982503, 1.039188341137738, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.0378971678982574, 1.0378971678982574, 1.035471731248656, 1.035471731248656, 1.035471731248656, 1.035471731248656, 1.0403041461909166, 1.0403041461909166, 1.0450233010923913, 1.0450233010923913, 1.0389125107302524, 1.0389125107302524, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0153364692785671, 1.0192602696854862, 1.0051753326648187, 1.0051753326648187, 1.0051753326648187, 1.007450720923919, 1.007450720923919, 1.0063092567686684, 1.0063092567686684, 1.0063092567686684, 1.0063092567686684, 1, 1, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0158912732889336, 1.0211199204050005, 1.0211199204050005, 1.0086269119750284, 1.0041281490227922, 1.0041281490227922, 1.0041281490227922, 1 ], "yaxis": "y3" }, { "hoverinfo": "skip", "line": { "color": "rgba(0, 0, 0, 0)", "width": 0 }, "mode": "lines", "opacity": 0, "showlegend": false, "type": "scatter", "uid": "593abbe0-fcb2-43f9-83e2-0b622bcde883", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "yaxis": "y3" }, { "connectgaps": false, "fill": "tonexty", "fillcolor": "rgba(255, 0, 0, 0.25)", "hoverinfo": "skip", "line": { "color": "rgba(0, 0, 0, 0)", "width": 0 }, "mode": "lines", "opacity": 0, "showlegend": false, "type": "scatter", "uid": "50ec5c0e-06f8-47cb-9202-34e372ac9d81", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9994048936531154, 0.9994048936531154, 0.9994048936531154, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.978793831796979, 0.978793831796979, 0.978793831796979, 0.978793831796979, 0.9788331742732794, 0.9788331742732794, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.992686191613093, 0.992686191613093, 0.992686191613093, 0.992686191613093, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9842632585374541, 0.9842632585374541, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9985977373012203, 0.9985977373012203, 1, 1, 1, 1, 1, 1, 1, 1, 0.9858065205002994, 0.9858065205002994, 0.9858065205002994, 0.9858065205002994, 0.9960546719468797, 0.9960546719468797, 0.9965036357998701, 0.9965036357998701, 0.9965036357998701, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9943510251650145 ], "yaxis": "y3" }, { "legendgroup": "1", "line": { "color": "#9467bd" }, "mode": "lines", "name": "Value", "showlegend": true, "type": "scatter", "uid": "59069c6b-f748-4970-90db-6cc7f0cee52c", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9994048936531154, 0.9994048936531154, 0.9994048936531154, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9956214501754473, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9955747051299049, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.9757027041800352, 0.978793831796979, 0.978793831796979, 0.978793831796979, 0.978793831796979, 0.9788331742732794, 0.9788331742732794, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9809574825118811, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.9768241801562604, 0.992686191613093, 0.992686191613093, 0.992686191613093, 0.992686191613093, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9848711516210108, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9871482925423252, 0.9842632585374541, 0.9842632585374541, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9820278976825965, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 0.9898447086436627, 1.0076962298938408, 1.0076962298938408, 1.0091556870797203, 1.0091556870797203, 1.0091556870797203, 1.0091556870797203, 1.0164918762863764, 1.0164918762863764, 1.0164918762863764, 1.0164918762863764, 1.0164918762863764, 1.0105232838073241, 1.0105232838073241, 1.0105232838073241, 1.0105232838073241, 1.0049597188399066, 1.0049597188399066, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.0103173282265232, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.012883649146296, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.036165992113715, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0394339126135763, 1.0418289389296196, 1.0418289389296196, 1.0439902532874752, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0484634035737554, 1.0504855444514725, 1.0504855444514725, 1.0504855444514725, 1.042777566251313, 1.042777566251313, 1.042777566251313, 1.0391331691518497, 1.0391331691518497, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0420212632771897, 1.0419186371982503, 1.039188341137738, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.036054074155364, 1.0378971678982574, 1.0378971678982574, 1.035471731248656, 1.035471731248656, 1.035471731248656, 1.035471731248656, 1.0403041461909166, 1.0403041461909166, 1.0450233010923913, 1.0450233010923913, 1.0389125107302524, 1.0389125107302524, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0381820771933503, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0354559323574315, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.0352388585483756, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.038563354199285, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0135226655375569, 1.0153364692785671, 1.0192602696854862, 1.0051753326648187, 1.0051753326648187, 1.0051753326648187, 1.007450720923919, 1.007450720923919, 1.0063092567686684, 1.0063092567686684, 1.0063092567686684, 1.0063092567686684, 0.9985977373012203, 0.9985977373012203, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 1.000718487946479, 0.9858065205002994, 0.9858065205002994, 0.9858065205002994, 0.9858065205002994, 0.9960546719468797, 0.9960546719468797, 0.9965036357998701, 0.9965036357998701, 0.9965036357998701, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0126394520344884, 1.0158912732889336, 1.0211199204050005, 1.0211199204050005, 1.0086269119750284, 1.0041281490227922, 1.0041281490227922, 1.0041281490227922, 0.9943510251650145 ], "yaxis": "y3" }, { "hoverinfo": "skip", "line": { "color": "rgba(0, 0, 0, 0)", "width": 0 }, "mode": "lines", "opacity": 0, "showlegend": false, "type": "scatter", "uid": "b79f3e59-6a15-4112-a020-b84b1f5644c4", "x": [ "2021-09-02T00:00:00+00:00", "2021-09-03T00:00:00+00:00", "2021-09-04T00:00:00+00:00", "2021-09-05T00:00:00+00:00", "2021-09-06T00:00:00+00:00", "2021-09-07T00:00:00+00:00", "2021-09-08T00:00:00+00:00", "2021-09-09T00:00:00+00:00", "2021-09-10T00:00:00+00:00", "2021-09-11T00:00:00+00:00", "2021-09-12T00:00:00+00:00", "2021-09-13T00:00:00+00:00", "2021-09-14T00:00:00+00:00", "2021-09-15T00:00:00+00:00", "2021-09-16T00:00:00+00:00", "2021-09-17T00:00:00+00:00", "2021-09-18T00:00:00+00:00", "2021-09-19T00:00:00+00:00", "2021-09-20T00:00:00+00:00", "2021-09-21T00:00:00+00:00", "2021-09-22T00:00:00+00:00", "2021-09-23T00:00:00+00:00", "2021-09-24T00:00:00+00:00", "2021-09-25T00:00:00+00:00", "2021-09-26T00:00:00+00:00", "2021-09-27T00:00:00+00:00", "2021-09-28T00:00:00+00:00", "2021-09-29T00:00:00+00:00", "2021-09-30T00:00:00+00:00", "2021-10-01T00:00:00+00:00", "2021-10-02T00:00:00+00:00", "2021-10-03T00:00:00+00:00", "2021-10-04T00:00:00+00:00", "2021-10-05T00:00:00+00:00", "2021-10-06T00:00:00+00:00", "2021-10-07T00:00:00+00:00", "2021-10-08T00:00:00+00:00", "2021-10-09T00:00:00+00:00", "2021-10-10T00:00:00+00:00", "2021-10-11T00:00:00+00:00", "2021-10-12T00:00:00+00:00", "2021-10-13T00:00:00+00:00", "2021-10-14T00:00:00+00:00", "2021-10-15T00:00:00+00:00", "2021-10-16T00:00:00+00:00", "2021-10-17T00:00:00+00:00", "2021-10-18T00:00:00+00:00", "2021-10-19T00:00:00+00:00", "2021-10-20T00:00:00+00:00", "2021-10-21T00:00:00+00:00", "2021-10-22T00:00:00+00:00", "2021-10-23T00:00:00+00:00", "2021-10-24T00:00:00+00:00", "2021-10-25T00:00:00+00:00", "2021-10-26T00:00:00+00:00", "2021-10-27T00:00:00+00:00", "2021-10-28T00:00:00+00:00", "2021-10-29T00:00:00+00:00", "2021-10-30T00:00:00+00:00", "2021-10-31T00:00:00+00:00", "2021-11-01T00:00:00+00:00", "2021-11-02T00:00:00+00:00", "2021-11-03T00:00:00+00:00", "2021-11-04T00:00:00+00:00", "2021-11-05T00:00:00+00:00", "2021-11-06T00:00:00+00:00", "2021-11-07T00:00:00+00:00", "2021-11-08T00:00:00+00:00", "2021-11-09T00:00:00+00:00", "2021-11-10T00:00:00+00:00", "2021-11-11T00:00:00+00:00", "2021-11-12T00:00:00+00:00", "2021-11-13T00:00:00+00:00", "2021-11-14T00:00:00+00:00", "2021-11-15T00:00:00+00:00", "2021-11-16T00:00:00+00:00", "2021-11-17T00:00:00+00:00", "2021-11-18T00:00:00+00:00", "2021-11-19T00:00:00+00:00", "2021-11-20T00:00:00+00:00", "2021-11-21T00:00:00+00:00", "2021-11-22T00:00:00+00:00", "2021-11-23T00:00:00+00:00", "2021-11-24T00:00:00+00:00", "2021-11-25T00:00:00+00:00", "2021-11-26T00:00:00+00:00", "2021-11-27T00:00:00+00:00", "2021-11-28T00:00:00+00:00", "2021-11-29T00:00:00+00:00", "2021-11-30T00:00:00+00:00", "2021-12-01T00:00:00+00:00", "2021-12-02T00:00:00+00:00", "2021-12-03T00:00:00+00:00", "2021-12-04T00:00:00+00:00", "2021-12-05T00:00:00+00:00", "2021-12-06T00:00:00+00:00", "2021-12-07T00:00:00+00:00", "2021-12-08T00:00:00+00:00", "2021-12-09T00:00:00+00:00", "2021-12-10T00:00:00+00:00", "2021-12-11T00:00:00+00:00", "2021-12-12T00:00:00+00:00", "2021-12-13T00:00:00+00:00", "2021-12-14T00:00:00+00:00", "2021-12-15T00:00:00+00:00", "2021-12-16T00:00:00+00:00", "2021-12-17T00:00:00+00:00", "2021-12-18T00:00:00+00:00", "2021-12-19T00:00:00+00:00", "2021-12-20T00:00:00+00:00", "2021-12-21T00:00:00+00:00", "2021-12-22T00:00:00+00:00", "2021-12-23T00:00:00+00:00", "2021-12-24T00:00:00+00:00", "2021-12-25T00:00:00+00:00", "2021-12-26T00:00:00+00:00", "2021-12-27T00:00:00+00:00", "2021-12-28T00:00:00+00:00", "2021-12-29T00:00:00+00:00", "2021-12-30T00:00:00+00:00", "2021-12-31T00:00:00+00:00", "2022-01-01T00:00:00+00:00", "2022-01-02T00:00:00+00:00", "2022-01-03T00:00:00+00:00", "2022-01-04T00:00:00+00:00", "2022-01-05T00:00:00+00:00", "2022-01-06T00:00:00+00:00", "2022-01-07T00:00:00+00:00", "2022-01-08T00:00:00+00:00", "2022-01-09T00:00:00+00:00", "2022-01-10T00:00:00+00:00", "2022-01-11T00:00:00+00:00", "2022-01-12T00:00:00+00:00", "2022-01-13T00:00:00+00:00", "2022-01-14T00:00:00+00:00", "2022-01-15T00:00:00+00:00", "2022-01-16T00:00:00+00:00", "2022-01-17T00:00:00+00:00", "2022-01-18T00:00:00+00:00", "2022-01-19T00:00:00+00:00", "2022-01-20T00:00:00+00:00", "2022-01-21T00:00:00+00:00", "2022-01-22T00:00:00+00:00", "2022-01-23T00:00:00+00:00", "2022-01-24T00:00:00+00:00", "2022-01-25T00:00:00+00:00", "2022-01-26T00:00:00+00:00", "2022-01-27T00:00:00+00:00", "2022-01-28T00:00:00+00:00", "2022-01-29T00:00:00+00:00", "2022-01-30T00:00:00+00:00", "2022-01-31T00:00:00+00:00", "2022-02-01T00:00:00+00:00", "2022-02-02T00:00:00+00:00", "2022-02-03T00:00:00+00:00", "2022-02-04T00:00:00+00:00", "2022-02-05T00:00:00+00:00", "2022-02-06T00:00:00+00:00", "2022-02-07T00:00:00+00:00", "2022-02-08T00:00:00+00:00", "2022-02-09T00:00:00+00:00", "2022-02-10T00:00:00+00:00", "2022-02-11T00:00:00+00:00", "2022-02-12T00:00:00+00:00", "2022-02-13T00:00:00+00:00", "2022-02-14T00:00:00+00:00", "2022-02-15T00:00:00+00:00", "2022-02-16T00:00:00+00:00", "2022-02-17T00:00:00+00:00", "2022-02-18T00:00:00+00:00", "2022-02-19T00:00:00+00:00", "2022-02-20T00:00:00+00:00", "2022-02-21T00:00:00+00:00", "2022-02-22T00:00:00+00:00", "2022-02-23T00:00:00+00:00", "2022-02-24T00:00:00+00:00", "2022-02-25T00:00:00+00:00", "2022-02-26T00:00:00+00:00", "2022-02-27T00:00:00+00:00", "2022-02-28T00:00:00+00:00", "2022-03-01T00:00:00+00:00", "2022-03-02T00:00:00+00:00", "2022-03-03T00:00:00+00:00", "2022-03-04T00:00:00+00:00", "2022-03-05T00:00:00+00:00", "2022-03-06T00:00:00+00:00", "2022-03-07T00:00:00+00:00", "2022-03-08T00:00:00+00:00", "2022-03-09T00:00:00+00:00", "2022-03-10T00:00:00+00:00", "2022-03-11T00:00:00+00:00", "2022-03-12T00:00:00+00:00", "2022-03-13T00:00:00+00:00", "2022-03-14T00:00:00+00:00", "2022-03-15T00:00:00+00:00", "2022-03-16T00:00:00+00:00", "2022-03-17T00:00:00+00:00", "2022-03-18T00:00:00+00:00", "2022-03-19T00:00:00+00:00", "2022-03-20T00:00:00+00:00", "2022-03-21T00:00:00+00:00", "2022-03-22T00:00:00+00:00", "2022-03-23T00:00:00+00:00", "2022-03-24T00:00:00+00:00", "2022-03-25T00:00:00+00:00", "2022-03-26T00:00:00+00:00", "2022-03-27T00:00:00+00:00", "2022-03-28T00:00:00+00:00", "2022-03-29T00:00:00+00:00", "2022-03-30T00:00:00+00:00", "2022-03-31T00:00:00+00:00", "2022-04-01T00:00:00+00:00", "2022-04-02T00:00:00+00:00", "2022-04-03T00:00:00+00:00", "2022-04-04T00:00:00+00:00", "2022-04-05T00:00:00+00:00", "2022-04-06T00:00:00+00:00", "2022-04-07T00:00:00+00:00", "2022-04-08T00:00:00+00:00", "2022-04-09T00:00:00+00:00", "2022-04-10T00:00:00+00:00", "2022-04-11T00:00:00+00:00", "2022-04-12T00:00:00+00:00", "2022-04-13T00:00:00+00:00", "2022-04-14T00:00:00+00:00", "2022-04-15T00:00:00+00:00", "2022-04-16T00:00:00+00:00", "2022-04-17T00:00:00+00:00", "2022-04-18T00:00:00+00:00", "2022-04-19T00:00:00+00:00", "2022-04-20T00:00:00+00:00", "2022-04-21T00:00:00+00:00", "2022-04-22T00:00:00+00:00", "2022-04-23T00:00:00+00:00", "2022-04-24T00:00:00+00:00", "2022-04-25T00:00:00+00:00", "2022-04-26T00:00:00+00:00", "2022-04-27T00:00:00+00:00", "2022-04-28T00:00:00+00:00", "2022-04-29T00:00:00+00:00", "2022-04-30T00:00:00+00:00", "2022-05-01T00:00:00+00:00", "2022-05-02T00:00:00+00:00", "2022-05-03T00:00:00+00:00", "2022-05-04T00:00:00+00:00", "2022-05-05T00:00:00+00:00", "2022-05-06T00:00:00+00:00", "2022-05-07T00:00:00+00:00", "2022-05-08T00:00:00+00:00", "2022-05-09T00:00:00+00:00", "2022-05-10T00:00:00+00:00", "2022-05-11T00:00:00+00:00", "2022-05-12T00:00:00+00:00", "2022-05-13T00:00:00+00:00", "2022-05-14T00:00:00+00:00", "2022-05-15T00:00:00+00:00", "2022-05-16T00:00:00+00:00", "2022-05-17T00:00:00+00:00", "2022-05-18T00:00:00+00:00", "2022-05-19T00:00:00+00:00", "2022-05-20T00:00:00+00:00", "2022-05-21T00:00:00+00:00", "2022-05-22T00:00:00+00:00", "2022-05-23T00:00:00+00:00", "2022-05-24T00:00:00+00:00", "2022-05-25T00:00:00+00:00", "2022-05-26T00:00:00+00:00", "2022-05-27T00:00:00+00:00", "2022-05-28T00:00:00+00:00", "2022-05-29T00:00:00+00:00", "2022-05-30T00:00:00+00:00", "2022-05-31T00:00:00+00:00", "2022-06-01T00:00:00+00:00", "2022-06-02T00:00:00+00:00", "2022-06-03T00:00:00+00:00", "2022-06-04T00:00:00+00:00", "2022-06-05T00:00:00+00:00", "2022-06-06T00:00:00+00:00", "2022-06-07T00:00:00+00:00", "2022-06-08T00:00:00+00:00", "2022-06-09T00:00:00+00:00", "2022-06-10T00:00:00+00:00", "2022-06-11T00:00:00+00:00", "2022-06-12T00:00:00+00:00", "2022-06-13T00:00:00+00:00", "2022-06-14T00:00:00+00:00", "2022-06-15T00:00:00+00:00", "2022-06-16T00:00:00+00:00", "2022-06-17T00:00:00+00:00", "2022-06-18T00:00:00+00:00", "2022-06-19T00:00:00+00:00", "2022-06-20T00:00:00+00:00", "2022-06-21T00:00:00+00:00", "2022-06-22T00:00:00+00:00", "2022-06-23T00:00:00+00:00", "2022-06-24T00:00:00+00:00", "2022-06-25T00:00:00+00:00", "2022-06-26T00:00:00+00:00", "2022-06-27T00:00:00+00:00", "2022-06-28T00:00:00+00:00", "2022-06-29T00:00:00+00:00", "2022-06-30T00:00:00+00:00", "2022-07-01T00:00:00+00:00", "2022-07-02T00:00:00+00:00", "2022-07-03T00:00:00+00:00", "2022-07-04T00:00:00+00:00", "2022-07-05T00:00:00+00:00", "2022-07-06T00:00:00+00:00", "2022-07-07T00:00:00+00:00", "2022-07-08T00:00:00+00:00", "2022-07-09T00:00:00+00:00", "2022-07-10T00:00:00+00:00", "2022-07-11T00:00:00+00:00", "2022-07-12T00:00:00+00:00", "2022-07-13T00:00:00+00:00", "2022-07-14T00:00:00+00:00", "2022-07-15T00:00:00+00:00", "2022-07-16T00:00:00+00:00", "2022-07-17T00:00:00+00:00", "2022-07-18T00:00:00+00:00", "2022-07-19T00:00:00+00:00", "2022-07-20T00:00:00+00:00", "2022-07-21T00:00:00+00:00", "2022-07-22T00:00:00+00:00", "2022-07-23T00:00:00+00:00", "2022-07-24T00:00:00+00:00", "2022-07-25T00:00:00+00:00", "2022-07-26T00:00:00+00:00", "2022-07-27T00:00:00+00:00", "2022-07-28T00:00:00+00:00", "2022-07-29T00:00:00+00:00", "2022-07-30T00:00:00+00:00", "2022-07-31T00:00:00+00:00", "2022-08-01T00:00:00+00:00", "2022-08-02T00:00:00+00:00", "2022-08-03T00:00:00+00:00", "2022-08-04T00:00:00+00:00", "2022-08-05T00:00:00+00:00", "2022-08-06T00:00:00+00:00", "2022-08-07T00:00:00+00:00", "2022-08-08T00:00:00+00:00", "2022-08-09T00:00:00+00:00", "2022-08-10T00:00:00+00:00", "2022-08-11T00:00:00+00:00", "2022-08-12T00:00:00+00:00", "2022-08-13T00:00:00+00:00", "2022-08-14T00:00:00+00:00", "2022-08-15T00:00:00+00:00", "2022-08-16T00:00:00+00:00", "2022-08-17T00:00:00+00:00", "2022-08-18T00:00:00+00:00", "2022-08-19T00:00:00+00:00", "2022-08-20T00:00:00+00:00", "2022-08-21T00:00:00+00:00", "2022-08-22T00:00:00+00:00", "2022-08-23T00:00:00+00:00", "2022-08-24T00:00:00+00:00", "2022-08-25T00:00:00+00:00", "2022-08-26T00:00:00+00:00", "2022-08-27T00:00:00+00:00", "2022-08-28T00:00:00+00:00", "2022-08-29T00:00:00+00:00", "2022-08-30T00:00:00+00:00", "2022-08-31T00:00:00+00:00", "2022-09-01T00:00:00+00:00", "2022-09-02T00:00:00+00:00", "2022-09-03T00:00:00+00:00", "2022-09-04T00:00:00+00:00", "2022-09-05T00:00:00+00:00", "2022-09-06T00:00:00+00:00", "2022-09-07T00:00:00+00:00", "2022-09-08T00:00:00+00:00", "2022-09-09T00:00:00+00:00", "2022-09-10T00:00:00+00:00", "2022-09-11T00:00:00+00:00", "2022-09-12T00:00:00+00:00", "2022-09-13T00:00:00+00:00", "2022-09-14T00:00:00+00:00", "2022-09-15T00:00:00+00:00", "2022-09-16T00:00:00+00:00", "2022-09-17T00:00:00+00:00", "2022-09-18T00:00:00+00:00", "2022-09-19T00:00:00+00:00", "2022-09-20T00:00:00+00:00", "2022-09-21T00:00:00+00:00", "2022-09-22T00:00:00+00:00", "2022-09-23T00:00:00+00:00", "2022-09-24T00:00:00+00:00", "2022-09-25T00:00:00+00:00", "2022-09-26T00:00:00+00:00", "2022-09-27T00:00:00+00:00", "2022-09-28T00:00:00+00:00", "2022-09-29T00:00:00+00:00", "2022-09-30T00:00:00+00:00", "2022-10-01T00:00:00+00:00", "2022-10-02T00:00:00+00:00", "2022-10-03T00:00:00+00:00", "2022-10-04T00:00:00+00:00", "2022-10-05T00:00:00+00:00", "2022-10-06T00:00:00+00:00", "2022-10-07T00:00:00+00:00", "2022-10-08T00:00:00+00:00", "2022-10-09T00:00:00+00:00", "2022-10-10T00:00:00+00:00", "2022-10-11T00:00:00+00:00", "2022-10-12T00:00:00+00:00", "2022-10-13T00:00:00+00:00", "2022-10-14T00:00:00+00:00", "2022-10-15T00:00:00+00:00", "2022-10-16T00:00:00+00:00", "2022-10-17T00:00:00+00:00", "2022-10-18T00:00:00+00:00", "2022-10-19T00:00:00+00:00", "2022-10-20T00:00:00+00:00", "2022-10-21T00:00:00+00:00", "2022-10-22T00:00:00+00:00", "2022-10-23T00:00:00+00:00", "2022-10-24T00:00:00+00:00", "2022-10-25T00:00:00+00:00", "2022-10-26T00:00:00+00:00", "2022-10-27T00:00:00+00:00", "2022-10-28T00:00:00+00:00", "2022-10-29T00:00:00+00:00", "2022-10-30T00:00:00+00:00", "2022-10-31T00:00:00+00:00", "2022-11-01T00:00:00+00:00", "2022-11-02T00:00:00+00:00", "2022-11-03T00:00:00+00:00", "2022-11-04T00:00:00+00:00", "2022-11-05T00:00:00+00:00", "2022-11-06T00:00:00+00:00", "2022-11-07T00:00:00+00:00", "2022-11-08T00:00:00+00:00", "2022-11-09T00:00:00+00:00", "2022-11-10T00:00:00+00:00", "2022-11-11T00:00:00+00:00", "2022-11-12T00:00:00+00:00", "2022-11-13T00:00:00+00:00", "2022-11-14T00:00:00+00:00", "2022-11-15T00:00:00+00:00", "2022-11-16T00:00:00+00:00", "2022-11-17T00:00:00+00:00", "2022-11-18T00:00:00+00:00", "2022-11-19T00:00:00+00:00", "2022-11-20T00:00:00+00:00", "2022-11-21T00:00:00+00:00", "2022-11-22T00:00:00+00:00", "2022-11-23T00:00:00+00:00", "2022-11-24T00:00:00+00:00", "2022-11-25T00:00:00+00:00", "2022-11-26T00:00:00+00:00", "2022-11-27T00:00:00+00:00", "2022-11-28T00:00:00+00:00", "2022-11-29T00:00:00+00:00", "2022-11-30T00:00:00+00:00", "2022-12-01T00:00:00+00:00", "2022-12-02T00:00:00+00:00", "2022-12-03T00:00:00+00:00", "2022-12-04T00:00:00+00:00", "2022-12-05T00:00:00+00:00", "2022-12-06T00:00:00+00:00", "2022-12-07T00:00:00+00:00", "2022-12-08T00:00:00+00:00", "2022-12-09T00:00:00+00:00", "2022-12-10T00:00:00+00:00", "2022-12-11T00:00:00+00:00", "2022-12-12T00:00:00+00:00", "2022-12-13T00:00:00+00:00", "2022-12-14T00:00:00+00:00", "2022-12-15T00:00:00+00:00", "2022-12-16T00:00:00+00:00", "2022-12-17T00:00:00+00:00", "2022-12-18T00:00:00+00:00", "2022-12-19T00:00:00+00:00", "2022-12-20T00:00:00+00:00", "2022-12-21T00:00:00+00:00", "2022-12-22T00:00:00+00:00", "2022-12-23T00:00:00+00:00", "2022-12-24T00:00:00+00:00", "2022-12-25T00:00:00+00:00", "2022-12-26T00:00:00+00:00", "2022-12-27T00:00:00+00:00", "2022-12-28T00:00:00+00:00", "2022-12-29T00:00:00+00:00", "2022-12-30T00:00:00+00:00", "2022-12-31T00:00:00+00:00", "2023-01-01T00:00:00+00:00", "2023-01-02T00:00:00+00:00", "2023-01-03T00:00:00+00:00", "2023-01-04T00:00:00+00:00", "2023-01-05T00:00:00+00:00", "2023-01-06T00:00:00+00:00", "2023-01-07T00:00:00+00:00", "2023-01-08T00:00:00+00:00", "2023-01-09T00:00:00+00:00", "2023-01-10T00:00:00+00:00", "2023-01-11T00:00:00+00:00", "2023-01-12T00:00:00+00:00", "2023-01-13T00:00:00+00:00", "2023-01-14T00:00:00+00:00", "2023-01-15T00:00:00+00:00", "2023-01-16T00:00:00+00:00", "2023-01-17T00:00:00+00:00", "2023-01-18T00:00:00+00:00", "2023-01-19T00:00:00+00:00", "2023-01-20T00:00:00+00:00", "2023-01-21T00:00:00+00:00", "2023-01-22T00:00:00+00:00", "2023-01-23T00:00:00+00:00", "2023-01-24T00:00:00+00:00", "2023-01-25T00:00:00+00:00", "2023-01-26T00:00:00+00:00", "2023-01-27T00:00:00+00:00", "2023-01-28T00:00:00+00:00", "2023-01-29T00:00:00+00:00", "2023-01-30T00:00:00+00:00", "2023-01-31T00:00:00+00:00", "2023-02-01T00:00:00+00:00", "2023-02-02T00:00:00+00:00", "2023-02-03T00:00:00+00:00", "2023-02-04T00:00:00+00:00", "2023-02-05T00:00:00+00:00", "2023-02-06T00:00:00+00:00", "2023-02-07T00:00:00+00:00", "2023-02-08T00:00:00+00:00", "2023-02-09T00:00:00+00:00", "2023-02-10T00:00:00+00:00", "2023-02-11T00:00:00+00:00", "2023-02-12T00:00:00+00:00", "2023-02-13T00:00:00+00:00", "2023-02-14T00:00:00+00:00", "2023-02-15T00:00:00+00:00", "2023-02-16T00:00:00+00:00", "2023-02-17T00:00:00+00:00", "2023-02-18T00:00:00+00:00", "2023-02-19T00:00:00+00:00", "2023-02-20T00:00:00+00:00", "2023-02-21T00:00:00+00:00", "2023-02-22T00:00:00+00:00", "2023-02-23T00:00:00+00:00", "2023-02-24T00:00:00+00:00", "2023-02-25T00:00:00+00:00", "2023-02-26T00:00:00+00:00", "2023-02-27T00:00:00+00:00", "2023-02-28T00:00:00+00:00", "2023-03-01T00:00:00+00:00", "2023-03-02T00:00:00+00:00", "2023-03-03T00:00:00+00:00", "2023-03-04T00:00:00+00:00", "2023-03-05T00:00:00+00:00", "2023-03-06T00:00:00+00:00", "2023-03-07T00:00:00+00:00", "2023-03-08T00:00:00+00:00", "2023-03-09T00:00:00+00:00", "2023-03-10T00:00:00+00:00", "2023-03-11T00:00:00+00:00", "2023-03-12T00:00:00+00:00", "2023-03-13T00:00:00+00:00" ], "xaxis": "x3", "y": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "yaxis": "y3" } ], "layout": { "annotations": [ { "font": { "size": 16 }, "showarrow": false, "text": "Orders", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "Trade PnL", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 0.6527777777777777, "yanchor": "bottom", "yref": "paper" }, { "font": { "size": 16 }, "showarrow": false, "text": "Cumulative Returns", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 0.3055555555555555, "yanchor": "bottom", "yref": "paper" } ], "height": 960, "legend": { "orientation": "h", "traceorder": "normal", "x": 1, "xanchor": "right", "y": 1.0416666666666667, "yanchor": "bottom" }, "margin": { "b": 30, "l": 30, "r": 30, "t": 30 }, "shapes": [ { "line": { "color": "gray", "dash": "dash" }, "type": "line", "x0": 0, "x1": 1, "xref": "paper", "y0": 0, "y1": 0, "yref": "y2" }, { "line": { "color": "gray", "dash": "dash" }, "type": "line", "x0": 0, "x1": 1, "xref": "paper", "y0": 1, "y1": 1, "yref": "y3" } ], "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "#d6dfef" }, "error_y": { "color": "#d6dfef" }, "marker": { "line": { "color": "#21222c", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#21222c", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#A2B1C6", "gridcolor": "#343545", "linecolor": "#343545", "minorgridcolor": "#343545", "startlinecolor": "#A2B1C6" }, "baxis": { "endlinecolor": "#A2B1C6", "gridcolor": "#343545", "linecolor": "#343545", "minorgridcolor": "#343545", "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": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "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": "#343545" } }, "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": "#343545" } }, "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": "#343545" }, "line": { "color": "#21222c" } }, "header": { "fill": { "color": "#2a3f5f" }, "line": { "color": "#21222c" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#d6dfef", "arrowhead": 0, "arrowwidth": 1 }, "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": [ "#1f77b4", "#ff7f0e", "#2ca02c", "#dc3912", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf" ], "font": { "color": "#d6dfef" }, "geo": { "bgcolor": "#21222c", "lakecolor": "#21222c", "landcolor": "#21222c", "showlakes": true, "showland": true, "subunitcolor": "#343545" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "dark" }, "paper_bgcolor": "#21222c", "plot_bgcolor": "#21222c", "polar": { "angularaxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" }, "bgcolor": "#21222c", "radialaxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#21222c", "gridcolor": "#343545", "gridwidth": 2, "linecolor": "#343545", "showbackground": true, "ticks": "", "zerolinecolor": "#aec0d6" }, "yaxis": { "backgroundcolor": "#21222c", "gridcolor": "#343545", "gridwidth": 2, "linecolor": "#343545", "showbackground": true, "ticks": "", "zerolinecolor": "#aec0d6" }, "zaxis": { "backgroundcolor": "#21222c", "gridcolor": "#343545", "gridwidth": 2, "linecolor": "#343545", "showbackground": true, "ticks": "", "zerolinecolor": "#aec0d6" } }, "shapedefaults": { "line": { "color": "#d6dfef" } }, "sliderdefaults": { "bgcolor": "#aec0d6", "bordercolor": "#21222c", "borderwidth": 1, "tickwidth": 0 }, "ternary": { "aaxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" }, "baxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" }, "bgcolor": "#21222c", "caxis": { "gridcolor": "#343545", "linecolor": "#343545", "ticks": "" } }, "title": { "x": 0.05 }, "updatemenudefaults": { "bgcolor": "#343545", "borderwidth": 0 }, "xaxis": { "automargin": true, "gridcolor": "#343545", "linecolor": "#343545", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#343545", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#343545", "linecolor": "#343545", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#343545", "zerolinewidth": 2 } } }, "width": 1330, "xaxis": { "anchor": "y", "domain": [ 0, 1 ], "matches": "x3", "rangeslider": { "visible": false }, "showticklabels": false }, "xaxis2": { "anchor": "y2", "domain": [ 0, 1 ], "matches": "x3", "showticklabels": false }, "xaxis3": { "anchor": "y3", "domain": [ 0, 1 ], "title": { "text": "Index" } }, "yaxis": { "anchor": "x", "domain": [ 0.6944444444444444, 1 ], "title": { "text": "Price" } }, "yaxis2": { "anchor": "x2", "domain": [ 0.3472222222222222, 0.6527777777777777 ], "tickformat": ".2%", "title": { "text": "Trade PnL" } }, "yaxis3": { "anchor": "x3", "domain": [ 0, 0.3055555555555555 ], "title": { "text": "Cumulative returns" } } } } }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# We can now plot the entire portfolio\n", "merged_pf.resample(\"daily\").plot().show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Custom Order Simulator\n", "> Putting it all together from above
\n", "\n", "**Need**:
\n", "The main issue with using `from_order_func` is that we need to go over the entire data as many times as there are signals because the order function is run on each element. A far more time-efficient approach would be processing trades in a sequential order.\n", "This is easily possible because our trades are perfectly sorted - we don't need to process a signal if the previous signal hasn't been processed yet.\n", "\n", "Also, because the scope of this notebook assumes that signals are independent, we can simulate them independently and stop each signal's simulation once its position has been closed out\n", "This is only possible by writing an own simulator (which isn't as scary as it sounds!)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Let's build the simulator**
\n", "Technically, it's just a regular Numba function that does whatever we want.
\n", "What's special about it is that it calls the vectorbt's low-level API to place orders and updates the simulation state such as cash balances and positions" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [], "source": [ "# To avoid duplicating our signal logic, we will re-use order_func_nb by passing our own limited context\n", "# It will consist only of the fields that are required by our order_func_nb\n", "\n", "OrderContext = namedtuple(\"OrderContext\", [\n", " \"i\",\n", " \"col\",\n", " \"index\",\n", " \"open\", \n", " \"high\",\n", " \"low\",\n", " \"close\",\n", " \"last_position\"\n", "])" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Nr. of TP Levels\n", "signal_info.tp.shape[1]" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "232" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal_data.get().shape[0]" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [], "source": [ "# We'll first determine the bars where the signals happen, and then run a smaller simulation on the first signal.\n", "# Once the signal's position has been closed out, we'll terminate the simulation and continue with the next signal, \n", "# until all signals are processed.\n", "\n", "@njit(boundscheck=True)\n", "def signal_simulator_nb(index,\n", " open,\n", " high,\n", " low,\n", " close,\n", " signal_info,\n", " temp_info\n", " ):\n", " # Determine the number of signals, levels, and potential orders\n", " n_signals = len(signal_info.timestamp)\n", " n_sl_levels = signal_info.sl.shape[1]\n", " n_tp_levels = signal_info.tp.shape[1]\n", " max_orders = 1 + n_sl_levels + n_tp_levels\n", " \n", " # TEMPORARY ARRAYS\n", " # This array will hold the bar where each signal happens\n", " signal_bars = np.full(n_signals, -1, dtype=np.int_)\n", " \n", " # This array will hold order records\n", " # Initially, order records are uninitialized (junk data) but we will fill them gradually\n", " # Notice how we use our own data type custom_order_dt - we can fill order type and stop type fields right during the simulation\n", " order_records = np.empty((max_orders, n_signals), dtype=custom_order_dt)\n", " \n", " # To be able to distinguish between uninitialized and initialized (filled) orders,\n", " # we'll create another array holding the number of filled orders for each signal\n", " # For example, if order_records has a maximum of 6 rows and only one record is filled,\n", " # order_counts will be 1 for this signal, so vectorbt can remove 5 unfilled orders later\n", " order_counts = np.full(n_signals, 0, dtype=np.int_)\n", " \n", " # order_func_nb requires last_position, which holds the position of each signal\n", " last_position = np.full(n_signals, 0.0, dtype=np.float_)\n", " \n", " # First, we need to determine the bars where the signals happen\n", " # Even though we know their timestamps, we need to translate them into absolute indices\n", " signal = 0\n", " bar = 0\n", " while signal < n_signals and bar < len(index):\n", " if index[bar] == signal_info.timestamp[signal]:\n", " # If there's a match, save the bar and continue with the next signal on the next bar\n", " signal_bars[signal] = bar\n", " signal += 1\n", " bar += 1\n", " elif index[bar] > signal_info.timestamp[signal]:\n", " # If we're past the signal, continue with the next signal on the same bar\n", " signal += 1\n", " else:\n", " # If we haven't hit the signal yet, continue on the next bar\n", " bar += 1\n", "\n", " # Once we know the bars, we can iterate over signals in a loop and simulate them independently\n", " for signal in range(n_signals):\n", " \n", " # If there was no match in the previous level, skip the simulation\n", " from_bar = signal_bars[signal]\n", " if from_bar == -1:\n", " continue\n", " \n", " # This is our initial execution state, which holds the most important cash balance\n", " exec_state = vbt.pf_enums.ExecState(\n", " cash=100.0, # We'll start with a starting capital of $100\n", " position=0.0,\n", " debt=0.0,\n", " locked_cash=0.0,\n", " free_cash=100.0,\n", " val_price=np.nan,\n", " value=np.nan\n", " )\n", " \n", " # Here comes the actual simulation that starts from the signal's bar and ends either once we processed all bars\n", " # or once the position has been closed out (see below)\n", " for bar in range(from_bar, len(index)):\n", " \n", " # Create a named tuple holding the current context (this is \"c\" in order_func_nb)\n", " c = OrderContext( \n", " i=bar,\n", " col=signal,\n", " index=index,\n", " open=open,\n", " high=high,\n", " low=low,\n", " close=close,\n", " last_position=last_position,\n", " )\n", " \n", " # If the first bar has no data, skip the simulation\n", " if bar == from_bar and not has_data_nb(c):\n", " break\n", "\n", " # Price area holds the OHLC of the current bar\n", " price_area = vbt.pf_enums.PriceArea(\n", " vbt.flex_select_nb(open, bar, signal), \n", " vbt.flex_select_nb(high, bar, signal), \n", " vbt.flex_select_nb(low, bar, signal), \n", " vbt.flex_select_nb(close, bar, signal)\n", " )\n", " \n", " # Why do we need to redefine the execution state?\n", " # Because we need to manually update the valuation price and the value of the column\n", " # to be able to use complex size types such as target percentages\n", " # As in order_func_nb, we will use the opening price as the valuation price\n", " # Why doesn't vectorbt do it on its own? Because it doesn't know anything about other columns. \n", " # For example, imagine having a grouped simulation with 100 columns sharing the same cash: \n", " # Using the formula below wouldn't consider the positions of other 99 columns.\n", " exec_state = vbt.pf_enums.ExecState(\n", " cash=exec_state.cash,\n", " position=exec_state.position,\n", " debt=exec_state.debt,\n", " locked_cash=exec_state.locked_cash,\n", " free_cash=exec_state.free_cash,\n", " val_price=price_area.open,\n", " value=exec_state.cash + price_area.open * exec_state.position\n", " )\n", " \n", " # Let's run the order function, which returns an order\n", " # Remember when we used order_nothing_nb()? It also returns an order but with filled with nans\n", " order = order_func_nb(c, signal_info, temp_info)\n", " \n", " # Here's the main function in this entire simulation, which \n", " # 1) executes the order,\n", " # 2) updates the execution state, and \n", " # 3) updates the order_records and order_counts\n", " order_result, exec_state = vbt.pf_nb.process_order_nb(\n", " signal, ## For Grouping\n", " signal, ## For column\n", " bar,\n", " exec_state=exec_state,\n", " order=order,\n", " price_area=price_area,\n", " order_records=order_records,\n", " order_counts=order_counts\n", " )\n", " \n", " # Where there's no grouping, then group = column. Columns in our case are signals. \n", " # If the order was successful (i.e., it's now in order_records),\n", " # we need to manually set the order type and stop type\n", " if order_result.status == vbt.pf_enums.OrderStatus.Filled:\n", " \n", " # Use this line to get the last order of any signal\n", " filled_order = order_records[order_counts[signal] - 1, signal]\n", " \n", " # Fill the order type\n", " filled_order[\"order_type\"] = signal_info.order_type[signal]\n", " \n", " # Fill the stop type by going through the SL and TP levels and checking whether \n", " # the order bar matches the level bar\n", " order_is_stop = False\n", " for k in range(n_sl_levels):\n", " if filled_order[\"idx\"] == temp_info.sl_bar[signal, k]:\n", " filled_order[\"stop_type\"] = k\n", " order_is_stop = True\n", " break\n", " for k in range(n_tp_levels):\n", " if filled_order[\"idx\"] == temp_info.tp_bar[signal, k]:\n", " filled_order[\"stop_type\"] = n_sl_levels + k # TP indices come after SL indices\n", " order_is_stop = True\n", " break\n", " \n", " # If order bar hasn't been matched, it's not a stop order\n", " if not order_is_stop:\n", " filled_order[\"stop_type\"] = -1\n", " \n", " # If we're not in position after an entry anymore, terminate the simulation\n", " if temp_info.entry_price_bar[signal] != -1:\n", " if exec_state.position == 0:\n", " break\n", " \n", " # Don't forget to update the position array\n", " last_position[signal] = exec_state.position\n", " \n", " # Remove uninitialized order records and flatten 2d array into a 1d array\n", " return vbt.nb.repartition_nb(order_records, order_counts)" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [], "source": [ "# Numba requires arrays in a NumPy format, and to avoid preparing them each time,\n", "# let's create a function that only takes the data and signal information, and does everything else for us\n", "\n", "def signal_simulator(data, signal_info):\n", " temp_info = build_temp_info(signal_info)\n", " \n", " custom_order_records = signal_simulator_nb(\n", " index = data.index.vbt.to_ns(), # convert to nanoseconds\n", " open = vbt.to_2d_array(data.open), # flexible indexing requires inputs to be 2d\n", " high = vbt.to_2d_array(data.high),\n", " low = vbt.to_2d_array(data.low),\n", " close = vbt.to_2d_array(data.close),\n", " signal_info = signal_info,\n", " temp_info = temp_info\n", " )\n", " \n", " # We have order records, what's left is wrapping them with a Portfolio\n", " # Required are three things: \n", " # 1) array wrapper with index and columns,\n", " # 2) order records, and \n", " # 3) prices\n", " # We also need to specify the starting capital that we used during the simulation\n", " return vbt.Portfolio(\n", " wrapper=vbt.ArrayWrapper(\n", " index=data.index, \n", " columns=pd.Index(signal_data.get(\"id\").values, name=\"id\"), # one column per signal, ids as column names\n", " freq=\"minute\"),\n", " order_records=custom_order_records,\n", " open=data.open,\n", " high=data.high,\n", " low=data.low,\n", " close=data.close,\n", " init_cash=100.0, ## starting capital\n", " orders_cls=CustomOrders\n", " )" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PnL: -0.5701185962467079\n" ] } ], "source": [ "# That's it!\n", "pf = signal_simulator(data, signal_info)\n", "print('PnL:',pf.trades.pnl.sum(group_by=True))" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Int64Index([ 846, 854, 866, 884, 887, 898, 942, 1037, 1044, 1063,\n", " ...\n", " 4381, 4382, 4387, 4390, 4400, 4408, 4411, 4413, 4425, 4432],\n", " dtype='int64', name='id', length=232)" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.wrapper.columns" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In the above `vbt.ArrayWrapper` in our `signal_simulator` function we pass `pd.Index(signal_data.get(\"id\").values, name=\"id\")`to the `columns` argument to retrieve additional information about the signal using the column `id` in the signal data. The messages id will now be displayed as column names and you can analyze them (for example, you would be able to do `pf[id].stats()` to analyze an equity curve of a single signal). Just don't analyze them all at once since they will use lots of RAM." ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Start 2021-09-02 00:00:00+00:00\n", "End 2023-03-13 23:59:00+00:00\n", "Period 83 days 06:26:00\n", "Start Value 100.0\n", "Min Value 99.939939\n", "Max Value 100.077239\n", "End Value 99.939939\n", "Total Return [%] -0.060061\n", "Benchmark Return [%] 5.439047\n", "Total Time Exposure [%] 0.010008\n", "Max Gross Exposure [%] 100.0\n", "Max Drawdown [%] 0.137193\n", "Max Drawdown Duration 80 days 00:35:00\n", "Total Orders 4\n", "Total Fees Paid 0.0\n", "Total Trades 3\n", "Win Rate [%] 66.666667\n", "Best Trade [%] 0.09826\n", "Worst Trade [%] -0.292548\n", "Avg Winning Trade [%] 0.056388\n", "Avg Losing Trade [%] -0.292548\n", "Avg Winning Trade Duration 0 days 00:04:00\n", "Avg Losing Trade Duration 0 days 00:12:00\n", "Profit Factor 0.384741\n", "Expectancy -0.02002\n", "Sharpe Ratio -1.542342\n", "Calmar Ratio -0.286392\n", "Omega Ratio 0.610956\n", "Sortino Ratio -1.929536\n", "Name: 846, dtype: object" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "id = 846\n", "pf[id].stats()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Summary of `signal_simulator` function\n", "- Basically we take `from_order_func`, remove redundant parts from it and introduce some optimizations. In `from_order_func` , each signal (column) required going through the entire data from the start to the end, but in our custom simulator we can skip these parts, which makes it much, much faster. \n", "- We also create the temporary arrays and write our own custom records in-place instead of fixing them after the simulation, which is very convenient.\n", "- The only part that isn't integrated is merging the records, but having the records partitioned by signal provides more depth and is overall better for analysis, the user can still merge them at any time after the simulation with functions developed previously." ] } ], "metadata": { "kernelspec": { "display_name": "vbt", "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.6" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "553d3b352623cb609a2efe4df91242fdc89d5ebcee56d9279e2aa2c11b529c13" } } }, "nbformat": 4, "nbformat_minor": 2 }