diff --git a/ws_aster_fund_rate_all.py b/_On_Ice/ws_aster_fund_rate_all.py similarity index 99% rename from ws_aster_fund_rate_all.py rename to _On_Ice/ws_aster_fund_rate_all.py index df5c4bc..b1eb61b 100644 --- a/ws_aster_fund_rate_all.py +++ b/_On_Ice/ws_aster_fund_rate_all.py @@ -47,6 +47,7 @@ async def ws_stream(): try: data: dict = json.loads(message) if data: + VAL_KEY.set(name=VK_CHANNEL, value=json.dumps(obj=data)) # print(f'VK_SAVED: {len(data)}') continue diff --git a/ws_aster_fund_rate_all/.dockerignore b/_On_Ice/ws_aster_fund_rate_all/.dockerignore similarity index 100% rename from ws_aster_fund_rate_all/.dockerignore rename to _On_Ice/ws_aster_fund_rate_all/.dockerignore diff --git a/ws_aster_fund_rate_all/Dockerfile b/_On_Ice/ws_aster_fund_rate_all/Dockerfile similarity index 100% rename from ws_aster_fund_rate_all/Dockerfile rename to _On_Ice/ws_aster_fund_rate_all/Dockerfile diff --git a/ws_extended_fund_rate_all.py b/_On_Ice/ws_extended_fund_rate_all.py similarity index 95% rename from ws_extended_fund_rate_all.py rename to _On_Ice/ws_extended_fund_rate_all.py index 7744dff..afbc178 100644 --- a/ws_extended_fund_rate_all.py +++ b/_On_Ice/ws_extended_fund_rate_all.py @@ -29,12 +29,12 @@ USE_VK: bool = True # VK_FUND_RATE = 'fund_rate_extended' VK_FUND_RATE_ALL = 'fund_rate_extended_all' -CON: AsyncContextManager | None = None -VAL_KEY = None +CON: AsyncContextManager +VAL_KEY: valkey.Valkey ### Logging ### load_dotenv() -LOG_FILEPATH: str = os.getenv("LOGS_PATH") + '/Fund_Rate_Extended_FR_ALL.log' +LOG_FILEPATH: str = f'{os.getenv("LOGS_PATH")}/Fund_Rate_Extended_FR_ALL.log' ### Globals ### WSS_URL = "wss://api.starknet.extended.exchange/stream.extended.exchange/v1/funding/" @@ -99,8 +99,8 @@ async def main(): if USE_VK: VAL_KEY = valkey.Valkey(host='localhost', port=6379, db=0) else: - VAL_KEY = None logging.warning("VALKEY NOT BEING USED, NO DATA WILL BE PUBLISHED") + raise NotImplementedError('Cannot run without VK') if USE_DB: engine = create_async_engine('mysql+asyncmy://root:pwd@localhost/fund_rate') @@ -108,9 +108,8 @@ async def main(): # await create_rtds_btcusd_table(CON=CON) await ws_stream() else: - CON = None logging.warning("DATABASE NOT BEING USED, NO DATA WILL BE RECORDED") - await ws_stream() + raise NotImplementedError('DB not implemented') if __name__ == '__main__': diff --git a/ws_extended_fund_rate_all/.dockerignore b/_On_Ice/ws_extended_fund_rate_all/.dockerignore similarity index 100% rename from ws_extended_fund_rate_all/.dockerignore rename to _On_Ice/ws_extended_fund_rate_all/.dockerignore diff --git a/ws_extended_fund_rate_all/Dockerfile b/_On_Ice/ws_extended_fund_rate_all/Dockerfile similarity index 100% rename from ws_extended_fund_rate_all/Dockerfile rename to _On_Ice/ws_extended_fund_rate_all/Dockerfile diff --git a/algo.ipynb b/algo.ipynb index fc4f260..70da9f5 100644 --- a/algo.ipynb +++ b/algo.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "d1eed397", "metadata": {}, "outputs": [], @@ -14,6 +14,8 @@ "import modules.utils as utils\n", "from decimal import Decimal, ROUND_DOWN\n", "from typing import Any\n", + "from pydantic import BaseModel\n", + "import docker\n", "\n", "with open('algo_config.json', 'r', encoding='utf-8') as file:\n", " ALGO_CONFIG = json.load(file)\n", @@ -22,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "c6151613", "metadata": {}, "outputs": [], @@ -32,7 +34,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "d83c61e5", "metadata": {}, "outputs": [ @@ -42,13 +44,12 @@ "1" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\n", "config_update = {\n", " # 'Config': {\n", " # 'Price_Worsener_Aster': 0,\n", @@ -56,17 +57,17 @@ " # 'Min_Time_To_Funding_Minutes': 60\n", " # 'Min_Fund_Rate_Pct_To_Trade': 0.0\n", " # },\n", - " 'Logging': {\n", - " 'Log_Summary_Each_Loop': False,\n", - " 'Print_Summary_Each_Loop': False,\n", - " },\n", - " # 'Overrides': {\n", - " # 'Allow_Ordering_Aster': True,\n", - " # 'Allow_Ordering_Extend': True,\n", - " # 'Allow_Symbol_Change': True,\n", - " # # 'Flatten_Open_Positions': False,\n", - " # # 'Flatten_Open_Positions_Opportunistic': False,\n", + " # 'Logging': {\n", + " # 'Log_Summary_Each_Loop': False,\n", + " # 'Print_Summary_Each_Loop': False,\n", " # },\n", + " 'Overrides': {\n", + " 'Allow_Ordering_Aster': True,\n", + " 'Allow_Ordering_Extend': True,\n", + " 'Allow_Symbol_Change': True,\n", + " 'Flatten_Open_Positions': False,\n", + " # 'Flatten_Open_Positions_Opportunistic': False,\n", + " },\n", "}\n", "VAL_KEY.publish('fr_orchestrator_input', json.dumps(config_update))" ] @@ -122,66 +123,480 @@ "extend_ws_order_updates: list = json.loads(extend_ws_order_updates) if extend_ws_order_updates is not None else [] " ] }, + { + "cell_type": "code", + "execution_count": 5, + "id": "335235bd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Aster = structs.Perpetual_Exchange(\n", + " mult = 150,\n", + " lh_asset = 'ETH',\n", + " rh_asset = 'USDT',\n", + " symbol = 'ETHUSDT',\n", + " symbol_asset_separator = '',\n", + ")\n", + "\n", + "Extend = structs.Perpetual_Exchange(\n", + " mult = 50,\n", + " lh_asset = 'ETH',\n", + " rh_asset = 'USD',\n", + " symbol = 'ETH-USD',\n", + " symbol_asset_separator = '-',\n", + ")\n", + "\n", + "VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)}))" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "e0498889", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with open('algo_config.json', mode='r', encoding='utf-8') as file:\n", + " Config = json.load(file)\n", + " Config = structs.Algo_Config(**Config)\n", + "\n", + "Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position)\n", + "\n", + "VAL_KEY.set(name='fr_orchestrator_output', value=json.dumps(obj=Config.model_dump()))" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "deaa8284", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'{\"ASTER\": {\"mult\": 150, \"lh_asset\": \"ETH\", \"rh_asset\": \"USDT\", \"symbol\": \"ETHUSDT\", \"symbol_asset_separator\": \"\", \"initial_funding_rate\": 0, \"fund_rate_at_same_time\": false, \"min_price\": 0, \"min_order_size\": 0, \"min_lot_size\": 0, \"min_notional\": 0, \"buy_ratio\": 0, \"buy_ratio_std\": 0, \"notional_obj\": {}, \"notional_position\": 0, \"unrealized_pnl\": 0, \"just_rejected_count\": 0, \"cancel_request_pending\": false}, \"EXTEND\": {\"mult\": 50, \"lh_asset\": \"ETH\", \"rh_asset\": \"USD\", \"symbol\": \"ETH-USD\", \"symbol_asset_separator\": \"-\", \"initial_funding_rate\": 0, \"fund_rate_at_same_time\": false, \"min_price\": 0, \"min_order_size\": 0, \"min_lot_size\": 0, \"min_notional\": 0, \"buy_ratio\": 0, \"buy_ratio_std\": 0, \"notional_obj\": {}, \"notional_position\": 0, \"unrealized_pnl\": 0, \"just_rejected_count\": 0, \"cancel_request_pending\": false}}'" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "VAL_KEY.get('fr_algo_working_symbol')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "52439504", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'{\"vk_name\":\"fr_orchestrator_output\",\"timestamp\":1778798391756,\"status\":\"HEALTHY\",\"checks\":{\"status\":{\"status\":\"HEALTHY\",\"method\":\"check_status\"},\"timestamp\":{\"status\":\"HEALTHY\",\"method\":\"check_timestamp\"},\"symbol\":{\"status\":\"HEALTHY\",\"method\":\"check_symbol\"}},\"data\":{\"Updated_Timestamp\":1778798391761,\"Config\":{\"Loop_Sleep_Sec\":0.0,\"Max_Order_Over_Notional_Ratio\":1.5,\"Max_Target_Notional\":0.0,\"Min_Time_To_Funding_Minutes\":57,\"Min_Fund_Rate_Pct_To_Trade\":0.0,\"Price_Worsener_Aster\":0,\"Price_Worsener_Extend\":-1,\"Switch_To_Taker_Seconds\":3,\"Target_Open_Cash_Position\":10},\"Logging\":{\"Log_Summary_Each_Loop\":false,\"Print_Summary_Each_Loop\":false},\"Overrides\":{\"Allow_Ordering_Aster\":true,\"Allow_Ordering_Extend\":true,\"Allow_Symbol_Change\":true,\"Flatten_Open_Positions\":false,\"Flatten_Open_Positions_Opportunistic\":false,\"Flip_Side_For_Testing\":false}}}'" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "VAL_KEY.get('fr_orchestrator_output')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "25625a2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "VAL_KEY.ttl('fr_orchestrator_output')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "01a46d74", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with open('algo_config.json', mode='r', encoding='utf-8') as file:\n", + " Config = json.load(file)\n", + " Config = structs.Algo_Config(**Config)\n", + "\n", + "Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position)\n", + "\n", + "VAL_KEY.set(name='fr_orchestrator_output', value=json.dumps(obj=Config.model_dump()))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "55810506", + "metadata": {}, + "outputs": [], + "source": [ + "vk_orchestrator = structs.VK_Orchestrator()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c534dc57", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "VK_Orchestrator(vk_name='fr_algo_working_symbol', timestamp=1778798849459, status='HEALTHY', checks=VK_Checks(status=VK_Check(status='HEALTHY', method='check_status'), timestamp=VK_Check(status='HEALTHY', method='check_timestamp'), symbol=VK_Check(status='HEALTHY', method=None)), data=None)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vk_orchestrator" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "94710a67", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "getting\n" + ] + } + ], + "source": [ + "await vk_orchestrator.get(VK_CON=VAL_KEY)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c7a80698", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1778798867547" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vk_orchestrator.timestamp" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "bd57998f", + "id": "0381d934", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", - "execution_count": 13, - "id": "b1f9e445", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4d672e11", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'ASTER': {'lh_asset': 'HYPE',\n", - " 'rh_asset': 'USDT',\n", - " 'symbol': 'HYPEUSDT',\n", - " 'symbol_asset_separator': '',\n", - " 'mult': 300,\n", - " 'initial_funding_rate': 5e-05,\n", - " 'min_price': 0.001,\n", - " 'min_order_size': 0.01,\n", - " 'min_lot_size': 0.01,\n", - " 'min_notional': 5.0,\n", - " 'buy_ratio': -7.932280984035422e-05,\n", - " 'notional_obj': {},\n", - " 'notional_position': 0,\n", - " 'unrealized_pnl': 0,\n", - " 'buy_ratio_std': 0.00032830394884566453,\n", - " 'just_rejected_count': 0},\n", - " 'EXTEND': {'lh_asset': 'HYPE',\n", - " 'rh_asset': 'USD',\n", - " 'symbol': 'HYPE-USD',\n", - " 'symbol_asset_separator': '-',\n", - " 'mult': 50,\n", - " 'initial_funding_rate': 1.3e-05,\n", - " 'min_price': 0.001,\n", - " 'min_order_size': 0.1,\n", - " 'min_lot_size': 0.01,\n", - " 'min_notional': 0.0,\n", - " 'buy_ratio': 7.932280984035422e-05,\n", - " 'notional_obj': {},\n", - " 'notional_position': 0,\n", - " 'unrealized_pnl': 0,\n", - " 'buy_ratio_std': 0.00032830394884566453,\n", - " 'just_rejected_count': 0}}" + "{'vk_name': 'fr_orchestrator_output',\n", + " 'status': 'HEALTHY',\n", + " 'checks': {'status': {'status': 'HEALTHY', 'method': 'check_status'},\n", + " 'timestamp': {'status': 'HEALTHY', 'method': 'check_timestamp'},\n", + " 'symbol': {'status': 'HEALTHY', 'method': 'check_symbol'}},\n", + " 'data': None}" ] }, - "execution_count": 13, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "best_symbol_by_exchange" + "vk_orchestrator.model_dump()" ] }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8d2b1adc", + "metadata": {}, + "outputs": [ + { + "ename": "ValidationError", + "evalue": "1 validation error for VK_Obj\nvk_name\n Field required [type=missing, input_value={'Updated_Timestamp': 177...de_For_Testing': False}}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.13/v/missing", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mValidationError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[8]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m vk_orchestrator.get(VK_CON=VAL_KEY)\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/Production/Funding_Rate/modules/structs.py:142\u001b[39m, in \u001b[36mVK_Obj.get\u001b[39m\u001b[34m(self, VK_CON)\u001b[39m\n\u001b[32m 140\u001b[39m vk_get: \u001b[38;5;28mstr\u001b[39m = VK_CON.get(\u001b[38;5;28mself\u001b[39m.vk_name) \u001b[38;5;66;03m# ty:ignore[invalid-assignment]\u001b[39;00m\n\u001b[32m 141\u001b[39m vk_dict: \u001b[38;5;28mdict\u001b[39m = json.loads(vk_get)\n\u001b[32m--> \u001b[39m\u001b[32m142\u001b[39m \u001b[38;5;28mself\u001b[39m = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m__class__\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mvk_dict\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pydantic/main.py:263\u001b[39m, in \u001b[36mBaseModel.__init__\u001b[39m\u001b[34m(self, **data)\u001b[39m\n\u001b[32m 261\u001b[39m \u001b[38;5;66;03m# `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks\u001b[39;00m\n\u001b[32m 262\u001b[39m __tracebackhide__ = \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m263\u001b[39m validated_self = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m__pydantic_validator__\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mvalidate_python\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mdata\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mself_instance\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 264\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m validated_self:\n\u001b[32m 265\u001b[39m warnings.warn(\n\u001b[32m 266\u001b[39m \u001b[33m'\u001b[39m\u001b[33mA custom validator is returning a value other than `self`.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 267\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mReturning anything other than `self` from a top level model validator isn\u001b[39m\u001b[33m'\u001b[39m\u001b[33mt supported when validating via `__init__`.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 268\u001b[39m \u001b[33m'\u001b[39m\u001b[33mSee the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.\u001b[39m\u001b[33m'\u001b[39m,\n\u001b[32m 269\u001b[39m stacklevel=\u001b[32m2\u001b[39m,\n\u001b[32m 270\u001b[39m )\n", + "\u001b[31mValidationError\u001b[39m: 1 validation error for VK_Obj\nvk_name\n Field required [type=missing, input_value={'Updated_Timestamp': 177...de_For_Testing': False}}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.13/v/missing" + ] + } + ], + "source": [ + "await vk_orchestrator.get(VK_CON=VAL_KEY)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d504d4d4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ID: d3e6c192e9290d3dc0dfceea5ab6f065987d213aa814ef14a756b6569a0eabbf, Name: valkey-server, Status: running\n", + "ID: 1f9ea1879bb3f1aff41d6931b84dc1c945e84ec19c6b715d4a391e91e8fc82a7, Name: mysql_polymarket, Status: running\n" + ] + } + ], + "source": [ + "### Docker ###\n", + "docker_client = docker.from_env()\n", + "container = docker_client.containers.get('algo_orchestrator')\n", + "\n", + "all_containers = docker_client.containers.list(all=True)\n", + "\n", + "for container in all_containers:\n", + " if container.status == 'running':\n", + " print(f\"ID: {container.id}, Name: {container.name}, Status: {container.status}\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "docker_client." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd57998f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "149.791" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import requests\n", + "\n", + "r = requests.get('https://fapi.asterdex.com/fapi/v3/ping')\n", + "r.elapsed.microseconds/1000" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "100f2dee", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "24.368" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r = requests.get('https://api.starknet.extended.exchange/api/v1/info/assets')\n", + "r.elapsed.microseconds/1000\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "9722a27c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "16.594" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r = requests.get('https://data-api.binance.vision/api/v3/ping')\n", + "r.elapsed.microseconds/1000" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ebea4788", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "49519685", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'VAL_KEY' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[20]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m VAL_KEY.get(\u001b[33m'fr_algo_working_symbol'\u001b[39m)\n", + "\u001b[31mNameError\u001b[39m: name 'VAL_KEY' is not defined" + ] + } + ], + "source": [ + "VAL_KEY.get('fr_algo_working_symbol')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aee3840c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": 14, @@ -641,22 +1056,22 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'{\"last_update_ts_ms\": 1778123362898, \"status\": \"WORKING\", \"expected_alpha\": -0.000225}'" + "'{\"Updated_Timestamp\": 1778777617434, \"Config\": {\"Loop_Sleep_Sec\": 0.0, \"Max_Order_Over_Notional_Ratio\": 1.5, \"Max_Target_Notional\": 0.0, \"Min_Time_To_Funding_Minutes\": 57, \"Min_Fund_Rate_Pct_To_Trade\": 0.0, \"Price_Worsener_Aster\": 0, \"Price_Worsener_Extend\": -1, \"Switch_To_Taker_Seconds\": 3, \"Target_Open_Cash_Position\": 10}, \"Logging\": {\"Log_Summary_Each_Loop\": false, \"Print_Summary_Each_Loop\": false}, \"Overrides\": {\"Allow_Ordering_Aster\": true, \"Allow_Ordering_Extend\": true, \"Allow_Symbol_Change\": false, \"Flatten_Open_Positions\": false, \"Flatten_Open_Positions_Opportunistic\": false, \"Flip_Side_For_Testing\": false}}'" ] }, - "execution_count": 4, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "VAL_KEY.get(name='algo_status')" + "VAL_KEY.get(name='fr_orchestrator_output')" ] }, { @@ -697,34 +1112,34 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 87, "id": "5f7535df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[{'symbol_ast': 'ETHUSDT',\n", - " 'max_leverage_ast': 150,\n", - " 'lh_asset_ast': 'ETH',\n", + "[{'symbol_ast': 'DOGEUSDT',\n", + " 'max_leverage_ast': 75,\n", + " 'lh_asset_ast': 'DOGE',\n", " 'rh_asset_ast': 'USDT',\n", - " 'funding_rate_ast': 7.68e-05,\n", - " 'min_price_ast': '0.01',\n", - " 'min_order_size_ast': '0.001',\n", - " 'min_lot_size_ast': '0.001',\n", + " 'funding_rate_ast': 0.0001,\n", + " 'min_price_ast': '0.002440',\n", + " 'min_order_size_ast': '1',\n", + " 'min_lot_size_ast': '1',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0002467748,\n", - " 'symbol_ext': 'ETH-USD',\n", + " 'buy_ratio_ast': 0.0014463806,\n", + " 'symbol_ext': 'DOGE-USD',\n", " 'max_leverage_ext': 50,\n", - " 'lh_asset_ext': 'ETH',\n", + " 'lh_asset_ext': 'DOGE',\n", " 'rh_asset_ext': 'USD',\n", - " 'funding_rate_ext': -2.1e-05,\n", - " 'min_price_ext': '0.1',\n", - " 'min_order_size_ext': '0.01',\n", - " 'min_lot_size_ext': '0.001',\n", + " 'funding_rate_ext': 5.3e-05,\n", + " 'min_price_ext': '0.00001',\n", + " 'min_order_size_ext': '100',\n", + " 'min_lot_size_ext': '10',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0002467748,\n", - " 'buy_ratio_std': 0.0001349023,\n", + " 'buy_ratio_ext': -0.0014463806,\n", + " 'buy_ratio_std': 0.000136533,\n", " 'next_funding_at_same_time': False},\n", " {'symbol_ast': 'HYPEUSDT',\n", " 'max_leverage_ast': 300,\n", @@ -735,7 +1150,7 @@ " 'min_order_size_ast': '0.01',\n", " 'min_lot_size_ast': '0.01',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': 6.31401e-05,\n", + " 'buy_ratio_ast': -0.0004248737,\n", " 'symbol_ext': 'HYPE-USD',\n", " 'max_leverage_ext': 50,\n", " 'lh_asset_ext': 'HYPE',\n", @@ -745,30 +1160,74 @@ " 'min_order_size_ext': '0.1',\n", " 'min_lot_size_ext': '0.01',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': -6.31401e-05,\n", - " 'buy_ratio_std': 0.0003159488,\n", - " 'next_funding_at_same_time': False},\n", - " {'symbol_ast': 'LITUSDT',\n", - " 'max_leverage_ast': 50,\n", - " 'lh_asset_ast': 'LIT',\n", + " 'buy_ratio_ext': 0.0004248737,\n", + " 'buy_ratio_std': 0.0001416484,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'ENAUSDT',\n", + " 'max_leverage_ast': 25,\n", + " 'lh_asset_ast': 'ENA',\n", " 'rh_asset_ast': 'USDT',\n", - " 'funding_rate_ast': 4.51e-05,\n", + " 'funding_rate_ast': 5e-05,\n", + " 'min_price_ast': '0.0000100',\n", + " 'min_order_size_ast': '1',\n", + " 'min_lot_size_ast': '1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.001111125,\n", + " 'symbol_ext': 'ENA-USD',\n", + " 'max_leverage_ext': 50,\n", + " 'lh_asset_ext': 'ENA',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': -9e-06,\n", + " 'min_price_ext': '0.00001',\n", + " 'min_order_size_ext': '100',\n", + " 'min_lot_size_ext': '10',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.001111125,\n", + " 'buy_ratio_std': 0.0028568147,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'ASTERUSDT',\n", + " 'max_leverage_ast': 75,\n", + " 'lh_asset_ast': 'ASTER',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 5e-05,\n", + " 'min_price_ast': '0.00010',\n", + " 'min_order_size_ast': '0.01',\n", + " 'min_lot_size_ast': '0.01',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': 0.000859134,\n", + " 'symbol_ext': 'ASTER-USD',\n", + " 'max_leverage_ext': 25,\n", + " 'lh_asset_ext': 'ASTER',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.00001',\n", + " 'min_order_size_ext': '10',\n", + " 'min_lot_size_ext': '1',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': -0.000859134,\n", + " 'buy_ratio_std': 0.0001278206,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'WLFIUSDT',\n", + " 'max_leverage_ast': 25,\n", + " 'lh_asset_ast': 'WLFI',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': -0.00015143,\n", " 'min_price_ast': '0.0001000',\n", " 'min_order_size_ast': '1',\n", " 'min_lot_size_ast': '1',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0005306307,\n", - " 'symbol_ext': 'LIT-USD',\n", - " 'max_leverage_ext': 25,\n", - " 'lh_asset_ext': 'LIT',\n", + " 'buy_ratio_ast': 0.0012638022,\n", + " 'symbol_ext': 'WLFI-USD',\n", + " 'max_leverage_ext': 10,\n", + " 'lh_asset_ext': 'WLFI',\n", " 'rh_asset_ext': 'USD',\n", - " 'funding_rate_ext': 1.3e-05,\n", - " 'min_price_ext': '0.0001',\n", - " 'min_order_size_ext': '10',\n", - " 'min_lot_size_ext': '1',\n", + " 'funding_rate_ext': -6.9e-05,\n", + " 'min_price_ext': '0.00001',\n", + " 'min_order_size_ext': '100',\n", + " 'min_lot_size_ext': '10',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0005306307,\n", - " 'buy_ratio_std': 0.0007812256,\n", + " 'buy_ratio_ext': -0.0012638022,\n", + " 'buy_ratio_std': 0.0006306163,\n", " 'next_funding_at_same_time': True},\n", " {'symbol_ast': 'BNBUSDT',\n", " 'max_leverage_ast': 100,\n", @@ -779,7 +1238,7 @@ " 'min_order_size_ast': '0.01',\n", " 'min_lot_size_ast': '0.01',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0008859719,\n", + " 'buy_ratio_ast': -0.0008803089,\n", " 'symbol_ext': 'BNB-USD',\n", " 'max_leverage_ext': 50,\n", " 'lh_asset_ext': 'BNB',\n", @@ -789,85 +1248,107 @@ " 'min_order_size_ext': '0.01',\n", " 'min_lot_size_ext': '0.001',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0008859719,\n", - " 'buy_ratio_std': 0.0002193807,\n", - " 'next_funding_at_same_time': False},\n", - " {'symbol_ast': 'SOLUSDT',\n", - " 'max_leverage_ast': 100,\n", - " 'lh_asset_ast': 'SOL',\n", - " 'rh_asset_ast': 'USDT',\n", - " 'funding_rate_ast': 9.428e-05,\n", - " 'min_price_ast': '0.4200',\n", - " 'min_order_size_ast': '0.01',\n", - " 'min_lot_size_ast': '0.01',\n", - " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0001122271,\n", - " 'symbol_ext': 'SOL-USD',\n", - " 'max_leverage_ext': 50,\n", - " 'lh_asset_ext': 'SOL',\n", - " 'rh_asset_ext': 'USD',\n", - " 'funding_rate_ext': 1.3e-05,\n", - " 'min_price_ext': '0.01',\n", - " 'min_order_size_ext': '0.1',\n", - " 'min_lot_size_ext': '0.01',\n", - " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0001122271,\n", - " 'buy_ratio_std': 0.0002044953,\n", + " 'buy_ratio_ext': 0.0008803089,\n", + " 'buy_ratio_std': 6.57424e-05,\n", " 'next_funding_at_same_time': False},\n", " {'symbol_ast': 'XRPUSDT',\n", " 'max_leverage_ast': 100,\n", " 'lh_asset_ast': 'XRP',\n", " 'rh_asset_ast': 'USDT',\n", - " 'funding_rate_ast': 3.175e-05,\n", + " 'funding_rate_ast': 0.0001,\n", " 'min_price_ast': '0.0143',\n", " 'min_order_size_ast': '0.1',\n", " 'min_lot_size_ast': '0.1',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0001042321,\n", + " 'buy_ratio_ast': -7.0425e-05,\n", " 'symbol_ext': 'XRP-USD',\n", " 'max_leverage_ext': 50,\n", " 'lh_asset_ext': 'XRP',\n", " 'rh_asset_ext': 'USD',\n", - " 'funding_rate_ext': 1.3e-05,\n", + " 'funding_rate_ext': 1.1e-05,\n", " 'min_price_ext': '0.0001',\n", " 'min_order_size_ext': '10',\n", " 'min_lot_size_ext': '1',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0001042321,\n", - " 'buy_ratio_std': 0.0001123218,\n", + " 'buy_ratio_ext': 7.0425e-05,\n", + " 'buy_ratio_std': 9.95592e-05,\n", " 'next_funding_at_same_time': False},\n", - " {'symbol_ast': 'DOGEUSDT',\n", - " 'max_leverage_ast': 75,\n", - " 'lh_asset_ast': 'DOGE',\n", + " {'symbol_ast': 'SOLUSDT',\n", + " 'max_leverage_ast': 100,\n", + " 'lh_asset_ast': 'SOL',\n", " 'rh_asset_ast': 'USDT',\n", " 'funding_rate_ast': 0.0001,\n", - " 'min_price_ast': '0.002440',\n", - " 'min_order_size_ast': '1',\n", - " 'min_lot_size_ast': '1',\n", + " 'min_price_ast': '0.4200',\n", + " 'min_order_size_ast': '0.01',\n", + " 'min_lot_size_ast': '0.01',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': 0.0013930884,\n", - " 'symbol_ext': 'DOGE-USD',\n", + " 'buy_ratio_ast': -0.0003239916,\n", + " 'symbol_ext': 'SOL-USD',\n", " 'max_leverage_ext': 50,\n", - " 'lh_asset_ext': 'DOGE',\n", + " 'lh_asset_ext': 'SOL',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': -1.1e-05,\n", + " 'min_price_ext': '0.01',\n", + " 'min_order_size_ext': '0.1',\n", + " 'min_lot_size_ext': '0.01',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0003239916,\n", + " 'buy_ratio_std': 9.90782e-05,\n", + " 'next_funding_at_same_time': False},\n", + " {'symbol_ast': 'ETHUSDT',\n", + " 'max_leverage_ast': 150,\n", + " 'lh_asset_ast': 'ETH',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 1.401e-05,\n", + " 'min_price_ast': '0.01',\n", + " 'min_order_size_ast': '0.001',\n", + " 'min_lot_size_ast': '0.001',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0002271154,\n", + " 'symbol_ext': 'ETH-USD',\n", + " 'max_leverage_ext': 50,\n", + " 'lh_asset_ext': 'ETH',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': -9e-06,\n", + " 'min_price_ext': '0.1',\n", + " 'min_order_size_ext': '0.01',\n", + " 'min_lot_size_ext': '0.001',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0002271154,\n", + " 'buy_ratio_std': 9.43257e-05,\n", + " 'next_funding_at_same_time': False},\n", + " {'symbol_ast': 'TRUMPUSDT',\n", + " 'max_leverage_ast': 10,\n", + " 'lh_asset_ast': 'TRUMP',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 5e-05,\n", + " 'min_price_ast': '0.00100',\n", + " 'min_order_size_ast': '0.01',\n", + " 'min_lot_size_ast': '0.01',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0013175231,\n", + " 'symbol_ext': 'TRUMP-USD',\n", + " 'max_leverage_ext': 25,\n", + " 'lh_asset_ext': 'TRUMP',\n", " 'rh_asset_ext': 'USD',\n", " 'funding_rate_ext': 1.3e-05,\n", - " 'min_price_ext': '0.00001',\n", - " 'min_order_size_ext': '100',\n", - " 'min_lot_size_ext': '10',\n", + " 'min_price_ext': '0.001',\n", + " 'min_order_size_ext': '1',\n", + " 'min_lot_size_ext': '1',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': -0.0013930884,\n", - " 'buy_ratio_std': 0.0003880879,\n", - " 'next_funding_at_same_time': False},\n", + " 'buy_ratio_ext': 0.0013175231,\n", + " 'buy_ratio_std': 0.0022592656,\n", + " 'next_funding_at_same_time': True},\n", " {'symbol_ast': 'BTCUSDT',\n", " 'max_leverage_ast': 150,\n", " 'lh_asset_ast': 'BTC',\n", " 'rh_asset_ast': 'USDT',\n", - " 'funding_rate_ast': -4.728e-05,\n", + " 'funding_rate_ast': 5.311e-05,\n", " 'min_price_ast': '1',\n", " 'min_order_size_ast': '0.001',\n", " 'min_lot_size_ast': '0.001',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0001633518,\n", + " 'buy_ratio_ast': -0.0002394865,\n", " 'symbol_ext': 'BTC-USD',\n", " 'max_leverage_ext': 50,\n", " 'lh_asset_ext': 'BTC',\n", @@ -877,31 +1358,163 @@ " 'min_order_size_ext': '0.0001',\n", " 'min_lot_size_ext': '0.00001',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0001633518,\n", - " 'buy_ratio_std': 9.37709e-05,\n", + " 'buy_ratio_ext': 0.0002394865,\n", + " 'buy_ratio_std': 8.17971e-05,\n", " 'next_funding_at_same_time': False},\n", - " {'symbol_ast': 'WLFIUSDT',\n", - " 'max_leverage_ast': 25,\n", - " 'lh_asset_ast': 'WLFI',\n", + " {'symbol_ast': 'AAVEUSDT',\n", + " 'max_leverage_ast': 10,\n", + " 'lh_asset_ast': 'AAVE',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 0.0001,\n", + " 'min_price_ast': '4.400',\n", + " 'min_order_size_ast': '0.1',\n", + " 'min_lot_size_ast': '0.1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0012056403,\n", + " 'symbol_ext': 'AAVE-USD',\n", + " 'max_leverage_ext': 50,\n", + " 'lh_asset_ext': 'AAVE',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.01',\n", + " 'min_order_size_ext': '0.1',\n", + " 'min_lot_size_ext': '0.01',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0012056403,\n", + " 'buy_ratio_std': 0.000844961,\n", + " 'next_funding_at_same_time': False},\n", + " {'symbol_ast': 'ZORAUSDT',\n", + " 'max_leverage_ast': 5,\n", + " 'lh_asset_ast': 'ZORA',\n", " 'rh_asset_ast': 'USDT',\n", " 'funding_rate_ast': 5e-05,\n", - " 'min_price_ast': '0.0001000',\n", + " 'min_price_ast': '0.0000100',\n", " 'min_order_size_ast': '1',\n", " 'min_lot_size_ast': '1',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': -0.0014241811,\n", - " 'symbol_ext': 'WLFI-USD',\n", - " 'max_leverage_ext': 10,\n", - " 'lh_asset_ext': 'WLFI',\n", + " 'buy_ratio_ast': -0.0018283552,\n", + " 'symbol_ext': 'ZORA-USD',\n", + " 'max_leverage_ext': 5,\n", + " 'lh_asset_ext': 'ZORA',\n", " 'rh_asset_ext': 'USD',\n", " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.000001',\n", + " 'min_order_size_ext': '1000',\n", + " 'min_lot_size_ext': '100',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0018283552,\n", + " 'buy_ratio_std': 0.0009582043,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': '4USDT',\n", + " 'max_leverage_ast': 50,\n", + " 'lh_asset_ast': '4',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 1.25e-05,\n", + " 'min_price_ast': '0.0000010',\n", + " 'min_order_size_ast': '1',\n", + " 'min_lot_size_ast': '1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0052916644,\n", + " 'symbol_ext': '4-USD',\n", + " 'max_leverage_ext': 5,\n", + " 'lh_asset_ext': '4',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 2.5e-05,\n", " 'min_price_ext': '0.00001',\n", " 'min_order_size_ext': '100',\n", " 'min_lot_size_ext': '10',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': 0.0014241811,\n", - " 'buy_ratio_std': 0.0010500062,\n", + " 'buy_ratio_ext': 0.0052916644,\n", + " 'buy_ratio_std': 0.0025950714,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'SUIUSDT',\n", + " 'max_leverage_ast': 75,\n", + " 'lh_asset_ast': 'SUI',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 0.0001,\n", + " 'min_price_ast': '0.000100',\n", + " 'min_order_size_ast': '0.1',\n", + " 'min_lot_size_ast': '0.1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0001220495,\n", + " 'symbol_ext': 'SUI-USD',\n", + " 'max_leverage_ext': 50,\n", + " 'lh_asset_ext': 'SUI',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1e-06,\n", + " 'min_price_ext': '0.0001',\n", + " 'min_order_size_ext': '10',\n", + " 'min_lot_size_ext': '1',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0001220495,\n", + " 'buy_ratio_std': 0.000829533,\n", " 'next_funding_at_same_time': False},\n", + " {'symbol_ast': 'XPTUSDT',\n", + " 'max_leverage_ast': 3,\n", + " 'lh_asset_ast': 'XPT',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 0.0,\n", + " 'min_price_ast': '0.0100',\n", + " 'min_order_size_ast': '0.001',\n", + " 'min_lot_size_ast': '0.001',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0001070091,\n", + " 'symbol_ext': 'XPT-USD',\n", + " 'max_leverage_ext': 5,\n", + " 'lh_asset_ext': 'XPT',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': -5e-06,\n", + " 'min_price_ext': '0.1',\n", + " 'min_order_size_ext': '0.01',\n", + " 'min_lot_size_ext': '0.001',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0001070091,\n", + " 'buy_ratio_std': 0.0006482627,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'XMRUSDT',\n", + " 'max_leverage_ast': 50,\n", + " 'lh_asset_ast': 'XMR',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 1.25e-05,\n", + " 'min_price_ast': '0.01',\n", + " 'min_order_size_ast': '0.001',\n", + " 'min_lot_size_ast': '0.001',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0016754768,\n", + " 'symbol_ext': 'XMR-USD',\n", + " 'max_leverage_ext': 25,\n", + " 'lh_asset_ext': 'XMR',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.01',\n", + " 'min_order_size_ext': '0.1',\n", + " 'min_lot_size_ext': '0.01',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0016754768,\n", + " 'buy_ratio_std': 0.0011770111,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'LITUSDT',\n", + " 'max_leverage_ast': 50,\n", + " 'lh_asset_ast': 'LIT',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 1.25e-05,\n", + " 'min_price_ast': '0.0001000',\n", + " 'min_order_size_ast': '1',\n", + " 'min_lot_size_ast': '1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.0005481326,\n", + " 'symbol_ext': 'LIT-USD',\n", + " 'max_leverage_ext': 25,\n", + " 'lh_asset_ext': 'LIT',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.0001',\n", + " 'min_order_size_ext': '10',\n", + " 'min_lot_size_ext': '1',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.0005481326,\n", + " 'buy_ratio_std': 0.0010705148,\n", + " 'next_funding_at_same_time': True},\n", " {'symbol_ast': 'ZECUSDT',\n", " 'max_leverage_ast': 75,\n", " 'lh_asset_ast': 'ZEC',\n", @@ -911,7 +1524,7 @@ " 'min_order_size_ast': '0.001',\n", " 'min_lot_size_ast': '0.001',\n", " 'min_notional_ast': '5',\n", - " 'buy_ratio_ast': 0.0003491807,\n", + " 'buy_ratio_ast': 0.0005323778,\n", " 'symbol_ext': 'ZEC-USD',\n", " 'max_leverage_ext': 10,\n", " 'lh_asset_ext': 'ZEC',\n", @@ -921,12 +1534,56 @@ " 'min_order_size_ext': '0.1',\n", " 'min_lot_size_ext': '0.1',\n", " 'min_notional_ext': 0.0,\n", - " 'buy_ratio_ext': -0.0003491807,\n", - " 'buy_ratio_std': 0.0012735632,\n", + " 'buy_ratio_ext': -0.0005323778,\n", + " 'buy_ratio_std': 0.000636862,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'INITUSDT',\n", + " 'max_leverage_ast': 50,\n", + " 'lh_asset_ast': 'INIT',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 1.25e-05,\n", + " 'min_price_ast': '0.0000100',\n", + " 'min_order_size_ast': '1',\n", + " 'min_lot_size_ast': '1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': 0.0059877289,\n", + " 'symbol_ext': 'INIT-USD',\n", + " 'max_leverage_ext': 5,\n", + " 'lh_asset_ext': 'INIT',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.00001',\n", + " 'min_order_size_ext': '10',\n", + " 'min_lot_size_ext': '1',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': -0.0059877289,\n", + " 'buy_ratio_std': 0.0024689927,\n", + " 'next_funding_at_same_time': True},\n", + " {'symbol_ast': 'CHIPUSDT',\n", + " 'max_leverage_ast': 50,\n", + " 'lh_asset_ast': 'CHIP',\n", + " 'rh_asset_ast': 'USDT',\n", + " 'funding_rate_ast': 1.25e-05,\n", + " 'min_price_ast': '0.0000100',\n", + " 'min_order_size_ast': '1',\n", + " 'min_lot_size_ast': '1',\n", + " 'min_notional_ast': '5',\n", + " 'buy_ratio_ast': -0.001026001,\n", + " 'symbol_ext': 'CHIP-USD',\n", + " 'max_leverage_ext': 5,\n", + " 'lh_asset_ext': 'CHIP',\n", + " 'rh_asset_ext': 'USD',\n", + " 'funding_rate_ext': 1.3e-05,\n", + " 'min_price_ext': '0.000001',\n", + " 'min_order_size_ext': '100',\n", + " 'min_lot_size_ext': '10',\n", + " 'min_notional_ext': 0.0,\n", + " 'buy_ratio_ext': 0.001026001,\n", + " 'buy_ratio_std': 0.0022287374,\n", " 'next_funding_at_same_time': True}]" ] }, - "execution_count": 7, + "execution_count": 87, "metadata": {}, "output_type": "execute_result" } @@ -2067,7 +2724,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 5, "id": "3acaa8cd", "metadata": {}, "outputs": [], @@ -2088,10 +2745,44 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 6, + "id": "fdeeb411", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=ASTER), 'EXTEND': asdict(obj=EXTEND)}))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "b417adad", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "the JSON object must be str, bytes or bytearray, not NoneType", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[4]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name=\u001b[33m'fr_engine_best_fund_rate_output'\u001b[39m)) \u001b[38;5;66;03m# ty:ignore[invalid-argument-type]\u001b[39;00m\n\u001b[32m 2\u001b[39m best_symbol_by_exchange_aster = structs.Perpetual_Exchange(**best_symbol_by_exchange[\u001b[33m'ASTER'\u001b[39m])\n\u001b[32m 3\u001b[39m best_symbol_by_exchange_extend = structs.Perpetual_Exchange(**best_symbol_by_exchange[\u001b[33m'EXTEND'\u001b[39m])\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/json/__init__.py:345\u001b[39m, in \u001b[36mloads\u001b[39m\u001b[34m(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[39m\n\u001b[32m 343\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 344\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(s, (\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mbytearray\u001b[39m)):\n\u001b[32m--> \u001b[39m\u001b[32m345\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mthe JSON object must be str, bytes or bytearray, \u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 346\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mnot \u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms.\u001b[34m__class__\u001b[39m.\u001b[34m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m)\n\u001b[32m 347\u001b[39m s = s.decode(detect_encoding(s), \u001b[33m'\u001b[39m\u001b[33msurrogatepass\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 349\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m (\u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[32m 350\u001b[39m parse_int \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m parse_float \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[32m 351\u001b[39m parse_constant \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_pairs_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m kw):\n", + "\u001b[31mTypeError\u001b[39m: the JSON object must be str, bytes or bytearray, not NoneType" + ] + } + ], "source": [ "best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_engine_best_fund_rate_output')) # ty:ignore[invalid-argument-type]\n", "best_symbol_by_exchange_aster = structs.Perpetual_Exchange(**best_symbol_by_exchange['ASTER'])\n", @@ -2981,10 +3672,139 @@ "outputs": [], "source": [] }, + { + "cell_type": "code", + "execution_count": 40, + "id": "65c17db5", + "metadata": {}, + "outputs": [], + "source": [ + "aster_fund_rate_dict: Any = VAL_KEY.get('fund_rate_aster')\n", + "aster_fund_rate_dict: dict = json.loads(s=aster_fund_rate_dict) if aster_fund_rate_dict is not None else {}" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "5e618a1b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'timestamp_arrival': 1778258417127,\n", + " 'timestamp_msg': 1778258417000,\n", + " 'symbol': 'ENAUSDT',\n", + " 'mark_price': '0.12390998',\n", + " 'index_price': '0.12390482',\n", + " 'estimated_settle_price': '0.12432289',\n", + " 'funding_rate': '0.00005000',\n", + " 'next_funding_time_ts_ms': 1778270400000}" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "aster_fund_rate_dict" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "22e09652", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1778270400000" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "aster_fund_rate_dict['next_funding_time_ts_ms']" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1778270400000.0" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "aster_fund_rate_time" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Timestamp('2026-05-08 16:46:43.626771973')" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.to_datetime(datetime.now().timestamp()*1000, unit='ms')" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "6d182c36", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "datetime.datetime(2026, 5, 8, 16, 44, 13, 71038, tzinfo=datetime.timezone.utc)" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datetime.now(tz=UTC)" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "93323174", + "id": "798906fd", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c13e03c9", "metadata": {}, "outputs": [], "source": [] diff --git a/algo_config.json b/algo_config.json index 2bd19e9..99a038c 100644 --- a/algo_config.json +++ b/algo_config.json @@ -1,8 +1,8 @@ { - "Updated_Timestamp": 1778178429902, + "Updated_Timestamp": 1778798867547, "Config": { "Loop_Sleep_Sec": 0.0, - "Max_Order_Over_Notional_Ratio": 1.05, + "Max_Order_Over_Notional_Ratio": 1.5, "Max_Target_Notional": 0.0, "Min_Time_To_Funding_Minutes": 57, "Min_Fund_Rate_Pct_To_Trade": 0.0, diff --git a/algo_orchestrator.py b/algo_orchestrator.py index cad5386..ed82d63 100644 --- a/algo_orchestrator.py +++ b/algo_orchestrator.py @@ -8,6 +8,9 @@ from datetime import datetime import valkey from dotenv import load_dotenv import modules.utils as utils +import modules.structs as structs +from pathlib import Path + ''' TO DO: @@ -18,15 +21,24 @@ TO DO: VK_IN: str = 'fr_orchestrator_input' VK_OUT: str = 'fr_orchestrator_output' -CONFIG_FILEPATH: str = '/algo_local_drive/algo_config.json' -# CONFIG_FILEPATH: str = 'algo_config.json' - ### Logging ### load_dotenv() LOG_FILEPATH: str = f'{os.getenv("LOGS_PATH")}/Fund_Rate_Algo_Orchestrator.log' async def main() -> None: VAL_KEY: valkey.Valkey = valkey.Valkey(host='localhost', port=6379, db=0, decode_responses=True) + CONFIG_FILEPATH: str = '/algo_local_drive/algo_config.json' + if not Path(CONFIG_FILEPATH).exists(): + CONFIG_FILEPATH: str = 'algo_config.json' + + # Init Load Config File + with open(file=CONFIG_FILEPATH, mode='r', encoding='utf-8') as f: + Algo_Config: dict = json.load(fp=f) + Algo_Config['Updated_Timestamp'] = round(number=datetime.now().timestamp()*1000) + + # vk = structs.VK_Obj(vk_name = 'fr_orchestrator_output', data=Algo_Config) + vk = structs.VK_Orchestrator_Out() + await vk.set(VK_CON=VAL_KEY) try: VK_PUBSUB: valkey.client.PubSub = VAL_KEY.pubsub() @@ -46,11 +58,16 @@ async def main() -> None: Algo_Config: dict = json.load(fp=f) Algo_Config['Updated_Timestamp'] = timestamp + if not Algo_Config: + raise ValueError(f'Algo Orchestrator, config is none: {Algo_Config}') # Update Config w Update Data Algo_Config: dict = utils.rec_set_dict(orig_dict=Algo_Config, new_dict=data) # Set VK KV w Updated Config - VAL_KEY.set(name=VK_OUT, value=json.dumps(obj=Algo_Config)) + + # vk = structs.VK_Obj(vk_name = 'fr_orchestrator_output', data=Algo_Config) + vk = structs.VK_Orchestrator_Out() + await vk.set(VK_CON=VAL_KEY) # Save Updated Config to File with open(file=CONFIG_FILEPATH, mode='w', encoding='utf-8') as f: diff --git a/aster.ipynb b/aster.ipynb index db27848..3b518fe 100644 --- a/aster.ipynb +++ b/aster.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 4, + "execution_count": 1, "id": "3a269644", "metadata": {}, "outputs": [], @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "id": "4395fabb", "metadata": {}, "outputs": [], @@ -92,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 3, "id": "2122885a", "metadata": {}, "outputs": [], @@ -102,7 +102,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "id": "e7341726", "metadata": {}, "outputs": [ @@ -352,7 +352,7 @@ " {'symbol': 'CHIPUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.00000000',\n", + " 'markPrice': '0.05884243',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '50',\n", @@ -363,7 +363,7 @@ " 'positionSide': 'BOTH',\n", " 'notional': '0',\n", " 'isolatedWallet': '0',\n", - " 'updateTime': 0},\n", + " 'updateTime': 1778212620637},\n", " {'symbol': '1000BONKUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -619,6 +619,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'MINIMAXUSDT',\n", + " 'positionAmt': '0.0000',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '80000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'AIOTUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -1132,18 +1147,18 @@ " {'symbol': 'HYPEUSDT',\n", " 'positionAmt': '0.00',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.00000000',\n", + " 'markPrice': '42.14600000',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", - " 'leverage': '300',\n", - " 'maxNotionalValue': '1000',\n", + " 'leverage': '150',\n", + " 'maxNotionalValue': '2000',\n", " 'marginType': 'cross',\n", " 'isolatedMargin': '0.00000000',\n", " 'isAutoAddMargin': 'false',\n", " 'positionSide': 'BOTH',\n", " 'notional': '0',\n", " 'isolatedWallet': '0',\n", - " 'updateTime': 0},\n", + " 'updateTime': 1778174116771},\n", " {'symbol': 'SYRUPUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -1436,7 +1451,7 @@ " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '2',\n", - " 'maxNotionalValue': '2000000',\n", + " 'maxNotionalValue': '5000000',\n", " 'marginType': 'cross',\n", " 'isolatedMargin': '0.00000000',\n", " 'isAutoAddMargin': 'false',\n", @@ -1552,7 +1567,7 @@ " {'symbol': 'SOLUSDT',\n", " 'positionAmt': '0.00',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.00000000',\n", + " 'markPrice': '88.08336403',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '100',\n", @@ -2182,7 +2197,7 @@ " {'symbol': 'ETHUSDT',\n", " 'positionAmt': '0.000',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '2327.94576938',\n", + " 'markPrice': '2278.29032657',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '150',\n", @@ -2193,7 +2208,7 @@ " 'positionSide': 'BOTH',\n", " 'notional': '0',\n", " 'isolatedWallet': '0',\n", - " 'updateTime': 1777835550378},\n", + " 'updateTime': 1778127016832},\n", " {'symbol': 'ZKCUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -2332,7 +2347,7 @@ " {'symbol': 'XAGUSDT',\n", " 'positionAmt': '0.000',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '75.87000000',\n", + " 'markPrice': '79.55000000',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '100',\n", @@ -2351,7 +2366,7 @@ " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '20',\n", - " 'maxNotionalValue': '5000',\n", + " 'maxNotionalValue': '500000',\n", " 'marginType': 'cross',\n", " 'isolatedMargin': '0.00000000',\n", " 'isAutoAddMargin': 'false',\n", @@ -2524,6 +2539,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'NOTUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'COLLECTUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -2539,6 +2569,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'XIAOMIUSDT',\n", + " 'positionAmt': '0.00',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '80000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'LUNA2USDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -2989,6 +3034,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'BABYUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'AVAXUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -3154,6 +3214,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'THETAUSDT',\n", + " 'positionAmt': '0.0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'UNIUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -3289,6 +3364,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'POPMARTUSDT',\n", + " 'positionAmt': '0.0000',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '80000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'ARTXUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -3304,6 +3394,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'CARDSUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '80000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'SXPUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -3394,6 +3499,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'AGTUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'CHZUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -3562,7 +3682,7 @@ " {'symbol': 'INITUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.08765944',\n", + " 'markPrice': '0.11143193',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '50',\n", @@ -3697,7 +3817,7 @@ " {'symbol': 'BNBUSDT',\n", " 'positionAmt': '0.00',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '619.51000000',\n", + " 'markPrice': '639.19000000',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '100',\n", @@ -3727,7 +3847,7 @@ " {'symbol': 'XMRUSDT',\n", " 'positionAmt': '0.000',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.00000000',\n", + " 'markPrice': '390.77183333',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '50',\n", @@ -3817,7 +3937,7 @@ " {'symbol': 'DOGEUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.00000000',\n", + " 'markPrice': '0.10631546',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '75',\n", @@ -3828,7 +3948,7 @@ " 'positionSide': 'BOTH',\n", " 'notional': '0',\n", " 'isolatedWallet': '0',\n", - " 'updateTime': 0},\n", + " 'updateTime': 1778098357669},\n", " {'symbol': 'GPSUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -3971,7 +4091,7 @@ " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '2',\n", - " 'maxNotionalValue': '60000',\n", + " 'maxNotionalValue': '5000000',\n", " 'marginType': 'cross',\n", " 'isolatedMargin': '0.00000000',\n", " 'isAutoAddMargin': 'false',\n", @@ -4039,6 +4159,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'DOGSUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'COSUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -4174,6 +4309,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'SOXLUSDT',\n", + " 'positionAmt': '0.0000',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '2000000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'HEMIUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -4346,7 +4496,7 @@ " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '20',\n", - " 'maxNotionalValue': '25000',\n", + " 'maxNotionalValue': '500000',\n", " 'marginType': 'cross',\n", " 'isolatedMargin': '0.00000000',\n", " 'isAutoAddMargin': 'false',\n", @@ -5047,7 +5197,7 @@ " {'symbol': '4USDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.00000000',\n", + " 'markPrice': '0.01297365',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '50',\n", @@ -5058,7 +5208,7 @@ " 'positionSide': 'BOTH',\n", " 'notional': '0',\n", " 'isolatedWallet': '0',\n", - " 'updateTime': 0},\n", + " 'updateTime': 1777965261969},\n", " {'symbol': 'BELUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -5330,20 +5480,20 @@ " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", " {'symbol': 'LITUSDT',\n", - " 'positionAmt': '0',\n", - " 'entryPrice': '0.0',\n", - " 'markPrice': '0.93992527',\n", - " 'unRealizedProfit': '0.00000000',\n", - " 'liquidationPrice': '0',\n", + " 'positionAmt': '179',\n", + " 'entryPrice': '0.9766',\n", + " 'markPrice': '0.97480000',\n", + " 'unRealizedProfit': '-0.32220000',\n", + " 'liquidationPrice': '0.68966790',\n", " 'leverage': '50',\n", " 'maxNotionalValue': '2500',\n", " 'marginType': 'cross',\n", " 'isolatedMargin': '0.00000000',\n", " 'isAutoAddMargin': 'false',\n", " 'positionSide': 'BOTH',\n", - " 'notional': '0',\n", + " 'notional': '174.48920000',\n", " 'isolatedWallet': '0',\n", - " 'updateTime': 1777819835027},\n", + " 'updateTime': 1778213915476},\n", " {'symbol': 'FFUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -5389,6 +5539,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'STEEMUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'BMTUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -5509,6 +5674,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'DRAMUSDT',\n", + " 'positionAmt': '0.00',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '80000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'BOBUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -5947,7 +6127,7 @@ " {'symbol': 'WLFIUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '0.05870000',\n", + " 'markPrice': '0.07422827',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '25',\n", @@ -6154,6 +6334,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'BILLUSDT',\n", + " 'positionAmt': '0',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '3',\n", + " 'maxNotionalValue': '2500000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'CYBERUSDT',\n", " 'positionAmt': '0',\n", " 'entryPrice': '0.0',\n", @@ -6607,7 +6802,7 @@ " {'symbol': 'BTCUSDT',\n", " 'positionAmt': '0.000',\n", " 'entryPrice': '0.0',\n", - " 'markPrice': '78659.35912065',\n", + " 'markPrice': '79558.40000000',\n", " 'unRealizedProfit': '0.00000000',\n", " 'liquidationPrice': '0',\n", " 'leverage': '150',\n", @@ -6664,6 +6859,21 @@ " 'notional': '0',\n", " 'isolatedWallet': '0',\n", " 'updateTime': 0},\n", + " {'symbol': 'TENCENTUSDT',\n", + " 'positionAmt': '0.0000',\n", + " 'entryPrice': '0.0',\n", + " 'markPrice': '0.00000000',\n", + " 'unRealizedProfit': '0.00000000',\n", + " 'liquidationPrice': '0',\n", + " 'leverage': '2',\n", + " 'maxNotionalValue': '80000',\n", + " 'marginType': 'cross',\n", + " 'isolatedMargin': '0.00000000',\n", + " 'isAutoAddMargin': 'false',\n", + " 'positionSide': 'BOTH',\n", + " 'notional': '0',\n", + " 'isolatedWallet': '0',\n", + " 'updateTime': 0},\n", " {'symbol': 'HOODUSDT',\n", " 'positionAmt': '0.00',\n", " 'entryPrice': '0.0',\n", @@ -6876,7 +7086,7 @@ " 'updateTime': 0}]" ] }, - "execution_count": 11, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } diff --git a/docker-compose-algo.yml b/docker-compose-algo.yml index ff0dc9b..7a7517f 100644 --- a/docker-compose-algo.yml +++ b/docker-compose-algo.yml @@ -9,7 +9,7 @@ services: context: ./ dockerfile: ./algo/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data - ./:/algo_local_drive:rw # Read-write access to data network_mode: "host" diff --git a/docker-compose.yml b/docker-compose.yml index 448ef94..a7ec76c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -# tail -f Fund_Rate_Aster_FR_ALL.log Fund_Rate_Extended_FR_ALL.log Fund_Rate_Engine_BFR.log Fund_Rate_Algo_Orchestrator.log Fund_Rate_Algo.log Fund_Rate_Aster_User.log Fund_Rate_Aster.log Fund_Rate_Extended_FR.log Fund_Rate_Extended_OB.log Fund_Rate_Extended_User.log +# tail -f Fund_Rate_Algo.log Fund_Rate_Engine_BFR.log Fund_Rate_Algo_Orchestrator.log Fund_Rate_Aster_User.log Fund_Rate_Aster.log Fund_Rate_Extended_FR.log Fund_Rate_Extended_OB.log Fund_Rate_Extended_User.log services: # algo: @@ -9,126 +9,106 @@ services: # dockerfile: ./algo/Dockerfile # depends_on: # - algo_orchestrator + # - engine_best_funding_rate # - ws_aster # - ws_aster_user # - ws_extended_fund_rate # - ws_extended_orderbook - # - ws_extended_trades # - ws_extended_user # volumes: - # - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - # - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + # - /root/data:/root/data:rw # Read-write access to data + # - /root/logs:/root/logs:rw # Read-write access to data # network_mode: "host" algo_orchestrator: container_name: algo_orchestrator - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./algo_orchestrator/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data - ./:/algo_local_drive:rw # Read-write access to data network_mode: "host" engine_best_funding_rate: container_name: engine_best_funding_rate - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./engine_best_funding_rate/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data - network_mode: "host" - ws_extended_fund_rate_all: - container_name: ws_extended_fund_rate_all - restart: "unless-stopped" - build: - context: ./ - dockerfile: ./ws_extended_fund_rate_all/Dockerfile - volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data - network_mode: "host" - ws_aster_fund_rate_all: - container_name: ws_aster_fund_rate_all - restart: "unless-stopped" - build: - context: ./ - dockerfile: ./ws_aster_fund_rate_all/Dockerfile - volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data network_mode: "host" ws_aster: container_name: ws_aster - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./ws_aster/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data network_mode: "host" ws_aster_user: container_name: ws_aster_user - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./ws_aster_user/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data network_mode: "host" ws_extended_fund_rate: container_name: ws_extended_fund_rate - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./ws_extended_fund_rate/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data network_mode: "host" ws_extended_orderbook: container_name: ws_extended_orderbook - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./ws_extended_orderbook/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to dataw - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to dataw + - /root/logs:/root/logs:rw # Read-write access to data network_mode: "host" - # ws_extended_trades: - # container_name: ws_extended_trades - # restart: "unless-stopped" - # build: - # context: ./ - # dockerfile: ./ws_extended_trades/Dockerfile - # volumes: - # - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to dataw - # - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data - # network_mode: "host" ws_extended_user: container_name: ws_extended_user - restart: "unless-stopped" + restart: "no" build: context: ./ dockerfile: ./ws_extended_user/Dockerfile volumes: - - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + - /root/data:/root/data:rw # Read-write access to data + - /root/logs:/root/logs:rw # Read-write access to data network_mode: "host" + # ws_extended_trades: + # container_name: ws_extended_trades + # restart: "no" + # build: + # context: ./ + # dockerfile: ./ws_extended_trades/Dockerfile + # volumes: + # - /root/data:/root/data:rw # Read-write access to dataw + # - /root/logs:/root/logs:rw # Read-write access to data + # network_mode: "host" # ng: # container_name: ng - # restart: "unless-stopped" + # restart: "no" # build: # context: ./ # dockerfile: ./ng/Dockerfile # volumes: - # - /home/ubuntu/data:/home/ubuntu/data:rw # Read-write access to data - # - /home/ubuntu/logs:/home/ubuntu/logs:rw # Read-write access to data + # - /root/data:/root/data:rw # Read-write access to data + # - /root/logs:/root/logs:rw # Read-write access to data # network_mode: "host" \ No newline at end of file diff --git a/engine_best_funding_rate.ipynb b/engine_best_funding_rate.ipynb index a951b8f..5f92749 100644 --- a/engine_best_funding_rate.ipynb +++ b/engine_best_funding_rate.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 53, "id": "0b5ca901", "metadata": {}, "outputs": [], @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 54, "id": "53647b40", "metadata": {}, "outputs": [], @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 55, "id": "1f3b65ee", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 56, "id": "5176d5b1", "metadata": {}, "outputs": [], @@ -89,7 +89,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 57, "id": "e33ec721", "metadata": {}, "outputs": [], @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 58, "id": "62815940", "metadata": {}, "outputs": [], @@ -131,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 59, "id": "271a67c1", "metadata": {}, "outputs": [], @@ -147,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 60, "id": "1ce2fde4", "metadata": {}, "outputs": [], @@ -167,7 +167,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 61, "id": "ff88b413", "metadata": {}, "outputs": [], @@ -187,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 62, "id": "f5ade993", "metadata": {}, "outputs": [], @@ -199,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 63, "id": "84bbc5a8", "metadata": {}, "outputs": [], @@ -218,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 64, "id": "7bd849e4", "metadata": {}, "outputs": [], @@ -233,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 65, "id": "86549660", "metadata": {}, "outputs": [], @@ -284,7 +284,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 66, "id": "3da1ef8c", "metadata": {}, "outputs": [], @@ -302,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 67, "id": "617bdb3a", "metadata": {}, "outputs": [ @@ -326,72 +326,67 @@ "type": "float" } ], - "ref": "41f1a58f-087e-48a8-9829-27de7bd3bd44", + "ref": "c07086f0-a5dd-448a-bf8b-9d7d1036b124", "rows": [ [ "0", - "0.00047961685177977387", - "0.00010676916506513479" + "-0.0014575731912411793", + "-0.0019243104554201862" ], [ "1", - "0.00039197315461914073", - "0.007192868347553283" + "0.0004248737346173037", + "0.001066716137559931" ], [ "2", - "0.0002912986303861276", - "0.0005358432541993086" + "0.0011111250413217144", + "0.0035238241152137917" ], [ "3", - "0.0009604511021952256", - "0.0004019230471949964" + "-0.0012642225031604393", + "0.0" ], [ "4", - "0.00030683403068354487", - "0.00012883830792365103" + "0.0008804686854790855", + "0.00109728769028683" ], [ "5", - "-0.001055302332891861", - "-0.0023480538246184457" + "7.042997534656426e-05", + "-0.00028174966542227065" ], [ "6", - "7.095469542717225e-05", - "-0.0004262271790863581" + "0.0003110432393981233", + "0.00032471046650073276" ], [ "7", - "0.00013706284207826158", - "-1.975479362426036e-05" + "0.00023022365545255496", + "1.2962322848197871e-05" ], [ "8", - "0.00016960651288999706", - "-0.00033863867253636215" + "0.00024157903956023574", + "9.619228462920404e-05" ], [ "9", - "0.0013806103592610697", - "0.002941176470588225" + "0.0005839416058395219", + "0.0016601562500000444" ], [ "10", - "-0.0005592593208220142", - "-0.00045253363649400136" - ], - [ - "11", - "-0.0015596592214837668", - "0.006847133757961643" + "-0.0005409030918021029", + "-0.0008003875195105037" ] ], "shape": { "columns": 2, - "rows": 12 + "rows": 11 } }, "text/html": [ @@ -420,63 +415,58 @@ " \n", " \n", " 0\n", - " 0.000480\n", - " 0.000107\n", + " -0.001458\n", + " -0.001924\n", " \n", " \n", " 1\n", - " 0.000392\n", - " 0.007193\n", + " 0.000425\n", + " 0.001067\n", " \n", " \n", " 2\n", - " 0.000291\n", - " 0.000536\n", + " 0.001111\n", + " 0.003524\n", " \n", " \n", " 3\n", - " 0.000960\n", - " 0.000402\n", + " -0.001264\n", + " 0.000000\n", " \n", " \n", " 4\n", - " 0.000307\n", - " 0.000129\n", + " 0.000880\n", + " 0.001097\n", " \n", " \n", " 5\n", - " -0.001055\n", - " -0.002348\n", + " 0.000070\n", + " -0.000282\n", " \n", " \n", " 6\n", - " 0.000071\n", - " -0.000426\n", + " 0.000311\n", + " 0.000325\n", " \n", " \n", " 7\n", - " 0.000137\n", - " -0.000020\n", + " 0.000230\n", + " 0.000013\n", " \n", " \n", " 8\n", - " 0.000170\n", - " -0.000339\n", + " 0.000242\n", + " 0.000096\n", " \n", " \n", " 9\n", - " 0.001381\n", - " 0.002941\n", + " 0.000584\n", + " 0.001660\n", " \n", " \n", " 10\n", - " -0.000559\n", - " -0.000453\n", - " \n", - " \n", - " 11\n", - " -0.001560\n", - " 0.006847\n", + " -0.000541\n", + " -0.000800\n", " \n", " \n", "\n", @@ -484,21 +474,20 @@ ], "text/plain": [ " buy_ratio_ext current_ast_over_ext_ratio\n", - "0 0.000480 0.000107\n", - "1 0.000392 0.007193\n", - "2 0.000291 0.000536\n", - "3 0.000960 0.000402\n", - "4 0.000307 0.000129\n", - "5 -0.001055 -0.002348\n", - "6 0.000071 -0.000426\n", - "7 0.000137 -0.000020\n", - "8 0.000170 -0.000339\n", - "9 0.001381 0.002941\n", - "10 -0.000559 -0.000453\n", - "11 -0.001560 0.006847" + "0 -0.001458 -0.001924\n", + "1 0.000425 0.001067\n", + "2 0.001111 0.003524\n", + "3 -0.001264 0.000000\n", + "4 0.000880 0.001097\n", + "5 0.000070 -0.000282\n", + "6 0.000311 0.000325\n", + "7 0.000230 0.000013\n", + "8 0.000242 0.000096\n", + "9 0.000584 0.001660\n", + "10 -0.000541 -0.000800" ] }, - "execution_count": 16, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -509,7 +498,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 68, "metadata": {}, "outputs": [ { @@ -697,90 +686,52 @@ "type": "float" } ], - "ref": "635ed245-b1bd-487c-9beb-66e32f50fc3f", + "ref": "a0424c26-260b-4cf6-87eb-d449f712218b", "rows": [ [ "0", - "LIT-USD", - "LITUSDT", - "1377302.6638", - "967935.86", - "0.0001", - "0.0001000", - "10", - "1", - "1", - "1", - "0.0", - "5", - "1.3e-05", - "6.724e-05", - "25", - "50", - "LIT", - "LIT", - "USD", - "USDT", - "0.0018078192", - "5.424e-05", - "5.424e-05", - "True", - "1778133911550.0", - "0.9367", - "1.81", - "1778133698241", - "0.9366", - "0.00010676916506513479", - "2026-05-07 06:05:11.550000", - "2026-05-07 06:01:38.241000", - "0.0005347560260403073", - "0.00047961685177977387", - "-0.00047961685177977387" - ], - [ - "1", - "CHIP-USD", - "CHIPUSDT", - "281710.81122", - "306719.89", - "0.000001", - "0.0000100", + "DOGE-USD", + "DOGEUSDT", + "7418300.401", + "16606934.08", + "0.00001", + "0.002440", "100", "1", "10", "1", "0.0", "5", - "-0.000114", - "1.25e-05", - "5", + "5.3e-05", + "0.0001", "50", - "CHIP", - "CHIP", + "75", + "DOGE", + "DOGE", "USD", "USDT", - "0.001149885", - "0.0001265", - "0.0001265", - "True", - "1778133769370.0", - "0.05265", - "1.15", - "1778133309735", - "0.052274", - "0.007192868347553283", - "2026-05-07 06:02:49.370000", - "2026-05-07 05:55:09.735000", - "0.00117083954183346", - "0.00039197315461914073", - "-0.00039197315461914073" + "0.00318", + "5.3e-05", + "5.3e-05", + "False", + "1778269553033.0", + "0.10892", + "3.18", + "1778269090953", + "0.10913", + "-0.0019243104554201862", + "2026-05-08 19:45:53.033000", + "2026-05-08 19:38:10.953000", + "0.00013541105739939315", + "-0.0014575731912411793", + "0.0014575731912411793" ], [ - "2", + "1", "HYPE-USD", "HYPEUSDT", - "43268056.41992", - "10387743.24", + "29703931.25184", + "10115064.78", "0.001", "0.00100", "0.1", @@ -797,28 +748,104 @@ "HYPE", "USD", "USDT", - "0.00111423", - "1.3e-05", - "1.3e-05", - "False", - "1778133936887.0", - "42.946", - "1.11", - "1778133930025", - "42.923", - "0.0005358432541993086", - "2026-05-07 06:05:36.887000", - "2026-05-07 06:05:30.025000", - "0.00013095977738623895", - "0.0002912986303861276", - "-0.0002912986303861276" + "0.0031712700000000003", + "3.7000000000000005e-05", + "3.7000000000000005e-05", + "True", + "1778269549714.0", + "43.169", + "3.17", + "1778269555095", + "43.123", + "0.001066716137559931", + "2026-05-08 19:45:49.714000", + "2026-05-08 19:45:55.095000", + "0.00014072086498827406", + "0.0004248737346173037", + "-0.0004248737346173037" + ], + [ + "2", + "ENA-USD", + "ENAUSDT", + "7908770.1502", + "209794.26", + "0.00001", + "0.0000100", + "100", + "1", + "10", + "1", + "0.0", + "5", + "-9e-06", + "5e-05", + "50", + "25", + "ENA", + "ENA", + "USD", + "USDT", + "0.00196647", + "5.9000000000000004e-05", + "5.9000000000000004e-05", + "True", + "1778269382100.0", + "0.131", + "1.97", + "1778269477041", + "0.13054", + "0.0035238241152137917", + "2026-05-08 19:43:02.100000", + "2026-05-08 19:44:37.041000", + "0.002855880184486828", + "0.0011111250413217144", + "-0.0011111250413217144" ], [ "3", + "WLFI-USD", + "WLFIUSDT", + "671241.189", + "5913232.5", + "0.00001", + "0.0001000", + "100", + "1", + "10", + "1", + "0.0", + "5", + "-7e-05", + "-0.00015143", + "10", + "25", + "WLFI", + "WLFI", + "USD", + "USDT", + "0.0011636347", + "8.143000000000001e-05", + "8.143000000000001e-05", + "True", + "1778269552800.0", + "0.0751", + "1.16", + "1778269500844", + "0.0751", + "0.0", + "2026-05-08 19:45:52.800000", + "2026-05-08 19:45:00.844000", + "0.0006259360131064561", + "-0.0012642225031604393", + "0.0012642225031604393" + ], + [ + "4", "BNB-USD", "BNBUSDT", - "8459934.80766", - "35977829.28", + "8044718.43832", + "25785884.06", "0.01", "0.010", "0.01", @@ -828,7 +855,7 @@ "0.0", "5", "1.3e-05", - "0.00013451", + "0.0", "50", "100", "BNB", @@ -839,100 +866,24 @@ "1.3e-05", "1.3e-05", "False", - "1778133937113.0", - "647.15", + "1778269551855.0", + "647.76", "0.87", - "1778133707748", - "646.89", - "0.0004019230471949964", - "2026-05-07 06:05:37.113000", - "2026-05-07 06:01:47.748000", - "7.192785854348182e-05", - "0.0009604511021952256", - "-0.0009604511021952256" - ], - [ - "4", - "ETH-USD", - "ETHUSDT", - "102649744.9418", - "577090390.39", - "0.1", - "0.01", - "0.01", - "0.001", - "0.001", - "0.001", - "0.0", - "5", - "-1.1e-05", - "3.834e-05", - "50", - "150", - "ETH", - "ETH", - "USD", - "USDT", - "0.000825", - "1.1e-05", - "-1.1e-05", - "False", - "1778133936351.0", - "2328.8", - "0.82", - "1778133918939", - "2328.5", - "0.00012883830792365103", - "2026-05-07 06:05:36.351000", - "2026-05-07 06:05:18.939000", - "6.286707183386635e-05", - "0.00030683403068354487", - "-0.00030683403068354487" + "1778269033011", + "647.05", + "0.00109728769028683", + "2026-05-08 19:45:51.855000", + "2026-05-08 19:37:13.011000", + "6.52179393553451e-05", + "0.0008804686854790855", + "-0.0008804686854790855" ], [ "5", - "DOGE-USD", - "DOGEUSDT", - "7132957.6312", - "41418540.74", - "0.00001", - "0.002440", - "100", - "1", - "10", - "1", - "0.0", - "5", - "1.3e-05", - "0.0001", - "50", - "75", - "DOGE", - "DOGE", - "USD", - "USDT", - "0.00078", - "1.3e-05", - "1.3e-05", - "False", - "1778133935896.0", - "0.11047", - "0.78", - "1778133750010", - "0.11073", - "-0.0023480538246184457", - "2026-05-07 06:05:35.896000", - "2026-05-07 06:02:30.010000", - "8.110679725637555e-05", - "-0.001055302332891861", - "0.001055302332891861" - ], - [ - "6", "XRP-USD", "XRPUSDT", - "10560948.5002", - "17769353.55", + "10302892.868", + "14783525.93", "0.0001", "0.0143", "10", @@ -941,74 +892,36 @@ "0.1", "0.0", "5", - "1e-05", - "-7.81e-06", + "1.2e-05", + "0.0001", "50", "100", "XRP", "XRP", "USD", "USDT", - "0.0006667000000000001", - "1e-05", - "1e-05", + "0.00080004", + "1.2e-05", + "1.2e-05", "False", - "1778133935776.0", - "1.4071", - "0.67", - "1778133915802", - "1.4077", - "-0.0004262271790863581", - "2026-05-07 06:05:35.776000", - "2026-05-07 06:05:15.802000", - "7.272228317266807e-05", - "7.095469542717225e-05", - "-7.095469542717225e-05" + "1778269548899.0", + "1.4193", + "0.8", + "1778269539805", + "1.4197", + "-0.00028174966542227065", + "2026-05-08 19:45:48.899000", + "2026-05-08 19:45:39.805000", + "9.873996195640227e-05", + "7.042997534656426e-05", + "-7.042997534656426e-05" ], [ - "7", - "BTC-USD", - "BTCUSDT", - "233117079.15542", - "1009997302.83", - "1", - "1", - "0.0001", - "0.001", - "0.00001", - "0.001", - "0.0", - "5", - "6e-06", - "-5.428e-05", - "50", - "150", - "BTC", - "BTC", - "USD", - "USDT", - "0.00045", - "6e-06", - "6e-06", - "False", - "1778133936703.0", - "80991.4", - "0.45", - "1778133936053", - "80993.0", - "-1.975479362426036e-05", - "2026-05-07 06:05:36.703000", - "2026-05-07 06:05:36.053000", - "8.226176895075401e-05", - "0.00013706284207826158", - "-0.00013706284207826158" - ], - [ - "8", + "6", "SOL-USD", "SOLUSDT", - "22137796.0018", - "99667918.6", + "23679036.1856", + "95852329.42", "0.01", "0.4200", "0.1", @@ -1017,7 +930,7 @@ "0.01", "0.0", "5", - "4e-06", + "-1e-05", "0.0001", "50", "100", @@ -1025,66 +938,142 @@ "SOL", "USD", "USDT", - "0.00026668", - "4e-06", - "4e-06", + "0.0006667000000000001", + "1e-05", + "-1e-05", "False", - "1778133936390.0", - "88.56", - "0.27", - "1778133917319", - "88.59", - "-0.00033863867253636215", - "2026-05-07 06:05:36.390000", - "2026-05-07 06:05:17.319000", - "8.83996576899045e-05", - "0.00016960651288999706", - "-0.00016960651288999706" + "1778269551900.0", + "92.42", + "0.67", + "1778269530967", + "92.39", + "0.00032471046650073276", + "2026-05-08 19:45:51.900000", + "2026-05-08 19:45:30.967000", + "9.894644773399323e-05", + "0.0003110432393981233", + "-0.0003110432393981233" + ], + [ + "7", + "ETH-USD", + "ETHUSDT", + "122256911.8518", + "411525752.48", + "0.1", + "0.01", + "0.01", + "0.001", + "0.001", + "0.001", + "0.0", + "5", + "-8e-06", + "1.401e-05", + "50", + "150", + "ETH", + "ETH", + "USD", + "USDT", + "0.0006", + "8e-06", + "-8e-06", + "False", + "1778269552750.0", + "2314.43", + "0.6", + "1778269529430", + "2314.4", + "1.2962322848197871e-05", + "2026-05-08 19:45:52.750000", + "2026-05-08 19:45:29.430000", + "9.416527890515101e-05", + "0.00023022365545255496", + "-0.00023022365545255496" + ], + [ + "8", + "BTC-USD", + "BTCUSDT", + "268514109.56108", + "711347973.06", + "1", + "1", + "0.0001", + "0.001", + "0.00001", + "0.001", + "0.0", + "5", + "-6e-06", + "5.311e-05", + "50", + "150", + "BTC", + "BTC", + "USD", + "USDT", + "0.00045", + "6e-06", + "-6e-06", + "False", + "1778269552805.0", + "80055.7", + "0.45", + "1778269551481", + "80048.0", + "9.619228462920404e-05", + "2026-05-08 19:45:52.805000", + "2026-05-08 19:45:51.481000", + "8.208549684017046e-05", + "0.00024157903956023574", + "-0.00024157903956023574" ], [ "9", - "WLFI-USD", - "WLFIUSDT", - "271961.564", - "1499330.5", - "0.00001", + "LIT-USD", + "LITUSDT", + "3087717.713", + "730868.49", + "0.0001", "0.0001000", - "100", - "1", "10", "1", + "1", + "1", "0.0", "5", - "-9e-06", - "5e-05", - "10", + "1.3e-05", + "1.25e-05", "25", - "WLFI", - "WLFI", + "50", + "LIT", + "LIT", "USD", "USDT", - "0.00012861", - "9e-06", - "-9e-06", - "False", - "1778133909230.0", - "0.0682", - "0.13", - "1778133657113", - "0.068", - "0.002941176470588225", - "2026-05-07 06:05:09.230000", - "2026-05-07 06:00:57.113000", - "0.0008328634331733419", - "0.0013806103592610697", - "-0.0013806103592610697" + "1.6664999999999953e-05", + "4.999999999999986e-07", + "4.999999999999986e-07", + "True", + "1778269444106.0", + "1.0257", + "0.02", + "1778269522019", + "1.024", + "0.0016601562500000444", + "2026-05-08 19:44:04.106000", + "2026-05-08 19:45:22.019000", + "0.0010786710596867768", + "0.0005839416058395219", + "-0.0005839416058395219" ], [ "10", "ZEC-USD", "ZECUSDT", - "8617918.76849", - "13568944.82", + "3023629.1888", + "6524402.14", "0.001", "0.0100", "0.1", @@ -1105,60 +1094,22 @@ "4.999999999999986e-07", "4.999999999999986e-07", "True", - "1778133935200.0", - "543.36", + "1778269539433.0", + "575.51", "0.01", - "1778133929212", - "543.606", - "-0.00045253363649400136", - "2026-05-07 06:05:35.200000", - "2026-05-07 06:05:29.212000", - "0.00022684658450076162", - "-0.0005592593208220142", - "0.0005592593208220142" - ], - [ - "11", - "4-USD", - "4USDT", - "182196.3448", - "128695.28", - "0.00001", - "0.0000010", - "100", - "1", - "10", - "1", - "0.0", - "5", - "1.3e-05", - "1.25e-05", - "5", - "50", - "4", - "4", - "USD", - "USDT", - "4.544999999999987e-06", - "4.999999999999986e-07", - "4.999999999999986e-07", - "True", - "1778133901400.0", - "0.012646", - "0.0", - "1778133456831", - "0.01256", - "0.006847133757961643", - "2026-05-07 06:05:01.400000", - "2026-05-07 05:57:36.831000", - "0.004118432015643399", - "-0.0015596592214837668", - "0.0015596592214837668" + "1778269518308", + "575.971", + "-0.0008003875195105037", + "2026-05-08 19:45:39.433000", + "2026-05-08 19:45:18.308000", + "0.000629864078059854", + "-0.0005409030918021029", + "0.0005409030918021029" ] ], "shape": { "columns": 35, - "rows": 12 + "rows": 11 } }, "text/html": [ @@ -1206,130 +1157,10 @@ " \n", " \n", " 0\n", - " LIT-USD\n", - " LITUSDT\n", - " 1.377303e+06\n", - " 9.679359e+05\n", - " 0.0001\n", - " 0.0001000\n", - " 10\n", - " 1\n", - " 1\n", - " 1\n", - " ...\n", - " 0.936700\n", - " 1.81\n", - " 1778133698241\n", - " 0.936600\n", - " 0.000107\n", - " 2026-05-07 06:05:11.550\n", - " 2026-05-07 06:01:38.241\n", - " 0.000535\n", - " 0.000480\n", - " -0.000480\n", - " \n", - " \n", - " 1\n", - " CHIP-USD\n", - " CHIPUSDT\n", - " 2.817108e+05\n", - " 3.067199e+05\n", - " 0.000001\n", - " 0.0000100\n", - " 100\n", - " 1\n", - " 10\n", - " 1\n", - " ...\n", - " 0.052650\n", - " 1.15\n", - " 1778133309735\n", - " 0.052274\n", - " 0.007193\n", - " 2026-05-07 06:02:49.370\n", - " 2026-05-07 05:55:09.735\n", - " 0.001171\n", - " 0.000392\n", - " -0.000392\n", - " \n", - " \n", - " 2\n", - " HYPE-USD\n", - " HYPEUSDT\n", - " 4.326806e+07\n", - " 1.038774e+07\n", - " 0.001\n", - " 0.00100\n", - " 0.1\n", - " 0.01\n", - " 0.01\n", - " 0.01\n", - " ...\n", - " 42.946000\n", - " 1.11\n", - " 1778133930025\n", - " 42.923000\n", - " 0.000536\n", - " 2026-05-07 06:05:36.887\n", - " 2026-05-07 06:05:30.025\n", - " 0.000131\n", - " 0.000291\n", - " -0.000291\n", - " \n", - " \n", - " 3\n", - " BNB-USD\n", - " BNBUSDT\n", - " 8.459935e+06\n", - " 3.597783e+07\n", - " 0.01\n", - " 0.010\n", - " 0.01\n", - " 0.01\n", - " 0.001\n", - " 0.01\n", - " ...\n", - " 647.150000\n", - " 0.87\n", - " 1778133707748\n", - " 646.890000\n", - " 0.000402\n", - " 2026-05-07 06:05:37.113\n", - " 2026-05-07 06:01:47.748\n", - " 0.000072\n", - " 0.000960\n", - " -0.000960\n", - " \n", - " \n", - " 4\n", - " ETH-USD\n", - " ETHUSDT\n", - " 1.026497e+08\n", - " 5.770904e+08\n", - " 0.1\n", - " 0.01\n", - " 0.01\n", - " 0.001\n", - " 0.001\n", - " 0.001\n", - " ...\n", - " 2328.800000\n", - " 0.82\n", - " 1778133918939\n", - " 2328.500000\n", - " 0.000129\n", - " 2026-05-07 06:05:36.351\n", - " 2026-05-07 06:05:18.939\n", - " 0.000063\n", - " 0.000307\n", - " -0.000307\n", - " \n", - " \n", - " 5\n", " DOGE-USD\n", " DOGEUSDT\n", - " 7.132958e+06\n", - " 4.141854e+07\n", + " 7.418300e+06\n", + " 1.660693e+07\n", " 0.00001\n", " 0.002440\n", " 100\n", @@ -1337,95 +1168,71 @@ " 10\n", " 1\n", " ...\n", - " 0.110470\n", - " 0.78\n", - " 1778133750010\n", - " 0.110730\n", - " -0.002348\n", - " 2026-05-07 06:05:35.896\n", - " 2026-05-07 06:02:30.010\n", - " 0.000081\n", - " -0.001055\n", - " 0.001055\n", + " 0.10892\n", + " 3.18\n", + " 1778269090953\n", + " 0.10913\n", + " -0.001924\n", + " 2026-05-08 19:45:53.033\n", + " 2026-05-08 19:38:10.953\n", + " 0.000135\n", + " -0.001458\n", + " 0.001458\n", " \n", " \n", - " 6\n", - " XRP-USD\n", - " XRPUSDT\n", - " 1.056095e+07\n", - " 1.776935e+07\n", - " 0.0001\n", - " 0.0143\n", - " 10\n", - " 0.1\n", - " 1\n", - " 0.1\n", - " ...\n", - " 1.407100\n", - " 0.67\n", - " 1778133915802\n", - " 1.407700\n", - " -0.000426\n", - " 2026-05-07 06:05:35.776\n", - " 2026-05-07 06:05:15.802\n", - " 0.000073\n", - " 0.000071\n", - " -0.000071\n", - " \n", - " \n", - " 7\n", - " BTC-USD\n", - " BTCUSDT\n", - " 2.331171e+08\n", - " 1.009997e+09\n", - " 1\n", - " 1\n", - " 0.0001\n", + " 1\n", + " HYPE-USD\n", + " HYPEUSDT\n", + " 2.970393e+07\n", + " 1.011506e+07\n", " 0.001\n", + " 0.00100\n", + " 0.1\n", + " 0.01\n", + " 0.01\n", + " 0.01\n", + " ...\n", + " 43.16900\n", + " 3.17\n", + " 1778269555095\n", + " 43.12300\n", + " 0.001067\n", + " 2026-05-08 19:45:49.714\n", + " 2026-05-08 19:45:55.095\n", + " 0.000141\n", + " 0.000425\n", + " -0.000425\n", + " \n", + " \n", + " 2\n", + " ENA-USD\n", + " ENAUSDT\n", + " 7.908770e+06\n", + " 2.097943e+05\n", " 0.00001\n", - " 0.001\n", + " 0.0000100\n", + " 100\n", + " 1\n", + " 10\n", + " 1\n", " ...\n", - " 80991.400000\n", - " 0.45\n", - " 1778133936053\n", - " 80993.000000\n", - " -0.000020\n", - " 2026-05-07 06:05:36.703\n", - " 2026-05-07 06:05:36.053\n", - " 0.000082\n", - " 0.000137\n", - " -0.000137\n", + " 0.13100\n", + " 1.97\n", + " 1778269477041\n", + " 0.13054\n", + " 0.003524\n", + " 2026-05-08 19:43:02.100\n", + " 2026-05-08 19:44:37.041\n", + " 0.002856\n", + " 0.001111\n", + " -0.001111\n", " \n", " \n", - " 8\n", - " SOL-USD\n", - " SOLUSDT\n", - " 2.213780e+07\n", - " 9.966792e+07\n", - " 0.01\n", - " 0.4200\n", - " 0.1\n", - " 0.01\n", - " 0.01\n", - " 0.01\n", - " ...\n", - " 88.560000\n", - " 0.27\n", - " 1778133917319\n", - " 88.590000\n", - " -0.000339\n", - " 2026-05-07 06:05:36.390\n", - " 2026-05-07 06:05:17.319\n", - " 0.000088\n", - " 0.000170\n", - " -0.000170\n", - " \n", - " \n", - " 9\n", + " 3\n", " WLFI-USD\n", " WLFIUSDT\n", - " 2.719616e+05\n", - " 1.499330e+06\n", + " 6.712412e+05\n", + " 5.913232e+06\n", " 0.00001\n", " 0.0001000\n", " 100\n", @@ -1433,23 +1240,167 @@ " 10\n", " 1\n", " ...\n", - " 0.068200\n", - " 0.13\n", - " 1778133657113\n", - " 0.068000\n", - " 0.002941\n", - " 2026-05-07 06:05:09.230\n", - " 2026-05-07 06:00:57.113\n", - " 0.000833\n", - " 0.001381\n", - " -0.001381\n", + " 0.07510\n", + " 1.16\n", + " 1778269500844\n", + " 0.07510\n", + " 0.000000\n", + " 2026-05-08 19:45:52.800\n", + " 2026-05-08 19:45:00.844\n", + " 0.000626\n", + " -0.001264\n", + " 0.001264\n", + " \n", + " \n", + " 4\n", + " BNB-USD\n", + " BNBUSDT\n", + " 8.044718e+06\n", + " 2.578588e+07\n", + " 0.01\n", + " 0.010\n", + " 0.01\n", + " 0.01\n", + " 0.001\n", + " 0.01\n", + " ...\n", + " 647.76000\n", + " 0.87\n", + " 1778269033011\n", + " 647.05000\n", + " 0.001097\n", + " 2026-05-08 19:45:51.855\n", + " 2026-05-08 19:37:13.011\n", + " 0.000065\n", + " 0.000880\n", + " -0.000880\n", + " \n", + " \n", + " 5\n", + " XRP-USD\n", + " XRPUSDT\n", + " 1.030289e+07\n", + " 1.478353e+07\n", + " 0.0001\n", + " 0.0143\n", + " 10\n", + " 0.1\n", + " 1\n", + " 0.1\n", + " ...\n", + " 1.41930\n", + " 0.80\n", + " 1778269539805\n", + " 1.41970\n", + " -0.000282\n", + " 2026-05-08 19:45:48.899\n", + " 2026-05-08 19:45:39.805\n", + " 0.000099\n", + " 0.000070\n", + " -0.000070\n", + " \n", + " \n", + " 6\n", + " SOL-USD\n", + " SOLUSDT\n", + " 2.367904e+07\n", + " 9.585233e+07\n", + " 0.01\n", + " 0.4200\n", + " 0.1\n", + " 0.01\n", + " 0.01\n", + " 0.01\n", + " ...\n", + " 92.42000\n", + " 0.67\n", + " 1778269530967\n", + " 92.39000\n", + " 0.000325\n", + " 2026-05-08 19:45:51.900\n", + " 2026-05-08 19:45:30.967\n", + " 0.000099\n", + " 0.000311\n", + " -0.000311\n", + " \n", + " \n", + " 7\n", + " ETH-USD\n", + " ETHUSDT\n", + " 1.222569e+08\n", + " 4.115258e+08\n", + " 0.1\n", + " 0.01\n", + " 0.01\n", + " 0.001\n", + " 0.001\n", + " 0.001\n", + " ...\n", + " 2314.43000\n", + " 0.60\n", + " 1778269529430\n", + " 2314.40000\n", + " 0.000013\n", + " 2026-05-08 19:45:52.750\n", + " 2026-05-08 19:45:29.430\n", + " 0.000094\n", + " 0.000230\n", + " -0.000230\n", + " \n", + " \n", + " 8\n", + " BTC-USD\n", + " BTCUSDT\n", + " 2.685141e+08\n", + " 7.113480e+08\n", + " 1\n", + " 1\n", + " 0.0001\n", + " 0.001\n", + " 0.00001\n", + " 0.001\n", + " ...\n", + " 80055.70000\n", + " 0.45\n", + " 1778269551481\n", + " 80048.00000\n", + " 0.000096\n", + " 2026-05-08 19:45:52.805\n", + " 2026-05-08 19:45:51.481\n", + " 0.000082\n", + " 0.000242\n", + " -0.000242\n", + " \n", + " \n", + " 9\n", + " LIT-USD\n", + " LITUSDT\n", + " 3.087718e+06\n", + " 7.308685e+05\n", + " 0.0001\n", + " 0.0001000\n", + " 10\n", + " 1\n", + " 1\n", + " 1\n", + " ...\n", + " 1.02570\n", + " 0.02\n", + " 1778269522019\n", + " 1.02400\n", + " 0.001660\n", + " 2026-05-08 19:44:04.106\n", + " 2026-05-08 19:45:22.019\n", + " 0.001079\n", + " 0.000584\n", + " -0.000584\n", " \n", " \n", " 10\n", " ZEC-USD\n", " ZECUSDT\n", - " 8.617919e+06\n", - " 1.356894e+07\n", + " 3.023629e+06\n", + " 6.524402e+06\n", " 0.001\n", " 0.0100\n", " 0.1\n", @@ -1457,135 +1408,105 @@ " 0.1\n", " 0.001\n", " ...\n", - " 543.360000\n", + " 575.51000\n", " 0.01\n", - " 1778133929212\n", - " 543.606000\n", - " -0.000453\n", - " 2026-05-07 06:05:35.200\n", - " 2026-05-07 06:05:29.212\n", - " 0.000227\n", - " -0.000559\n", - " 0.000559\n", - " \n", - " \n", - " 11\n", - " 4-USD\n", - " 4USDT\n", - " 1.821963e+05\n", - " 1.286953e+05\n", - " 0.00001\n", - " 0.0000010\n", - " 100\n", - " 1\n", - " 10\n", - " 1\n", - " ...\n", - " 0.012646\n", - " 0.00\n", - " 1778133456831\n", - " 0.012560\n", - " 0.006847\n", - " 2026-05-07 06:05:01.400\n", - " 2026-05-07 05:57:36.831\n", - " 0.004118\n", - " -0.001560\n", - " 0.001560\n", + " 1778269518308\n", + " 575.97100\n", + " -0.000800\n", + " 2026-05-08 19:45:39.433\n", + " 2026-05-08 19:45:18.308\n", + " 0.000630\n", + " -0.000541\n", + " 0.000541\n", " \n", " \n", "\n", - "

12 rows × 35 columns

\n", + "

11 rows × 35 columns

\n", "" ], "text/plain": [ " symbol_ext symbol_ast daily_volume_ext daily_volume_ast min_price_ext \\\n", - "0 LIT-USD LITUSDT 1.377303e+06 9.679359e+05 0.0001 \n", - "1 CHIP-USD CHIPUSDT 2.817108e+05 3.067199e+05 0.000001 \n", - "2 HYPE-USD HYPEUSDT 4.326806e+07 1.038774e+07 0.001 \n", - "3 BNB-USD BNBUSDT 8.459935e+06 3.597783e+07 0.01 \n", - "4 ETH-USD ETHUSDT 1.026497e+08 5.770904e+08 0.1 \n", - "5 DOGE-USD DOGEUSDT 7.132958e+06 4.141854e+07 0.00001 \n", - "6 XRP-USD XRPUSDT 1.056095e+07 1.776935e+07 0.0001 \n", - "7 BTC-USD BTCUSDT 2.331171e+08 1.009997e+09 1 \n", - "8 SOL-USD SOLUSDT 2.213780e+07 9.966792e+07 0.01 \n", - "9 WLFI-USD WLFIUSDT 2.719616e+05 1.499330e+06 0.00001 \n", - "10 ZEC-USD ZECUSDT 8.617919e+06 1.356894e+07 0.001 \n", - "11 4-USD 4USDT 1.821963e+05 1.286953e+05 0.00001 \n", + "0 DOGE-USD DOGEUSDT 7.418300e+06 1.660693e+07 0.00001 \n", + "1 HYPE-USD HYPEUSDT 2.970393e+07 1.011506e+07 0.001 \n", + "2 ENA-USD ENAUSDT 7.908770e+06 2.097943e+05 0.00001 \n", + "3 WLFI-USD WLFIUSDT 6.712412e+05 5.913232e+06 0.00001 \n", + "4 BNB-USD BNBUSDT 8.044718e+06 2.578588e+07 0.01 \n", + "5 XRP-USD XRPUSDT 1.030289e+07 1.478353e+07 0.0001 \n", + "6 SOL-USD SOLUSDT 2.367904e+07 9.585233e+07 0.01 \n", + "7 ETH-USD ETHUSDT 1.222569e+08 4.115258e+08 0.1 \n", + "8 BTC-USD BTCUSDT 2.685141e+08 7.113480e+08 1 \n", + "9 LIT-USD LITUSDT 3.087718e+06 7.308685e+05 0.0001 \n", + "10 ZEC-USD ZECUSDT 3.023629e+06 6.524402e+06 0.001 \n", "\n", " min_price_ast min_order_size_ext min_order_size_ast min_lot_size_ext \\\n", - "0 0.0001000 10 1 1 \n", - "1 0.0000100 100 1 10 \n", - "2 0.00100 0.1 0.01 0.01 \n", - "3 0.010 0.01 0.01 0.001 \n", - "4 0.01 0.01 0.001 0.001 \n", - "5 0.002440 100 1 10 \n", - "6 0.0143 10 0.1 1 \n", - "7 1 0.0001 0.001 0.00001 \n", - "8 0.4200 0.1 0.01 0.01 \n", - "9 0.0001000 100 1 10 \n", + "0 0.002440 100 1 10 \n", + "1 0.00100 0.1 0.01 0.01 \n", + "2 0.0000100 100 1 10 \n", + "3 0.0001000 100 1 10 \n", + "4 0.010 0.01 0.01 0.001 \n", + "5 0.0143 10 0.1 1 \n", + "6 0.4200 0.1 0.01 0.01 \n", + "7 0.01 0.01 0.001 0.001 \n", + "8 1 0.0001 0.001 0.00001 \n", + "9 0.0001000 10 1 1 \n", "10 0.0100 0.1 0.001 0.1 \n", - "11 0.0000010 100 1 10 \n", "\n", " min_lot_size_ast ... last_trade_px_ast hourly_dollars_per_1k \\\n", - "0 1 ... 0.936700 1.81 \n", - "1 1 ... 0.052650 1.15 \n", - "2 0.01 ... 42.946000 1.11 \n", - "3 0.01 ... 647.150000 0.87 \n", - "4 0.001 ... 2328.800000 0.82 \n", - "5 1 ... 0.110470 0.78 \n", - "6 0.1 ... 1.407100 0.67 \n", - "7 0.001 ... 80991.400000 0.45 \n", - "8 0.01 ... 88.560000 0.27 \n", - "9 1 ... 0.068200 0.13 \n", - "10 0.001 ... 543.360000 0.01 \n", - "11 1 ... 0.012646 0.00 \n", + "0 1 ... 0.10892 3.18 \n", + "1 0.01 ... 43.16900 3.17 \n", + "2 1 ... 0.13100 1.97 \n", + "3 1 ... 0.07510 1.16 \n", + "4 0.01 ... 647.76000 0.87 \n", + "5 0.1 ... 1.41930 0.80 \n", + "6 0.01 ... 92.42000 0.67 \n", + "7 0.001 ... 2314.43000 0.60 \n", + "8 0.001 ... 80055.70000 0.45 \n", + "9 1 ... 1.02570 0.02 \n", + "10 0.001 ... 575.51000 0.01 \n", "\n", " last_trade_ts_ext last_trade_px_ext current_ast_over_ext_ratio \\\n", - "0 1778133698241 0.936600 0.000107 \n", - "1 1778133309735 0.052274 0.007193 \n", - "2 1778133930025 42.923000 0.000536 \n", - "3 1778133707748 646.890000 0.000402 \n", - "4 1778133918939 2328.500000 0.000129 \n", - "5 1778133750010 0.110730 -0.002348 \n", - "6 1778133915802 1.407700 -0.000426 \n", - "7 1778133936053 80993.000000 -0.000020 \n", - "8 1778133917319 88.590000 -0.000339 \n", - "9 1778133657113 0.068000 0.002941 \n", - "10 1778133929212 543.606000 -0.000453 \n", - "11 1778133456831 0.012560 0.006847 \n", + "0 1778269090953 0.10913 -0.001924 \n", + "1 1778269555095 43.12300 0.001067 \n", + "2 1778269477041 0.13054 0.003524 \n", + "3 1778269500844 0.07510 0.000000 \n", + "4 1778269033011 647.05000 0.001097 \n", + "5 1778269539805 1.41970 -0.000282 \n", + "6 1778269530967 92.39000 0.000325 \n", + "7 1778269529430 2314.40000 0.000013 \n", + "8 1778269551481 80048.00000 0.000096 \n", + "9 1778269522019 1.02400 0.001660 \n", + "10 1778269518308 575.97100 -0.000800 \n", "\n", " last_trade_ts_dt_ast last_trade_ts_dt_ext buy_ratio_std \\\n", - "0 2026-05-07 06:05:11.550 2026-05-07 06:01:38.241 0.000535 \n", - "1 2026-05-07 06:02:49.370 2026-05-07 05:55:09.735 0.001171 \n", - "2 2026-05-07 06:05:36.887 2026-05-07 06:05:30.025 0.000131 \n", - "3 2026-05-07 06:05:37.113 2026-05-07 06:01:47.748 0.000072 \n", - "4 2026-05-07 06:05:36.351 2026-05-07 06:05:18.939 0.000063 \n", - "5 2026-05-07 06:05:35.896 2026-05-07 06:02:30.010 0.000081 \n", - "6 2026-05-07 06:05:35.776 2026-05-07 06:05:15.802 0.000073 \n", - "7 2026-05-07 06:05:36.703 2026-05-07 06:05:36.053 0.000082 \n", - "8 2026-05-07 06:05:36.390 2026-05-07 06:05:17.319 0.000088 \n", - "9 2026-05-07 06:05:09.230 2026-05-07 06:00:57.113 0.000833 \n", - "10 2026-05-07 06:05:35.200 2026-05-07 06:05:29.212 0.000227 \n", - "11 2026-05-07 06:05:01.400 2026-05-07 05:57:36.831 0.004118 \n", + "0 2026-05-08 19:45:53.033 2026-05-08 19:38:10.953 0.000135 \n", + "1 2026-05-08 19:45:49.714 2026-05-08 19:45:55.095 0.000141 \n", + "2 2026-05-08 19:43:02.100 2026-05-08 19:44:37.041 0.002856 \n", + "3 2026-05-08 19:45:52.800 2026-05-08 19:45:00.844 0.000626 \n", + "4 2026-05-08 19:45:51.855 2026-05-08 19:37:13.011 0.000065 \n", + "5 2026-05-08 19:45:48.899 2026-05-08 19:45:39.805 0.000099 \n", + "6 2026-05-08 19:45:51.900 2026-05-08 19:45:30.967 0.000099 \n", + "7 2026-05-08 19:45:52.750 2026-05-08 19:45:29.430 0.000094 \n", + "8 2026-05-08 19:45:52.805 2026-05-08 19:45:51.481 0.000082 \n", + "9 2026-05-08 19:44:04.106 2026-05-08 19:45:22.019 0.001079 \n", + "10 2026-05-08 19:45:39.433 2026-05-08 19:45:18.308 0.000630 \n", "\n", " buy_ratio_ext buy_ratio_ast \n", - "0 0.000480 -0.000480 \n", - "1 0.000392 -0.000392 \n", - "2 0.000291 -0.000291 \n", - "3 0.000960 -0.000960 \n", - "4 0.000307 -0.000307 \n", - "5 -0.001055 0.001055 \n", - "6 0.000071 -0.000071 \n", - "7 0.000137 -0.000137 \n", - "8 0.000170 -0.000170 \n", - "9 0.001381 -0.001381 \n", - "10 -0.000559 0.000559 \n", - "11 -0.001560 0.001560 \n", + "0 -0.001458 0.001458 \n", + "1 0.000425 -0.000425 \n", + "2 0.001111 -0.001111 \n", + "3 -0.001264 0.001264 \n", + "4 0.000880 -0.000880 \n", + "5 0.000070 -0.000070 \n", + "6 0.000311 -0.000311 \n", + "7 0.000230 -0.000230 \n", + "8 0.000242 -0.000242 \n", + "9 0.000584 -0.000584 \n", + "10 -0.000541 0.000541 \n", "\n", - "[12 rows x 35 columns]" + "[11 rows x 35 columns]" ] }, - "execution_count": 17, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1596,7 +1517,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 69, "id": "bbad7d21", "metadata": {}, "outputs": [], @@ -1645,17 +1566,17 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 70, "id": "799ffa9c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "np.float64(-3.456754155017894e-05)" + "np.float64(0.00041366269461740046)" ] }, - "execution_count": 22, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -1666,17 +1587,17 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 71, "id": "75ac86aa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "np.float64(0.0002912986303861276)" + "np.float64(0.00041752349903012576)" ] }, - "execution_count": 30, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1703,7 +1624,7 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 72, "id": "9eb589c7", "metadata": {}, "outputs": [ @@ -1722,7 +1643,7 @@ "\u001b[31mKeyError\u001b[39m: 'current_last_px_ratio'", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[31mKeyError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[173]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m df_candles_comb[\u001b[33m'current_last_px_ratio'\u001b[39m].median()\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[72]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m df_candles_comb[\u001b[33m'current_last_px_ratio'\u001b[39m].median()\n", "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/frame.py:4378\u001b[39m, in \u001b[36mDataFrame.__getitem__\u001b[39m\u001b[34m(self, key)\u001b[39m\n\u001b[32m 4374\u001b[39m \n\u001b[32m 4375\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m is_single_key:\n\u001b[32m 4376\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m self.columns.nlevels > \u001b[32m1\u001b[39m:\n\u001b[32m 4377\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m self._getitem_multilevel(key)\n\u001b[32m-> \u001b[39m\u001b[32m4378\u001b[39m indexer = self.columns.get_loc(key)\n\u001b[32m 4379\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m is_integer(indexer):\n\u001b[32m 4380\u001b[39m indexer = [indexer]\n\u001b[32m 4381\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/indexes/base.py:3648\u001b[39m, in \u001b[36mIndex.get_loc\u001b[39m\u001b[34m(self, key)\u001b[39m\n\u001b[32m 3643\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(casted_key, \u001b[38;5;28mslice\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m (\n\u001b[32m 3644\u001b[39m \u001b[38;5;28misinstance\u001b[39m(casted_key, abc.Iterable)\n\u001b[32m 3645\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28many\u001b[39m(\u001b[38;5;28misinstance\u001b[39m(x, \u001b[38;5;28mslice\u001b[39m) \u001b[38;5;28;01mfor\u001b[39;00m x \u001b[38;5;129;01min\u001b[39;00m casted_key)\n\u001b[32m 3646\u001b[39m ):\n\u001b[32m 3647\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m InvalidIndexError(key) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01merr\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m3648\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(key) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01merr\u001b[39;00m\n\u001b[32m 3649\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n\u001b[32m 3650\u001b[39m \u001b[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001b[39;00m\n\u001b[32m 3651\u001b[39m \u001b[38;5;66;03m# InvalidIndexError. Otherwise we fall through and re-raise\u001b[39;00m\n\u001b[32m 3652\u001b[39m \u001b[38;5;66;03m# the TypeError.\u001b[39;00m\n\u001b[32m 3653\u001b[39m \u001b[38;5;28mself\u001b[39m._check_indexing_error(key)\n", "\u001b[31mKeyError\u001b[39m: 'current_last_px_ratio'" @@ -1742,10 +1663,22 @@ }, { "cell_type": "code", - "execution_count": 174, + "execution_count": 73, "id": "0182370c", "metadata": {}, "outputs": [ + { + "ename": "ValueError", + "evalue": "Mime type rendering requires nbformat>=4.2.0 but it is not installed", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/plotly/basedatatypes.py:850\u001b[39m, in \u001b[36mBaseFigure._ipython_display_\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 847\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mplotly\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mio\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpio\u001b[39;00m\n\u001b[32m 849\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m pio.renderers.render_on_display \u001b[38;5;129;01mand\u001b[39;00m pio.renderers.default:\n\u001b[32m--> \u001b[39m\u001b[32m850\u001b[39m \u001b[30;43mpio\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mshow\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 851\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 852\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;28mrepr\u001b[39m(\u001b[38;5;28mself\u001b[39m))\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/plotly/io/_renderers.py:415\u001b[39m, in \u001b[36mshow\u001b[39m\u001b[34m(fig, renderer, validate, **kwargs)\u001b[39m\n\u001b[32m 410\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 411\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mMime type rendering requires ipython but it is not installed\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 412\u001b[39m )\n\u001b[32m 414\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m nbformat \u001b[38;5;129;01mor\u001b[39;00m Version(nbformat.__version__) < Version(\u001b[33m\"\u001b[39m\u001b[33m4.2.0\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m--> \u001b[39m\u001b[32m415\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 416\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mMime type rendering requires nbformat>=4.2.0 but it is not installed\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 417\u001b[39m )\n\u001b[32m 419\u001b[39m display_jupyter_version_warnings()\n\u001b[32m 421\u001b[39m ipython_display.display(bundle, raw=\u001b[38;5;28;01mTrue\u001b[39;00m)\n", + "\u001b[31mValueError\u001b[39m: Mime type rendering requires nbformat>=4.2.0 but it is not installed" + ] + }, { "data": { "application/vnd.plotly.v1+json": { @@ -1768,1449 +1701,1450 @@ "showlegend": true, "type": "scattergl", "x": [ - "2026-05-05T06:10:00", - "2026-05-05T06:11:00", - "2026-05-05T06:12:00", - "2026-05-05T06:13:00", - "2026-05-05T06:14:00", - "2026-05-05T06:15:00", - "2026-05-05T06:16:00", - "2026-05-05T06:17:00", - "2026-05-05T06:18:00", - "2026-05-05T06:19:00", - "2026-05-05T06:20:00", - "2026-05-05T06:21:00", - "2026-05-05T06:22:00", - "2026-05-05T06:23:00", - "2026-05-05T06:24:00", - "2026-05-05T06:25:00", - "2026-05-05T06:26:00", - "2026-05-05T06:27:00", - "2026-05-05T06:28:00", - "2026-05-05T06:29:00", - "2026-05-05T06:30:00", - "2026-05-05T06:31:00", - "2026-05-05T06:32:00", - "2026-05-05T06:33:00", - "2026-05-05T06:34:00", - "2026-05-05T06:35:00", - "2026-05-05T06:36:00", - "2026-05-05T06:37:00", - "2026-05-05T06:38:00", - "2026-05-05T06:39:00", - "2026-05-05T06:40:00", - "2026-05-05T06:41:00", - "2026-05-05T06:42:00", - "2026-05-05T06:43:00", - "2026-05-05T06:44:00", - "2026-05-05T06:45:00", - "2026-05-05T06:46:00", - "2026-05-05T06:47:00", - "2026-05-05T06:48:00", - "2026-05-05T06:49:00", - "2026-05-05T06:50:00", - "2026-05-05T06:51:00", - "2026-05-05T06:52:00", - "2026-05-05T06:53:00", - "2026-05-05T06:54:00", - "2026-05-05T06:55:00", - "2026-05-05T06:56:00", - "2026-05-05T06:57:00", - "2026-05-05T06:58:00", - "2026-05-05T06:59:00", - "2026-05-05T07:00:00", - "2026-05-05T07:01:00", - "2026-05-05T07:02:00", - "2026-05-05T07:03:00", - "2026-05-05T07:04:00", - "2026-05-05T07:05:00", - "2026-05-05T07:06:00", - "2026-05-05T07:07:00", - "2026-05-05T07:08:00", - "2026-05-05T07:09:00", - "2026-05-05T07:10:00", - "2026-05-05T07:11:00", - "2026-05-05T07:12:00", - "2026-05-05T07:13:00", - "2026-05-05T07:14:00", - "2026-05-05T07:15:00", - "2026-05-05T07:16:00", - "2026-05-05T07:17:00", - "2026-05-05T07:18:00", - "2026-05-05T07:19:00", - "2026-05-05T07:20:00", - "2026-05-05T07:21:00", - "2026-05-05T07:22:00", - "2026-05-05T07:23:00", - "2026-05-05T07:24:00", - "2026-05-05T07:25:00", - "2026-05-05T07:26:00", - "2026-05-05T07:27:00", - "2026-05-05T07:28:00", - "2026-05-05T07:29:00", - "2026-05-05T07:30:00", - "2026-05-05T07:31:00", - "2026-05-05T07:32:00", - "2026-05-05T07:33:00", - "2026-05-05T07:34:00", - "2026-05-05T07:35:00", - "2026-05-05T07:36:00", - "2026-05-05T07:37:00", - "2026-05-05T07:38:00", - "2026-05-05T07:39:00", - "2026-05-05T07:40:00", - "2026-05-05T07:41:00", - "2026-05-05T07:42:00", - "2026-05-05T07:43:00", - "2026-05-05T07:44:00", - "2026-05-05T07:45:00", - "2026-05-05T07:46:00", - "2026-05-05T07:47:00", - "2026-05-05T07:48:00", - "2026-05-05T07:49:00", - "2026-05-05T07:50:00", - "2026-05-05T07:51:00", - "2026-05-05T07:52:00", - "2026-05-05T07:53:00", - "2026-05-05T07:54:00", - "2026-05-05T07:55:00", - "2026-05-05T07:56:00", - "2026-05-05T07:57:00", - "2026-05-05T07:58:00", - "2026-05-05T07:59:00", - "2026-05-05T08:00:00", - "2026-05-05T08:01:00", - "2026-05-05T08:02:00", - "2026-05-05T08:03:00", - "2026-05-05T08:04:00", - "2026-05-05T08:05:00", - "2026-05-05T08:06:00", - "2026-05-05T08:07:00", - "2026-05-05T08:08:00", - "2026-05-05T08:09:00", - "2026-05-05T08:10:00", - "2026-05-05T08:11:00", - "2026-05-05T08:12:00", - "2026-05-05T08:13:00", - "2026-05-05T08:14:00", - "2026-05-05T08:15:00", - "2026-05-05T08:16:00", - "2026-05-05T08:17:00", - "2026-05-05T08:18:00", - "2026-05-05T08:19:00", - "2026-05-05T08:20:00", - "2026-05-05T08:21:00", - "2026-05-05T08:22:00", - "2026-05-05T08:23:00", - "2026-05-05T08:24:00", - "2026-05-05T08:25:00", - "2026-05-05T08:26:00", - "2026-05-05T08:27:00", - "2026-05-05T08:28:00", - "2026-05-05T08:29:00", - "2026-05-05T08:30:00", - "2026-05-05T08:31:00", - "2026-05-05T08:32:00", - "2026-05-05T08:33:00", - "2026-05-05T08:34:00", - "2026-05-05T08:35:00", - "2026-05-05T08:36:00", - "2026-05-05T08:37:00", - "2026-05-05T08:38:00", - "2026-05-05T08:39:00", - "2026-05-05T08:40:00", - "2026-05-05T08:41:00", - "2026-05-05T08:42:00", - "2026-05-05T08:43:00", - "2026-05-05T08:44:00", - "2026-05-05T08:45:00", - "2026-05-05T08:46:00", - "2026-05-05T08:47:00", - "2026-05-05T08:48:00", - "2026-05-05T08:49:00", - "2026-05-05T08:50:00", - "2026-05-05T08:51:00", - "2026-05-05T08:52:00", - "2026-05-05T08:53:00", - "2026-05-05T08:54:00", - "2026-05-05T08:55:00", - "2026-05-05T08:56:00", - "2026-05-05T08:57:00", - "2026-05-05T08:58:00", - "2026-05-05T08:59:00", - "2026-05-05T09:00:00", - "2026-05-05T09:01:00", - "2026-05-05T09:02:00", - "2026-05-05T09:03:00", - "2026-05-05T09:04:00", - "2026-05-05T09:05:00", - "2026-05-05T09:06:00", - "2026-05-05T09:07:00", - "2026-05-05T09:08:00", - "2026-05-05T09:09:00", - "2026-05-05T09:10:00", - "2026-05-05T09:11:00", - "2026-05-05T09:12:00", - "2026-05-05T09:13:00", - "2026-05-05T09:14:00", - "2026-05-05T09:15:00", - "2026-05-05T09:16:00", - "2026-05-05T09:17:00", - "2026-05-05T09:18:00", - "2026-05-05T09:19:00", - "2026-05-05T09:20:00", - "2026-05-05T09:21:00", - "2026-05-05T09:22:00", - "2026-05-05T09:23:00", - "2026-05-05T09:24:00", - "2026-05-05T09:25:00", - "2026-05-05T09:26:00", - "2026-05-05T09:27:00", - "2026-05-05T09:28:00", - "2026-05-05T09:29:00", - "2026-05-05T09:30:00", - "2026-05-05T09:31:00", - "2026-05-05T09:32:00", - "2026-05-05T09:33:00", - "2026-05-05T09:34:00", - "2026-05-05T09:35:00", - "2026-05-05T09:36:00", - "2026-05-05T09:37:00", - "2026-05-05T09:38:00", - "2026-05-05T09:39:00", - "2026-05-05T09:40:00", - "2026-05-05T09:41:00", - "2026-05-05T09:42:00", - "2026-05-05T09:43:00", - "2026-05-05T09:44:00", - "2026-05-05T09:45:00", - "2026-05-05T09:46:00", - "2026-05-05T09:47:00", - "2026-05-05T09:48:00", - "2026-05-05T09:49:00", - "2026-05-05T09:50:00", - "2026-05-05T09:51:00", - "2026-05-05T09:52:00", - "2026-05-05T09:53:00", - "2026-05-05T09:54:00", - "2026-05-05T09:55:00", - "2026-05-05T09:56:00", - "2026-05-05T09:57:00", - "2026-05-05T09:58:00", - "2026-05-05T09:59:00", - "2026-05-05T10:00:00", - "2026-05-05T10:01:00", - "2026-05-05T10:02:00", - "2026-05-05T10:03:00", - "2026-05-05T10:04:00", - "2026-05-05T10:05:00", - "2026-05-05T10:06:00", - "2026-05-05T10:07:00", - "2026-05-05T10:08:00", - "2026-05-05T10:09:00", - "2026-05-05T10:10:00", - "2026-05-05T10:11:00", - "2026-05-05T10:12:00", - "2026-05-05T10:13:00", - "2026-05-05T10:14:00", - "2026-05-05T10:15:00", - "2026-05-05T10:16:00", - "2026-05-05T10:17:00", - "2026-05-05T10:18:00", - "2026-05-05T10:19:00", - "2026-05-05T10:20:00", - "2026-05-05T10:21:00", - "2026-05-05T10:22:00", - "2026-05-05T10:23:00", - "2026-05-05T10:24:00", - "2026-05-05T10:25:00", - "2026-05-05T10:26:00", - "2026-05-05T10:27:00", - "2026-05-05T10:28:00", - "2026-05-05T10:29:00", - "2026-05-05T10:30:00", - "2026-05-05T10:31:00", - "2026-05-05T10:32:00", - "2026-05-05T10:33:00", - "2026-05-05T10:34:00", - "2026-05-05T10:35:00", - "2026-05-05T10:36:00", - "2026-05-05T10:37:00", - "2026-05-05T10:38:00", - "2026-05-05T10:39:00", - "2026-05-05T10:40:00", - "2026-05-05T10:41:00", - "2026-05-05T10:42:00", - "2026-05-05T10:43:00", - "2026-05-05T10:44:00", - "2026-05-05T10:45:00", - "2026-05-05T10:46:00", - "2026-05-05T10:47:00", - "2026-05-05T10:48:00", - "2026-05-05T10:49:00", - "2026-05-05T10:50:00", - "2026-05-05T10:51:00", - "2026-05-05T10:52:00", - "2026-05-05T10:53:00", - "2026-05-05T10:54:00", - "2026-05-05T10:55:00", - "2026-05-05T10:56:00", - "2026-05-05T10:57:00", - "2026-05-05T10:58:00", - "2026-05-05T10:59:00", - "2026-05-05T11:00:00", - "2026-05-05T11:01:00", - "2026-05-05T11:02:00", - "2026-05-05T11:03:00", - "2026-05-05T11:04:00", - "2026-05-05T11:05:00", - "2026-05-05T11:06:00", - "2026-05-05T11:07:00", - "2026-05-05T11:08:00", - "2026-05-05T11:09:00", - "2026-05-05T11:10:00", - "2026-05-05T11:11:00", - "2026-05-05T11:12:00", - "2026-05-05T11:13:00", - "2026-05-05T11:14:00", - "2026-05-05T11:15:00", - "2026-05-05T11:16:00", - "2026-05-05T11:17:00", - "2026-05-05T11:18:00", - "2026-05-05T11:19:00", - "2026-05-05T11:20:00", - "2026-05-05T11:21:00", - "2026-05-05T11:22:00", - "2026-05-05T11:23:00", - "2026-05-05T11:24:00", - "2026-05-05T11:25:00", - "2026-05-05T11:26:00", - "2026-05-05T11:27:00", - "2026-05-05T11:28:00", - "2026-05-05T11:29:00", - "2026-05-05T11:30:00", - "2026-05-05T11:31:00", - "2026-05-05T11:32:00", - "2026-05-05T11:33:00", - "2026-05-05T11:34:00", - "2026-05-05T11:35:00", - "2026-05-05T11:36:00", - "2026-05-05T11:37:00", - "2026-05-05T11:38:00", - "2026-05-05T11:39:00", - "2026-05-05T11:40:00", - "2026-05-05T11:41:00", - "2026-05-05T11:42:00", - "2026-05-05T11:43:00", - "2026-05-05T11:44:00", - "2026-05-05T11:45:00", - "2026-05-05T11:46:00", - "2026-05-05T11:47:00", - "2026-05-05T11:48:00", - "2026-05-05T11:49:00", - "2026-05-05T11:50:00", - "2026-05-05T11:51:00", - "2026-05-05T11:52:00", - "2026-05-05T11:53:00", - "2026-05-05T11:54:00", - "2026-05-05T11:55:00", - "2026-05-05T11:56:00", - "2026-05-05T11:57:00", - "2026-05-05T11:58:00", - "2026-05-05T11:59:00", - "2026-05-05T12:00:00", - "2026-05-05T12:01:00", - "2026-05-05T12:02:00", - "2026-05-05T12:03:00", - "2026-05-05T12:04:00", - "2026-05-05T12:05:00", - "2026-05-05T12:06:00", - "2026-05-05T12:07:00", - "2026-05-05T12:08:00", - "2026-05-05T12:09:00", - "2026-05-05T12:10:00", - "2026-05-05T12:11:00", - "2026-05-05T12:12:00", - "2026-05-05T12:13:00", - "2026-05-05T12:14:00", - "2026-05-05T12:15:00", - "2026-05-05T12:16:00", - "2026-05-05T12:17:00", - "2026-05-05T12:18:00", - "2026-05-05T12:19:00", - "2026-05-05T12:20:00", - "2026-05-05T12:21:00", - "2026-05-05T12:22:00", - "2026-05-05T12:23:00", - "2026-05-05T12:24:00", - "2026-05-05T12:25:00", - "2026-05-05T12:26:00", - "2026-05-05T12:27:00", - "2026-05-05T12:28:00", - "2026-05-05T12:29:00", - "2026-05-05T12:30:00", - "2026-05-05T12:31:00", - "2026-05-05T12:32:00", - "2026-05-05T12:33:00", - "2026-05-05T12:34:00", - "2026-05-05T12:35:00", - "2026-05-05T12:36:00", - "2026-05-05T12:37:00", - "2026-05-05T12:38:00", - "2026-05-05T12:39:00", - "2026-05-05T12:40:00", - "2026-05-05T12:41:00", - "2026-05-05T12:42:00", - "2026-05-05T12:43:00", - "2026-05-05T12:44:00", - "2026-05-05T12:45:00", - "2026-05-05T12:46:00", - "2026-05-05T12:47:00", - "2026-05-05T12:48:00", - "2026-05-05T12:49:00", - "2026-05-05T12:50:00", - "2026-05-05T12:51:00", - "2026-05-05T12:52:00", - "2026-05-05T12:53:00", - "2026-05-05T12:54:00", - "2026-05-05T12:55:00", - "2026-05-05T12:56:00", - "2026-05-05T12:57:00", - "2026-05-05T12:58:00", - "2026-05-05T12:59:00", - "2026-05-05T13:00:00", - "2026-05-05T13:01:00", - "2026-05-05T13:02:00", - "2026-05-05T13:03:00", - "2026-05-05T13:04:00", - "2026-05-05T13:05:00", - "2026-05-05T13:06:00", - "2026-05-05T13:07:00", - "2026-05-05T13:08:00", - "2026-05-05T13:09:00", - "2026-05-05T13:10:00", - "2026-05-05T13:11:00", - "2026-05-05T13:12:00", - "2026-05-05T13:13:00", - "2026-05-05T13:14:00", - "2026-05-05T13:15:00", - "2026-05-05T13:16:00", - "2026-05-05T13:17:00", - "2026-05-05T13:18:00", - "2026-05-05T13:19:00", - "2026-05-05T13:20:00", - "2026-05-05T13:21:00", - "2026-05-05T13:22:00", - "2026-05-05T13:23:00", - "2026-05-05T13:24:00", - "2026-05-05T13:25:00", - "2026-05-05T13:26:00", - "2026-05-05T13:27:00", - "2026-05-05T13:28:00", - "2026-05-05T13:29:00", - "2026-05-05T13:30:00", - "2026-05-05T13:31:00", - "2026-05-05T13:32:00", - "2026-05-05T13:33:00", - "2026-05-05T13:34:00", - "2026-05-05T13:35:00", - "2026-05-05T13:36:00", - "2026-05-05T13:37:00", - "2026-05-05T13:38:00", - "2026-05-05T13:39:00", - "2026-05-05T13:40:00", - "2026-05-05T13:41:00", - "2026-05-05T13:42:00", - "2026-05-05T13:43:00", - "2026-05-05T13:44:00", - "2026-05-05T13:45:00", - "2026-05-05T13:46:00", - "2026-05-05T13:47:00", - "2026-05-05T13:48:00", - "2026-05-05T13:49:00", - "2026-05-05T13:50:00", - "2026-05-05T13:51:00", - "2026-05-05T13:52:00", - "2026-05-05T13:53:00", - "2026-05-05T13:54:00", - "2026-05-05T13:55:00", - "2026-05-05T13:56:00", - "2026-05-05T13:57:00", - "2026-05-05T13:58:00", - "2026-05-05T13:59:00", - "2026-05-05T14:00:00", - "2026-05-05T14:01:00", - "2026-05-05T14:02:00", - "2026-05-05T14:03:00", - "2026-05-05T14:04:00", - "2026-05-05T14:05:00", - "2026-05-05T14:06:00", - "2026-05-05T14:07:00", - "2026-05-05T14:08:00", - "2026-05-05T14:09:00", - "2026-05-05T14:10:00", - "2026-05-05T14:11:00", - "2026-05-05T14:12:00", - "2026-05-05T14:13:00", - "2026-05-05T14:14:00", - "2026-05-05T14:15:00", - "2026-05-05T14:16:00", - "2026-05-05T14:17:00", - "2026-05-05T14:18:00", - "2026-05-05T14:19:00", - "2026-05-05T14:20:00", - "2026-05-05T14:21:00", - "2026-05-05T14:22:00", - "2026-05-05T14:23:00", - "2026-05-05T14:24:00", - "2026-05-05T14:25:00", - "2026-05-05T14:26:00", - "2026-05-05T14:27:00", - "2026-05-05T14:28:00", - "2026-05-05T14:29:00", - "2026-05-05T14:30:00", - "2026-05-05T14:31:00", - "2026-05-05T14:32:00", - "2026-05-05T14:33:00", - "2026-05-05T14:34:00", - "2026-05-05T14:35:00", - "2026-05-05T14:36:00", - "2026-05-05T14:37:00", - "2026-05-05T14:38:00", - "2026-05-05T14:39:00", - "2026-05-05T14:40:00", - "2026-05-05T14:41:00", - "2026-05-05T14:42:00", - "2026-05-05T14:43:00", - "2026-05-05T14:44:00", - "2026-05-05T14:45:00", - "2026-05-05T14:46:00", - "2026-05-05T14:47:00", - "2026-05-05T14:48:00", - "2026-05-05T14:49:00", - "2026-05-05T14:50:00", - "2026-05-05T14:51:00", - "2026-05-05T14:52:00", - "2026-05-05T14:53:00", - "2026-05-05T14:54:00", - "2026-05-05T14:55:00", - "2026-05-05T14:56:00", - "2026-05-05T14:57:00", - "2026-05-05T14:58:00", - "2026-05-05T14:59:00", - "2026-05-05T15:00:00", - "2026-05-05T15:01:00", - "2026-05-05T15:02:00", - "2026-05-05T15:03:00", - "2026-05-05T15:04:00", - "2026-05-05T15:05:00", - "2026-05-05T15:06:00", - "2026-05-05T15:07:00", - "2026-05-05T15:08:00", - "2026-05-05T15:09:00", - "2026-05-05T15:10:00", - "2026-05-05T15:11:00", - "2026-05-05T15:12:00", - "2026-05-05T15:13:00", - "2026-05-05T15:14:00", - "2026-05-05T15:15:00", - "2026-05-05T15:16:00", - "2026-05-05T15:17:00", - "2026-05-05T15:18:00", - "2026-05-05T15:19:00", - "2026-05-05T15:20:00", - "2026-05-05T15:21:00", - "2026-05-05T15:22:00", - "2026-05-05T15:23:00", - "2026-05-05T15:24:00", - "2026-05-05T15:25:00", - "2026-05-05T15:26:00", - "2026-05-05T15:27:00", - "2026-05-05T15:28:00", - "2026-05-05T15:29:00", - "2026-05-05T15:30:00", - "2026-05-05T15:31:00", - "2026-05-05T15:32:00", - "2026-05-05T15:33:00", - "2026-05-05T15:34:00", - "2026-05-05T15:35:00", - "2026-05-05T15:36:00", - "2026-05-05T15:37:00", - "2026-05-05T15:38:00", - "2026-05-05T15:39:00", - "2026-05-05T15:40:00", - "2026-05-05T15:41:00", - "2026-05-05T15:42:00", - "2026-05-05T15:43:00", - "2026-05-05T15:44:00", - "2026-05-05T15:45:00", - "2026-05-05T15:46:00", - "2026-05-05T15:47:00", - "2026-05-05T15:48:00", - "2026-05-05T15:49:00", - "2026-05-05T15:50:00", - "2026-05-05T15:51:00", - "2026-05-05T15:52:00", - "2026-05-05T15:53:00", - "2026-05-05T15:54:00", - "2026-05-05T15:55:00", - "2026-05-05T15:56:00", - "2026-05-05T15:57:00", - "2026-05-05T15:58:00", - "2026-05-05T15:59:00", - "2026-05-05T16:00:00", - "2026-05-05T16:01:00", - "2026-05-05T16:02:00", - "2026-05-05T16:03:00", - "2026-05-05T16:04:00", - "2026-05-05T16:05:00", - "2026-05-05T16:06:00", - "2026-05-05T16:07:00", - "2026-05-05T16:08:00", - "2026-05-05T16:09:00", - "2026-05-05T16:10:00", - "2026-05-05T16:11:00", - "2026-05-05T16:12:00", - "2026-05-05T16:13:00", - "2026-05-05T16:14:00", - "2026-05-05T16:15:00", - "2026-05-05T16:16:00", - "2026-05-05T16:17:00", - "2026-05-05T16:18:00", - "2026-05-05T16:19:00", - "2026-05-05T16:20:00", - "2026-05-05T16:21:00", - "2026-05-05T16:22:00", - "2026-05-05T16:23:00", - "2026-05-05T16:24:00", - "2026-05-05T16:25:00", - "2026-05-05T16:26:00", - "2026-05-05T16:27:00", - "2026-05-05T16:28:00", - "2026-05-05T16:29:00", - "2026-05-05T16:30:00", - "2026-05-05T16:31:00", - "2026-05-05T16:32:00", - "2026-05-05T16:33:00", - "2026-05-05T16:34:00", - "2026-05-05T16:35:00", - "2026-05-05T16:36:00", - "2026-05-05T16:37:00", - "2026-05-05T16:38:00", - "2026-05-05T16:39:00", - "2026-05-05T16:40:00", - "2026-05-05T16:41:00", - "2026-05-05T16:42:00", - "2026-05-05T16:43:00", - "2026-05-05T16:44:00", - "2026-05-05T16:45:00", - "2026-05-05T16:46:00", - "2026-05-05T16:47:00", - "2026-05-05T16:48:00", - "2026-05-05T16:49:00", - "2026-05-05T16:50:00", - "2026-05-05T16:51:00", - "2026-05-05T16:52:00", - "2026-05-05T16:53:00", - "2026-05-05T16:54:00", - "2026-05-05T16:55:00", - "2026-05-05T16:56:00", - "2026-05-05T16:57:00", - "2026-05-05T16:58:00", - "2026-05-05T16:59:00", - "2026-05-05T17:00:00", - "2026-05-05T17:01:00", - "2026-05-05T17:02:00", - "2026-05-05T17:03:00", - "2026-05-05T17:04:00", - "2026-05-05T17:05:00", - "2026-05-05T17:06:00", - "2026-05-05T17:07:00", - "2026-05-05T17:08:00", - "2026-05-05T17:09:00", - "2026-05-05T17:10:00", - "2026-05-05T17:11:00", - "2026-05-05T17:12:00", - "2026-05-05T17:13:00", - "2026-05-05T17:14:00", - "2026-05-05T17:15:00", - "2026-05-05T17:16:00", - "2026-05-05T17:17:00", - "2026-05-05T17:18:00", - "2026-05-05T17:19:00", - "2026-05-05T17:20:00", - "2026-05-05T17:21:00", - "2026-05-05T17:22:00", - "2026-05-05T17:23:00", - "2026-05-05T17:24:00", - "2026-05-05T17:25:00", - "2026-05-05T17:26:00", - "2026-05-05T17:27:00", - "2026-05-05T17:28:00", - "2026-05-05T17:29:00", - "2026-05-05T17:30:00", - "2026-05-05T17:31:00", - "2026-05-05T17:32:00", - "2026-05-05T17:33:00", - "2026-05-05T17:34:00", - "2026-05-05T17:35:00", - "2026-05-05T17:36:00", - "2026-05-05T17:37:00", - "2026-05-05T17:38:00", - "2026-05-05T17:39:00", - "2026-05-05T17:40:00", - "2026-05-05T17:41:00", - "2026-05-05T17:42:00", - "2026-05-05T17:43:00", - "2026-05-05T17:44:00", - "2026-05-05T17:45:00", - "2026-05-05T17:46:00", - "2026-05-05T17:47:00", - "2026-05-05T17:48:00", - "2026-05-05T17:49:00", - "2026-05-05T17:50:00", - "2026-05-05T17:51:00", - "2026-05-05T17:52:00", - "2026-05-05T17:53:00", - "2026-05-05T17:54:00", - "2026-05-05T17:55:00", - "2026-05-05T17:56:00", - "2026-05-05T17:57:00", - "2026-05-05T17:58:00", - "2026-05-05T17:59:00", - "2026-05-05T18:00:00", - "2026-05-05T18:01:00", - "2026-05-05T18:02:00", - "2026-05-05T18:03:00", - "2026-05-05T18:04:00", - "2026-05-05T18:05:00", - "2026-05-05T18:06:00", - "2026-05-05T18:07:00", - "2026-05-05T18:08:00", - "2026-05-05T18:09:00", - "2026-05-05T18:10:00", - "2026-05-05T18:11:00", - "2026-05-05T18:12:00", - "2026-05-05T18:13:00", - "2026-05-05T18:14:00", - "2026-05-05T18:15:00", - "2026-05-05T18:16:00", - "2026-05-05T18:17:00", - "2026-05-05T18:18:00", - "2026-05-05T18:19:00", - "2026-05-05T18:20:00", - "2026-05-05T18:21:00", - "2026-05-05T18:22:00", - "2026-05-05T18:23:00", - "2026-05-05T18:24:00", - "2026-05-05T18:25:00", - "2026-05-05T18:26:00", - "2026-05-05T18:27:00", - "2026-05-05T18:28:00", - "2026-05-05T18:29:00", - "2026-05-05T18:30:00", - "2026-05-05T18:31:00", - "2026-05-05T18:32:00", - "2026-05-05T18:33:00", - "2026-05-05T18:34:00", - "2026-05-05T18:35:00", - "2026-05-05T18:36:00", - "2026-05-05T18:37:00", - "2026-05-05T18:38:00", - "2026-05-05T18:39:00", - "2026-05-05T18:40:00", - "2026-05-05T18:41:00", - "2026-05-05T18:42:00", - "2026-05-05T18:43:00", - "2026-05-05T18:44:00", - "2026-05-05T18:45:00", - "2026-05-05T18:46:00", - "2026-05-05T18:47:00", - "2026-05-05T18:48:00", - "2026-05-05T18:49:00", - "2026-05-05T18:50:00", - "2026-05-05T18:51:00", - "2026-05-05T18:52:00", - "2026-05-05T18:53:00", - "2026-05-05T18:54:00", - "2026-05-05T18:55:00", - "2026-05-05T18:56:00", - "2026-05-05T18:57:00", - "2026-05-05T18:58:00", - "2026-05-05T18:59:00", - "2026-05-05T19:00:00", - "2026-05-05T19:01:00", - "2026-05-05T19:02:00", - "2026-05-05T19:03:00", - "2026-05-05T19:04:00", - "2026-05-05T19:05:00", - "2026-05-05T19:06:00", - "2026-05-05T19:07:00", - "2026-05-05T19:08:00", - "2026-05-05T19:09:00", - "2026-05-05T19:10:00", - "2026-05-05T19:11:00", - "2026-05-05T19:12:00", - "2026-05-05T19:13:00", - "2026-05-05T19:14:00", - "2026-05-05T19:15:00", - "2026-05-05T19:16:00", - "2026-05-05T19:17:00", - "2026-05-05T19:18:00", - "2026-05-05T19:19:00", - "2026-05-05T19:20:00", - "2026-05-05T19:21:00", - "2026-05-05T19:22:00", - "2026-05-05T19:23:00", - "2026-05-05T19:24:00", - "2026-05-05T19:25:00", - "2026-05-05T19:26:00", - "2026-05-05T19:27:00", - "2026-05-05T19:28:00", - "2026-05-05T19:29:00", - "2026-05-05T19:30:00", - "2026-05-05T19:31:00", - "2026-05-05T19:32:00", - "2026-05-05T19:33:00", - "2026-05-05T19:34:00", - "2026-05-05T19:35:00", - "2026-05-05T19:36:00", - "2026-05-05T19:37:00", - "2026-05-05T19:38:00", - "2026-05-05T19:39:00", - "2026-05-05T19:40:00", - "2026-05-05T19:41:00", - "2026-05-05T19:42:00", - "2026-05-05T19:43:00", - "2026-05-05T19:44:00", - "2026-05-05T19:45:00", - "2026-05-05T19:46:00", - "2026-05-05T19:47:00", - "2026-05-05T19:48:00", - "2026-05-05T19:49:00", - "2026-05-05T19:50:00", - "2026-05-05T19:51:00", - "2026-05-05T19:52:00", - "2026-05-05T19:53:00", - "2026-05-05T19:54:00", - "2026-05-05T19:55:00", - "2026-05-05T19:56:00", - "2026-05-05T19:57:00", - "2026-05-05T19:58:00", - "2026-05-05T19:59:00", - "2026-05-05T20:00:00", - "2026-05-05T20:01:00", - "2026-05-05T20:02:00", - "2026-05-05T20:03:00", - "2026-05-05T20:04:00", - "2026-05-05T20:05:00", - "2026-05-05T20:06:00", - "2026-05-05T20:07:00", - "2026-05-05T20:08:00", - "2026-05-05T20:09:00", - "2026-05-05T20:10:00", - "2026-05-05T20:11:00", - "2026-05-05T20:12:00", - "2026-05-05T20:13:00", - "2026-05-05T20:14:00", - "2026-05-05T20:15:00", - "2026-05-05T20:16:00", - "2026-05-05T20:17:00", - "2026-05-05T20:18:00", - "2026-05-05T20:19:00", - "2026-05-05T20:20:00", - "2026-05-05T20:21:00", - "2026-05-05T20:22:00", - "2026-05-05T20:23:00", - "2026-05-05T20:24:00", - "2026-05-05T20:25:00", - "2026-05-05T20:26:00", - "2026-05-05T20:27:00", - "2026-05-05T20:28:00", - "2026-05-05T20:29:00", - "2026-05-05T20:30:00", - "2026-05-05T20:31:00", - "2026-05-05T20:32:00", - "2026-05-05T20:33:00", - "2026-05-05T20:34:00", - "2026-05-05T20:35:00", - "2026-05-05T20:36:00", - "2026-05-05T20:37:00", - "2026-05-05T20:38:00", - "2026-05-05T20:39:00", - "2026-05-05T20:40:00", - "2026-05-05T20:41:00", - "2026-05-05T20:42:00", - "2026-05-05T20:43:00", - "2026-05-05T20:44:00", - "2026-05-05T20:45:00", - "2026-05-05T20:46:00", - "2026-05-05T20:47:00", - "2026-05-05T20:48:00", - "2026-05-05T20:49:00", - "2026-05-05T20:50:00", - "2026-05-05T20:51:00", - "2026-05-05T20:52:00", - "2026-05-05T20:53:00", - "2026-05-05T20:54:00", - "2026-05-05T20:55:00", - "2026-05-05T20:56:00", - "2026-05-05T20:57:00", - "2026-05-05T20:58:00", - "2026-05-05T20:59:00", - "2026-05-05T21:00:00", - "2026-05-05T21:01:00", - "2026-05-05T21:02:00", - "2026-05-05T21:03:00", - "2026-05-05T21:04:00", - "2026-05-05T21:05:00", - "2026-05-05T21:06:00", - "2026-05-05T21:07:00", - "2026-05-05T21:08:00", - "2026-05-05T21:09:00", - "2026-05-05T21:10:00", - "2026-05-05T21:11:00", - "2026-05-05T21:12:00", - "2026-05-05T21:13:00", - "2026-05-05T21:14:00", - "2026-05-05T21:15:00", - "2026-05-05T21:16:00", - "2026-05-05T21:17:00", - "2026-05-05T21:18:00", - "2026-05-05T21:19:00", - "2026-05-05T21:20:00", - "2026-05-05T21:21:00", - "2026-05-05T21:22:00", - "2026-05-05T21:23:00", - "2026-05-05T21:24:00", - "2026-05-05T21:25:00", - "2026-05-05T21:26:00", - "2026-05-05T21:27:00", - "2026-05-05T21:28:00", - "2026-05-05T21:29:00", - "2026-05-05T21:30:00", - "2026-05-05T21:31:00", - "2026-05-05T21:32:00", - "2026-05-05T21:33:00", - "2026-05-05T21:34:00", - "2026-05-05T21:35:00", - "2026-05-05T21:36:00", - "2026-05-05T21:37:00", - "2026-05-05T21:38:00", - "2026-05-05T21:39:00", - "2026-05-05T21:40:00", - "2026-05-05T21:41:00", - "2026-05-05T21:42:00", - "2026-05-05T21:43:00", - "2026-05-05T21:44:00", - "2026-05-05T21:45:00", - "2026-05-05T21:46:00", - "2026-05-05T21:47:00", - "2026-05-05T21:48:00", - "2026-05-05T21:49:00", - "2026-05-05T21:50:00", - "2026-05-05T21:51:00", - "2026-05-05T21:52:00", - "2026-05-05T21:53:00", - "2026-05-05T21:54:00", - "2026-05-05T21:55:00", - "2026-05-05T21:56:00", - "2026-05-05T21:57:00", - "2026-05-05T21:58:00", - "2026-05-05T21:59:00", - "2026-05-05T22:00:00", - "2026-05-05T22:01:00", - "2026-05-05T22:02:00", - "2026-05-05T22:03:00", - "2026-05-05T22:04:00", - "2026-05-05T22:05:00", - "2026-05-05T22:06:00", - "2026-05-05T22:07:00", - "2026-05-05T22:08:00", - "2026-05-05T22:09:00", - "2026-05-05T22:10:00", - "2026-05-05T22:11:00", - "2026-05-05T22:12:00", - "2026-05-05T22:13:00", - "2026-05-05T22:14:00", - "2026-05-05T22:15:00", - "2026-05-05T22:16:00", - "2026-05-05T22:17:00", - "2026-05-05T22:18:00", - "2026-05-05T22:19:00", - "2026-05-05T22:20:00", - "2026-05-05T22:21:00", - "2026-05-05T22:22:00", - "2026-05-05T22:23:00", - "2026-05-05T22:24:00", - "2026-05-05T22:25:00", - "2026-05-05T22:26:00", - "2026-05-05T22:27:00", - "2026-05-05T22:28:00", - "2026-05-05T22:29:00", - "2026-05-05T22:30:00", - "2026-05-05T22:31:00", - "2026-05-05T22:32:00", - "2026-05-05T22:33:00", - "2026-05-05T22:34:00", - "2026-05-05T22:35:00", - "2026-05-05T22:36:00", - "2026-05-05T22:37:00", - "2026-05-05T22:38:00", - "2026-05-05T22:39:00", - "2026-05-05T22:40:00", - "2026-05-05T22:41:00", - "2026-05-05T22:42:00", - "2026-05-05T22:43:00", - "2026-05-05T22:44:00", - "2026-05-05T22:45:00", - "2026-05-05T22:46:00", - "2026-05-05T22:47:00", - "2026-05-05T22:48:00", - "2026-05-05T22:49:00", - "2026-05-05T22:50:00", - "2026-05-05T22:51:00", - "2026-05-05T22:52:00", - "2026-05-05T22:53:00", - "2026-05-05T22:54:00", - "2026-05-05T22:55:00", - "2026-05-05T22:56:00", - "2026-05-05T22:57:00", - "2026-05-05T22:58:00", - "2026-05-05T22:59:00", - "2026-05-05T23:00:00", - "2026-05-05T23:01:00", - "2026-05-05T23:02:00", - "2026-05-05T23:03:00", - "2026-05-05T23:04:00", - "2026-05-05T23:05:00", - "2026-05-05T23:06:00", - "2026-05-05T23:07:00", - "2026-05-05T23:08:00", - "2026-05-05T23:09:00", - "2026-05-05T23:10:00", - "2026-05-05T23:11:00", - "2026-05-05T23:12:00", - "2026-05-05T23:13:00", - "2026-05-05T23:14:00", - "2026-05-05T23:15:00", - "2026-05-05T23:16:00", - "2026-05-05T23:17:00", - "2026-05-05T23:18:00", - "2026-05-05T23:19:00", - "2026-05-05T23:20:00", - "2026-05-05T23:21:00", - "2026-05-05T23:22:00", - "2026-05-05T23:23:00", - "2026-05-05T23:24:00", - "2026-05-05T23:25:00", - "2026-05-05T23:26:00", - "2026-05-05T23:27:00", - "2026-05-05T23:28:00", - "2026-05-05T23:29:00", - "2026-05-05T23:30:00", - "2026-05-05T23:31:00", - "2026-05-05T23:32:00", - "2026-05-05T23:33:00", - "2026-05-05T23:34:00", - "2026-05-05T23:35:00", - "2026-05-05T23:36:00", - "2026-05-05T23:37:00", - "2026-05-05T23:38:00", - "2026-05-05T23:39:00", - "2026-05-05T23:40:00", - "2026-05-05T23:41:00", - "2026-05-05T23:42:00", - "2026-05-05T23:43:00", - "2026-05-05T23:44:00", - "2026-05-05T23:45:00", - "2026-05-05T23:46:00", - "2026-05-05T23:47:00", - "2026-05-05T23:48:00", - "2026-05-05T23:49:00", - "2026-05-05T23:50:00", - "2026-05-05T23:51:00", - "2026-05-05T23:52:00", - "2026-05-05T23:53:00", - "2026-05-05T23:54:00", - "2026-05-05T23:55:00", - "2026-05-05T23:56:00", - "2026-05-05T23:57:00", - "2026-05-05T23:58:00", - "2026-05-05T23:59:00", - "2026-05-06T00:00:00", - "2026-05-06T00:01:00", - "2026-05-06T00:02:00", - "2026-05-06T00:03:00", - "2026-05-06T00:04:00", - "2026-05-06T00:05:00", - "2026-05-06T00:06:00", - "2026-05-06T00:07:00", - "2026-05-06T00:08:00", - "2026-05-06T00:09:00", - "2026-05-06T00:10:00", - "2026-05-06T00:11:00", - "2026-05-06T00:12:00", - "2026-05-06T00:13:00", - "2026-05-06T00:14:00", - "2026-05-06T00:15:00", - "2026-05-06T00:16:00", - "2026-05-06T00:17:00", - "2026-05-06T00:18:00", - "2026-05-06T00:19:00", - "2026-05-06T00:20:00", - "2026-05-06T00:21:00", - "2026-05-06T00:22:00", - "2026-05-06T00:23:00", - "2026-05-06T00:24:00", - "2026-05-06T00:25:00", - "2026-05-06T00:26:00", - "2026-05-06T00:27:00", - "2026-05-06T00:28:00", - "2026-05-06T00:29:00", - "2026-05-06T00:30:00", - "2026-05-06T00:31:00", - "2026-05-06T00:32:00", - "2026-05-06T00:33:00", - "2026-05-06T00:34:00", - "2026-05-06T00:35:00", - "2026-05-06T00:36:00", - "2026-05-06T00:37:00", - "2026-05-06T00:38:00", - "2026-05-06T00:39:00", - "2026-05-06T00:40:00", - "2026-05-06T00:41:00", - "2026-05-06T00:42:00", - "2026-05-06T00:43:00", - "2026-05-06T00:44:00", - "2026-05-06T00:45:00", - "2026-05-06T00:46:00", - "2026-05-06T00:47:00", - "2026-05-06T00:48:00", - "2026-05-06T00:49:00", - "2026-05-06T00:50:00", - "2026-05-06T00:51:00", - "2026-05-06T00:52:00", - "2026-05-06T00:53:00", - "2026-05-06T00:54:00", - "2026-05-06T00:55:00", - "2026-05-06T00:56:00", - "2026-05-06T00:57:00", - "2026-05-06T00:58:00", - "2026-05-06T00:59:00", - "2026-05-06T01:00:00", - "2026-05-06T01:01:00", - "2026-05-06T01:02:00", - "2026-05-06T01:03:00", - "2026-05-06T01:04:00", - "2026-05-06T01:05:00", - "2026-05-06T01:06:00", - "2026-05-06T01:07:00", - "2026-05-06T01:08:00", - "2026-05-06T01:09:00", - "2026-05-06T01:10:00", - "2026-05-06T01:11:00", - "2026-05-06T01:12:00", - "2026-05-06T01:13:00", - "2026-05-06T01:14:00", - "2026-05-06T01:15:00", - "2026-05-06T01:16:00", - "2026-05-06T01:17:00", - "2026-05-06T01:18:00", - "2026-05-06T01:19:00", - "2026-05-06T01:20:00", - "2026-05-06T01:21:00", - "2026-05-06T01:22:00", - "2026-05-06T01:23:00", - "2026-05-06T01:24:00", - "2026-05-06T01:25:00", - "2026-05-06T01:26:00", - "2026-05-06T01:27:00", - "2026-05-06T01:28:00", - "2026-05-06T01:29:00", - "2026-05-06T01:30:00", - "2026-05-06T01:31:00", - "2026-05-06T01:32:00", - "2026-05-06T01:33:00", - "2026-05-06T01:34:00", - "2026-05-06T01:35:00", - "2026-05-06T01:36:00", - "2026-05-06T01:37:00", - "2026-05-06T01:38:00", - "2026-05-06T01:39:00", - "2026-05-06T01:40:00", - "2026-05-06T01:41:00", - "2026-05-06T01:42:00", - "2026-05-06T01:43:00", - "2026-05-06T01:44:00", - "2026-05-06T01:45:00", - "2026-05-06T01:46:00", - "2026-05-06T01:47:00", - "2026-05-06T01:48:00", - "2026-05-06T01:49:00", - "2026-05-06T01:50:00", - "2026-05-06T01:51:00", - "2026-05-06T01:52:00", - "2026-05-06T01:53:00", - "2026-05-06T01:54:00", - "2026-05-06T01:55:00", - "2026-05-06T01:56:00", - "2026-05-06T01:57:00", - "2026-05-06T01:58:00", - "2026-05-06T01:59:00", - "2026-05-06T02:00:00", - "2026-05-06T02:01:00", - "2026-05-06T02:02:00", - "2026-05-06T02:03:00", - "2026-05-06T02:04:00", - "2026-05-06T02:05:00", - "2026-05-06T02:06:00", - "2026-05-06T02:07:00", - "2026-05-06T02:08:00", - "2026-05-06T02:09:00", - "2026-05-06T02:10:00", - "2026-05-06T02:11:00", - "2026-05-06T02:12:00", - "2026-05-06T02:13:00", - "2026-05-06T02:14:00", - "2026-05-06T02:15:00", - "2026-05-06T02:16:00", - "2026-05-06T02:17:00", - "2026-05-06T02:18:00", - "2026-05-06T02:19:00", - "2026-05-06T02:20:00", - "2026-05-06T02:21:00", - "2026-05-06T02:22:00", - "2026-05-06T02:23:00", - "2026-05-06T02:24:00", - "2026-05-06T02:25:00", - "2026-05-06T02:26:00", - "2026-05-06T02:27:00", - "2026-05-06T02:28:00", - "2026-05-06T02:29:00", - "2026-05-06T02:30:00", - "2026-05-06T02:31:00", - "2026-05-06T02:32:00", - "2026-05-06T02:33:00", - "2026-05-06T02:34:00", - "2026-05-06T02:35:00", - "2026-05-06T02:36:00", - "2026-05-06T02:37:00", - "2026-05-06T02:38:00", - "2026-05-06T02:39:00", - "2026-05-06T02:40:00", - "2026-05-06T02:41:00", - "2026-05-06T02:42:00", - "2026-05-06T02:43:00", - "2026-05-06T02:44:00", - "2026-05-06T02:45:00", - "2026-05-06T02:46:00", - "2026-05-06T02:47:00", - "2026-05-06T02:48:00", - "2026-05-06T02:49:00", - "2026-05-06T02:50:00", - "2026-05-06T02:51:00", - "2026-05-06T02:52:00", - "2026-05-06T02:53:00", - "2026-05-06T02:54:00", - "2026-05-06T02:55:00", - "2026-05-06T02:56:00", - "2026-05-06T02:57:00", - "2026-05-06T02:58:00", - "2026-05-06T02:59:00", - "2026-05-06T03:00:00", - "2026-05-06T03:01:00", - "2026-05-06T03:02:00", - "2026-05-06T03:03:00", - "2026-05-06T03:04:00", - "2026-05-06T03:05:00", - "2026-05-06T03:06:00", - "2026-05-06T03:07:00", - "2026-05-06T03:08:00", - "2026-05-06T03:09:00", - "2026-05-06T03:10:00", - "2026-05-06T03:11:00", - "2026-05-06T03:12:00", - "2026-05-06T03:13:00", - "2026-05-06T03:14:00", - "2026-05-06T03:15:00", - "2026-05-06T03:16:00", - "2026-05-06T03:17:00", - "2026-05-06T03:18:00", - "2026-05-06T03:19:00", - "2026-05-06T03:20:00", - "2026-05-06T03:21:00", - "2026-05-06T03:22:00", - "2026-05-06T03:23:00", - "2026-05-06T03:24:00", - "2026-05-06T03:25:00", - "2026-05-06T03:26:00", - "2026-05-06T03:27:00", - "2026-05-06T03:28:00", - "2026-05-06T03:29:00", - "2026-05-06T03:30:00", - "2026-05-06T03:31:00", - "2026-05-06T03:32:00", - "2026-05-06T03:33:00", - "2026-05-06T03:34:00", - "2026-05-06T03:35:00", - "2026-05-06T03:36:00", - "2026-05-06T03:37:00", - "2026-05-06T03:38:00", - "2026-05-06T03:39:00", - "2026-05-06T03:40:00", - "2026-05-06T03:41:00", - "2026-05-06T03:42:00", - "2026-05-06T03:43:00", - "2026-05-06T03:44:00", - "2026-05-06T03:45:00", - "2026-05-06T03:46:00", - "2026-05-06T03:47:00", - "2026-05-06T03:48:00", - "2026-05-06T03:49:00", - "2026-05-06T03:50:00", - "2026-05-06T03:51:00", - "2026-05-06T03:52:00", - "2026-05-06T03:53:00", - "2026-05-06T03:54:00", - "2026-05-06T03:55:00", - "2026-05-06T03:56:00", - "2026-05-06T03:57:00", - "2026-05-06T03:58:00", - "2026-05-06T03:59:00", - "2026-05-06T04:00:00", - "2026-05-06T04:01:00", - "2026-05-06T04:02:00", - "2026-05-06T04:03:00", - "2026-05-06T04:04:00", - "2026-05-06T04:05:00", - "2026-05-06T04:06:00", - "2026-05-06T04:07:00", - "2026-05-06T04:08:00", - "2026-05-06T04:09:00", - "2026-05-06T04:10:00", - "2026-05-06T04:11:00", - "2026-05-06T04:12:00", - "2026-05-06T04:13:00", - "2026-05-06T04:14:00", - "2026-05-06T04:15:00", - "2026-05-06T04:16:00", - "2026-05-06T04:17:00", - "2026-05-06T04:18:00", - "2026-05-06T04:19:00", - "2026-05-06T04:20:00", - "2026-05-06T04:21:00", - "2026-05-06T04:22:00", - "2026-05-06T04:23:00", - "2026-05-06T04:24:00", - "2026-05-06T04:25:00", - "2026-05-06T04:26:00", - "2026-05-06T04:27:00", - "2026-05-06T04:28:00", - "2026-05-06T04:29:00", - "2026-05-06T04:30:00", - "2026-05-06T04:31:00", - "2026-05-06T04:32:00", - "2026-05-06T04:33:00", - "2026-05-06T04:34:00", - "2026-05-06T04:35:00", - "2026-05-06T04:36:00", - "2026-05-06T04:37:00", - "2026-05-06T04:38:00", - "2026-05-06T04:39:00", - "2026-05-06T04:40:00", - "2026-05-06T04:41:00", - "2026-05-06T04:42:00", - "2026-05-06T04:43:00", - "2026-05-06T04:44:00", - "2026-05-06T04:45:00", - "2026-05-06T04:46:00", - "2026-05-06T04:47:00", - "2026-05-06T04:48:00", - "2026-05-06T04:49:00", - "2026-05-06T04:50:00", - "2026-05-06T04:51:00", - "2026-05-06T04:52:00", - "2026-05-06T04:53:00", - "2026-05-06T04:54:00", - "2026-05-06T04:55:00", - "2026-05-06T04:56:00", - "2026-05-06T04:57:00", - "2026-05-06T04:58:00", - "2026-05-06T04:59:00", - "2026-05-06T05:00:00", - "2026-05-06T05:01:00", - "2026-05-06T05:02:00", - "2026-05-06T05:03:00", - "2026-05-06T05:04:00", - "2026-05-06T05:05:00", - "2026-05-06T05:06:00", - "2026-05-06T05:07:00", - "2026-05-06T05:08:00", - "2026-05-06T05:09:00", - "2026-05-06T05:10:00", - "2026-05-06T05:11:00", - "2026-05-06T05:12:00", - "2026-05-06T05:13:00", - "2026-05-06T05:14:00", - "2026-05-06T05:15:00", - "2026-05-06T05:16:00", - "2026-05-06T05:17:00", - "2026-05-06T05:18:00", - "2026-05-06T05:19:00", - "2026-05-06T05:20:00", - "2026-05-06T05:21:00", - "2026-05-06T05:22:00", - "2026-05-06T05:23:00", - "2026-05-06T05:24:00", - "2026-05-06T05:25:00", - "2026-05-06T05:26:00", - "2026-05-06T05:27:00", - "2026-05-06T05:28:00", - "2026-05-06T05:29:00", - "2026-05-06T05:30:00", - "2026-05-06T05:31:00", - "2026-05-06T05:32:00", - "2026-05-06T05:33:00", - "2026-05-06T05:34:00", - "2026-05-06T05:35:00", - "2026-05-06T05:36:00", - "2026-05-06T05:37:00", - "2026-05-06T05:38:00", - "2026-05-06T05:39:00", - "2026-05-06T05:40:00", - "2026-05-06T05:41:00", - "2026-05-06T05:42:00", - "2026-05-06T05:43:00", - "2026-05-06T05:44:00", - "2026-05-06T05:45:00", - "2026-05-06T05:46:00", - "2026-05-06T05:47:00", - "2026-05-06T05:48:00", - "2026-05-06T05:49:00", - "2026-05-06T05:50:00", - "2026-05-06T05:51:00", - "2026-05-06T05:52:00", - "2026-05-06T05:53:00", - "2026-05-06T05:54:00", - "2026-05-06T05:55:00", - "2026-05-06T05:56:00", - "2026-05-06T05:57:00", - "2026-05-06T05:58:00", - "2026-05-06T05:59:00", - "2026-05-06T06:00:00", - "2026-05-06T06:01:00", - "2026-05-06T06:02:00", - "2026-05-06T06:03:00", - "2026-05-06T06:04:00", - "2026-05-06T06:05:00", - "2026-05-06T06:06:00", - "2026-05-06T06:07:00", - "2026-05-06T06:08:00" + "2026-05-07T20:05:00", + "2026-05-07T20:06:00", + "2026-05-07T20:07:00", + "2026-05-07T20:08:00", + "2026-05-07T20:09:00", + "2026-05-07T20:10:00", + "2026-05-07T20:11:00", + "2026-05-07T20:12:00", + "2026-05-07T20:13:00", + "2026-05-07T20:14:00", + "2026-05-07T20:15:00", + "2026-05-07T20:16:00", + "2026-05-07T20:17:00", + "2026-05-07T20:18:00", + "2026-05-07T20:19:00", + "2026-05-07T20:20:00", + "2026-05-07T20:21:00", + "2026-05-07T20:22:00", + "2026-05-07T20:23:00", + "2026-05-07T20:24:00", + "2026-05-07T20:25:00", + "2026-05-07T20:26:00", + "2026-05-07T20:27:00", + "2026-05-07T20:28:00", + "2026-05-07T20:29:00", + "2026-05-07T20:30:00", + "2026-05-07T20:31:00", + "2026-05-07T20:32:00", + "2026-05-07T20:33:00", + "2026-05-07T20:34:00", + "2026-05-07T20:35:00", + "2026-05-07T20:36:00", + "2026-05-07T20:37:00", + "2026-05-07T20:38:00", + "2026-05-07T20:39:00", + "2026-05-07T20:40:00", + "2026-05-07T20:41:00", + "2026-05-07T20:42:00", + "2026-05-07T20:43:00", + "2026-05-07T20:44:00", + "2026-05-07T20:45:00", + "2026-05-07T20:46:00", + "2026-05-07T20:47:00", + "2026-05-07T20:48:00", + "2026-05-07T20:49:00", + "2026-05-07T20:50:00", + "2026-05-07T20:51:00", + "2026-05-07T20:52:00", + "2026-05-07T20:53:00", + "2026-05-07T20:54:00", + "2026-05-07T20:55:00", + "2026-05-07T20:56:00", + "2026-05-07T20:57:00", + "2026-05-07T20:58:00", + "2026-05-07T20:59:00", + "2026-05-07T21:00:00", + "2026-05-07T21:01:00", + "2026-05-07T21:02:00", + "2026-05-07T21:03:00", + "2026-05-07T21:04:00", + "2026-05-07T21:05:00", + "2026-05-07T21:06:00", + "2026-05-07T21:07:00", + "2026-05-07T21:08:00", + "2026-05-07T21:09:00", + "2026-05-07T21:10:00", + "2026-05-07T21:11:00", + "2026-05-07T21:12:00", + "2026-05-07T21:13:00", + "2026-05-07T21:14:00", + "2026-05-07T21:15:00", + "2026-05-07T21:16:00", + "2026-05-07T21:17:00", + "2026-05-07T21:18:00", + "2026-05-07T21:19:00", + "2026-05-07T21:20:00", + "2026-05-07T21:21:00", + "2026-05-07T21:22:00", + "2026-05-07T21:23:00", + "2026-05-07T21:24:00", + "2026-05-07T21:25:00", + "2026-05-07T21:26:00", + "2026-05-07T21:27:00", + "2026-05-07T21:28:00", + "2026-05-07T21:29:00", + "2026-05-07T21:30:00", + "2026-05-07T21:31:00", + "2026-05-07T21:32:00", + "2026-05-07T21:33:00", + "2026-05-07T21:34:00", + "2026-05-07T21:35:00", + "2026-05-07T21:36:00", + "2026-05-07T21:37:00", + "2026-05-07T21:38:00", + "2026-05-07T21:39:00", + "2026-05-07T21:40:00", + "2026-05-07T21:41:00", + "2026-05-07T21:42:00", + "2026-05-07T21:43:00", + "2026-05-07T21:44:00", + "2026-05-07T21:45:00", + "2026-05-07T21:46:00", + "2026-05-07T21:47:00", + "2026-05-07T21:48:00", + "2026-05-07T21:49:00", + "2026-05-07T21:50:00", + "2026-05-07T21:51:00", + "2026-05-07T21:52:00", + "2026-05-07T21:53:00", + "2026-05-07T21:54:00", + "2026-05-07T21:55:00", + "2026-05-07T21:56:00", + "2026-05-07T21:57:00", + "2026-05-07T21:58:00", + "2026-05-07T21:59:00", + "2026-05-07T22:00:00", + "2026-05-07T22:01:00", + "2026-05-07T22:02:00", + "2026-05-07T22:03:00", + "2026-05-07T22:04:00", + "2026-05-07T22:05:00", + "2026-05-07T22:06:00", + "2026-05-07T22:07:00", + "2026-05-07T22:08:00", + "2026-05-07T22:09:00", + "2026-05-07T22:10:00", + "2026-05-07T22:11:00", + "2026-05-07T22:12:00", + "2026-05-07T22:13:00", + "2026-05-07T22:14:00", + "2026-05-07T22:15:00", + "2026-05-07T22:16:00", + "2026-05-07T22:17:00", + "2026-05-07T22:18:00", + "2026-05-07T22:19:00", + "2026-05-07T22:20:00", + "2026-05-07T22:21:00", + "2026-05-07T22:22:00", + "2026-05-07T22:23:00", + "2026-05-07T22:24:00", + "2026-05-07T22:25:00", + "2026-05-07T22:26:00", + "2026-05-07T22:27:00", + "2026-05-07T22:28:00", + "2026-05-07T22:29:00", + "2026-05-07T22:30:00", + "2026-05-07T22:31:00", + "2026-05-07T22:32:00", + "2026-05-07T22:33:00", + "2026-05-07T22:34:00", + "2026-05-07T22:35:00", + "2026-05-07T22:36:00", + "2026-05-07T22:37:00", + "2026-05-07T22:38:00", + "2026-05-07T22:39:00", + "2026-05-07T22:40:00", + "2026-05-07T22:41:00", + "2026-05-07T22:42:00", + "2026-05-07T22:43:00", + "2026-05-07T22:44:00", + "2026-05-07T22:45:00", + "2026-05-07T22:46:00", + "2026-05-07T22:47:00", + "2026-05-07T22:48:00", + "2026-05-07T22:49:00", + "2026-05-07T22:50:00", + "2026-05-07T22:51:00", + "2026-05-07T22:52:00", + "2026-05-07T22:53:00", + "2026-05-07T22:54:00", + "2026-05-07T22:55:00", + "2026-05-07T22:56:00", + "2026-05-07T22:57:00", + "2026-05-07T22:58:00", + "2026-05-07T22:59:00", + "2026-05-07T23:00:00", + "2026-05-07T23:01:00", + "2026-05-07T23:02:00", + "2026-05-07T23:03:00", + "2026-05-07T23:04:00", + "2026-05-07T23:05:00", + "2026-05-07T23:06:00", + "2026-05-07T23:07:00", + "2026-05-07T23:08:00", + "2026-05-07T23:09:00", + "2026-05-07T23:10:00", + "2026-05-07T23:11:00", + "2026-05-07T23:12:00", + "2026-05-07T23:13:00", + "2026-05-07T23:14:00", + "2026-05-07T23:15:00", + "2026-05-07T23:16:00", + "2026-05-07T23:17:00", + "2026-05-07T23:18:00", + "2026-05-07T23:19:00", + "2026-05-07T23:20:00", + "2026-05-07T23:21:00", + "2026-05-07T23:22:00", + "2026-05-07T23:23:00", + "2026-05-07T23:24:00", + "2026-05-07T23:25:00", + "2026-05-07T23:26:00", + "2026-05-07T23:27:00", + "2026-05-07T23:28:00", + "2026-05-07T23:29:00", + "2026-05-07T23:30:00", + "2026-05-07T23:31:00", + "2026-05-07T23:32:00", + "2026-05-07T23:33:00", + "2026-05-07T23:34:00", + "2026-05-07T23:35:00", + "2026-05-07T23:36:00", + "2026-05-07T23:37:00", + "2026-05-07T23:38:00", + "2026-05-07T23:39:00", + "2026-05-07T23:40:00", + "2026-05-07T23:41:00", + "2026-05-07T23:42:00", + "2026-05-07T23:43:00", + "2026-05-07T23:44:00", + "2026-05-07T23:45:00", + "2026-05-07T23:46:00", + "2026-05-07T23:47:00", + "2026-05-07T23:48:00", + "2026-05-07T23:49:00", + "2026-05-07T23:50:00", + "2026-05-07T23:51:00", + "2026-05-07T23:52:00", + "2026-05-07T23:53:00", + "2026-05-07T23:54:00", + "2026-05-07T23:55:00", + "2026-05-07T23:56:00", + "2026-05-07T23:57:00", + "2026-05-07T23:58:00", + "2026-05-07T23:59:00", + "2026-05-08T00:00:00", + "2026-05-08T00:01:00", + "2026-05-08T00:02:00", + "2026-05-08T00:03:00", + "2026-05-08T00:04:00", + "2026-05-08T00:05:00", + "2026-05-08T00:06:00", + "2026-05-08T00:07:00", + "2026-05-08T00:08:00", + "2026-05-08T00:09:00", + "2026-05-08T00:10:00", + "2026-05-08T00:11:00", + "2026-05-08T00:12:00", + "2026-05-08T00:13:00", + "2026-05-08T00:14:00", + "2026-05-08T00:15:00", + "2026-05-08T00:16:00", + "2026-05-08T00:17:00", + "2026-05-08T00:18:00", + "2026-05-08T00:19:00", + "2026-05-08T00:20:00", + "2026-05-08T00:21:00", + "2026-05-08T00:22:00", + "2026-05-08T00:23:00", + "2026-05-08T00:24:00", + "2026-05-08T00:25:00", + "2026-05-08T00:26:00", + "2026-05-08T00:27:00", + "2026-05-08T00:28:00", + "2026-05-08T00:29:00", + "2026-05-08T00:30:00", + "2026-05-08T00:31:00", + "2026-05-08T00:32:00", + "2026-05-08T00:33:00", + "2026-05-08T00:34:00", + "2026-05-08T00:35:00", + "2026-05-08T00:36:00", + "2026-05-08T00:37:00", + "2026-05-08T00:38:00", + "2026-05-08T00:39:00", + "2026-05-08T00:40:00", + "2026-05-08T00:41:00", + "2026-05-08T00:42:00", + "2026-05-08T00:43:00", + "2026-05-08T00:44:00", + "2026-05-08T00:45:00", + "2026-05-08T00:46:00", + "2026-05-08T00:47:00", + "2026-05-08T00:48:00", + "2026-05-08T00:49:00", + "2026-05-08T00:50:00", + "2026-05-08T00:51:00", + "2026-05-08T00:52:00", + "2026-05-08T00:53:00", + "2026-05-08T00:54:00", + "2026-05-08T00:55:00", + "2026-05-08T00:56:00", + "2026-05-08T00:57:00", + "2026-05-08T00:58:00", + "2026-05-08T00:59:00", + "2026-05-08T01:00:00", + "2026-05-08T01:01:00", + "2026-05-08T01:02:00", + "2026-05-08T01:03:00", + "2026-05-08T01:04:00", + "2026-05-08T01:05:00", + "2026-05-08T01:06:00", + "2026-05-08T01:07:00", + "2026-05-08T01:08:00", + "2026-05-08T01:09:00", + "2026-05-08T01:10:00", + "2026-05-08T01:11:00", + "2026-05-08T01:12:00", + "2026-05-08T01:13:00", + "2026-05-08T01:14:00", + "2026-05-08T01:15:00", + "2026-05-08T01:16:00", + "2026-05-08T01:17:00", + "2026-05-08T01:18:00", + "2026-05-08T01:19:00", + "2026-05-08T01:20:00", + "2026-05-08T01:21:00", + "2026-05-08T01:22:00", + "2026-05-08T01:23:00", + "2026-05-08T01:24:00", + "2026-05-08T01:25:00", + "2026-05-08T01:26:00", + "2026-05-08T01:27:00", + "2026-05-08T01:28:00", + "2026-05-08T01:29:00", + "2026-05-08T01:30:00", + "2026-05-08T01:31:00", + "2026-05-08T01:32:00", + "2026-05-08T01:33:00", + "2026-05-08T01:34:00", + "2026-05-08T01:35:00", + "2026-05-08T01:36:00", + "2026-05-08T01:37:00", + "2026-05-08T01:38:00", + "2026-05-08T01:39:00", + "2026-05-08T01:40:00", + "2026-05-08T01:41:00", + "2026-05-08T01:42:00", + "2026-05-08T01:43:00", + "2026-05-08T01:44:00", + "2026-05-08T01:45:00", + "2026-05-08T01:46:00", + "2026-05-08T01:47:00", + "2026-05-08T01:48:00", + "2026-05-08T01:49:00", + "2026-05-08T01:50:00", + "2026-05-08T01:51:00", + "2026-05-08T01:52:00", + "2026-05-08T01:53:00", + "2026-05-08T01:54:00", + "2026-05-08T01:55:00", + "2026-05-08T01:56:00", + "2026-05-08T01:57:00", + "2026-05-08T01:58:00", + "2026-05-08T01:59:00", + "2026-05-08T02:00:00", + "2026-05-08T02:01:00", + "2026-05-08T02:02:00", + "2026-05-08T02:03:00", + "2026-05-08T02:04:00", + "2026-05-08T02:05:00", + "2026-05-08T02:06:00", + "2026-05-08T02:07:00", + "2026-05-08T02:08:00", + "2026-05-08T02:09:00", + "2026-05-08T02:10:00", + "2026-05-08T02:11:00", + "2026-05-08T02:12:00", + "2026-05-08T02:13:00", + "2026-05-08T02:14:00", + "2026-05-08T02:15:00", + "2026-05-08T02:16:00", + "2026-05-08T02:17:00", + "2026-05-08T02:18:00", + "2026-05-08T02:19:00", + "2026-05-08T02:20:00", + "2026-05-08T02:21:00", + "2026-05-08T02:22:00", + "2026-05-08T02:23:00", + "2026-05-08T02:24:00", + "2026-05-08T02:25:00", + "2026-05-08T02:26:00", + "2026-05-08T02:27:00", + "2026-05-08T02:28:00", + "2026-05-08T02:29:00", + "2026-05-08T02:30:00", + "2026-05-08T02:31:00", + "2026-05-08T02:32:00", + "2026-05-08T02:33:00", + "2026-05-08T02:34:00", + "2026-05-08T02:35:00", + "2026-05-08T02:36:00", + "2026-05-08T02:37:00", + "2026-05-08T02:38:00", + "2026-05-08T02:39:00", + "2026-05-08T02:40:00", + "2026-05-08T02:41:00", + "2026-05-08T02:42:00", + "2026-05-08T02:43:00", + "2026-05-08T02:44:00", + "2026-05-08T02:45:00", + "2026-05-08T02:46:00", + "2026-05-08T02:47:00", + "2026-05-08T02:48:00", + "2026-05-08T02:49:00", + "2026-05-08T02:50:00", + "2026-05-08T02:51:00", + "2026-05-08T02:52:00", + "2026-05-08T02:53:00", + "2026-05-08T02:54:00", + "2026-05-08T02:55:00", + "2026-05-08T02:56:00", + "2026-05-08T02:57:00", + "2026-05-08T02:58:00", + "2026-05-08T02:59:00", + "2026-05-08T03:00:00", + "2026-05-08T03:01:00", + "2026-05-08T03:02:00", + "2026-05-08T03:03:00", + "2026-05-08T03:04:00", + "2026-05-08T03:05:00", + "2026-05-08T03:06:00", + "2026-05-08T03:07:00", + "2026-05-08T03:08:00", + "2026-05-08T03:09:00", + "2026-05-08T03:10:00", + "2026-05-08T03:11:00", + "2026-05-08T03:12:00", + "2026-05-08T03:13:00", + "2026-05-08T03:14:00", + "2026-05-08T03:15:00", + "2026-05-08T03:16:00", + "2026-05-08T03:17:00", + "2026-05-08T03:18:00", + "2026-05-08T03:19:00", + "2026-05-08T03:20:00", + "2026-05-08T03:21:00", + "2026-05-08T03:22:00", + "2026-05-08T03:23:00", + "2026-05-08T03:24:00", + "2026-05-08T03:25:00", + "2026-05-08T03:26:00", + "2026-05-08T03:27:00", + "2026-05-08T03:28:00", + "2026-05-08T03:29:00", + "2026-05-08T03:30:00", + "2026-05-08T03:31:00", + "2026-05-08T03:32:00", + "2026-05-08T03:33:00", + "2026-05-08T03:34:00", + "2026-05-08T03:35:00", + "2026-05-08T03:36:00", + "2026-05-08T03:37:00", + "2026-05-08T03:38:00", + "2026-05-08T03:39:00", + "2026-05-08T03:40:00", + "2026-05-08T03:41:00", + "2026-05-08T03:42:00", + "2026-05-08T03:43:00", + "2026-05-08T03:44:00", + "2026-05-08T03:45:00", + "2026-05-08T03:46:00", + "2026-05-08T03:47:00", + "2026-05-08T03:48:00", + "2026-05-08T03:49:00", + "2026-05-08T03:50:00", + "2026-05-08T03:51:00", + "2026-05-08T03:52:00", + "2026-05-08T03:53:00", + "2026-05-08T03:54:00", + "2026-05-08T03:55:00", + "2026-05-08T03:56:00", + "2026-05-08T03:57:00", + "2026-05-08T03:58:00", + "2026-05-08T03:59:00", + "2026-05-08T04:00:00", + "2026-05-08T04:01:00", + "2026-05-08T04:02:00", + "2026-05-08T04:03:00", + "2026-05-08T04:04:00", + "2026-05-08T04:05:00", + "2026-05-08T04:06:00", + "2026-05-08T04:07:00", + "2026-05-08T04:08:00", + "2026-05-08T04:09:00", + "2026-05-08T04:10:00", + "2026-05-08T04:11:00", + "2026-05-08T04:12:00", + "2026-05-08T04:13:00", + "2026-05-08T04:14:00", + "2026-05-08T04:15:00", + "2026-05-08T04:16:00", + "2026-05-08T04:17:00", + "2026-05-08T04:18:00", + "2026-05-08T04:19:00", + "2026-05-08T04:20:00", + "2026-05-08T04:21:00", + "2026-05-08T04:22:00", + "2026-05-08T04:23:00", + "2026-05-08T04:24:00", + "2026-05-08T04:25:00", + "2026-05-08T04:26:00", + "2026-05-08T04:27:00", + "2026-05-08T04:28:00", + "2026-05-08T04:29:00", + "2026-05-08T04:30:00", + "2026-05-08T04:31:00", + "2026-05-08T04:32:00", + "2026-05-08T04:33:00", + "2026-05-08T04:34:00", + "2026-05-08T04:35:00", + "2026-05-08T04:36:00", + "2026-05-08T04:37:00", + "2026-05-08T04:38:00", + "2026-05-08T04:39:00", + "2026-05-08T04:40:00", + "2026-05-08T04:41:00", + "2026-05-08T04:42:00", + "2026-05-08T04:43:00", + "2026-05-08T04:44:00", + "2026-05-08T04:45:00", + "2026-05-08T04:46:00", + "2026-05-08T04:47:00", + "2026-05-08T04:48:00", + "2026-05-08T04:49:00", + "2026-05-08T04:50:00", + "2026-05-08T04:51:00", + "2026-05-08T04:52:00", + "2026-05-08T04:53:00", + "2026-05-08T04:54:00", + "2026-05-08T04:55:00", + "2026-05-08T04:56:00", + "2026-05-08T04:57:00", + "2026-05-08T04:58:00", + "2026-05-08T04:59:00", + "2026-05-08T05:00:00", + "2026-05-08T05:01:00", + "2026-05-08T05:02:00", + "2026-05-08T05:03:00", + "2026-05-08T05:04:00", + "2026-05-08T05:05:00", + "2026-05-08T05:06:00", + "2026-05-08T05:07:00", + "2026-05-08T05:08:00", + "2026-05-08T05:09:00", + "2026-05-08T05:10:00", + "2026-05-08T05:11:00", + "2026-05-08T05:12:00", + "2026-05-08T05:13:00", + "2026-05-08T05:14:00", + "2026-05-08T05:15:00", + "2026-05-08T05:16:00", + "2026-05-08T05:17:00", + "2026-05-08T05:18:00", + "2026-05-08T05:19:00", + "2026-05-08T05:20:00", + "2026-05-08T05:21:00", + "2026-05-08T05:22:00", + "2026-05-08T05:23:00", + "2026-05-08T05:24:00", + "2026-05-08T05:25:00", + "2026-05-08T05:26:00", + "2026-05-08T05:27:00", + "2026-05-08T05:28:00", + "2026-05-08T05:29:00", + "2026-05-08T05:30:00", + "2026-05-08T05:31:00", + "2026-05-08T05:32:00", + "2026-05-08T05:33:00", + "2026-05-08T05:34:00", + "2026-05-08T05:35:00", + "2026-05-08T05:36:00", + "2026-05-08T05:37:00", + "2026-05-08T05:38:00", + "2026-05-08T05:39:00", + "2026-05-08T05:40:00", + "2026-05-08T05:41:00", + "2026-05-08T05:42:00", + "2026-05-08T05:43:00", + "2026-05-08T05:44:00", + "2026-05-08T05:45:00", + "2026-05-08T05:46:00", + "2026-05-08T05:47:00", + "2026-05-08T05:48:00", + "2026-05-08T05:49:00", + "2026-05-08T05:50:00", + "2026-05-08T05:51:00", + "2026-05-08T05:52:00", + "2026-05-08T05:53:00", + "2026-05-08T05:54:00", + "2026-05-08T05:55:00", + "2026-05-08T05:56:00", + "2026-05-08T05:57:00", + "2026-05-08T05:58:00", + "2026-05-08T05:59:00", + "2026-05-08T06:00:00", + "2026-05-08T06:01:00", + "2026-05-08T06:02:00", + "2026-05-08T06:03:00", + "2026-05-08T06:04:00", + "2026-05-08T06:05:00", + "2026-05-08T06:06:00", + "2026-05-08T06:07:00", + "2026-05-08T06:08:00", + "2026-05-08T06:09:00", + "2026-05-08T06:10:00", + "2026-05-08T06:11:00", + "2026-05-08T06:12:00", + "2026-05-08T06:13:00", + "2026-05-08T06:14:00", + "2026-05-08T06:15:00", + "2026-05-08T06:16:00", + "2026-05-08T06:17:00", + "2026-05-08T06:18:00", + "2026-05-08T06:19:00", + "2026-05-08T06:20:00", + "2026-05-08T06:21:00", + "2026-05-08T06:22:00", + "2026-05-08T06:23:00", + "2026-05-08T06:24:00", + "2026-05-08T06:25:00", + "2026-05-08T06:26:00", + "2026-05-08T06:27:00", + "2026-05-08T06:28:00", + "2026-05-08T06:29:00", + "2026-05-08T06:30:00", + "2026-05-08T06:31:00", + "2026-05-08T06:32:00", + "2026-05-08T06:33:00", + "2026-05-08T06:34:00", + "2026-05-08T06:35:00", + "2026-05-08T06:36:00", + "2026-05-08T06:37:00", + "2026-05-08T06:38:00", + "2026-05-08T06:39:00", + "2026-05-08T06:40:00", + "2026-05-08T06:41:00", + "2026-05-08T06:42:00", + "2026-05-08T06:43:00", + "2026-05-08T06:44:00", + "2026-05-08T06:45:00", + "2026-05-08T06:46:00", + "2026-05-08T06:47:00", + "2026-05-08T06:48:00", + "2026-05-08T06:49:00", + "2026-05-08T06:50:00", + "2026-05-08T06:51:00", + "2026-05-08T06:52:00", + "2026-05-08T06:53:00", + "2026-05-08T06:54:00", + "2026-05-08T06:55:00", + "2026-05-08T06:56:00", + "2026-05-08T06:57:00", + "2026-05-08T06:58:00", + "2026-05-08T06:59:00", + "2026-05-08T07:00:00", + "2026-05-08T07:01:00", + "2026-05-08T07:02:00", + "2026-05-08T07:03:00", + "2026-05-08T07:04:00", + "2026-05-08T07:05:00", + "2026-05-08T07:06:00", + "2026-05-08T07:07:00", + "2026-05-08T07:08:00", + "2026-05-08T07:09:00", + "2026-05-08T07:10:00", + "2026-05-08T07:11:00", + "2026-05-08T07:12:00", + "2026-05-08T07:13:00", + "2026-05-08T07:14:00", + "2026-05-08T07:15:00", + "2026-05-08T07:16:00", + "2026-05-08T07:17:00", + "2026-05-08T07:18:00", + "2026-05-08T07:19:00", + "2026-05-08T07:20:00", + "2026-05-08T07:21:00", + "2026-05-08T07:22:00", + "2026-05-08T07:23:00", + "2026-05-08T07:24:00", + "2026-05-08T07:25:00", + "2026-05-08T07:26:00", + "2026-05-08T07:27:00", + "2026-05-08T07:28:00", + "2026-05-08T07:29:00", + "2026-05-08T07:30:00", + "2026-05-08T07:31:00", + "2026-05-08T07:32:00", + "2026-05-08T07:33:00", + "2026-05-08T07:34:00", + "2026-05-08T07:35:00", + "2026-05-08T07:36:00", + "2026-05-08T07:37:00", + "2026-05-08T07:38:00", + "2026-05-08T07:39:00", + "2026-05-08T07:40:00", + "2026-05-08T07:41:00", + "2026-05-08T07:42:00", + "2026-05-08T07:43:00", + "2026-05-08T07:44:00", + "2026-05-08T07:45:00", + "2026-05-08T07:46:00", + "2026-05-08T07:47:00", + "2026-05-08T07:48:00", + "2026-05-08T07:49:00", + "2026-05-08T07:50:00", + "2026-05-08T07:51:00", + "2026-05-08T07:52:00", + "2026-05-08T07:53:00", + "2026-05-08T07:54:00", + "2026-05-08T07:55:00", + "2026-05-08T07:56:00", + "2026-05-08T07:57:00", + "2026-05-08T07:58:00", + "2026-05-08T07:59:00", + "2026-05-08T08:00:00", + "2026-05-08T08:01:00", + "2026-05-08T08:02:00", + "2026-05-08T08:03:00", + "2026-05-08T08:04:00", + "2026-05-08T08:05:00", + "2026-05-08T08:06:00", + "2026-05-08T08:07:00", + "2026-05-08T08:08:00", + "2026-05-08T08:09:00", + "2026-05-08T08:10:00", + "2026-05-08T08:11:00", + "2026-05-08T08:12:00", + "2026-05-08T08:13:00", + "2026-05-08T08:14:00", + "2026-05-08T08:15:00", + "2026-05-08T08:16:00", + "2026-05-08T08:17:00", + "2026-05-08T08:18:00", + "2026-05-08T08:19:00", + "2026-05-08T08:20:00", + "2026-05-08T08:21:00", + "2026-05-08T08:22:00", + "2026-05-08T08:23:00", + "2026-05-08T08:24:00", + "2026-05-08T08:25:00", + "2026-05-08T08:26:00", + "2026-05-08T08:27:00", + "2026-05-08T08:28:00", + "2026-05-08T08:29:00", + "2026-05-08T08:30:00", + "2026-05-08T08:31:00", + "2026-05-08T08:32:00", + "2026-05-08T08:33:00", + "2026-05-08T08:34:00", + "2026-05-08T08:35:00", + "2026-05-08T08:36:00", + "2026-05-08T08:37:00", + "2026-05-08T08:38:00", + "2026-05-08T08:39:00", + "2026-05-08T08:40:00", + "2026-05-08T08:41:00", + "2026-05-08T08:42:00", + "2026-05-08T08:43:00", + "2026-05-08T08:44:00", + "2026-05-08T08:45:00", + "2026-05-08T08:46:00", + "2026-05-08T08:47:00", + "2026-05-08T08:48:00", + "2026-05-08T08:49:00", + "2026-05-08T08:50:00", + "2026-05-08T08:51:00", + "2026-05-08T08:52:00", + "2026-05-08T08:53:00", + "2026-05-08T08:54:00", + "2026-05-08T08:55:00", + "2026-05-08T08:56:00", + "2026-05-08T08:57:00", + "2026-05-08T08:58:00", + "2026-05-08T08:59:00", + "2026-05-08T09:00:00", + "2026-05-08T09:01:00", + "2026-05-08T09:02:00", + "2026-05-08T09:03:00", + "2026-05-08T09:04:00", + "2026-05-08T09:05:00", + "2026-05-08T09:06:00", + "2026-05-08T09:07:00", + "2026-05-08T09:08:00", + "2026-05-08T09:09:00", + "2026-05-08T09:10:00", + "2026-05-08T09:11:00", + "2026-05-08T09:12:00", + "2026-05-08T09:13:00", + "2026-05-08T09:14:00", + "2026-05-08T09:15:00", + "2026-05-08T09:16:00", + "2026-05-08T09:17:00", + "2026-05-08T09:18:00", + "2026-05-08T09:19:00", + "2026-05-08T09:20:00", + "2026-05-08T09:21:00", + "2026-05-08T09:22:00", + "2026-05-08T09:23:00", + "2026-05-08T09:24:00", + "2026-05-08T09:25:00", + "2026-05-08T09:26:00", + "2026-05-08T09:27:00", + "2026-05-08T09:28:00", + "2026-05-08T09:29:00", + "2026-05-08T09:30:00", + "2026-05-08T09:31:00", + "2026-05-08T09:32:00", + "2026-05-08T09:33:00", + "2026-05-08T09:34:00", + "2026-05-08T09:35:00", + "2026-05-08T09:36:00", + "2026-05-08T09:37:00", + "2026-05-08T09:38:00", + "2026-05-08T09:39:00", + "2026-05-08T09:40:00", + "2026-05-08T09:41:00", + "2026-05-08T09:42:00", + "2026-05-08T09:43:00", + "2026-05-08T09:44:00", + "2026-05-08T09:45:00", + "2026-05-08T09:46:00", + "2026-05-08T09:47:00", + "2026-05-08T09:48:00", + "2026-05-08T09:49:00", + "2026-05-08T09:50:00", + "2026-05-08T09:51:00", + "2026-05-08T09:52:00", + "2026-05-08T09:53:00", + "2026-05-08T09:54:00", + "2026-05-08T09:55:00", + "2026-05-08T09:56:00", + "2026-05-08T09:57:00", + "2026-05-08T09:58:00", + "2026-05-08T09:59:00", + "2026-05-08T10:00:00", + "2026-05-08T10:01:00", + "2026-05-08T10:02:00", + "2026-05-08T10:03:00", + "2026-05-08T10:04:00", + "2026-05-08T10:05:00", + "2026-05-08T10:06:00", + "2026-05-08T10:07:00", + "2026-05-08T10:08:00", + "2026-05-08T10:09:00", + "2026-05-08T10:10:00", + "2026-05-08T10:11:00", + "2026-05-08T10:12:00", + "2026-05-08T10:13:00", + "2026-05-08T10:14:00", + "2026-05-08T10:15:00", + "2026-05-08T10:16:00", + "2026-05-08T10:17:00", + "2026-05-08T10:18:00", + "2026-05-08T10:19:00", + "2026-05-08T10:20:00", + "2026-05-08T10:21:00", + "2026-05-08T10:22:00", + "2026-05-08T10:23:00", + "2026-05-08T10:24:00", + "2026-05-08T10:25:00", + "2026-05-08T10:26:00", + "2026-05-08T10:27:00", + "2026-05-08T10:28:00", + "2026-05-08T10:29:00", + "2026-05-08T10:30:00", + "2026-05-08T10:31:00", + "2026-05-08T10:32:00", + "2026-05-08T10:33:00", + "2026-05-08T10:34:00", + "2026-05-08T10:35:00", + "2026-05-08T10:36:00", + "2026-05-08T10:37:00", + "2026-05-08T10:38:00", + "2026-05-08T10:39:00", + "2026-05-08T10:40:00", + "2026-05-08T10:41:00", + "2026-05-08T10:42:00", + "2026-05-08T10:43:00", + "2026-05-08T10:44:00", + "2026-05-08T10:45:00", + "2026-05-08T10:46:00", + "2026-05-08T10:47:00", + "2026-05-08T10:48:00", + "2026-05-08T10:49:00", + "2026-05-08T10:50:00", + "2026-05-08T10:51:00", + "2026-05-08T10:52:00", + "2026-05-08T10:53:00", + "2026-05-08T10:54:00", + "2026-05-08T10:55:00", + "2026-05-08T10:56:00", + "2026-05-08T10:57:00", + "2026-05-08T10:58:00", + "2026-05-08T10:59:00", + "2026-05-08T11:00:00", + "2026-05-08T11:01:00", + "2026-05-08T11:02:00", + "2026-05-08T11:03:00", + "2026-05-08T11:04:00", + "2026-05-08T11:05:00", + "2026-05-08T11:06:00", + "2026-05-08T11:07:00", + "2026-05-08T11:08:00", + "2026-05-08T11:09:00", + "2026-05-08T11:10:00", + "2026-05-08T11:11:00", + "2026-05-08T11:12:00", + "2026-05-08T11:13:00", + "2026-05-08T11:14:00", + "2026-05-08T11:15:00", + "2026-05-08T11:16:00", + "2026-05-08T11:17:00", + "2026-05-08T11:18:00", + "2026-05-08T11:19:00", + "2026-05-08T11:20:00", + "2026-05-08T11:21:00", + "2026-05-08T11:22:00", + "2026-05-08T11:23:00", + "2026-05-08T11:24:00", + "2026-05-08T11:25:00", + "2026-05-08T11:26:00", + "2026-05-08T11:27:00", + "2026-05-08T11:28:00", + "2026-05-08T11:29:00", + "2026-05-08T11:30:00", + "2026-05-08T11:31:00", + "2026-05-08T11:32:00", + "2026-05-08T11:33:00", + "2026-05-08T11:34:00", + "2026-05-08T11:35:00", + "2026-05-08T11:36:00", + "2026-05-08T11:37:00", + "2026-05-08T11:38:00", + "2026-05-08T11:39:00", + "2026-05-08T11:40:00", + "2026-05-08T11:41:00", + "2026-05-08T11:42:00", + "2026-05-08T11:43:00", + "2026-05-08T11:44:00", + "2026-05-08T11:45:00", + "2026-05-08T11:46:00", + "2026-05-08T11:47:00", + "2026-05-08T11:48:00", + "2026-05-08T11:49:00", + "2026-05-08T11:50:00", + "2026-05-08T11:51:00", + "2026-05-08T11:52:00", + "2026-05-08T11:53:00", + "2026-05-08T11:54:00", + "2026-05-08T11:55:00", + "2026-05-08T11:56:00", + "2026-05-08T11:57:00", + "2026-05-08T11:58:00", + "2026-05-08T11:59:00", + "2026-05-08T12:00:00", + "2026-05-08T12:01:00", + "2026-05-08T12:02:00", + "2026-05-08T12:03:00", + "2026-05-08T12:04:00", + "2026-05-08T12:05:00", + "2026-05-08T12:06:00", + "2026-05-08T12:07:00", + "2026-05-08T12:08:00", + "2026-05-08T12:09:00", + "2026-05-08T12:10:00", + "2026-05-08T12:11:00", + "2026-05-08T12:12:00", + "2026-05-08T12:13:00", + "2026-05-08T12:14:00", + "2026-05-08T12:15:00", + "2026-05-08T12:16:00", + "2026-05-08T12:17:00", + "2026-05-08T12:18:00", + "2026-05-08T12:19:00", + "2026-05-08T12:20:00", + "2026-05-08T12:21:00", + "2026-05-08T12:22:00", + "2026-05-08T12:23:00", + "2026-05-08T12:24:00", + "2026-05-08T12:25:00", + "2026-05-08T12:26:00", + "2026-05-08T12:27:00", + "2026-05-08T12:28:00", + "2026-05-08T12:29:00", + "2026-05-08T12:30:00", + "2026-05-08T12:31:00", + "2026-05-08T12:32:00", + "2026-05-08T12:33:00", + "2026-05-08T12:34:00", + "2026-05-08T12:35:00", + "2026-05-08T12:36:00", + "2026-05-08T12:37:00", + "2026-05-08T12:38:00", + "2026-05-08T12:39:00", + "2026-05-08T12:40:00", + "2026-05-08T12:41:00", + "2026-05-08T12:42:00", + "2026-05-08T12:43:00", + "2026-05-08T12:44:00", + "2026-05-08T12:45:00", + "2026-05-08T12:46:00", + "2026-05-08T12:47:00", + "2026-05-08T12:48:00", + "2026-05-08T12:49:00", + "2026-05-08T12:50:00", + "2026-05-08T12:51:00", + "2026-05-08T12:52:00", + "2026-05-08T12:53:00", + "2026-05-08T12:54:00", + "2026-05-08T12:55:00", + "2026-05-08T12:56:00", + "2026-05-08T12:57:00", + "2026-05-08T12:58:00", + "2026-05-08T12:59:00", + "2026-05-08T13:00:00", + "2026-05-08T13:01:00", + "2026-05-08T13:02:00", + "2026-05-08T13:03:00", + "2026-05-08T13:04:00", + "2026-05-08T13:05:00", + "2026-05-08T13:06:00", + "2026-05-08T13:07:00", + "2026-05-08T13:08:00", + "2026-05-08T13:09:00", + "2026-05-08T13:10:00", + "2026-05-08T13:11:00", + "2026-05-08T13:12:00", + "2026-05-08T13:13:00", + "2026-05-08T13:14:00", + "2026-05-08T13:15:00", + "2026-05-08T13:16:00", + "2026-05-08T13:17:00", + "2026-05-08T13:18:00", + "2026-05-08T13:19:00", + "2026-05-08T13:20:00", + "2026-05-08T13:21:00", + "2026-05-08T13:22:00", + "2026-05-08T13:23:00", + "2026-05-08T13:24:00", + "2026-05-08T13:25:00", + "2026-05-08T13:26:00", + "2026-05-08T13:27:00", + "2026-05-08T13:28:00", + "2026-05-08T13:29:00", + "2026-05-08T13:30:00", + "2026-05-08T13:31:00", + "2026-05-08T13:32:00", + "2026-05-08T13:33:00", + "2026-05-08T13:34:00", + "2026-05-08T13:35:00", + "2026-05-08T13:36:00", + "2026-05-08T13:37:00", + "2026-05-08T13:38:00", + "2026-05-08T13:39:00", + "2026-05-08T13:40:00", + "2026-05-08T13:41:00", + "2026-05-08T13:42:00", + "2026-05-08T13:43:00", + "2026-05-08T13:44:00", + "2026-05-08T13:45:00", + "2026-05-08T13:46:00", + "2026-05-08T13:47:00", + "2026-05-08T13:48:00", + "2026-05-08T13:49:00", + "2026-05-08T13:50:00", + "2026-05-08T13:51:00", + "2026-05-08T13:52:00", + "2026-05-08T13:53:00", + "2026-05-08T13:54:00", + "2026-05-08T13:55:00", + "2026-05-08T13:56:00", + "2026-05-08T13:57:00", + "2026-05-08T13:58:00", + "2026-05-08T13:59:00", + "2026-05-08T14:00:00", + "2026-05-08T14:01:00", + "2026-05-08T14:02:00", + "2026-05-08T14:03:00", + "2026-05-08T14:04:00", + "2026-05-08T14:05:00", + "2026-05-08T14:06:00", + "2026-05-08T14:07:00", + "2026-05-08T14:08:00", + "2026-05-08T14:09:00", + "2026-05-08T14:10:00", + "2026-05-08T14:11:00", + "2026-05-08T14:12:00", + "2026-05-08T14:13:00", + "2026-05-08T14:14:00", + "2026-05-08T14:15:00", + "2026-05-08T14:16:00", + "2026-05-08T14:17:00", + "2026-05-08T14:18:00", + "2026-05-08T14:19:00", + "2026-05-08T14:20:00", + "2026-05-08T14:21:00", + "2026-05-08T14:22:00", + "2026-05-08T14:23:00", + "2026-05-08T14:24:00", + "2026-05-08T14:25:00", + "2026-05-08T14:26:00", + "2026-05-08T14:27:00", + "2026-05-08T14:28:00", + "2026-05-08T14:29:00", + "2026-05-08T14:30:00", + "2026-05-08T14:31:00", + "2026-05-08T14:32:00", + "2026-05-08T14:33:00", + "2026-05-08T14:34:00", + "2026-05-08T14:35:00", + "2026-05-08T14:36:00", + "2026-05-08T14:37:00", + "2026-05-08T14:38:00", + "2026-05-08T14:39:00", + "2026-05-08T14:40:00", + "2026-05-08T14:41:00", + "2026-05-08T14:42:00", + "2026-05-08T14:43:00", + "2026-05-08T14:44:00", + "2026-05-08T14:45:00", + "2026-05-08T14:46:00", + "2026-05-08T14:47:00", + "2026-05-08T14:48:00", + "2026-05-08T14:49:00", + "2026-05-08T14:50:00", + "2026-05-08T14:51:00", + "2026-05-08T14:52:00", + "2026-05-08T14:53:00", + "2026-05-08T14:54:00", + "2026-05-08T14:55:00", + "2026-05-08T14:56:00", + "2026-05-08T14:57:00", + "2026-05-08T14:58:00", + "2026-05-08T14:59:00", + "2026-05-08T15:00:00", + "2026-05-08T15:01:00", + "2026-05-08T15:02:00", + "2026-05-08T15:03:00", + "2026-05-08T15:04:00", + "2026-05-08T15:05:00", + "2026-05-08T15:06:00", + "2026-05-08T15:07:00", + "2026-05-08T15:08:00", + "2026-05-08T15:09:00", + "2026-05-08T15:10:00", + "2026-05-08T15:11:00", + "2026-05-08T15:12:00", + "2026-05-08T15:13:00", + "2026-05-08T15:14:00", + "2026-05-08T15:15:00", + "2026-05-08T15:16:00", + "2026-05-08T15:17:00", + "2026-05-08T15:18:00", + "2026-05-08T15:19:00", + "2026-05-08T15:20:00", + "2026-05-08T15:21:00", + "2026-05-08T15:22:00", + "2026-05-08T15:23:00", + "2026-05-08T15:24:00", + "2026-05-08T15:25:00", + "2026-05-08T15:26:00", + "2026-05-08T15:27:00", + "2026-05-08T15:28:00", + "2026-05-08T15:29:00", + "2026-05-08T15:30:00", + "2026-05-08T15:31:00", + "2026-05-08T15:32:00", + "2026-05-08T15:33:00", + "2026-05-08T15:34:00", + "2026-05-08T15:35:00", + "2026-05-08T15:36:00", + "2026-05-08T15:37:00", + "2026-05-08T15:38:00", + "2026-05-08T15:39:00", + "2026-05-08T15:40:00", + "2026-05-08T15:41:00", + "2026-05-08T15:42:00", + "2026-05-08T15:43:00", + "2026-05-08T15:44:00", + "2026-05-08T15:45:00", + "2026-05-08T15:46:00", + "2026-05-08T15:47:00", + "2026-05-08T15:48:00", + "2026-05-08T15:49:00", + "2026-05-08T15:50:00", + "2026-05-08T15:51:00", + "2026-05-08T15:52:00", + "2026-05-08T15:53:00", + "2026-05-08T15:54:00", + "2026-05-08T15:55:00", + "2026-05-08T15:56:00", + "2026-05-08T15:57:00", + "2026-05-08T15:58:00", + "2026-05-08T15:59:00", + "2026-05-08T16:00:00", + "2026-05-08T16:01:00", + "2026-05-08T16:02:00", + "2026-05-08T16:03:00", + "2026-05-08T16:04:00", + "2026-05-08T16:05:00", + "2026-05-08T16:06:00", + "2026-05-08T16:07:00", + "2026-05-08T16:08:00", + "2026-05-08T16:09:00", + "2026-05-08T16:10:00", + "2026-05-08T16:11:00", + "2026-05-08T16:12:00", + "2026-05-08T16:13:00", + "2026-05-08T16:14:00", + "2026-05-08T16:15:00", + "2026-05-08T16:16:00", + "2026-05-08T16:17:00", + "2026-05-08T16:18:00", + "2026-05-08T16:19:00", + "2026-05-08T16:20:00", + "2026-05-08T16:21:00", + "2026-05-08T16:22:00", + "2026-05-08T16:23:00", + "2026-05-08T16:24:00", + "2026-05-08T16:25:00", + "2026-05-08T16:26:00", + "2026-05-08T16:27:00", + "2026-05-08T16:28:00", + "2026-05-08T16:29:00", + "2026-05-08T16:30:00", + "2026-05-08T16:31:00", + "2026-05-08T16:32:00", + "2026-05-08T16:33:00", + "2026-05-08T16:34:00", + "2026-05-08T16:35:00", + "2026-05-08T16:36:00", + "2026-05-08T16:37:00", + "2026-05-08T16:38:00", + "2026-05-08T16:39:00", + "2026-05-08T16:40:00", + "2026-05-08T16:41:00", + "2026-05-08T16:42:00", + "2026-05-08T16:43:00", + "2026-05-08T16:44:00", + "2026-05-08T16:45:00", + "2026-05-08T16:46:00", + "2026-05-08T16:47:00", + "2026-05-08T16:48:00", + "2026-05-08T16:49:00", + "2026-05-08T16:50:00", + "2026-05-08T16:51:00", + "2026-05-08T16:52:00", + "2026-05-08T16:53:00", + "2026-05-08T16:54:00", + "2026-05-08T16:55:00", + "2026-05-08T16:56:00", + "2026-05-08T16:57:00", + "2026-05-08T16:58:00", + "2026-05-08T16:59:00", + "2026-05-08T17:00:00", + "2026-05-08T17:01:00", + "2026-05-08T17:02:00", + "2026-05-08T17:03:00", + "2026-05-08T17:04:00", + "2026-05-08T17:05:00", + "2026-05-08T17:06:00", + "2026-05-08T17:07:00", + "2026-05-08T17:08:00", + "2026-05-08T17:09:00", + "2026-05-08T17:10:00", + "2026-05-08T17:11:00", + "2026-05-08T17:12:00", + "2026-05-08T17:13:00", + "2026-05-08T17:14:00", + "2026-05-08T17:15:00", + "2026-05-08T17:16:00", + "2026-05-08T17:17:00", + "2026-05-08T17:18:00", + "2026-05-08T17:19:00", + "2026-05-08T17:20:00", + "2026-05-08T17:21:00", + "2026-05-08T17:22:00", + "2026-05-08T17:23:00", + "2026-05-08T17:24:00", + "2026-05-08T17:25:00", + "2026-05-08T17:26:00", + "2026-05-08T17:27:00", + "2026-05-08T17:28:00", + "2026-05-08T17:29:00", + "2026-05-08T17:30:00", + "2026-05-08T17:31:00", + "2026-05-08T17:32:00", + "2026-05-08T17:33:00", + "2026-05-08T17:34:00", + "2026-05-08T17:35:00", + "2026-05-08T17:36:00", + "2026-05-08T17:37:00", + "2026-05-08T17:38:00", + "2026-05-08T17:39:00", + "2026-05-08T17:40:00", + "2026-05-08T17:41:00", + "2026-05-08T17:42:00", + "2026-05-08T17:43:00", + "2026-05-08T17:44:00", + "2026-05-08T17:45:00", + "2026-05-08T17:46:00", + "2026-05-08T17:47:00", + "2026-05-08T17:48:00", + "2026-05-08T17:49:00", + "2026-05-08T17:50:00", + "2026-05-08T17:51:00", + "2026-05-08T17:52:00", + "2026-05-08T17:53:00", + "2026-05-08T17:54:00", + "2026-05-08T17:55:00", + "2026-05-08T17:56:00", + "2026-05-08T17:57:00", + "2026-05-08T17:58:00", + "2026-05-08T17:59:00", + "2026-05-08T18:00:00", + "2026-05-08T18:01:00", + "2026-05-08T18:02:00", + "2026-05-08T18:03:00", + "2026-05-08T18:04:00", + "2026-05-08T18:05:00", + "2026-05-08T18:06:00", + "2026-05-08T18:07:00", + "2026-05-08T18:08:00", + "2026-05-08T18:09:00", + "2026-05-08T18:10:00", + "2026-05-08T18:11:00", + "2026-05-08T18:12:00", + "2026-05-08T18:13:00", + "2026-05-08T18:14:00", + "2026-05-08T18:15:00", + "2026-05-08T18:16:00", + "2026-05-08T18:17:00", + "2026-05-08T18:18:00", + "2026-05-08T18:19:00", + "2026-05-08T18:20:00", + "2026-05-08T18:21:00", + "2026-05-08T18:22:00", + "2026-05-08T18:23:00", + "2026-05-08T18:24:00", + "2026-05-08T18:25:00", + "2026-05-08T18:26:00", + "2026-05-08T18:27:00", + "2026-05-08T18:28:00", + "2026-05-08T18:29:00", + "2026-05-08T18:30:00", + "2026-05-08T18:31:00", + "2026-05-08T18:32:00", + "2026-05-08T18:33:00", + "2026-05-08T18:34:00", + "2026-05-08T18:35:00", + "2026-05-08T18:36:00", + "2026-05-08T18:37:00", + "2026-05-08T18:38:00", + "2026-05-08T18:39:00", + "2026-05-08T18:40:00", + "2026-05-08T18:41:00", + "2026-05-08T18:42:00", + "2026-05-08T18:43:00", + "2026-05-08T18:44:00", + "2026-05-08T18:45:00", + "2026-05-08T18:46:00", + "2026-05-08T18:47:00", + "2026-05-08T18:48:00", + "2026-05-08T18:49:00", + "2026-05-08T18:50:00", + "2026-05-08T18:51:00", + "2026-05-08T18:52:00", + "2026-05-08T18:53:00", + "2026-05-08T18:54:00", + "2026-05-08T18:55:00", + "2026-05-08T18:56:00", + "2026-05-08T18:57:00", + "2026-05-08T18:58:00", + "2026-05-08T18:59:00", + "2026-05-08T19:00:00", + "2026-05-08T19:01:00", + "2026-05-08T19:02:00", + "2026-05-08T19:03:00", + "2026-05-08T19:04:00", + "2026-05-08T19:05:00", + "2026-05-08T19:06:00", + "2026-05-08T19:07:00", + "2026-05-08T19:08:00", + "2026-05-08T19:09:00", + "2026-05-08T19:10:00", + "2026-05-08T19:11:00", + "2026-05-08T19:12:00", + "2026-05-08T19:13:00", + "2026-05-08T19:14:00", + "2026-05-08T19:15:00", + "2026-05-08T19:16:00", + "2026-05-08T19:17:00", + "2026-05-08T19:18:00", + "2026-05-08T19:19:00", + "2026-05-08T19:20:00", + "2026-05-08T19:21:00", + "2026-05-08T19:22:00", + "2026-05-08T19:23:00", + "2026-05-08T19:24:00", + "2026-05-08T19:25:00", + "2026-05-08T19:26:00", + "2026-05-08T19:27:00", + "2026-05-08T19:28:00", + "2026-05-08T19:29:00", + "2026-05-08T19:30:00", + "2026-05-08T19:31:00", + "2026-05-08T19:32:00", + "2026-05-08T19:33:00", + "2026-05-08T19:34:00", + "2026-05-08T19:35:00", + "2026-05-08T19:36:00", + "2026-05-08T19:37:00", + "2026-05-08T19:38:00", + "2026-05-08T19:39:00", + "2026-05-08T19:40:00", + "2026-05-08T19:41:00", + "2026-05-08T19:42:00", + "2026-05-08T19:43:00", + "2026-05-08T19:44:00", + "2026-05-08T19:45:00", + "2026-05-08T19:46:00", + "2026-05-08T19:47:00", + "2026-05-08T19:48:00", + "2026-05-08T19:49:00", + "2026-05-08T19:50:00", + "2026-05-08T19:51:00", + "2026-05-08T19:52:00", + "2026-05-08T19:53:00", + "2026-05-08T19:54:00", + "2026-05-08T19:55:00", + "2026-05-08T19:56:00", + "2026-05-08T19:57:00", + "2026-05-08T19:58:00", + "2026-05-08T19:59:00", + "2026-05-08T20:00:00", + "2026-05-08T20:01:00", + "2026-05-08T20:02:00", + "2026-05-08T20:03:00", + "2026-05-08T20:04:00" ], "xaxis": "x", "y": { - "bdata": "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", + "bdata": "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", "dtype": "f8" }, "yaxis": "y" @@ -3230,1449 +3164,1450 @@ "showlegend": true, "type": "scattergl", "x": [ - "2026-05-05T06:10:00", - "2026-05-05T06:11:00", - "2026-05-05T06:12:00", - "2026-05-05T06:13:00", - "2026-05-05T06:14:00", - "2026-05-05T06:15:00", - "2026-05-05T06:16:00", - "2026-05-05T06:17:00", - "2026-05-05T06:18:00", - "2026-05-05T06:19:00", - "2026-05-05T06:20:00", - "2026-05-05T06:21:00", - "2026-05-05T06:22:00", - "2026-05-05T06:23:00", - "2026-05-05T06:24:00", - "2026-05-05T06:25:00", - "2026-05-05T06:26:00", - "2026-05-05T06:27:00", - "2026-05-05T06:28:00", - "2026-05-05T06:29:00", - "2026-05-05T06:30:00", - "2026-05-05T06:31:00", - "2026-05-05T06:32:00", - "2026-05-05T06:33:00", - "2026-05-05T06:34:00", - "2026-05-05T06:35:00", - "2026-05-05T06:36:00", - "2026-05-05T06:37:00", - "2026-05-05T06:38:00", - "2026-05-05T06:39:00", - "2026-05-05T06:40:00", - "2026-05-05T06:41:00", - "2026-05-05T06:42:00", - "2026-05-05T06:43:00", - "2026-05-05T06:44:00", - "2026-05-05T06:45:00", - "2026-05-05T06:46:00", - "2026-05-05T06:47:00", - "2026-05-05T06:48:00", - "2026-05-05T06:49:00", - "2026-05-05T06:50:00", - "2026-05-05T06:51:00", - "2026-05-05T06:52:00", - "2026-05-05T06:53:00", - "2026-05-05T06:54:00", - "2026-05-05T06:55:00", - "2026-05-05T06:56:00", - "2026-05-05T06:57:00", - "2026-05-05T06:58:00", - "2026-05-05T06:59:00", - "2026-05-05T07:00:00", - "2026-05-05T07:01:00", - "2026-05-05T07:02:00", - "2026-05-05T07:03:00", - "2026-05-05T07:04:00", - "2026-05-05T07:05:00", - "2026-05-05T07:06:00", - "2026-05-05T07:07:00", - "2026-05-05T07:08:00", - "2026-05-05T07:09:00", - "2026-05-05T07:10:00", - "2026-05-05T07:11:00", - "2026-05-05T07:12:00", - "2026-05-05T07:13:00", - "2026-05-05T07:14:00", - "2026-05-05T07:15:00", - "2026-05-05T07:16:00", - "2026-05-05T07:17:00", - "2026-05-05T07:18:00", - "2026-05-05T07:19:00", - "2026-05-05T07:20:00", - "2026-05-05T07:21:00", - "2026-05-05T07:22:00", - "2026-05-05T07:23:00", - "2026-05-05T07:24:00", - "2026-05-05T07:25:00", - "2026-05-05T07:26:00", - "2026-05-05T07:27:00", - "2026-05-05T07:28:00", - "2026-05-05T07:29:00", - "2026-05-05T07:30:00", - "2026-05-05T07:31:00", - "2026-05-05T07:32:00", - "2026-05-05T07:33:00", - "2026-05-05T07:34:00", - "2026-05-05T07:35:00", - "2026-05-05T07:36:00", - "2026-05-05T07:37:00", - "2026-05-05T07:38:00", - "2026-05-05T07:39:00", - "2026-05-05T07:40:00", - "2026-05-05T07:41:00", - "2026-05-05T07:42:00", - "2026-05-05T07:43:00", - "2026-05-05T07:44:00", - "2026-05-05T07:45:00", - "2026-05-05T07:46:00", - "2026-05-05T07:47:00", - "2026-05-05T07:48:00", - "2026-05-05T07:49:00", - "2026-05-05T07:50:00", - "2026-05-05T07:51:00", - "2026-05-05T07:52:00", - "2026-05-05T07:53:00", - "2026-05-05T07:54:00", - "2026-05-05T07:55:00", - "2026-05-05T07:56:00", - "2026-05-05T07:57:00", - "2026-05-05T07:58:00", - "2026-05-05T07:59:00", - "2026-05-05T08:00:00", - "2026-05-05T08:01:00", - "2026-05-05T08:02:00", - "2026-05-05T08:03:00", - "2026-05-05T08:04:00", - "2026-05-05T08:05:00", - "2026-05-05T08:06:00", - "2026-05-05T08:07:00", - "2026-05-05T08:08:00", - "2026-05-05T08:09:00", - "2026-05-05T08:10:00", - "2026-05-05T08:11:00", - "2026-05-05T08:12:00", - "2026-05-05T08:13:00", - "2026-05-05T08:14:00", - "2026-05-05T08:15:00", - "2026-05-05T08:16:00", - "2026-05-05T08:17:00", - "2026-05-05T08:18:00", - "2026-05-05T08:19:00", - "2026-05-05T08:20:00", - "2026-05-05T08:21:00", - "2026-05-05T08:22:00", - "2026-05-05T08:23:00", - "2026-05-05T08:24:00", - "2026-05-05T08:25:00", - "2026-05-05T08:26:00", - "2026-05-05T08:27:00", - "2026-05-05T08:28:00", - "2026-05-05T08:29:00", - "2026-05-05T08:30:00", - "2026-05-05T08:31:00", - "2026-05-05T08:32:00", - "2026-05-05T08:33:00", - "2026-05-05T08:34:00", - "2026-05-05T08:35:00", - "2026-05-05T08:36:00", - "2026-05-05T08:37:00", - "2026-05-05T08:38:00", - "2026-05-05T08:39:00", - "2026-05-05T08:40:00", - "2026-05-05T08:41:00", - "2026-05-05T08:42:00", - "2026-05-05T08:43:00", - "2026-05-05T08:44:00", - "2026-05-05T08:45:00", - "2026-05-05T08:46:00", - "2026-05-05T08:47:00", - "2026-05-05T08:48:00", - "2026-05-05T08:49:00", - "2026-05-05T08:50:00", - "2026-05-05T08:51:00", - "2026-05-05T08:52:00", - "2026-05-05T08:53:00", - "2026-05-05T08:54:00", - "2026-05-05T08:55:00", - "2026-05-05T08:56:00", - "2026-05-05T08:57:00", - "2026-05-05T08:58:00", - "2026-05-05T08:59:00", - "2026-05-05T09:00:00", - "2026-05-05T09:01:00", - "2026-05-05T09:02:00", - "2026-05-05T09:03:00", - "2026-05-05T09:04:00", - "2026-05-05T09:05:00", - "2026-05-05T09:06:00", - "2026-05-05T09:07:00", - "2026-05-05T09:08:00", - "2026-05-05T09:09:00", - "2026-05-05T09:10:00", - "2026-05-05T09:11:00", - "2026-05-05T09:12:00", - "2026-05-05T09:13:00", - "2026-05-05T09:14:00", - "2026-05-05T09:15:00", - "2026-05-05T09:16:00", - "2026-05-05T09:17:00", - "2026-05-05T09:18:00", - "2026-05-05T09:19:00", - "2026-05-05T09:20:00", - "2026-05-05T09:21:00", - "2026-05-05T09:22:00", - "2026-05-05T09:23:00", - "2026-05-05T09:24:00", - "2026-05-05T09:25:00", - "2026-05-05T09:26:00", - "2026-05-05T09:27:00", - "2026-05-05T09:28:00", - "2026-05-05T09:29:00", - "2026-05-05T09:30:00", - "2026-05-05T09:31:00", - "2026-05-05T09:32:00", - "2026-05-05T09:33:00", - "2026-05-05T09:34:00", - "2026-05-05T09:35:00", - "2026-05-05T09:36:00", - "2026-05-05T09:37:00", - "2026-05-05T09:38:00", - "2026-05-05T09:39:00", - "2026-05-05T09:40:00", - "2026-05-05T09:41:00", - "2026-05-05T09:42:00", - "2026-05-05T09:43:00", - "2026-05-05T09:44:00", - "2026-05-05T09:45:00", - "2026-05-05T09:46:00", - "2026-05-05T09:47:00", - "2026-05-05T09:48:00", - "2026-05-05T09:49:00", - "2026-05-05T09:50:00", - "2026-05-05T09:51:00", - "2026-05-05T09:52:00", - "2026-05-05T09:53:00", - "2026-05-05T09:54:00", - "2026-05-05T09:55:00", - "2026-05-05T09:56:00", - "2026-05-05T09:57:00", - "2026-05-05T09:58:00", - "2026-05-05T09:59:00", - "2026-05-05T10:00:00", - "2026-05-05T10:01:00", - "2026-05-05T10:02:00", - "2026-05-05T10:03:00", - "2026-05-05T10:04:00", - "2026-05-05T10:05:00", - "2026-05-05T10:06:00", - "2026-05-05T10:07:00", - "2026-05-05T10:08:00", - "2026-05-05T10:09:00", - "2026-05-05T10:10:00", - "2026-05-05T10:11:00", - "2026-05-05T10:12:00", - "2026-05-05T10:13:00", - "2026-05-05T10:14:00", - "2026-05-05T10:15:00", - "2026-05-05T10:16:00", - "2026-05-05T10:17:00", - "2026-05-05T10:18:00", - "2026-05-05T10:19:00", - "2026-05-05T10:20:00", - "2026-05-05T10:21:00", - "2026-05-05T10:22:00", - "2026-05-05T10:23:00", - "2026-05-05T10:24:00", - "2026-05-05T10:25:00", - "2026-05-05T10:26:00", - "2026-05-05T10:27:00", - "2026-05-05T10:28:00", - "2026-05-05T10:29:00", - "2026-05-05T10:30:00", - "2026-05-05T10:31:00", - "2026-05-05T10:32:00", - "2026-05-05T10:33:00", - "2026-05-05T10:34:00", - "2026-05-05T10:35:00", - "2026-05-05T10:36:00", - "2026-05-05T10:37:00", - "2026-05-05T10:38:00", - "2026-05-05T10:39:00", - "2026-05-05T10:40:00", - "2026-05-05T10:41:00", - "2026-05-05T10:42:00", - "2026-05-05T10:43:00", - "2026-05-05T10:44:00", - "2026-05-05T10:45:00", - "2026-05-05T10:46:00", - "2026-05-05T10:47:00", - "2026-05-05T10:48:00", - "2026-05-05T10:49:00", - "2026-05-05T10:50:00", - "2026-05-05T10:51:00", - "2026-05-05T10:52:00", - "2026-05-05T10:53:00", - "2026-05-05T10:54:00", - "2026-05-05T10:55:00", - "2026-05-05T10:56:00", - "2026-05-05T10:57:00", - "2026-05-05T10:58:00", - "2026-05-05T10:59:00", - "2026-05-05T11:00:00", - "2026-05-05T11:01:00", - "2026-05-05T11:02:00", - "2026-05-05T11:03:00", - "2026-05-05T11:04:00", - "2026-05-05T11:05:00", - "2026-05-05T11:06:00", - "2026-05-05T11:07:00", - "2026-05-05T11:08:00", - "2026-05-05T11:09:00", - "2026-05-05T11:10:00", - "2026-05-05T11:11:00", - "2026-05-05T11:12:00", - "2026-05-05T11:13:00", - "2026-05-05T11:14:00", - "2026-05-05T11:15:00", - "2026-05-05T11:16:00", - "2026-05-05T11:17:00", - "2026-05-05T11:18:00", - "2026-05-05T11:19:00", - "2026-05-05T11:20:00", - "2026-05-05T11:21:00", - "2026-05-05T11:22:00", - "2026-05-05T11:23:00", - "2026-05-05T11:24:00", - "2026-05-05T11:25:00", - "2026-05-05T11:26:00", - "2026-05-05T11:27:00", - "2026-05-05T11:28:00", - "2026-05-05T11:29:00", - "2026-05-05T11:30:00", - "2026-05-05T11:31:00", - "2026-05-05T11:32:00", - "2026-05-05T11:33:00", - "2026-05-05T11:34:00", - "2026-05-05T11:35:00", - "2026-05-05T11:36:00", - "2026-05-05T11:37:00", - "2026-05-05T11:38:00", - "2026-05-05T11:39:00", - "2026-05-05T11:40:00", - "2026-05-05T11:41:00", - "2026-05-05T11:42:00", - "2026-05-05T11:43:00", - "2026-05-05T11:44:00", - "2026-05-05T11:45:00", - "2026-05-05T11:46:00", - "2026-05-05T11:47:00", - "2026-05-05T11:48:00", - "2026-05-05T11:49:00", - "2026-05-05T11:50:00", - "2026-05-05T11:51:00", - "2026-05-05T11:52:00", - "2026-05-05T11:53:00", - "2026-05-05T11:54:00", - "2026-05-05T11:55:00", - "2026-05-05T11:56:00", - "2026-05-05T11:57:00", - "2026-05-05T11:58:00", - "2026-05-05T11:59:00", - "2026-05-05T12:00:00", - "2026-05-05T12:01:00", - "2026-05-05T12:02:00", - "2026-05-05T12:03:00", - "2026-05-05T12:04:00", - "2026-05-05T12:05:00", - "2026-05-05T12:06:00", - "2026-05-05T12:07:00", - "2026-05-05T12:08:00", - "2026-05-05T12:09:00", - "2026-05-05T12:10:00", - "2026-05-05T12:11:00", - "2026-05-05T12:12:00", - "2026-05-05T12:13:00", - "2026-05-05T12:14:00", - "2026-05-05T12:15:00", - "2026-05-05T12:16:00", - "2026-05-05T12:17:00", - "2026-05-05T12:18:00", - "2026-05-05T12:19:00", - "2026-05-05T12:20:00", - "2026-05-05T12:21:00", - "2026-05-05T12:22:00", - "2026-05-05T12:23:00", - "2026-05-05T12:24:00", - "2026-05-05T12:25:00", - "2026-05-05T12:26:00", - "2026-05-05T12:27:00", - "2026-05-05T12:28:00", - "2026-05-05T12:29:00", - "2026-05-05T12:30:00", - "2026-05-05T12:31:00", - "2026-05-05T12:32:00", - "2026-05-05T12:33:00", - "2026-05-05T12:34:00", - "2026-05-05T12:35:00", - "2026-05-05T12:36:00", - "2026-05-05T12:37:00", - "2026-05-05T12:38:00", - "2026-05-05T12:39:00", - "2026-05-05T12:40:00", - "2026-05-05T12:41:00", - "2026-05-05T12:42:00", - "2026-05-05T12:43:00", - "2026-05-05T12:44:00", - "2026-05-05T12:45:00", - "2026-05-05T12:46:00", - "2026-05-05T12:47:00", - "2026-05-05T12:48:00", - "2026-05-05T12:49:00", - "2026-05-05T12:50:00", - "2026-05-05T12:51:00", - "2026-05-05T12:52:00", - "2026-05-05T12:53:00", - "2026-05-05T12:54:00", - "2026-05-05T12:55:00", - "2026-05-05T12:56:00", - "2026-05-05T12:57:00", - "2026-05-05T12:58:00", - "2026-05-05T12:59:00", - "2026-05-05T13:00:00", - "2026-05-05T13:01:00", - "2026-05-05T13:02:00", - "2026-05-05T13:03:00", - "2026-05-05T13:04:00", - "2026-05-05T13:05:00", - "2026-05-05T13:06:00", - "2026-05-05T13:07:00", - "2026-05-05T13:08:00", - "2026-05-05T13:09:00", - "2026-05-05T13:10:00", - "2026-05-05T13:11:00", - "2026-05-05T13:12:00", - "2026-05-05T13:13:00", - "2026-05-05T13:14:00", - "2026-05-05T13:15:00", - "2026-05-05T13:16:00", - "2026-05-05T13:17:00", - "2026-05-05T13:18:00", - "2026-05-05T13:19:00", - "2026-05-05T13:20:00", - "2026-05-05T13:21:00", - "2026-05-05T13:22:00", - "2026-05-05T13:23:00", - "2026-05-05T13:24:00", - "2026-05-05T13:25:00", - "2026-05-05T13:26:00", - "2026-05-05T13:27:00", - "2026-05-05T13:28:00", - "2026-05-05T13:29:00", - "2026-05-05T13:30:00", - "2026-05-05T13:31:00", - "2026-05-05T13:32:00", - "2026-05-05T13:33:00", - "2026-05-05T13:34:00", - "2026-05-05T13:35:00", - "2026-05-05T13:36:00", - "2026-05-05T13:37:00", - "2026-05-05T13:38:00", - "2026-05-05T13:39:00", - "2026-05-05T13:40:00", - "2026-05-05T13:41:00", - "2026-05-05T13:42:00", - "2026-05-05T13:43:00", - "2026-05-05T13:44:00", - "2026-05-05T13:45:00", - "2026-05-05T13:46:00", - "2026-05-05T13:47:00", - "2026-05-05T13:48:00", - "2026-05-05T13:49:00", - "2026-05-05T13:50:00", - "2026-05-05T13:51:00", - "2026-05-05T13:52:00", - "2026-05-05T13:53:00", - "2026-05-05T13:54:00", - "2026-05-05T13:55:00", - "2026-05-05T13:56:00", - "2026-05-05T13:57:00", - "2026-05-05T13:58:00", - "2026-05-05T13:59:00", - "2026-05-05T14:00:00", - "2026-05-05T14:01:00", - "2026-05-05T14:02:00", - "2026-05-05T14:03:00", - "2026-05-05T14:04:00", - "2026-05-05T14:05:00", - "2026-05-05T14:06:00", - "2026-05-05T14:07:00", - "2026-05-05T14:08:00", - "2026-05-05T14:09:00", - "2026-05-05T14:10:00", - "2026-05-05T14:11:00", - "2026-05-05T14:12:00", - "2026-05-05T14:13:00", - "2026-05-05T14:14:00", - "2026-05-05T14:15:00", - "2026-05-05T14:16:00", - "2026-05-05T14:17:00", - "2026-05-05T14:18:00", - "2026-05-05T14:19:00", - "2026-05-05T14:20:00", - "2026-05-05T14:21:00", - "2026-05-05T14:22:00", - "2026-05-05T14:23:00", - "2026-05-05T14:24:00", - "2026-05-05T14:25:00", - "2026-05-05T14:26:00", - "2026-05-05T14:27:00", - "2026-05-05T14:28:00", - "2026-05-05T14:29:00", - "2026-05-05T14:30:00", - "2026-05-05T14:31:00", - "2026-05-05T14:32:00", - "2026-05-05T14:33:00", - "2026-05-05T14:34:00", - "2026-05-05T14:35:00", - "2026-05-05T14:36:00", - "2026-05-05T14:37:00", - "2026-05-05T14:38:00", - "2026-05-05T14:39:00", - "2026-05-05T14:40:00", - "2026-05-05T14:41:00", - "2026-05-05T14:42:00", - "2026-05-05T14:43:00", - "2026-05-05T14:44:00", - "2026-05-05T14:45:00", - "2026-05-05T14:46:00", - "2026-05-05T14:47:00", - "2026-05-05T14:48:00", - "2026-05-05T14:49:00", - "2026-05-05T14:50:00", - "2026-05-05T14:51:00", - "2026-05-05T14:52:00", - "2026-05-05T14:53:00", - "2026-05-05T14:54:00", - "2026-05-05T14:55:00", - "2026-05-05T14:56:00", - "2026-05-05T14:57:00", - "2026-05-05T14:58:00", - "2026-05-05T14:59:00", - "2026-05-05T15:00:00", - "2026-05-05T15:01:00", - "2026-05-05T15:02:00", - "2026-05-05T15:03:00", - "2026-05-05T15:04:00", - "2026-05-05T15:05:00", - "2026-05-05T15:06:00", - "2026-05-05T15:07:00", - "2026-05-05T15:08:00", - "2026-05-05T15:09:00", - "2026-05-05T15:10:00", - "2026-05-05T15:11:00", - "2026-05-05T15:12:00", - "2026-05-05T15:13:00", - "2026-05-05T15:14:00", - "2026-05-05T15:15:00", - "2026-05-05T15:16:00", - "2026-05-05T15:17:00", - "2026-05-05T15:18:00", - "2026-05-05T15:19:00", - "2026-05-05T15:20:00", - "2026-05-05T15:21:00", - "2026-05-05T15:22:00", - "2026-05-05T15:23:00", - "2026-05-05T15:24:00", - "2026-05-05T15:25:00", - "2026-05-05T15:26:00", - "2026-05-05T15:27:00", - "2026-05-05T15:28:00", - "2026-05-05T15:29:00", - "2026-05-05T15:30:00", - "2026-05-05T15:31:00", - "2026-05-05T15:32:00", - "2026-05-05T15:33:00", - "2026-05-05T15:34:00", - "2026-05-05T15:35:00", - "2026-05-05T15:36:00", - "2026-05-05T15:37:00", - "2026-05-05T15:38:00", - "2026-05-05T15:39:00", - "2026-05-05T15:40:00", - "2026-05-05T15:41:00", - "2026-05-05T15:42:00", - "2026-05-05T15:43:00", - "2026-05-05T15:44:00", - "2026-05-05T15:45:00", - "2026-05-05T15:46:00", - "2026-05-05T15:47:00", - "2026-05-05T15:48:00", - "2026-05-05T15:49:00", - "2026-05-05T15:50:00", - "2026-05-05T15:51:00", - "2026-05-05T15:52:00", - "2026-05-05T15:53:00", - "2026-05-05T15:54:00", - "2026-05-05T15:55:00", - "2026-05-05T15:56:00", - "2026-05-05T15:57:00", - "2026-05-05T15:58:00", - "2026-05-05T15:59:00", - "2026-05-05T16:00:00", - "2026-05-05T16:01:00", - "2026-05-05T16:02:00", - "2026-05-05T16:03:00", - "2026-05-05T16:04:00", - "2026-05-05T16:05:00", - "2026-05-05T16:06:00", - "2026-05-05T16:07:00", - "2026-05-05T16:08:00", - "2026-05-05T16:09:00", - "2026-05-05T16:10:00", - "2026-05-05T16:11:00", - "2026-05-05T16:12:00", - "2026-05-05T16:13:00", - "2026-05-05T16:14:00", - "2026-05-05T16:15:00", - "2026-05-05T16:16:00", - "2026-05-05T16:17:00", - "2026-05-05T16:18:00", - "2026-05-05T16:19:00", - "2026-05-05T16:20:00", - "2026-05-05T16:21:00", - "2026-05-05T16:22:00", - "2026-05-05T16:23:00", - "2026-05-05T16:24:00", - "2026-05-05T16:25:00", - "2026-05-05T16:26:00", - "2026-05-05T16:27:00", - "2026-05-05T16:28:00", - "2026-05-05T16:29:00", - "2026-05-05T16:30:00", - "2026-05-05T16:31:00", - "2026-05-05T16:32:00", - "2026-05-05T16:33:00", - "2026-05-05T16:34:00", - "2026-05-05T16:35:00", - "2026-05-05T16:36:00", - "2026-05-05T16:37:00", - "2026-05-05T16:38:00", - "2026-05-05T16:39:00", - "2026-05-05T16:40:00", - "2026-05-05T16:41:00", - "2026-05-05T16:42:00", - "2026-05-05T16:43:00", - "2026-05-05T16:44:00", - "2026-05-05T16:45:00", - "2026-05-05T16:46:00", - "2026-05-05T16:47:00", - "2026-05-05T16:48:00", - "2026-05-05T16:49:00", - "2026-05-05T16:50:00", - "2026-05-05T16:51:00", - "2026-05-05T16:52:00", - "2026-05-05T16:53:00", - "2026-05-05T16:54:00", - "2026-05-05T16:55:00", - "2026-05-05T16:56:00", - "2026-05-05T16:57:00", - "2026-05-05T16:58:00", - "2026-05-05T16:59:00", - "2026-05-05T17:00:00", - "2026-05-05T17:01:00", - "2026-05-05T17:02:00", - "2026-05-05T17:03:00", - "2026-05-05T17:04:00", - "2026-05-05T17:05:00", - "2026-05-05T17:06:00", - "2026-05-05T17:07:00", - "2026-05-05T17:08:00", - "2026-05-05T17:09:00", - "2026-05-05T17:10:00", - "2026-05-05T17:11:00", - "2026-05-05T17:12:00", - "2026-05-05T17:13:00", - "2026-05-05T17:14:00", - "2026-05-05T17:15:00", - "2026-05-05T17:16:00", - "2026-05-05T17:17:00", - "2026-05-05T17:18:00", - "2026-05-05T17:19:00", - "2026-05-05T17:20:00", - "2026-05-05T17:21:00", - "2026-05-05T17:22:00", - "2026-05-05T17:23:00", - "2026-05-05T17:24:00", - "2026-05-05T17:25:00", - "2026-05-05T17:26:00", - "2026-05-05T17:27:00", - "2026-05-05T17:28:00", - "2026-05-05T17:29:00", - "2026-05-05T17:30:00", - "2026-05-05T17:31:00", - "2026-05-05T17:32:00", - "2026-05-05T17:33:00", - "2026-05-05T17:34:00", - "2026-05-05T17:35:00", - "2026-05-05T17:36:00", - "2026-05-05T17:37:00", - "2026-05-05T17:38:00", - "2026-05-05T17:39:00", - "2026-05-05T17:40:00", - "2026-05-05T17:41:00", - "2026-05-05T17:42:00", - "2026-05-05T17:43:00", - "2026-05-05T17:44:00", - "2026-05-05T17:45:00", - "2026-05-05T17:46:00", - "2026-05-05T17:47:00", - "2026-05-05T17:48:00", - "2026-05-05T17:49:00", - "2026-05-05T17:50:00", - "2026-05-05T17:51:00", - "2026-05-05T17:52:00", - "2026-05-05T17:53:00", - "2026-05-05T17:54:00", - "2026-05-05T17:55:00", - "2026-05-05T17:56:00", - "2026-05-05T17:57:00", - "2026-05-05T17:58:00", - "2026-05-05T17:59:00", - "2026-05-05T18:00:00", - "2026-05-05T18:01:00", - "2026-05-05T18:02:00", - "2026-05-05T18:03:00", - "2026-05-05T18:04:00", - "2026-05-05T18:05:00", - "2026-05-05T18:06:00", - "2026-05-05T18:07:00", - "2026-05-05T18:08:00", - "2026-05-05T18:09:00", - "2026-05-05T18:10:00", - "2026-05-05T18:11:00", - "2026-05-05T18:12:00", - "2026-05-05T18:13:00", - "2026-05-05T18:14:00", - "2026-05-05T18:15:00", - "2026-05-05T18:16:00", - "2026-05-05T18:17:00", - "2026-05-05T18:18:00", - "2026-05-05T18:19:00", - "2026-05-05T18:20:00", - "2026-05-05T18:21:00", - "2026-05-05T18:22:00", - "2026-05-05T18:23:00", - "2026-05-05T18:24:00", - "2026-05-05T18:25:00", - "2026-05-05T18:26:00", - "2026-05-05T18:27:00", - "2026-05-05T18:28:00", - "2026-05-05T18:29:00", - "2026-05-05T18:30:00", - "2026-05-05T18:31:00", - "2026-05-05T18:32:00", - "2026-05-05T18:33:00", - "2026-05-05T18:34:00", - "2026-05-05T18:35:00", - "2026-05-05T18:36:00", - "2026-05-05T18:37:00", - "2026-05-05T18:38:00", - "2026-05-05T18:39:00", - "2026-05-05T18:40:00", - "2026-05-05T18:41:00", - "2026-05-05T18:42:00", - "2026-05-05T18:43:00", - "2026-05-05T18:44:00", - "2026-05-05T18:45:00", - "2026-05-05T18:46:00", - "2026-05-05T18:47:00", - "2026-05-05T18:48:00", - "2026-05-05T18:49:00", - "2026-05-05T18:50:00", - "2026-05-05T18:51:00", - "2026-05-05T18:52:00", - "2026-05-05T18:53:00", - "2026-05-05T18:54:00", - "2026-05-05T18:55:00", - "2026-05-05T18:56:00", - "2026-05-05T18:57:00", - "2026-05-05T18:58:00", - "2026-05-05T18:59:00", - "2026-05-05T19:00:00", - "2026-05-05T19:01:00", - "2026-05-05T19:02:00", - "2026-05-05T19:03:00", - "2026-05-05T19:04:00", - "2026-05-05T19:05:00", - "2026-05-05T19:06:00", - "2026-05-05T19:07:00", - "2026-05-05T19:08:00", - "2026-05-05T19:09:00", - "2026-05-05T19:10:00", - "2026-05-05T19:11:00", - "2026-05-05T19:12:00", - "2026-05-05T19:13:00", - "2026-05-05T19:14:00", - "2026-05-05T19:15:00", - "2026-05-05T19:16:00", - "2026-05-05T19:17:00", - "2026-05-05T19:18:00", - "2026-05-05T19:19:00", - "2026-05-05T19:20:00", - "2026-05-05T19:21:00", - "2026-05-05T19:22:00", - "2026-05-05T19:23:00", - "2026-05-05T19:24:00", - "2026-05-05T19:25:00", - "2026-05-05T19:26:00", - "2026-05-05T19:27:00", - "2026-05-05T19:28:00", - "2026-05-05T19:29:00", - "2026-05-05T19:30:00", - "2026-05-05T19:31:00", - "2026-05-05T19:32:00", - "2026-05-05T19:33:00", - "2026-05-05T19:34:00", - "2026-05-05T19:35:00", - "2026-05-05T19:36:00", - "2026-05-05T19:37:00", - "2026-05-05T19:38:00", - "2026-05-05T19:39:00", - "2026-05-05T19:40:00", - "2026-05-05T19:41:00", - "2026-05-05T19:42:00", - "2026-05-05T19:43:00", - "2026-05-05T19:44:00", - "2026-05-05T19:45:00", - "2026-05-05T19:46:00", - "2026-05-05T19:47:00", - "2026-05-05T19:48:00", - "2026-05-05T19:49:00", - "2026-05-05T19:50:00", - "2026-05-05T19:51:00", - "2026-05-05T19:52:00", - "2026-05-05T19:53:00", - "2026-05-05T19:54:00", - "2026-05-05T19:55:00", - "2026-05-05T19:56:00", - "2026-05-05T19:57:00", - "2026-05-05T19:58:00", - "2026-05-05T19:59:00", - "2026-05-05T20:00:00", - "2026-05-05T20:01:00", - "2026-05-05T20:02:00", - "2026-05-05T20:03:00", - "2026-05-05T20:04:00", - "2026-05-05T20:05:00", - "2026-05-05T20:06:00", - "2026-05-05T20:07:00", - "2026-05-05T20:08:00", - "2026-05-05T20:09:00", - "2026-05-05T20:10:00", - "2026-05-05T20:11:00", - "2026-05-05T20:12:00", - "2026-05-05T20:13:00", - "2026-05-05T20:14:00", - "2026-05-05T20:15:00", - "2026-05-05T20:16:00", - "2026-05-05T20:17:00", - "2026-05-05T20:18:00", - "2026-05-05T20:19:00", - "2026-05-05T20:20:00", - "2026-05-05T20:21:00", - "2026-05-05T20:22:00", - "2026-05-05T20:23:00", - "2026-05-05T20:24:00", - "2026-05-05T20:25:00", - "2026-05-05T20:26:00", - "2026-05-05T20:27:00", - "2026-05-05T20:28:00", - "2026-05-05T20:29:00", - "2026-05-05T20:30:00", - "2026-05-05T20:31:00", - "2026-05-05T20:32:00", - "2026-05-05T20:33:00", - "2026-05-05T20:34:00", - "2026-05-05T20:35:00", - "2026-05-05T20:36:00", - "2026-05-05T20:37:00", - "2026-05-05T20:38:00", - "2026-05-05T20:39:00", - "2026-05-05T20:40:00", - "2026-05-05T20:41:00", - "2026-05-05T20:42:00", - "2026-05-05T20:43:00", - "2026-05-05T20:44:00", - "2026-05-05T20:45:00", - "2026-05-05T20:46:00", - "2026-05-05T20:47:00", - "2026-05-05T20:48:00", - "2026-05-05T20:49:00", - "2026-05-05T20:50:00", - "2026-05-05T20:51:00", - "2026-05-05T20:52:00", - "2026-05-05T20:53:00", - "2026-05-05T20:54:00", - "2026-05-05T20:55:00", - "2026-05-05T20:56:00", - "2026-05-05T20:57:00", - "2026-05-05T20:58:00", - "2026-05-05T20:59:00", - "2026-05-05T21:00:00", - "2026-05-05T21:01:00", - "2026-05-05T21:02:00", - "2026-05-05T21:03:00", - "2026-05-05T21:04:00", - "2026-05-05T21:05:00", - "2026-05-05T21:06:00", - "2026-05-05T21:07:00", - "2026-05-05T21:08:00", - "2026-05-05T21:09:00", - "2026-05-05T21:10:00", - "2026-05-05T21:11:00", - "2026-05-05T21:12:00", - "2026-05-05T21:13:00", - "2026-05-05T21:14:00", - "2026-05-05T21:15:00", - "2026-05-05T21:16:00", - "2026-05-05T21:17:00", - "2026-05-05T21:18:00", - "2026-05-05T21:19:00", - "2026-05-05T21:20:00", - "2026-05-05T21:21:00", - "2026-05-05T21:22:00", - "2026-05-05T21:23:00", - "2026-05-05T21:24:00", - "2026-05-05T21:25:00", - "2026-05-05T21:26:00", - "2026-05-05T21:27:00", - "2026-05-05T21:28:00", - "2026-05-05T21:29:00", - "2026-05-05T21:30:00", - "2026-05-05T21:31:00", - "2026-05-05T21:32:00", - "2026-05-05T21:33:00", - "2026-05-05T21:34:00", - "2026-05-05T21:35:00", - "2026-05-05T21:36:00", - "2026-05-05T21:37:00", - "2026-05-05T21:38:00", - "2026-05-05T21:39:00", - "2026-05-05T21:40:00", - "2026-05-05T21:41:00", - "2026-05-05T21:42:00", - "2026-05-05T21:43:00", - "2026-05-05T21:44:00", - "2026-05-05T21:45:00", - "2026-05-05T21:46:00", - "2026-05-05T21:47:00", - "2026-05-05T21:48:00", - "2026-05-05T21:49:00", - "2026-05-05T21:50:00", - "2026-05-05T21:51:00", - "2026-05-05T21:52:00", - "2026-05-05T21:53:00", - "2026-05-05T21:54:00", - "2026-05-05T21:55:00", - "2026-05-05T21:56:00", - "2026-05-05T21:57:00", - "2026-05-05T21:58:00", - "2026-05-05T21:59:00", - "2026-05-05T22:00:00", - "2026-05-05T22:01:00", - "2026-05-05T22:02:00", - "2026-05-05T22:03:00", - "2026-05-05T22:04:00", - "2026-05-05T22:05:00", - "2026-05-05T22:06:00", - "2026-05-05T22:07:00", - "2026-05-05T22:08:00", - "2026-05-05T22:09:00", - "2026-05-05T22:10:00", - "2026-05-05T22:11:00", - "2026-05-05T22:12:00", - "2026-05-05T22:13:00", - "2026-05-05T22:14:00", - "2026-05-05T22:15:00", - "2026-05-05T22:16:00", - "2026-05-05T22:17:00", - "2026-05-05T22:18:00", - "2026-05-05T22:19:00", - "2026-05-05T22:20:00", - "2026-05-05T22:21:00", - "2026-05-05T22:22:00", - "2026-05-05T22:23:00", - "2026-05-05T22:24:00", - "2026-05-05T22:25:00", - "2026-05-05T22:26:00", - "2026-05-05T22:27:00", - "2026-05-05T22:28:00", - "2026-05-05T22:29:00", - "2026-05-05T22:30:00", - "2026-05-05T22:31:00", - "2026-05-05T22:32:00", - "2026-05-05T22:33:00", - "2026-05-05T22:34:00", - "2026-05-05T22:35:00", - "2026-05-05T22:36:00", - "2026-05-05T22:37:00", - "2026-05-05T22:38:00", - "2026-05-05T22:39:00", - "2026-05-05T22:40:00", - "2026-05-05T22:41:00", - "2026-05-05T22:42:00", - "2026-05-05T22:43:00", - "2026-05-05T22:44:00", - "2026-05-05T22:45:00", - "2026-05-05T22:46:00", - "2026-05-05T22:47:00", - "2026-05-05T22:48:00", - "2026-05-05T22:49:00", - "2026-05-05T22:50:00", - "2026-05-05T22:51:00", - "2026-05-05T22:52:00", - "2026-05-05T22:53:00", - "2026-05-05T22:54:00", - "2026-05-05T22:55:00", - "2026-05-05T22:56:00", - "2026-05-05T22:57:00", - "2026-05-05T22:58:00", - "2026-05-05T22:59:00", - "2026-05-05T23:00:00", - "2026-05-05T23:01:00", - "2026-05-05T23:02:00", - "2026-05-05T23:03:00", - "2026-05-05T23:04:00", - "2026-05-05T23:05:00", - "2026-05-05T23:06:00", - "2026-05-05T23:07:00", - "2026-05-05T23:08:00", - "2026-05-05T23:09:00", - "2026-05-05T23:10:00", - "2026-05-05T23:11:00", - "2026-05-05T23:12:00", - "2026-05-05T23:13:00", - "2026-05-05T23:14:00", - "2026-05-05T23:15:00", - "2026-05-05T23:16:00", - "2026-05-05T23:17:00", - "2026-05-05T23:18:00", - "2026-05-05T23:19:00", - "2026-05-05T23:20:00", - "2026-05-05T23:21:00", - "2026-05-05T23:22:00", - "2026-05-05T23:23:00", - "2026-05-05T23:24:00", - "2026-05-05T23:25:00", - "2026-05-05T23:26:00", - "2026-05-05T23:27:00", - "2026-05-05T23:28:00", - "2026-05-05T23:29:00", - "2026-05-05T23:30:00", - "2026-05-05T23:31:00", - "2026-05-05T23:32:00", - "2026-05-05T23:33:00", - "2026-05-05T23:34:00", - "2026-05-05T23:35:00", - "2026-05-05T23:36:00", - "2026-05-05T23:37:00", - "2026-05-05T23:38:00", - "2026-05-05T23:39:00", - "2026-05-05T23:40:00", - "2026-05-05T23:41:00", - "2026-05-05T23:42:00", - "2026-05-05T23:43:00", - "2026-05-05T23:44:00", - "2026-05-05T23:45:00", - "2026-05-05T23:46:00", - "2026-05-05T23:47:00", - "2026-05-05T23:48:00", - "2026-05-05T23:49:00", - "2026-05-05T23:50:00", - "2026-05-05T23:51:00", - "2026-05-05T23:52:00", - "2026-05-05T23:53:00", - "2026-05-05T23:54:00", - "2026-05-05T23:55:00", - "2026-05-05T23:56:00", - "2026-05-05T23:57:00", - "2026-05-05T23:58:00", - "2026-05-05T23:59:00", - "2026-05-06T00:00:00", - "2026-05-06T00:01:00", - "2026-05-06T00:02:00", - "2026-05-06T00:03:00", - "2026-05-06T00:04:00", - "2026-05-06T00:05:00", - "2026-05-06T00:06:00", - "2026-05-06T00:07:00", - "2026-05-06T00:08:00", - "2026-05-06T00:09:00", - "2026-05-06T00:10:00", - "2026-05-06T00:11:00", - "2026-05-06T00:12:00", - "2026-05-06T00:13:00", - "2026-05-06T00:14:00", - "2026-05-06T00:15:00", - "2026-05-06T00:16:00", - "2026-05-06T00:17:00", - "2026-05-06T00:18:00", - "2026-05-06T00:19:00", - "2026-05-06T00:20:00", - "2026-05-06T00:21:00", - "2026-05-06T00:22:00", - "2026-05-06T00:23:00", - "2026-05-06T00:24:00", - "2026-05-06T00:25:00", - "2026-05-06T00:26:00", - "2026-05-06T00:27:00", - "2026-05-06T00:28:00", - "2026-05-06T00:29:00", - "2026-05-06T00:30:00", - "2026-05-06T00:31:00", - "2026-05-06T00:32:00", - "2026-05-06T00:33:00", - "2026-05-06T00:34:00", - "2026-05-06T00:35:00", - "2026-05-06T00:36:00", - "2026-05-06T00:37:00", - "2026-05-06T00:38:00", - "2026-05-06T00:39:00", - "2026-05-06T00:40:00", - "2026-05-06T00:41:00", - "2026-05-06T00:42:00", - "2026-05-06T00:43:00", - "2026-05-06T00:44:00", - "2026-05-06T00:45:00", - "2026-05-06T00:46:00", - "2026-05-06T00:47:00", - "2026-05-06T00:48:00", - "2026-05-06T00:49:00", - "2026-05-06T00:50:00", - "2026-05-06T00:51:00", - "2026-05-06T00:52:00", - "2026-05-06T00:53:00", - "2026-05-06T00:54:00", - "2026-05-06T00:55:00", - "2026-05-06T00:56:00", - "2026-05-06T00:57:00", - "2026-05-06T00:58:00", - "2026-05-06T00:59:00", - "2026-05-06T01:00:00", - "2026-05-06T01:01:00", - "2026-05-06T01:02:00", - "2026-05-06T01:03:00", - "2026-05-06T01:04:00", - "2026-05-06T01:05:00", - "2026-05-06T01:06:00", - "2026-05-06T01:07:00", - "2026-05-06T01:08:00", - "2026-05-06T01:09:00", - "2026-05-06T01:10:00", - "2026-05-06T01:11:00", - "2026-05-06T01:12:00", - "2026-05-06T01:13:00", - "2026-05-06T01:14:00", - "2026-05-06T01:15:00", - "2026-05-06T01:16:00", - "2026-05-06T01:17:00", - "2026-05-06T01:18:00", - "2026-05-06T01:19:00", - "2026-05-06T01:20:00", - "2026-05-06T01:21:00", - "2026-05-06T01:22:00", - "2026-05-06T01:23:00", - "2026-05-06T01:24:00", - "2026-05-06T01:25:00", - "2026-05-06T01:26:00", - "2026-05-06T01:27:00", - "2026-05-06T01:28:00", - "2026-05-06T01:29:00", - "2026-05-06T01:30:00", - "2026-05-06T01:31:00", - "2026-05-06T01:32:00", - "2026-05-06T01:33:00", - "2026-05-06T01:34:00", - "2026-05-06T01:35:00", - "2026-05-06T01:36:00", - "2026-05-06T01:37:00", - "2026-05-06T01:38:00", - "2026-05-06T01:39:00", - "2026-05-06T01:40:00", - "2026-05-06T01:41:00", - "2026-05-06T01:42:00", - "2026-05-06T01:43:00", - "2026-05-06T01:44:00", - "2026-05-06T01:45:00", - "2026-05-06T01:46:00", - "2026-05-06T01:47:00", - "2026-05-06T01:48:00", - "2026-05-06T01:49:00", - "2026-05-06T01:50:00", - "2026-05-06T01:51:00", - "2026-05-06T01:52:00", - "2026-05-06T01:53:00", - "2026-05-06T01:54:00", - "2026-05-06T01:55:00", - "2026-05-06T01:56:00", - "2026-05-06T01:57:00", - "2026-05-06T01:58:00", - "2026-05-06T01:59:00", - "2026-05-06T02:00:00", - "2026-05-06T02:01:00", - "2026-05-06T02:02:00", - "2026-05-06T02:03:00", - "2026-05-06T02:04:00", - "2026-05-06T02:05:00", - "2026-05-06T02:06:00", - "2026-05-06T02:07:00", - "2026-05-06T02:08:00", - "2026-05-06T02:09:00", - "2026-05-06T02:10:00", - "2026-05-06T02:11:00", - "2026-05-06T02:12:00", - "2026-05-06T02:13:00", - "2026-05-06T02:14:00", - "2026-05-06T02:15:00", - "2026-05-06T02:16:00", - "2026-05-06T02:17:00", - "2026-05-06T02:18:00", - "2026-05-06T02:19:00", - "2026-05-06T02:20:00", - "2026-05-06T02:21:00", - "2026-05-06T02:22:00", - "2026-05-06T02:23:00", - "2026-05-06T02:24:00", - "2026-05-06T02:25:00", - "2026-05-06T02:26:00", - "2026-05-06T02:27:00", - "2026-05-06T02:28:00", - "2026-05-06T02:29:00", - "2026-05-06T02:30:00", - "2026-05-06T02:31:00", - "2026-05-06T02:32:00", - "2026-05-06T02:33:00", - "2026-05-06T02:34:00", - "2026-05-06T02:35:00", - "2026-05-06T02:36:00", - "2026-05-06T02:37:00", - "2026-05-06T02:38:00", - "2026-05-06T02:39:00", - "2026-05-06T02:40:00", - "2026-05-06T02:41:00", - "2026-05-06T02:42:00", - "2026-05-06T02:43:00", - "2026-05-06T02:44:00", - "2026-05-06T02:45:00", - "2026-05-06T02:46:00", - "2026-05-06T02:47:00", - "2026-05-06T02:48:00", - "2026-05-06T02:49:00", - "2026-05-06T02:50:00", - "2026-05-06T02:51:00", - "2026-05-06T02:52:00", - "2026-05-06T02:53:00", - "2026-05-06T02:54:00", - "2026-05-06T02:55:00", - "2026-05-06T02:56:00", - "2026-05-06T02:57:00", - "2026-05-06T02:58:00", - "2026-05-06T02:59:00", - "2026-05-06T03:00:00", - "2026-05-06T03:01:00", - "2026-05-06T03:02:00", - "2026-05-06T03:03:00", - "2026-05-06T03:04:00", - "2026-05-06T03:05:00", - "2026-05-06T03:06:00", - "2026-05-06T03:07:00", - "2026-05-06T03:08:00", - "2026-05-06T03:09:00", - "2026-05-06T03:10:00", - "2026-05-06T03:11:00", - "2026-05-06T03:12:00", - "2026-05-06T03:13:00", - "2026-05-06T03:14:00", - "2026-05-06T03:15:00", - "2026-05-06T03:16:00", - "2026-05-06T03:17:00", - "2026-05-06T03:18:00", - "2026-05-06T03:19:00", - "2026-05-06T03:20:00", - "2026-05-06T03:21:00", - "2026-05-06T03:22:00", - "2026-05-06T03:23:00", - "2026-05-06T03:24:00", - "2026-05-06T03:25:00", - "2026-05-06T03:26:00", - "2026-05-06T03:27:00", - "2026-05-06T03:28:00", - "2026-05-06T03:29:00", - "2026-05-06T03:30:00", - "2026-05-06T03:31:00", - "2026-05-06T03:32:00", - "2026-05-06T03:33:00", - "2026-05-06T03:34:00", - "2026-05-06T03:35:00", - "2026-05-06T03:36:00", - "2026-05-06T03:37:00", - "2026-05-06T03:38:00", - "2026-05-06T03:39:00", - "2026-05-06T03:40:00", - "2026-05-06T03:41:00", - "2026-05-06T03:42:00", - "2026-05-06T03:43:00", - "2026-05-06T03:44:00", - "2026-05-06T03:45:00", - "2026-05-06T03:46:00", - "2026-05-06T03:47:00", - "2026-05-06T03:48:00", - "2026-05-06T03:49:00", - "2026-05-06T03:50:00", - "2026-05-06T03:51:00", - "2026-05-06T03:52:00", - "2026-05-06T03:53:00", - "2026-05-06T03:54:00", - "2026-05-06T03:55:00", - "2026-05-06T03:56:00", - "2026-05-06T03:57:00", - "2026-05-06T03:58:00", - "2026-05-06T03:59:00", - "2026-05-06T04:00:00", - "2026-05-06T04:01:00", - "2026-05-06T04:02:00", - "2026-05-06T04:03:00", - "2026-05-06T04:04:00", - "2026-05-06T04:05:00", - "2026-05-06T04:06:00", - "2026-05-06T04:07:00", - "2026-05-06T04:08:00", - "2026-05-06T04:09:00", - "2026-05-06T04:10:00", - "2026-05-06T04:11:00", - "2026-05-06T04:12:00", - "2026-05-06T04:13:00", - "2026-05-06T04:14:00", - "2026-05-06T04:15:00", - "2026-05-06T04:16:00", - "2026-05-06T04:17:00", - "2026-05-06T04:18:00", - "2026-05-06T04:19:00", - "2026-05-06T04:20:00", - "2026-05-06T04:21:00", - "2026-05-06T04:22:00", - "2026-05-06T04:23:00", - "2026-05-06T04:24:00", - "2026-05-06T04:25:00", - "2026-05-06T04:26:00", - "2026-05-06T04:27:00", - "2026-05-06T04:28:00", - "2026-05-06T04:29:00", - "2026-05-06T04:30:00", - "2026-05-06T04:31:00", - "2026-05-06T04:32:00", - "2026-05-06T04:33:00", - "2026-05-06T04:34:00", - "2026-05-06T04:35:00", - "2026-05-06T04:36:00", - "2026-05-06T04:37:00", - "2026-05-06T04:38:00", - "2026-05-06T04:39:00", - "2026-05-06T04:40:00", - "2026-05-06T04:41:00", - "2026-05-06T04:42:00", - "2026-05-06T04:43:00", - "2026-05-06T04:44:00", - "2026-05-06T04:45:00", - "2026-05-06T04:46:00", - "2026-05-06T04:47:00", - "2026-05-06T04:48:00", - "2026-05-06T04:49:00", - "2026-05-06T04:50:00", - "2026-05-06T04:51:00", - "2026-05-06T04:52:00", - "2026-05-06T04:53:00", - "2026-05-06T04:54:00", - "2026-05-06T04:55:00", - "2026-05-06T04:56:00", - "2026-05-06T04:57:00", - "2026-05-06T04:58:00", - "2026-05-06T04:59:00", - "2026-05-06T05:00:00", - "2026-05-06T05:01:00", - "2026-05-06T05:02:00", - "2026-05-06T05:03:00", - "2026-05-06T05:04:00", - "2026-05-06T05:05:00", - "2026-05-06T05:06:00", - "2026-05-06T05:07:00", - "2026-05-06T05:08:00", - "2026-05-06T05:09:00", - "2026-05-06T05:10:00", - "2026-05-06T05:11:00", - "2026-05-06T05:12:00", - "2026-05-06T05:13:00", - "2026-05-06T05:14:00", - "2026-05-06T05:15:00", - "2026-05-06T05:16:00", - "2026-05-06T05:17:00", - "2026-05-06T05:18:00", - "2026-05-06T05:19:00", - "2026-05-06T05:20:00", - "2026-05-06T05:21:00", - "2026-05-06T05:22:00", - "2026-05-06T05:23:00", - "2026-05-06T05:24:00", - "2026-05-06T05:25:00", - "2026-05-06T05:26:00", - "2026-05-06T05:27:00", - "2026-05-06T05:28:00", - "2026-05-06T05:29:00", - "2026-05-06T05:30:00", - "2026-05-06T05:31:00", - "2026-05-06T05:32:00", - "2026-05-06T05:33:00", - "2026-05-06T05:34:00", - "2026-05-06T05:35:00", - "2026-05-06T05:36:00", - "2026-05-06T05:37:00", - "2026-05-06T05:38:00", - "2026-05-06T05:39:00", - "2026-05-06T05:40:00", - "2026-05-06T05:41:00", - "2026-05-06T05:42:00", - "2026-05-06T05:43:00", - "2026-05-06T05:44:00", - "2026-05-06T05:45:00", - "2026-05-06T05:46:00", - "2026-05-06T05:47:00", - "2026-05-06T05:48:00", - "2026-05-06T05:49:00", - "2026-05-06T05:50:00", - "2026-05-06T05:51:00", - "2026-05-06T05:52:00", - "2026-05-06T05:53:00", - "2026-05-06T05:54:00", - "2026-05-06T05:55:00", - "2026-05-06T05:56:00", - "2026-05-06T05:57:00", - "2026-05-06T05:58:00", - "2026-05-06T05:59:00", - "2026-05-06T06:00:00", - "2026-05-06T06:01:00", - "2026-05-06T06:02:00", - "2026-05-06T06:03:00", - "2026-05-06T06:04:00", - "2026-05-06T06:05:00", - "2026-05-06T06:06:00", - "2026-05-06T06:07:00", - "2026-05-06T06:08:00" + "2026-05-07T20:05:00", + "2026-05-07T20:06:00", + "2026-05-07T20:07:00", + "2026-05-07T20:08:00", + "2026-05-07T20:09:00", + "2026-05-07T20:10:00", + "2026-05-07T20:11:00", + "2026-05-07T20:12:00", + "2026-05-07T20:13:00", + "2026-05-07T20:14:00", + "2026-05-07T20:15:00", + "2026-05-07T20:16:00", + "2026-05-07T20:17:00", + "2026-05-07T20:18:00", + "2026-05-07T20:19:00", + "2026-05-07T20:20:00", + "2026-05-07T20:21:00", + "2026-05-07T20:22:00", + "2026-05-07T20:23:00", + "2026-05-07T20:24:00", + "2026-05-07T20:25:00", + "2026-05-07T20:26:00", + "2026-05-07T20:27:00", + "2026-05-07T20:28:00", + "2026-05-07T20:29:00", + "2026-05-07T20:30:00", + "2026-05-07T20:31:00", + "2026-05-07T20:32:00", + "2026-05-07T20:33:00", + "2026-05-07T20:34:00", + "2026-05-07T20:35:00", + "2026-05-07T20:36:00", + "2026-05-07T20:37:00", + "2026-05-07T20:38:00", + "2026-05-07T20:39:00", + "2026-05-07T20:40:00", + "2026-05-07T20:41:00", + "2026-05-07T20:42:00", + "2026-05-07T20:43:00", + "2026-05-07T20:44:00", + "2026-05-07T20:45:00", + "2026-05-07T20:46:00", + "2026-05-07T20:47:00", + "2026-05-07T20:48:00", + "2026-05-07T20:49:00", + "2026-05-07T20:50:00", + "2026-05-07T20:51:00", + "2026-05-07T20:52:00", + "2026-05-07T20:53:00", + "2026-05-07T20:54:00", + "2026-05-07T20:55:00", + "2026-05-07T20:56:00", + "2026-05-07T20:57:00", + "2026-05-07T20:58:00", + "2026-05-07T20:59:00", + "2026-05-07T21:00:00", + "2026-05-07T21:01:00", + "2026-05-07T21:02:00", + "2026-05-07T21:03:00", + "2026-05-07T21:04:00", + "2026-05-07T21:05:00", + "2026-05-07T21:06:00", + "2026-05-07T21:07:00", + "2026-05-07T21:08:00", + "2026-05-07T21:09:00", + "2026-05-07T21:10:00", + "2026-05-07T21:11:00", + "2026-05-07T21:12:00", + "2026-05-07T21:13:00", + "2026-05-07T21:14:00", + "2026-05-07T21:15:00", + "2026-05-07T21:16:00", + "2026-05-07T21:17:00", + "2026-05-07T21:18:00", + "2026-05-07T21:19:00", + "2026-05-07T21:20:00", + "2026-05-07T21:21:00", + "2026-05-07T21:22:00", + "2026-05-07T21:23:00", + "2026-05-07T21:24:00", + "2026-05-07T21:25:00", + "2026-05-07T21:26:00", + "2026-05-07T21:27:00", + "2026-05-07T21:28:00", + "2026-05-07T21:29:00", + "2026-05-07T21:30:00", + "2026-05-07T21:31:00", + "2026-05-07T21:32:00", + "2026-05-07T21:33:00", + "2026-05-07T21:34:00", + "2026-05-07T21:35:00", + "2026-05-07T21:36:00", + "2026-05-07T21:37:00", + "2026-05-07T21:38:00", + "2026-05-07T21:39:00", + "2026-05-07T21:40:00", + "2026-05-07T21:41:00", + "2026-05-07T21:42:00", + "2026-05-07T21:43:00", + "2026-05-07T21:44:00", + "2026-05-07T21:45:00", + "2026-05-07T21:46:00", + "2026-05-07T21:47:00", + "2026-05-07T21:48:00", + "2026-05-07T21:49:00", + "2026-05-07T21:50:00", + "2026-05-07T21:51:00", + "2026-05-07T21:52:00", + "2026-05-07T21:53:00", + "2026-05-07T21:54:00", + "2026-05-07T21:55:00", + "2026-05-07T21:56:00", + "2026-05-07T21:57:00", + "2026-05-07T21:58:00", + "2026-05-07T21:59:00", + "2026-05-07T22:00:00", + "2026-05-07T22:01:00", + "2026-05-07T22:02:00", + "2026-05-07T22:03:00", + "2026-05-07T22:04:00", + "2026-05-07T22:05:00", + "2026-05-07T22:06:00", + "2026-05-07T22:07:00", + "2026-05-07T22:08:00", + "2026-05-07T22:09:00", + "2026-05-07T22:10:00", + "2026-05-07T22:11:00", + "2026-05-07T22:12:00", + "2026-05-07T22:13:00", + "2026-05-07T22:14:00", + "2026-05-07T22:15:00", + "2026-05-07T22:16:00", + "2026-05-07T22:17:00", + "2026-05-07T22:18:00", + "2026-05-07T22:19:00", + "2026-05-07T22:20:00", + "2026-05-07T22:21:00", + "2026-05-07T22:22:00", + "2026-05-07T22:23:00", + "2026-05-07T22:24:00", + "2026-05-07T22:25:00", + "2026-05-07T22:26:00", + "2026-05-07T22:27:00", + "2026-05-07T22:28:00", + "2026-05-07T22:29:00", + "2026-05-07T22:30:00", + "2026-05-07T22:31:00", + "2026-05-07T22:32:00", + "2026-05-07T22:33:00", + "2026-05-07T22:34:00", + "2026-05-07T22:35:00", + "2026-05-07T22:36:00", + "2026-05-07T22:37:00", + "2026-05-07T22:38:00", + "2026-05-07T22:39:00", + "2026-05-07T22:40:00", + "2026-05-07T22:41:00", + "2026-05-07T22:42:00", + "2026-05-07T22:43:00", + "2026-05-07T22:44:00", + "2026-05-07T22:45:00", + "2026-05-07T22:46:00", + "2026-05-07T22:47:00", + "2026-05-07T22:48:00", + "2026-05-07T22:49:00", + "2026-05-07T22:50:00", + "2026-05-07T22:51:00", + "2026-05-07T22:52:00", + "2026-05-07T22:53:00", + "2026-05-07T22:54:00", + "2026-05-07T22:55:00", + "2026-05-07T22:56:00", + "2026-05-07T22:57:00", + "2026-05-07T22:58:00", + "2026-05-07T22:59:00", + "2026-05-07T23:00:00", + "2026-05-07T23:01:00", + "2026-05-07T23:02:00", + "2026-05-07T23:03:00", + "2026-05-07T23:04:00", + "2026-05-07T23:05:00", + "2026-05-07T23:06:00", + "2026-05-07T23:07:00", + "2026-05-07T23:08:00", + "2026-05-07T23:09:00", + "2026-05-07T23:10:00", + "2026-05-07T23:11:00", + "2026-05-07T23:12:00", + "2026-05-07T23:13:00", + "2026-05-07T23:14:00", + "2026-05-07T23:15:00", + "2026-05-07T23:16:00", + "2026-05-07T23:17:00", + "2026-05-07T23:18:00", + "2026-05-07T23:19:00", + "2026-05-07T23:20:00", + "2026-05-07T23:21:00", + "2026-05-07T23:22:00", + "2026-05-07T23:23:00", + "2026-05-07T23:24:00", + "2026-05-07T23:25:00", + "2026-05-07T23:26:00", + "2026-05-07T23:27:00", + "2026-05-07T23:28:00", + "2026-05-07T23:29:00", + "2026-05-07T23:30:00", + "2026-05-07T23:31:00", + "2026-05-07T23:32:00", + "2026-05-07T23:33:00", + "2026-05-07T23:34:00", + "2026-05-07T23:35:00", + "2026-05-07T23:36:00", + "2026-05-07T23:37:00", + "2026-05-07T23:38:00", + "2026-05-07T23:39:00", + "2026-05-07T23:40:00", + "2026-05-07T23:41:00", + "2026-05-07T23:42:00", + "2026-05-07T23:43:00", + "2026-05-07T23:44:00", + "2026-05-07T23:45:00", + "2026-05-07T23:46:00", + "2026-05-07T23:47:00", + "2026-05-07T23:48:00", + "2026-05-07T23:49:00", + "2026-05-07T23:50:00", + "2026-05-07T23:51:00", + "2026-05-07T23:52:00", + "2026-05-07T23:53:00", + "2026-05-07T23:54:00", + "2026-05-07T23:55:00", + "2026-05-07T23:56:00", + "2026-05-07T23:57:00", + "2026-05-07T23:58:00", + "2026-05-07T23:59:00", + "2026-05-08T00:00:00", + "2026-05-08T00:01:00", + "2026-05-08T00:02:00", + "2026-05-08T00:03:00", + "2026-05-08T00:04:00", + "2026-05-08T00:05:00", + "2026-05-08T00:06:00", + "2026-05-08T00:07:00", + "2026-05-08T00:08:00", + "2026-05-08T00:09:00", + "2026-05-08T00:10:00", + "2026-05-08T00:11:00", + "2026-05-08T00:12:00", + "2026-05-08T00:13:00", + "2026-05-08T00:14:00", + "2026-05-08T00:15:00", + "2026-05-08T00:16:00", + "2026-05-08T00:17:00", + "2026-05-08T00:18:00", + "2026-05-08T00:19:00", + "2026-05-08T00:20:00", + "2026-05-08T00:21:00", + "2026-05-08T00:22:00", + "2026-05-08T00:23:00", + "2026-05-08T00:24:00", + "2026-05-08T00:25:00", + "2026-05-08T00:26:00", + "2026-05-08T00:27:00", + "2026-05-08T00:28:00", + "2026-05-08T00:29:00", + "2026-05-08T00:30:00", + "2026-05-08T00:31:00", + "2026-05-08T00:32:00", + "2026-05-08T00:33:00", + "2026-05-08T00:34:00", + "2026-05-08T00:35:00", + "2026-05-08T00:36:00", + "2026-05-08T00:37:00", + "2026-05-08T00:38:00", + "2026-05-08T00:39:00", + "2026-05-08T00:40:00", + "2026-05-08T00:41:00", + "2026-05-08T00:42:00", + "2026-05-08T00:43:00", + "2026-05-08T00:44:00", + "2026-05-08T00:45:00", + "2026-05-08T00:46:00", + "2026-05-08T00:47:00", + "2026-05-08T00:48:00", + "2026-05-08T00:49:00", + "2026-05-08T00:50:00", + "2026-05-08T00:51:00", + "2026-05-08T00:52:00", + "2026-05-08T00:53:00", + "2026-05-08T00:54:00", + "2026-05-08T00:55:00", + "2026-05-08T00:56:00", + "2026-05-08T00:57:00", + "2026-05-08T00:58:00", + "2026-05-08T00:59:00", + "2026-05-08T01:00:00", + "2026-05-08T01:01:00", + "2026-05-08T01:02:00", + "2026-05-08T01:03:00", + "2026-05-08T01:04:00", + "2026-05-08T01:05:00", + "2026-05-08T01:06:00", + "2026-05-08T01:07:00", + "2026-05-08T01:08:00", + "2026-05-08T01:09:00", + "2026-05-08T01:10:00", + "2026-05-08T01:11:00", + "2026-05-08T01:12:00", + "2026-05-08T01:13:00", + "2026-05-08T01:14:00", + "2026-05-08T01:15:00", + "2026-05-08T01:16:00", + "2026-05-08T01:17:00", + "2026-05-08T01:18:00", + "2026-05-08T01:19:00", + "2026-05-08T01:20:00", + "2026-05-08T01:21:00", + "2026-05-08T01:22:00", + "2026-05-08T01:23:00", + "2026-05-08T01:24:00", + "2026-05-08T01:25:00", + "2026-05-08T01:26:00", + "2026-05-08T01:27:00", + "2026-05-08T01:28:00", + "2026-05-08T01:29:00", + "2026-05-08T01:30:00", + "2026-05-08T01:31:00", + "2026-05-08T01:32:00", + "2026-05-08T01:33:00", + "2026-05-08T01:34:00", + "2026-05-08T01:35:00", + "2026-05-08T01:36:00", + "2026-05-08T01:37:00", + "2026-05-08T01:38:00", + "2026-05-08T01:39:00", + "2026-05-08T01:40:00", + "2026-05-08T01:41:00", + "2026-05-08T01:42:00", + "2026-05-08T01:43:00", + "2026-05-08T01:44:00", + "2026-05-08T01:45:00", + "2026-05-08T01:46:00", + "2026-05-08T01:47:00", + "2026-05-08T01:48:00", + "2026-05-08T01:49:00", + "2026-05-08T01:50:00", + "2026-05-08T01:51:00", + "2026-05-08T01:52:00", + "2026-05-08T01:53:00", + "2026-05-08T01:54:00", + "2026-05-08T01:55:00", + "2026-05-08T01:56:00", + "2026-05-08T01:57:00", + "2026-05-08T01:58:00", + "2026-05-08T01:59:00", + "2026-05-08T02:00:00", + "2026-05-08T02:01:00", + "2026-05-08T02:02:00", + "2026-05-08T02:03:00", + "2026-05-08T02:04:00", + "2026-05-08T02:05:00", + "2026-05-08T02:06:00", + "2026-05-08T02:07:00", + "2026-05-08T02:08:00", + "2026-05-08T02:09:00", + "2026-05-08T02:10:00", + "2026-05-08T02:11:00", + "2026-05-08T02:12:00", + "2026-05-08T02:13:00", + "2026-05-08T02:14:00", + "2026-05-08T02:15:00", + "2026-05-08T02:16:00", + "2026-05-08T02:17:00", + "2026-05-08T02:18:00", + "2026-05-08T02:19:00", + "2026-05-08T02:20:00", + "2026-05-08T02:21:00", + "2026-05-08T02:22:00", + "2026-05-08T02:23:00", + "2026-05-08T02:24:00", + "2026-05-08T02:25:00", + "2026-05-08T02:26:00", + "2026-05-08T02:27:00", + "2026-05-08T02:28:00", + "2026-05-08T02:29:00", + "2026-05-08T02:30:00", + "2026-05-08T02:31:00", + "2026-05-08T02:32:00", + "2026-05-08T02:33:00", + "2026-05-08T02:34:00", + "2026-05-08T02:35:00", + "2026-05-08T02:36:00", + "2026-05-08T02:37:00", + "2026-05-08T02:38:00", + "2026-05-08T02:39:00", + "2026-05-08T02:40:00", + "2026-05-08T02:41:00", + "2026-05-08T02:42:00", + "2026-05-08T02:43:00", + "2026-05-08T02:44:00", + "2026-05-08T02:45:00", + "2026-05-08T02:46:00", + "2026-05-08T02:47:00", + "2026-05-08T02:48:00", + "2026-05-08T02:49:00", + "2026-05-08T02:50:00", + "2026-05-08T02:51:00", + "2026-05-08T02:52:00", + "2026-05-08T02:53:00", + "2026-05-08T02:54:00", + "2026-05-08T02:55:00", + "2026-05-08T02:56:00", + "2026-05-08T02:57:00", + "2026-05-08T02:58:00", + "2026-05-08T02:59:00", + "2026-05-08T03:00:00", + "2026-05-08T03:01:00", + "2026-05-08T03:02:00", + "2026-05-08T03:03:00", + "2026-05-08T03:04:00", + "2026-05-08T03:05:00", + "2026-05-08T03:06:00", + "2026-05-08T03:07:00", + "2026-05-08T03:08:00", + "2026-05-08T03:09:00", + "2026-05-08T03:10:00", + "2026-05-08T03:11:00", + "2026-05-08T03:12:00", + "2026-05-08T03:13:00", + "2026-05-08T03:14:00", + "2026-05-08T03:15:00", + "2026-05-08T03:16:00", + "2026-05-08T03:17:00", + "2026-05-08T03:18:00", + "2026-05-08T03:19:00", + "2026-05-08T03:20:00", + "2026-05-08T03:21:00", + "2026-05-08T03:22:00", + "2026-05-08T03:23:00", + "2026-05-08T03:24:00", + "2026-05-08T03:25:00", + "2026-05-08T03:26:00", + "2026-05-08T03:27:00", + "2026-05-08T03:28:00", + "2026-05-08T03:29:00", + "2026-05-08T03:30:00", + "2026-05-08T03:31:00", + "2026-05-08T03:32:00", + "2026-05-08T03:33:00", + "2026-05-08T03:34:00", + "2026-05-08T03:35:00", + "2026-05-08T03:36:00", + "2026-05-08T03:37:00", + "2026-05-08T03:38:00", + "2026-05-08T03:39:00", + "2026-05-08T03:40:00", + "2026-05-08T03:41:00", + "2026-05-08T03:42:00", + "2026-05-08T03:43:00", + "2026-05-08T03:44:00", + "2026-05-08T03:45:00", + "2026-05-08T03:46:00", + "2026-05-08T03:47:00", + "2026-05-08T03:48:00", + "2026-05-08T03:49:00", + "2026-05-08T03:50:00", + "2026-05-08T03:51:00", + "2026-05-08T03:52:00", + "2026-05-08T03:53:00", + "2026-05-08T03:54:00", + "2026-05-08T03:55:00", + "2026-05-08T03:56:00", + "2026-05-08T03:57:00", + "2026-05-08T03:58:00", + "2026-05-08T03:59:00", + "2026-05-08T04:00:00", + "2026-05-08T04:01:00", + "2026-05-08T04:02:00", + "2026-05-08T04:03:00", + "2026-05-08T04:04:00", + "2026-05-08T04:05:00", + "2026-05-08T04:06:00", + "2026-05-08T04:07:00", + "2026-05-08T04:08:00", + "2026-05-08T04:09:00", + "2026-05-08T04:10:00", + "2026-05-08T04:11:00", + "2026-05-08T04:12:00", + "2026-05-08T04:13:00", + "2026-05-08T04:14:00", + "2026-05-08T04:15:00", + "2026-05-08T04:16:00", + "2026-05-08T04:17:00", + "2026-05-08T04:18:00", + "2026-05-08T04:19:00", + "2026-05-08T04:20:00", + "2026-05-08T04:21:00", + "2026-05-08T04:22:00", + "2026-05-08T04:23:00", + "2026-05-08T04:24:00", + "2026-05-08T04:25:00", + "2026-05-08T04:26:00", + "2026-05-08T04:27:00", + "2026-05-08T04:28:00", + "2026-05-08T04:29:00", + "2026-05-08T04:30:00", + "2026-05-08T04:31:00", + "2026-05-08T04:32:00", + "2026-05-08T04:33:00", + "2026-05-08T04:34:00", + "2026-05-08T04:35:00", + "2026-05-08T04:36:00", + "2026-05-08T04:37:00", + "2026-05-08T04:38:00", + "2026-05-08T04:39:00", + "2026-05-08T04:40:00", + "2026-05-08T04:41:00", + "2026-05-08T04:42:00", + "2026-05-08T04:43:00", + "2026-05-08T04:44:00", + "2026-05-08T04:45:00", + "2026-05-08T04:46:00", + "2026-05-08T04:47:00", + "2026-05-08T04:48:00", + "2026-05-08T04:49:00", + "2026-05-08T04:50:00", + "2026-05-08T04:51:00", + "2026-05-08T04:52:00", + "2026-05-08T04:53:00", + "2026-05-08T04:54:00", + "2026-05-08T04:55:00", + "2026-05-08T04:56:00", + "2026-05-08T04:57:00", + "2026-05-08T04:58:00", + "2026-05-08T04:59:00", + "2026-05-08T05:00:00", + "2026-05-08T05:01:00", + "2026-05-08T05:02:00", + "2026-05-08T05:03:00", + "2026-05-08T05:04:00", + "2026-05-08T05:05:00", + "2026-05-08T05:06:00", + "2026-05-08T05:07:00", + "2026-05-08T05:08:00", + "2026-05-08T05:09:00", + "2026-05-08T05:10:00", + "2026-05-08T05:11:00", + "2026-05-08T05:12:00", + "2026-05-08T05:13:00", + "2026-05-08T05:14:00", + "2026-05-08T05:15:00", + "2026-05-08T05:16:00", + "2026-05-08T05:17:00", + "2026-05-08T05:18:00", + "2026-05-08T05:19:00", + "2026-05-08T05:20:00", + "2026-05-08T05:21:00", + "2026-05-08T05:22:00", + "2026-05-08T05:23:00", + "2026-05-08T05:24:00", + "2026-05-08T05:25:00", + "2026-05-08T05:26:00", + "2026-05-08T05:27:00", + "2026-05-08T05:28:00", + "2026-05-08T05:29:00", + "2026-05-08T05:30:00", + "2026-05-08T05:31:00", + "2026-05-08T05:32:00", + "2026-05-08T05:33:00", + "2026-05-08T05:34:00", + "2026-05-08T05:35:00", + "2026-05-08T05:36:00", + "2026-05-08T05:37:00", + "2026-05-08T05:38:00", + "2026-05-08T05:39:00", + "2026-05-08T05:40:00", + "2026-05-08T05:41:00", + "2026-05-08T05:42:00", + "2026-05-08T05:43:00", + "2026-05-08T05:44:00", + "2026-05-08T05:45:00", + "2026-05-08T05:46:00", + "2026-05-08T05:47:00", + "2026-05-08T05:48:00", + "2026-05-08T05:49:00", + "2026-05-08T05:50:00", + "2026-05-08T05:51:00", + "2026-05-08T05:52:00", + "2026-05-08T05:53:00", + "2026-05-08T05:54:00", + "2026-05-08T05:55:00", + "2026-05-08T05:56:00", + "2026-05-08T05:57:00", + "2026-05-08T05:58:00", + "2026-05-08T05:59:00", + "2026-05-08T06:00:00", + "2026-05-08T06:01:00", + "2026-05-08T06:02:00", + "2026-05-08T06:03:00", + "2026-05-08T06:04:00", + "2026-05-08T06:05:00", + "2026-05-08T06:06:00", + "2026-05-08T06:07:00", + "2026-05-08T06:08:00", + "2026-05-08T06:09:00", + "2026-05-08T06:10:00", + "2026-05-08T06:11:00", + "2026-05-08T06:12:00", + "2026-05-08T06:13:00", + "2026-05-08T06:14:00", + "2026-05-08T06:15:00", + "2026-05-08T06:16:00", + "2026-05-08T06:17:00", + "2026-05-08T06:18:00", + "2026-05-08T06:19:00", + "2026-05-08T06:20:00", + "2026-05-08T06:21:00", + "2026-05-08T06:22:00", + "2026-05-08T06:23:00", + "2026-05-08T06:24:00", + "2026-05-08T06:25:00", + "2026-05-08T06:26:00", + "2026-05-08T06:27:00", + "2026-05-08T06:28:00", + "2026-05-08T06:29:00", + "2026-05-08T06:30:00", + "2026-05-08T06:31:00", + "2026-05-08T06:32:00", + "2026-05-08T06:33:00", + "2026-05-08T06:34:00", + "2026-05-08T06:35:00", + "2026-05-08T06:36:00", + "2026-05-08T06:37:00", + "2026-05-08T06:38:00", + "2026-05-08T06:39:00", + "2026-05-08T06:40:00", + "2026-05-08T06:41:00", + "2026-05-08T06:42:00", + "2026-05-08T06:43:00", + "2026-05-08T06:44:00", + "2026-05-08T06:45:00", + "2026-05-08T06:46:00", + "2026-05-08T06:47:00", + "2026-05-08T06:48:00", + "2026-05-08T06:49:00", + "2026-05-08T06:50:00", + "2026-05-08T06:51:00", + "2026-05-08T06:52:00", + "2026-05-08T06:53:00", + "2026-05-08T06:54:00", + "2026-05-08T06:55:00", + "2026-05-08T06:56:00", + "2026-05-08T06:57:00", + "2026-05-08T06:58:00", + "2026-05-08T06:59:00", + "2026-05-08T07:00:00", + "2026-05-08T07:01:00", + "2026-05-08T07:02:00", + "2026-05-08T07:03:00", + "2026-05-08T07:04:00", + "2026-05-08T07:05:00", + "2026-05-08T07:06:00", + "2026-05-08T07:07:00", + "2026-05-08T07:08:00", + "2026-05-08T07:09:00", + "2026-05-08T07:10:00", + "2026-05-08T07:11:00", + "2026-05-08T07:12:00", + "2026-05-08T07:13:00", + "2026-05-08T07:14:00", + "2026-05-08T07:15:00", + "2026-05-08T07:16:00", + "2026-05-08T07:17:00", + "2026-05-08T07:18:00", + "2026-05-08T07:19:00", + "2026-05-08T07:20:00", + "2026-05-08T07:21:00", + "2026-05-08T07:22:00", + "2026-05-08T07:23:00", + "2026-05-08T07:24:00", + "2026-05-08T07:25:00", + "2026-05-08T07:26:00", + "2026-05-08T07:27:00", + "2026-05-08T07:28:00", + "2026-05-08T07:29:00", + "2026-05-08T07:30:00", + "2026-05-08T07:31:00", + "2026-05-08T07:32:00", + "2026-05-08T07:33:00", + "2026-05-08T07:34:00", + "2026-05-08T07:35:00", + "2026-05-08T07:36:00", + "2026-05-08T07:37:00", + "2026-05-08T07:38:00", + "2026-05-08T07:39:00", + "2026-05-08T07:40:00", + "2026-05-08T07:41:00", + "2026-05-08T07:42:00", + "2026-05-08T07:43:00", + "2026-05-08T07:44:00", + "2026-05-08T07:45:00", + "2026-05-08T07:46:00", + "2026-05-08T07:47:00", + "2026-05-08T07:48:00", + "2026-05-08T07:49:00", + "2026-05-08T07:50:00", + "2026-05-08T07:51:00", + "2026-05-08T07:52:00", + "2026-05-08T07:53:00", + "2026-05-08T07:54:00", + "2026-05-08T07:55:00", + "2026-05-08T07:56:00", + "2026-05-08T07:57:00", + "2026-05-08T07:58:00", + "2026-05-08T07:59:00", + "2026-05-08T08:00:00", + "2026-05-08T08:01:00", + "2026-05-08T08:02:00", + "2026-05-08T08:03:00", + "2026-05-08T08:04:00", + "2026-05-08T08:05:00", + "2026-05-08T08:06:00", + "2026-05-08T08:07:00", + "2026-05-08T08:08:00", + "2026-05-08T08:09:00", + "2026-05-08T08:10:00", + "2026-05-08T08:11:00", + "2026-05-08T08:12:00", + "2026-05-08T08:13:00", + "2026-05-08T08:14:00", + "2026-05-08T08:15:00", + "2026-05-08T08:16:00", + "2026-05-08T08:17:00", + "2026-05-08T08:18:00", + "2026-05-08T08:19:00", + "2026-05-08T08:20:00", + "2026-05-08T08:21:00", + "2026-05-08T08:22:00", + "2026-05-08T08:23:00", + "2026-05-08T08:24:00", + "2026-05-08T08:25:00", + "2026-05-08T08:26:00", + "2026-05-08T08:27:00", + "2026-05-08T08:28:00", + "2026-05-08T08:29:00", + "2026-05-08T08:30:00", + "2026-05-08T08:31:00", + "2026-05-08T08:32:00", + "2026-05-08T08:33:00", + "2026-05-08T08:34:00", + "2026-05-08T08:35:00", + "2026-05-08T08:36:00", + "2026-05-08T08:37:00", + "2026-05-08T08:38:00", + "2026-05-08T08:39:00", + "2026-05-08T08:40:00", + "2026-05-08T08:41:00", + "2026-05-08T08:42:00", + "2026-05-08T08:43:00", + "2026-05-08T08:44:00", + "2026-05-08T08:45:00", + "2026-05-08T08:46:00", + "2026-05-08T08:47:00", + "2026-05-08T08:48:00", + "2026-05-08T08:49:00", + "2026-05-08T08:50:00", + "2026-05-08T08:51:00", + "2026-05-08T08:52:00", + "2026-05-08T08:53:00", + "2026-05-08T08:54:00", + "2026-05-08T08:55:00", + "2026-05-08T08:56:00", + "2026-05-08T08:57:00", + "2026-05-08T08:58:00", + "2026-05-08T08:59:00", + "2026-05-08T09:00:00", + "2026-05-08T09:01:00", + "2026-05-08T09:02:00", + "2026-05-08T09:03:00", + "2026-05-08T09:04:00", + "2026-05-08T09:05:00", + "2026-05-08T09:06:00", + "2026-05-08T09:07:00", + "2026-05-08T09:08:00", + "2026-05-08T09:09:00", + "2026-05-08T09:10:00", + "2026-05-08T09:11:00", + "2026-05-08T09:12:00", + "2026-05-08T09:13:00", + "2026-05-08T09:14:00", + "2026-05-08T09:15:00", + "2026-05-08T09:16:00", + "2026-05-08T09:17:00", + "2026-05-08T09:18:00", + "2026-05-08T09:19:00", + "2026-05-08T09:20:00", + "2026-05-08T09:21:00", + "2026-05-08T09:22:00", + "2026-05-08T09:23:00", + "2026-05-08T09:24:00", + "2026-05-08T09:25:00", + "2026-05-08T09:26:00", + "2026-05-08T09:27:00", + "2026-05-08T09:28:00", + "2026-05-08T09:29:00", + "2026-05-08T09:30:00", + "2026-05-08T09:31:00", + "2026-05-08T09:32:00", + "2026-05-08T09:33:00", + "2026-05-08T09:34:00", + "2026-05-08T09:35:00", + "2026-05-08T09:36:00", + "2026-05-08T09:37:00", + "2026-05-08T09:38:00", + "2026-05-08T09:39:00", + "2026-05-08T09:40:00", + "2026-05-08T09:41:00", + "2026-05-08T09:42:00", + "2026-05-08T09:43:00", + "2026-05-08T09:44:00", + "2026-05-08T09:45:00", + "2026-05-08T09:46:00", + "2026-05-08T09:47:00", + "2026-05-08T09:48:00", + "2026-05-08T09:49:00", + "2026-05-08T09:50:00", + "2026-05-08T09:51:00", + "2026-05-08T09:52:00", + "2026-05-08T09:53:00", + "2026-05-08T09:54:00", + "2026-05-08T09:55:00", + "2026-05-08T09:56:00", + "2026-05-08T09:57:00", + "2026-05-08T09:58:00", + "2026-05-08T09:59:00", + "2026-05-08T10:00:00", + "2026-05-08T10:01:00", + "2026-05-08T10:02:00", + "2026-05-08T10:03:00", + "2026-05-08T10:04:00", + "2026-05-08T10:05:00", + "2026-05-08T10:06:00", + "2026-05-08T10:07:00", + "2026-05-08T10:08:00", + "2026-05-08T10:09:00", + "2026-05-08T10:10:00", + "2026-05-08T10:11:00", + "2026-05-08T10:12:00", + "2026-05-08T10:13:00", + "2026-05-08T10:14:00", + "2026-05-08T10:15:00", + "2026-05-08T10:16:00", + "2026-05-08T10:17:00", + "2026-05-08T10:18:00", + "2026-05-08T10:19:00", + "2026-05-08T10:20:00", + "2026-05-08T10:21:00", + "2026-05-08T10:22:00", + "2026-05-08T10:23:00", + "2026-05-08T10:24:00", + "2026-05-08T10:25:00", + "2026-05-08T10:26:00", + "2026-05-08T10:27:00", + "2026-05-08T10:28:00", + "2026-05-08T10:29:00", + "2026-05-08T10:30:00", + "2026-05-08T10:31:00", + "2026-05-08T10:32:00", + "2026-05-08T10:33:00", + "2026-05-08T10:34:00", + "2026-05-08T10:35:00", + "2026-05-08T10:36:00", + "2026-05-08T10:37:00", + "2026-05-08T10:38:00", + "2026-05-08T10:39:00", + "2026-05-08T10:40:00", + "2026-05-08T10:41:00", + "2026-05-08T10:42:00", + "2026-05-08T10:43:00", + "2026-05-08T10:44:00", + "2026-05-08T10:45:00", + "2026-05-08T10:46:00", + "2026-05-08T10:47:00", + "2026-05-08T10:48:00", + "2026-05-08T10:49:00", + "2026-05-08T10:50:00", + "2026-05-08T10:51:00", + "2026-05-08T10:52:00", + "2026-05-08T10:53:00", + "2026-05-08T10:54:00", + "2026-05-08T10:55:00", + "2026-05-08T10:56:00", + "2026-05-08T10:57:00", + "2026-05-08T10:58:00", + "2026-05-08T10:59:00", + "2026-05-08T11:00:00", + "2026-05-08T11:01:00", + "2026-05-08T11:02:00", + "2026-05-08T11:03:00", + "2026-05-08T11:04:00", + "2026-05-08T11:05:00", + "2026-05-08T11:06:00", + "2026-05-08T11:07:00", + "2026-05-08T11:08:00", + "2026-05-08T11:09:00", + "2026-05-08T11:10:00", + "2026-05-08T11:11:00", + "2026-05-08T11:12:00", + "2026-05-08T11:13:00", + "2026-05-08T11:14:00", + "2026-05-08T11:15:00", + "2026-05-08T11:16:00", + "2026-05-08T11:17:00", + "2026-05-08T11:18:00", + "2026-05-08T11:19:00", + "2026-05-08T11:20:00", + "2026-05-08T11:21:00", + "2026-05-08T11:22:00", + "2026-05-08T11:23:00", + "2026-05-08T11:24:00", + "2026-05-08T11:25:00", + "2026-05-08T11:26:00", + "2026-05-08T11:27:00", + "2026-05-08T11:28:00", + "2026-05-08T11:29:00", + "2026-05-08T11:30:00", + "2026-05-08T11:31:00", + "2026-05-08T11:32:00", + "2026-05-08T11:33:00", + "2026-05-08T11:34:00", + "2026-05-08T11:35:00", + "2026-05-08T11:36:00", + "2026-05-08T11:37:00", + "2026-05-08T11:38:00", + "2026-05-08T11:39:00", + "2026-05-08T11:40:00", + "2026-05-08T11:41:00", + "2026-05-08T11:42:00", + "2026-05-08T11:43:00", + "2026-05-08T11:44:00", + "2026-05-08T11:45:00", + "2026-05-08T11:46:00", + "2026-05-08T11:47:00", + "2026-05-08T11:48:00", + "2026-05-08T11:49:00", + "2026-05-08T11:50:00", + "2026-05-08T11:51:00", + "2026-05-08T11:52:00", + "2026-05-08T11:53:00", + "2026-05-08T11:54:00", + "2026-05-08T11:55:00", + "2026-05-08T11:56:00", + "2026-05-08T11:57:00", + "2026-05-08T11:58:00", + "2026-05-08T11:59:00", + "2026-05-08T12:00:00", + "2026-05-08T12:01:00", + "2026-05-08T12:02:00", + "2026-05-08T12:03:00", + "2026-05-08T12:04:00", + "2026-05-08T12:05:00", + "2026-05-08T12:06:00", + "2026-05-08T12:07:00", + "2026-05-08T12:08:00", + "2026-05-08T12:09:00", + "2026-05-08T12:10:00", + "2026-05-08T12:11:00", + "2026-05-08T12:12:00", + "2026-05-08T12:13:00", + "2026-05-08T12:14:00", + "2026-05-08T12:15:00", + "2026-05-08T12:16:00", + "2026-05-08T12:17:00", + "2026-05-08T12:18:00", + "2026-05-08T12:19:00", + "2026-05-08T12:20:00", + "2026-05-08T12:21:00", + "2026-05-08T12:22:00", + "2026-05-08T12:23:00", + "2026-05-08T12:24:00", + "2026-05-08T12:25:00", + "2026-05-08T12:26:00", + "2026-05-08T12:27:00", + "2026-05-08T12:28:00", + "2026-05-08T12:29:00", + "2026-05-08T12:30:00", + "2026-05-08T12:31:00", + "2026-05-08T12:32:00", + "2026-05-08T12:33:00", + "2026-05-08T12:34:00", + "2026-05-08T12:35:00", + "2026-05-08T12:36:00", + "2026-05-08T12:37:00", + "2026-05-08T12:38:00", + "2026-05-08T12:39:00", + "2026-05-08T12:40:00", + "2026-05-08T12:41:00", + "2026-05-08T12:42:00", + "2026-05-08T12:43:00", + "2026-05-08T12:44:00", + "2026-05-08T12:45:00", + "2026-05-08T12:46:00", + "2026-05-08T12:47:00", + "2026-05-08T12:48:00", + "2026-05-08T12:49:00", + "2026-05-08T12:50:00", + "2026-05-08T12:51:00", + "2026-05-08T12:52:00", + "2026-05-08T12:53:00", + "2026-05-08T12:54:00", + "2026-05-08T12:55:00", + "2026-05-08T12:56:00", + "2026-05-08T12:57:00", + "2026-05-08T12:58:00", + "2026-05-08T12:59:00", + "2026-05-08T13:00:00", + "2026-05-08T13:01:00", + "2026-05-08T13:02:00", + "2026-05-08T13:03:00", + "2026-05-08T13:04:00", + "2026-05-08T13:05:00", + "2026-05-08T13:06:00", + "2026-05-08T13:07:00", + "2026-05-08T13:08:00", + "2026-05-08T13:09:00", + "2026-05-08T13:10:00", + "2026-05-08T13:11:00", + "2026-05-08T13:12:00", + "2026-05-08T13:13:00", + "2026-05-08T13:14:00", + "2026-05-08T13:15:00", + "2026-05-08T13:16:00", + "2026-05-08T13:17:00", + "2026-05-08T13:18:00", + "2026-05-08T13:19:00", + "2026-05-08T13:20:00", + "2026-05-08T13:21:00", + "2026-05-08T13:22:00", + "2026-05-08T13:23:00", + "2026-05-08T13:24:00", + "2026-05-08T13:25:00", + "2026-05-08T13:26:00", + "2026-05-08T13:27:00", + "2026-05-08T13:28:00", + "2026-05-08T13:29:00", + "2026-05-08T13:30:00", + "2026-05-08T13:31:00", + "2026-05-08T13:32:00", + "2026-05-08T13:33:00", + "2026-05-08T13:34:00", + "2026-05-08T13:35:00", + "2026-05-08T13:36:00", + "2026-05-08T13:37:00", + "2026-05-08T13:38:00", + "2026-05-08T13:39:00", + "2026-05-08T13:40:00", + "2026-05-08T13:41:00", + "2026-05-08T13:42:00", + "2026-05-08T13:43:00", + "2026-05-08T13:44:00", + "2026-05-08T13:45:00", + "2026-05-08T13:46:00", + "2026-05-08T13:47:00", + "2026-05-08T13:48:00", + "2026-05-08T13:49:00", + "2026-05-08T13:50:00", + "2026-05-08T13:51:00", + "2026-05-08T13:52:00", + "2026-05-08T13:53:00", + "2026-05-08T13:54:00", + "2026-05-08T13:55:00", + "2026-05-08T13:56:00", + "2026-05-08T13:57:00", + "2026-05-08T13:58:00", + "2026-05-08T13:59:00", + "2026-05-08T14:00:00", + "2026-05-08T14:01:00", + "2026-05-08T14:02:00", + "2026-05-08T14:03:00", + "2026-05-08T14:04:00", + "2026-05-08T14:05:00", + "2026-05-08T14:06:00", + "2026-05-08T14:07:00", + "2026-05-08T14:08:00", + "2026-05-08T14:09:00", + "2026-05-08T14:10:00", + "2026-05-08T14:11:00", + "2026-05-08T14:12:00", + "2026-05-08T14:13:00", + "2026-05-08T14:14:00", + "2026-05-08T14:15:00", + "2026-05-08T14:16:00", + "2026-05-08T14:17:00", + "2026-05-08T14:18:00", + "2026-05-08T14:19:00", + "2026-05-08T14:20:00", + "2026-05-08T14:21:00", + "2026-05-08T14:22:00", + "2026-05-08T14:23:00", + "2026-05-08T14:24:00", + "2026-05-08T14:25:00", + "2026-05-08T14:26:00", + "2026-05-08T14:27:00", + "2026-05-08T14:28:00", + "2026-05-08T14:29:00", + "2026-05-08T14:30:00", + "2026-05-08T14:31:00", + "2026-05-08T14:32:00", + "2026-05-08T14:33:00", + "2026-05-08T14:34:00", + "2026-05-08T14:35:00", + "2026-05-08T14:36:00", + "2026-05-08T14:37:00", + "2026-05-08T14:38:00", + "2026-05-08T14:39:00", + "2026-05-08T14:40:00", + "2026-05-08T14:41:00", + "2026-05-08T14:42:00", + "2026-05-08T14:43:00", + "2026-05-08T14:44:00", + "2026-05-08T14:45:00", + "2026-05-08T14:46:00", + "2026-05-08T14:47:00", + "2026-05-08T14:48:00", + "2026-05-08T14:49:00", + "2026-05-08T14:50:00", + "2026-05-08T14:51:00", + "2026-05-08T14:52:00", + "2026-05-08T14:53:00", + "2026-05-08T14:54:00", + "2026-05-08T14:55:00", + "2026-05-08T14:56:00", + "2026-05-08T14:57:00", + "2026-05-08T14:58:00", + "2026-05-08T14:59:00", + "2026-05-08T15:00:00", + "2026-05-08T15:01:00", + "2026-05-08T15:02:00", + "2026-05-08T15:03:00", + "2026-05-08T15:04:00", + "2026-05-08T15:05:00", + "2026-05-08T15:06:00", + "2026-05-08T15:07:00", + "2026-05-08T15:08:00", + "2026-05-08T15:09:00", + "2026-05-08T15:10:00", + "2026-05-08T15:11:00", + "2026-05-08T15:12:00", + "2026-05-08T15:13:00", + "2026-05-08T15:14:00", + "2026-05-08T15:15:00", + "2026-05-08T15:16:00", + "2026-05-08T15:17:00", + "2026-05-08T15:18:00", + "2026-05-08T15:19:00", + "2026-05-08T15:20:00", + "2026-05-08T15:21:00", + "2026-05-08T15:22:00", + "2026-05-08T15:23:00", + "2026-05-08T15:24:00", + "2026-05-08T15:25:00", + "2026-05-08T15:26:00", + "2026-05-08T15:27:00", + "2026-05-08T15:28:00", + "2026-05-08T15:29:00", + "2026-05-08T15:30:00", + "2026-05-08T15:31:00", + "2026-05-08T15:32:00", + "2026-05-08T15:33:00", + "2026-05-08T15:34:00", + "2026-05-08T15:35:00", + "2026-05-08T15:36:00", + "2026-05-08T15:37:00", + "2026-05-08T15:38:00", + "2026-05-08T15:39:00", + "2026-05-08T15:40:00", + "2026-05-08T15:41:00", + "2026-05-08T15:42:00", + "2026-05-08T15:43:00", + "2026-05-08T15:44:00", + "2026-05-08T15:45:00", + "2026-05-08T15:46:00", + "2026-05-08T15:47:00", + "2026-05-08T15:48:00", + "2026-05-08T15:49:00", + "2026-05-08T15:50:00", + "2026-05-08T15:51:00", + "2026-05-08T15:52:00", + "2026-05-08T15:53:00", + "2026-05-08T15:54:00", + "2026-05-08T15:55:00", + "2026-05-08T15:56:00", + "2026-05-08T15:57:00", + "2026-05-08T15:58:00", + "2026-05-08T15:59:00", + "2026-05-08T16:00:00", + "2026-05-08T16:01:00", + "2026-05-08T16:02:00", + "2026-05-08T16:03:00", + "2026-05-08T16:04:00", + "2026-05-08T16:05:00", + "2026-05-08T16:06:00", + "2026-05-08T16:07:00", + "2026-05-08T16:08:00", + "2026-05-08T16:09:00", + "2026-05-08T16:10:00", + "2026-05-08T16:11:00", + "2026-05-08T16:12:00", + "2026-05-08T16:13:00", + "2026-05-08T16:14:00", + "2026-05-08T16:15:00", + "2026-05-08T16:16:00", + "2026-05-08T16:17:00", + "2026-05-08T16:18:00", + "2026-05-08T16:19:00", + "2026-05-08T16:20:00", + "2026-05-08T16:21:00", + "2026-05-08T16:22:00", + "2026-05-08T16:23:00", + "2026-05-08T16:24:00", + "2026-05-08T16:25:00", + "2026-05-08T16:26:00", + "2026-05-08T16:27:00", + "2026-05-08T16:28:00", + "2026-05-08T16:29:00", + "2026-05-08T16:30:00", + "2026-05-08T16:31:00", + "2026-05-08T16:32:00", + "2026-05-08T16:33:00", + "2026-05-08T16:34:00", + "2026-05-08T16:35:00", + "2026-05-08T16:36:00", + "2026-05-08T16:37:00", + "2026-05-08T16:38:00", + "2026-05-08T16:39:00", + "2026-05-08T16:40:00", + "2026-05-08T16:41:00", + "2026-05-08T16:42:00", + "2026-05-08T16:43:00", + "2026-05-08T16:44:00", + "2026-05-08T16:45:00", + "2026-05-08T16:46:00", + "2026-05-08T16:47:00", + "2026-05-08T16:48:00", + "2026-05-08T16:49:00", + "2026-05-08T16:50:00", + "2026-05-08T16:51:00", + "2026-05-08T16:52:00", + "2026-05-08T16:53:00", + "2026-05-08T16:54:00", + "2026-05-08T16:55:00", + "2026-05-08T16:56:00", + "2026-05-08T16:57:00", + "2026-05-08T16:58:00", + "2026-05-08T16:59:00", + "2026-05-08T17:00:00", + "2026-05-08T17:01:00", + "2026-05-08T17:02:00", + "2026-05-08T17:03:00", + "2026-05-08T17:04:00", + "2026-05-08T17:05:00", + "2026-05-08T17:06:00", + "2026-05-08T17:07:00", + "2026-05-08T17:08:00", + "2026-05-08T17:09:00", + "2026-05-08T17:10:00", + "2026-05-08T17:11:00", + "2026-05-08T17:12:00", + "2026-05-08T17:13:00", + "2026-05-08T17:14:00", + "2026-05-08T17:15:00", + "2026-05-08T17:16:00", + "2026-05-08T17:17:00", + "2026-05-08T17:18:00", + "2026-05-08T17:19:00", + "2026-05-08T17:20:00", + "2026-05-08T17:21:00", + "2026-05-08T17:22:00", + "2026-05-08T17:23:00", + "2026-05-08T17:24:00", + "2026-05-08T17:25:00", + "2026-05-08T17:26:00", + "2026-05-08T17:27:00", + "2026-05-08T17:28:00", + "2026-05-08T17:29:00", + "2026-05-08T17:30:00", + "2026-05-08T17:31:00", + "2026-05-08T17:32:00", + "2026-05-08T17:33:00", + "2026-05-08T17:34:00", + "2026-05-08T17:35:00", + "2026-05-08T17:36:00", + "2026-05-08T17:37:00", + "2026-05-08T17:38:00", + "2026-05-08T17:39:00", + "2026-05-08T17:40:00", + "2026-05-08T17:41:00", + "2026-05-08T17:42:00", + "2026-05-08T17:43:00", + "2026-05-08T17:44:00", + "2026-05-08T17:45:00", + "2026-05-08T17:46:00", + "2026-05-08T17:47:00", + "2026-05-08T17:48:00", + "2026-05-08T17:49:00", + "2026-05-08T17:50:00", + "2026-05-08T17:51:00", + "2026-05-08T17:52:00", + "2026-05-08T17:53:00", + "2026-05-08T17:54:00", + "2026-05-08T17:55:00", + "2026-05-08T17:56:00", + "2026-05-08T17:57:00", + "2026-05-08T17:58:00", + "2026-05-08T17:59:00", + "2026-05-08T18:00:00", + "2026-05-08T18:01:00", + "2026-05-08T18:02:00", + "2026-05-08T18:03:00", + "2026-05-08T18:04:00", + "2026-05-08T18:05:00", + "2026-05-08T18:06:00", + "2026-05-08T18:07:00", + "2026-05-08T18:08:00", + "2026-05-08T18:09:00", + "2026-05-08T18:10:00", + "2026-05-08T18:11:00", + "2026-05-08T18:12:00", + "2026-05-08T18:13:00", + "2026-05-08T18:14:00", + "2026-05-08T18:15:00", + "2026-05-08T18:16:00", + "2026-05-08T18:17:00", + "2026-05-08T18:18:00", + "2026-05-08T18:19:00", + "2026-05-08T18:20:00", + "2026-05-08T18:21:00", + "2026-05-08T18:22:00", + "2026-05-08T18:23:00", + "2026-05-08T18:24:00", + "2026-05-08T18:25:00", + "2026-05-08T18:26:00", + "2026-05-08T18:27:00", + "2026-05-08T18:28:00", + "2026-05-08T18:29:00", + "2026-05-08T18:30:00", + "2026-05-08T18:31:00", + "2026-05-08T18:32:00", + "2026-05-08T18:33:00", + "2026-05-08T18:34:00", + "2026-05-08T18:35:00", + "2026-05-08T18:36:00", + "2026-05-08T18:37:00", + "2026-05-08T18:38:00", + "2026-05-08T18:39:00", + "2026-05-08T18:40:00", + "2026-05-08T18:41:00", + "2026-05-08T18:42:00", + "2026-05-08T18:43:00", + "2026-05-08T18:44:00", + "2026-05-08T18:45:00", + "2026-05-08T18:46:00", + "2026-05-08T18:47:00", + "2026-05-08T18:48:00", + "2026-05-08T18:49:00", + "2026-05-08T18:50:00", + "2026-05-08T18:51:00", + "2026-05-08T18:52:00", + "2026-05-08T18:53:00", + "2026-05-08T18:54:00", + "2026-05-08T18:55:00", + "2026-05-08T18:56:00", + "2026-05-08T18:57:00", + "2026-05-08T18:58:00", + "2026-05-08T18:59:00", + "2026-05-08T19:00:00", + "2026-05-08T19:01:00", + "2026-05-08T19:02:00", + "2026-05-08T19:03:00", + "2026-05-08T19:04:00", + "2026-05-08T19:05:00", + "2026-05-08T19:06:00", + "2026-05-08T19:07:00", + "2026-05-08T19:08:00", + "2026-05-08T19:09:00", + "2026-05-08T19:10:00", + "2026-05-08T19:11:00", + "2026-05-08T19:12:00", + "2026-05-08T19:13:00", + "2026-05-08T19:14:00", + "2026-05-08T19:15:00", + "2026-05-08T19:16:00", + "2026-05-08T19:17:00", + "2026-05-08T19:18:00", + "2026-05-08T19:19:00", + "2026-05-08T19:20:00", + "2026-05-08T19:21:00", + "2026-05-08T19:22:00", + "2026-05-08T19:23:00", + "2026-05-08T19:24:00", + "2026-05-08T19:25:00", + "2026-05-08T19:26:00", + "2026-05-08T19:27:00", + "2026-05-08T19:28:00", + "2026-05-08T19:29:00", + "2026-05-08T19:30:00", + "2026-05-08T19:31:00", + "2026-05-08T19:32:00", + "2026-05-08T19:33:00", + "2026-05-08T19:34:00", + "2026-05-08T19:35:00", + "2026-05-08T19:36:00", + "2026-05-08T19:37:00", + "2026-05-08T19:38:00", + "2026-05-08T19:39:00", + "2026-05-08T19:40:00", + "2026-05-08T19:41:00", + "2026-05-08T19:42:00", + "2026-05-08T19:43:00", + "2026-05-08T19:44:00", + "2026-05-08T19:45:00", + "2026-05-08T19:46:00", + "2026-05-08T19:47:00", + "2026-05-08T19:48:00", + "2026-05-08T19:49:00", + "2026-05-08T19:50:00", + "2026-05-08T19:51:00", + "2026-05-08T19:52:00", + "2026-05-08T19:53:00", + "2026-05-08T19:54:00", + "2026-05-08T19:55:00", + "2026-05-08T19:56:00", + "2026-05-08T19:57:00", + "2026-05-08T19:58:00", + "2026-05-08T19:59:00", + "2026-05-08T20:00:00", + "2026-05-08T20:01:00", + "2026-05-08T20:02:00", + "2026-05-08T20:03:00", + "2026-05-08T20:04:00" ], "xaxis": "x", "y": { - "bdata": "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", + "bdata": "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", "dtype": "f8" }, "yaxis": "y" @@ -5485,5197 +5420,88 @@ } } } - } + }, + "text/html": [ + "
\n", + "
" + ], + "text/plain": [ + "Figure({\n", + " 'data': [{'hovertemplate': ('variable=med_ratio_aster_over_' ... '}
value=%{y}'),\n", + " 'legendgroup': 'med_ratio_aster_over_extend',\n", + " 'line': {'color': '#636efa', 'dash': 'solid'},\n", + " 'marker': {'symbol': 'circle'},\n", + " 'mode': 'lines',\n", + " 'name': 'med_ratio_aster_over_extend',\n", + " 'showlegend': True,\n", + " 'type': 'scattergl',\n", + " 'x': array(['2026-05-07T20:05:00.000', '2026-05-07T20:06:00.000',\n", + " '2026-05-07T20:07:00.000', ..., '2026-05-08T20:02:00.000',\n", + " '2026-05-08T20:03:00.000', '2026-05-08T20:04:00.000'],\n", + " shape=(1440,), dtype='datetime64[ms]'),\n", + " 'xaxis': 'x',\n", + " 'y': {'bdata': ('AICLTf7d/r4AAFgutIbyPgCAKO574R' ... 'Aa0ZwBMz8AQCAuvM4mPwBgBew0+zo/'),\n", + " 'dtype': 'f8'},\n", + " 'yaxis': 'y'},\n", + " {'hovertemplate': ('variable=typical_ratio_aster_o' ... '}
value=%{y}'),\n", + " 'legendgroup': 'typical_ratio_aster_over_extend',\n", + " 'line': {'color': '#EF553B', 'dash': 'solid'},\n", + " 'marker': {'symbol': 'circle'},\n", + " 'mode': 'lines',\n", + " 'name': 'typical_ratio_aster_over_extend',\n", + " 'showlegend': True,\n", + " 'type': 'scattergl',\n", + " 'x': array(['2026-05-07T20:05:00.000', '2026-05-07T20:06:00.000',\n", + " '2026-05-07T20:07:00.000', ..., '2026-05-08T20:02:00.000',\n", + " '2026-05-08T20:03:00.000', '2026-05-08T20:04:00.000'],\n", + " shape=(1440,), dtype='datetime64[ms]'),\n", + " 'xaxis': 'x',\n", + " 'y': {'bdata': ('AAB1u1rH+74AACite+DuPgAAyND44A' ... 'B8b0LeMT8AoIW3990xPwCgh4PeKzs/'),\n", + " 'dtype': 'f8'},\n", + " 'yaxis': 'y'}],\n", + " 'layout': {'legend': {'title': {'text': 'variable'}, 'tracegroupgap': 0},\n", + " 'margin': {'t': 60},\n", + " 'template': '...',\n", + " 'xaxis': {'anchor': 'y', 'domain': [0.0, 1.0], 'title': {'text': 'open_dt'}},\n", + " 'yaxis': {'anchor': 'x', 'domain': [0.0, 1.0], 'title': {'text': 'value'}}}\n", + "})" + ] }, + "execution_count": 73, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ "import plotly.express as px\n", + "import plotly.graph_objects as go\n", + "from plotly.subplots import make_subplots\n", + "\n", "\n", "px.line(df_candles_comb, y=['med_ratio_aster_over_extend','typical_ratio_aster_over_extend'], x='open_dt')" ] }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 75, "id": "a9bd45c0", "metadata": {}, "outputs": [ { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "name": "Aster Px", - "type": "scatter", - "x": [ - "2026-05-05T05:19:00", - "2026-05-05T05:20:00", - "2026-05-05T05:21:00", - "2026-05-05T05:22:00", - "2026-05-05T05:23:00", - "2026-05-05T05:24:00", - "2026-05-05T05:25:00", - "2026-05-05T05:26:00", - "2026-05-05T05:27:00", - "2026-05-05T05:28:00", - "2026-05-05T05:29:00", - "2026-05-05T05:30:00", - "2026-05-05T05:31:00", - "2026-05-05T05:32:00", - "2026-05-05T05:33:00", - "2026-05-05T05:34:00", - "2026-05-05T05:35:00", - "2026-05-05T05:36:00", - "2026-05-05T05:37:00", - "2026-05-05T05:38:00", - "2026-05-05T05:39:00", - "2026-05-05T05:40:00", - "2026-05-05T05:41:00", - "2026-05-05T05:42:00", - "2026-05-05T05:43:00", - "2026-05-05T05:44:00", - "2026-05-05T05:45:00", - "2026-05-05T05:46:00", - "2026-05-05T05:47:00", - "2026-05-05T05:48:00", - "2026-05-05T05:49:00", - "2026-05-05T05:50:00", - "2026-05-05T05:51:00", - "2026-05-05T05:52:00", - "2026-05-05T05:53:00", - "2026-05-05T05:54:00", - "2026-05-05T05:55:00", - "2026-05-05T05:56:00", - "2026-05-05T05:57:00", - "2026-05-05T05:58:00", - "2026-05-05T05:59:00", - "2026-05-05T06:00:00", - "2026-05-05T06:01:00", - "2026-05-05T06:02:00", - "2026-05-05T06:03:00", - "2026-05-05T06:04:00", - "2026-05-05T06:05:00", - "2026-05-05T06:06:00", - "2026-05-05T06:07:00", - "2026-05-05T06:08:00", - "2026-05-05T06:09:00", - "2026-05-05T06:10:00", - "2026-05-05T06:11:00", - "2026-05-05T06:12:00", - "2026-05-05T06:13:00", - "2026-05-05T06:14:00", - "2026-05-05T06:15:00", - "2026-05-05T06:16:00", - "2026-05-05T06:17:00", - "2026-05-05T06:18:00", - "2026-05-05T06:19:00", - "2026-05-05T06:20:00", - "2026-05-05T06:21:00", - "2026-05-05T06:22:00", - "2026-05-05T06:23:00", - "2026-05-05T06:24:00", - "2026-05-05T06:25:00", - "2026-05-05T06:26:00", - "2026-05-05T06:27:00", - "2026-05-05T06:28:00", - "2026-05-05T06:29:00", - "2026-05-05T06:30:00", - "2026-05-05T06:31:00", - "2026-05-05T06:32:00", - "2026-05-05T06:33:00", - "2026-05-05T06:34:00", - "2026-05-05T06:35:00", - "2026-05-05T06:36:00", - "2026-05-05T06:37:00", - "2026-05-05T06:38:00", - "2026-05-05T06:39:00", - "2026-05-05T06:40:00", - "2026-05-05T06:41:00", - "2026-05-05T06:42:00", - "2026-05-05T06:43:00", - "2026-05-05T06:44:00", - "2026-05-05T06:45:00", - "2026-05-05T06:46:00", - "2026-05-05T06:47:00", - "2026-05-05T06:48:00", - "2026-05-05T06:49:00", - "2026-05-05T06:50:00", - "2026-05-05T06:51:00", - "2026-05-05T06:52:00", - "2026-05-05T06:53:00", - "2026-05-05T06:54:00", - "2026-05-05T06:55:00", - "2026-05-05T06:56:00", - "2026-05-05T06:57:00", - "2026-05-05T06:58:00", - "2026-05-05T06:59:00", - "2026-05-05T07:00:00", - "2026-05-05T07:01:00", - "2026-05-05T07:02:00", - "2026-05-05T07:03:00", - "2026-05-05T07:04:00", - "2026-05-05T07:05:00", - "2026-05-05T07:06:00", - "2026-05-05T07:07:00", - "2026-05-05T07:08:00", - "2026-05-05T07:09:00", - "2026-05-05T07:10:00", - "2026-05-05T07:11:00", - "2026-05-05T07:12:00", - "2026-05-05T07:13:00", - "2026-05-05T07:14:00", - "2026-05-05T07:15:00", - "2026-05-05T07:16:00", - "2026-05-05T07:17:00", - "2026-05-05T07:18:00", - "2026-05-05T07:19:00", - "2026-05-05T07:20:00", - "2026-05-05T07:21:00", - "2026-05-05T07:22:00", - "2026-05-05T07:23:00", - "2026-05-05T07:24:00", - "2026-05-05T07:25:00", - "2026-05-05T07:26:00", - "2026-05-05T07:27:00", - "2026-05-05T07:28:00", - "2026-05-05T07:29:00", - "2026-05-05T07:30:00", - "2026-05-05T07:31:00", - "2026-05-05T07:32:00", - "2026-05-05T07:33:00", - "2026-05-05T07:34:00", - "2026-05-05T07:35:00", - "2026-05-05T07:36:00", - "2026-05-05T07:37:00", - "2026-05-05T07:38:00", - "2026-05-05T07:39:00", - "2026-05-05T07:40:00", - "2026-05-05T07:41:00", - "2026-05-05T07:42:00", - "2026-05-05T07:43:00", - "2026-05-05T07:44:00", - "2026-05-05T07:45:00", - "2026-05-05T07:46:00", - "2026-05-05T07:47:00", - "2026-05-05T07:48:00", - "2026-05-05T07:49:00", - "2026-05-05T07:50:00", - "2026-05-05T07:51:00", - "2026-05-05T07:52:00", - "2026-05-05T07:53:00", - "2026-05-05T07:54:00", - "2026-05-05T07:55:00", - "2026-05-05T07:56:00", - "2026-05-05T07:57:00", - "2026-05-05T07:58:00", - "2026-05-05T07:59:00", - "2026-05-05T08:00:00", - "2026-05-05T08:01:00", - "2026-05-05T08:02:00", - "2026-05-05T08:03:00", - "2026-05-05T08:04:00", - "2026-05-05T08:05:00", - "2026-05-05T08:06:00", - "2026-05-05T08:07:00", - "2026-05-05T08:08:00", - "2026-05-05T08:09:00", - "2026-05-05T08:10:00", - "2026-05-05T08:11:00", - "2026-05-05T08:12:00", - "2026-05-05T08:13:00", - "2026-05-05T08:14:00", - "2026-05-05T08:15:00", - "2026-05-05T08:16:00", - "2026-05-05T08:17:00", - "2026-05-05T08:18:00", - "2026-05-05T08:19:00", - "2026-05-05T08:20:00", - "2026-05-05T08:21:00", - "2026-05-05T08:22:00", - "2026-05-05T08:23:00", - "2026-05-05T08:24:00", - "2026-05-05T08:25:00", - "2026-05-05T08:26:00", - "2026-05-05T08:27:00", - "2026-05-05T08:28:00", - "2026-05-05T08:29:00", - "2026-05-05T08:30:00", - "2026-05-05T08:31:00", - "2026-05-05T08:32:00", - "2026-05-05T08:33:00", - "2026-05-05T08:34:00", - "2026-05-05T08:35:00", - "2026-05-05T08:36:00", - "2026-05-05T08:37:00", - "2026-05-05T08:38:00", - "2026-05-05T08:39:00", - "2026-05-05T08:40:00", - "2026-05-05T08:41:00", - "2026-05-05T08:42:00", - "2026-05-05T08:43:00", - "2026-05-05T08:44:00", - "2026-05-05T08:45:00", - "2026-05-05T08:46:00", - "2026-05-05T08:47:00", - "2026-05-05T08:48:00", - "2026-05-05T08:49:00", - "2026-05-05T08:50:00", - "2026-05-05T08:51:00", - "2026-05-05T08:52:00", - "2026-05-05T08:53:00", - "2026-05-05T08:54:00", - "2026-05-05T08:55:00", - "2026-05-05T08:56:00", - "2026-05-05T08:57:00", - "2026-05-05T08:58:00", - "2026-05-05T08:59:00", - "2026-05-05T09:00:00", - "2026-05-05T09:01:00", - "2026-05-05T09:02:00", - "2026-05-05T09:03:00", - "2026-05-05T09:04:00", - "2026-05-05T09:05:00", - "2026-05-05T09:06:00", - "2026-05-05T09:07:00", - "2026-05-05T09:08:00", - "2026-05-05T09:09:00", - "2026-05-05T09:10:00", - "2026-05-05T09:11:00", - "2026-05-05T09:12:00", - "2026-05-05T09:13:00", - "2026-05-05T09:14:00", - "2026-05-05T09:15:00", - "2026-05-05T09:16:00", - "2026-05-05T09:17:00", - "2026-05-05T09:18:00", - "2026-05-05T09:19:00", - "2026-05-05T09:20:00", - "2026-05-05T09:21:00", - "2026-05-05T09:22:00", - "2026-05-05T09:23:00", - "2026-05-05T09:24:00", - "2026-05-05T09:25:00", - "2026-05-05T09:26:00", - "2026-05-05T09:27:00", - "2026-05-05T09:28:00", - "2026-05-05T09:29:00", - "2026-05-05T09:30:00", - "2026-05-05T09:31:00", - "2026-05-05T09:32:00", - "2026-05-05T09:33:00", - "2026-05-05T09:34:00", - "2026-05-05T09:35:00", - "2026-05-05T09:36:00", - "2026-05-05T09:37:00", - "2026-05-05T09:38:00", - "2026-05-05T09:39:00", - "2026-05-05T09:40:00", - "2026-05-05T09:41:00", - "2026-05-05T09:42:00", - "2026-05-05T09:43:00", - "2026-05-05T09:44:00", - "2026-05-05T09:45:00", - "2026-05-05T09:46:00", - "2026-05-05T09:47:00", - "2026-05-05T09:48:00", - "2026-05-05T09:49:00", - "2026-05-05T09:50:00", - "2026-05-05T09:51:00", - "2026-05-05T09:52:00", - "2026-05-05T09:53:00", - "2026-05-05T09:54:00", - "2026-05-05T09:55:00", - "2026-05-05T09:56:00", - "2026-05-05T09:57:00", - "2026-05-05T09:58:00", - "2026-05-05T09:59:00", - "2026-05-05T10:00:00", - "2026-05-05T10:01:00", - "2026-05-05T10:02:00", - "2026-05-05T10:03:00", - "2026-05-05T10:04:00", - "2026-05-05T10:05:00", - "2026-05-05T10:06:00", - "2026-05-05T10:07:00", - "2026-05-05T10:08:00", - "2026-05-05T10:09:00", - "2026-05-05T10:10:00", - "2026-05-05T10:11:00", - "2026-05-05T10:12:00", - "2026-05-05T10:13:00", - "2026-05-05T10:14:00", - "2026-05-05T10:15:00", - "2026-05-05T10:16:00", - "2026-05-05T10:17:00", - "2026-05-05T10:18:00", - "2026-05-05T10:19:00", - "2026-05-05T10:20:00", - "2026-05-05T10:21:00", - "2026-05-05T10:22:00", - "2026-05-05T10:23:00", - "2026-05-05T10:24:00", - "2026-05-05T10:25:00", - "2026-05-05T10:26:00", - "2026-05-05T10:27:00", - "2026-05-05T10:28:00", - "2026-05-05T10:29:00", - "2026-05-05T10:30:00", - "2026-05-05T10:31:00", - "2026-05-05T10:32:00", - "2026-05-05T10:33:00", - "2026-05-05T10:34:00", - "2026-05-05T10:35:00", - "2026-05-05T10:36:00", - "2026-05-05T10:37:00", - "2026-05-05T10:38:00", - "2026-05-05T10:39:00", - "2026-05-05T10:40:00", - "2026-05-05T10:41:00", - "2026-05-05T10:42:00", - "2026-05-05T10:43:00", - "2026-05-05T10:44:00", - "2026-05-05T10:45:00", - "2026-05-05T10:46:00", - "2026-05-05T10:47:00", - "2026-05-05T10:48:00", - "2026-05-05T10:49:00", - "2026-05-05T10:50:00", - "2026-05-05T10:51:00", - "2026-05-05T10:52:00", - "2026-05-05T10:53:00", - "2026-05-05T10:54:00", - "2026-05-05T10:55:00", - "2026-05-05T10:56:00", - "2026-05-05T10:57:00", - "2026-05-05T10:58:00", - "2026-05-05T10:59:00", - "2026-05-05T11:00:00", - "2026-05-05T11:01:00", - "2026-05-05T11:02:00", - "2026-05-05T11:03:00", - "2026-05-05T11:04:00", - "2026-05-05T11:05:00", - "2026-05-05T11:06:00", - "2026-05-05T11:07:00", - "2026-05-05T11:08:00", - "2026-05-05T11:09:00", - "2026-05-05T11:10:00", - "2026-05-05T11:11:00", - "2026-05-05T11:12:00", - "2026-05-05T11:13:00", - "2026-05-05T11:14:00", - "2026-05-05T11:15:00", - "2026-05-05T11:16:00", - "2026-05-05T11:17:00", - "2026-05-05T11:18:00", - "2026-05-05T11:19:00", - "2026-05-05T11:20:00", - "2026-05-05T11:21:00", - "2026-05-05T11:22:00", - "2026-05-05T11:23:00", - "2026-05-05T11:24:00", - "2026-05-05T11:25:00", - "2026-05-05T11:26:00", - "2026-05-05T11:27:00", - "2026-05-05T11:28:00", - "2026-05-05T11:29:00", - "2026-05-05T11:30:00", - "2026-05-05T11:31:00", - "2026-05-05T11:32:00", - "2026-05-05T11:33:00", - "2026-05-05T11:34:00", - "2026-05-05T11:35:00", - "2026-05-05T11:36:00", - "2026-05-05T11:37:00", - "2026-05-05T11:38:00", - "2026-05-05T11:39:00", - "2026-05-05T11:40:00", - "2026-05-05T11:41:00", - "2026-05-05T11:42:00", - "2026-05-05T11:43:00", - "2026-05-05T11:44:00", - "2026-05-05T11:45:00", - "2026-05-05T11:46:00", - "2026-05-05T11:47:00", - "2026-05-05T11:48:00", - "2026-05-05T11:49:00", - "2026-05-05T11:50:00", - "2026-05-05T11:51:00", - "2026-05-05T11:52:00", - "2026-05-05T11:53:00", - "2026-05-05T11:54:00", - "2026-05-05T11:55:00", - "2026-05-05T11:56:00", - "2026-05-05T11:57:00", - "2026-05-05T11:58:00", - "2026-05-05T11:59:00", - "2026-05-05T12:00:00", - "2026-05-05T12:01:00", - "2026-05-05T12:02:00", - "2026-05-05T12:03:00", - "2026-05-05T12:04:00", - "2026-05-05T12:05:00", - "2026-05-05T12:06:00", - "2026-05-05T12:07:00", - "2026-05-05T12:08:00", - "2026-05-05T12:09:00", - "2026-05-05T12:10:00", - "2026-05-05T12:11:00", - "2026-05-05T12:12:00", - "2026-05-05T12:13:00", - "2026-05-05T12:14:00", - "2026-05-05T12:15:00", - "2026-05-05T12:16:00", - "2026-05-05T12:17:00", - "2026-05-05T12:18:00", - "2026-05-05T12:19:00", - "2026-05-05T12:20:00", - "2026-05-05T12:21:00", - "2026-05-05T12:22:00", - "2026-05-05T12:23:00", - "2026-05-05T12:24:00", - "2026-05-05T12:25:00", - "2026-05-05T12:26:00", - "2026-05-05T12:27:00", - "2026-05-05T12:28:00", - "2026-05-05T12:29:00", - "2026-05-05T12:30:00", - "2026-05-05T12:31:00", - "2026-05-05T12:32:00", - "2026-05-05T12:33:00", - "2026-05-05T12:34:00", - "2026-05-05T12:35:00", - "2026-05-05T12:36:00", - "2026-05-05T12:37:00", - "2026-05-05T12:38:00", - "2026-05-05T12:39:00", - "2026-05-05T12:40:00", - "2026-05-05T12:41:00", - "2026-05-05T12:42:00", - "2026-05-05T12:43:00", - "2026-05-05T12:44:00", - "2026-05-05T12:45:00", - "2026-05-05T12:46:00", - "2026-05-05T12:47:00", - "2026-05-05T12:48:00", - "2026-05-05T12:49:00", - "2026-05-05T12:50:00", - "2026-05-05T12:51:00", - "2026-05-05T12:52:00", - "2026-05-05T12:53:00", - "2026-05-05T12:54:00", - "2026-05-05T12:55:00", - "2026-05-05T12:56:00", - "2026-05-05T12:57:00", - "2026-05-05T12:58:00", - "2026-05-05T12:59:00", - "2026-05-05T13:00:00", - "2026-05-05T13:01:00", - "2026-05-05T13:02:00", - "2026-05-05T13:03:00", - "2026-05-05T13:04:00", - "2026-05-05T13:05:00", - "2026-05-05T13:06:00", - "2026-05-05T13:07:00", - "2026-05-05T13:08:00", - "2026-05-05T13:09:00", - "2026-05-05T13:10:00", - "2026-05-05T13:11:00", - "2026-05-05T13:12:00", - "2026-05-05T13:13:00", - "2026-05-05T13:14:00", - "2026-05-05T13:15:00", - "2026-05-05T13:16:00", - "2026-05-05T13:17:00", - "2026-05-05T13:18:00", - "2026-05-05T13:19:00", - "2026-05-05T13:20:00", - "2026-05-05T13:21:00", - "2026-05-05T13:22:00", - "2026-05-05T13:23:00", - "2026-05-05T13:24:00", - "2026-05-05T13:25:00", - "2026-05-05T13:26:00", - "2026-05-05T13:27:00", - "2026-05-05T13:28:00", - "2026-05-05T13:29:00", - "2026-05-05T13:30:00", - "2026-05-05T13:31:00", - "2026-05-05T13:32:00", - "2026-05-05T13:33:00", - "2026-05-05T13:34:00", - "2026-05-05T13:35:00", - "2026-05-05T13:36:00", - "2026-05-05T13:37:00", - "2026-05-05T13:38:00", - "2026-05-05T13:39:00", - "2026-05-05T13:40:00", - "2026-05-05T13:41:00", - "2026-05-05T13:42:00", - "2026-05-05T13:43:00", - "2026-05-05T13:44:00", - "2026-05-05T13:45:00", - "2026-05-05T13:46:00", - "2026-05-05T13:47:00", - "2026-05-05T13:48:00", - "2026-05-05T13:49:00", - "2026-05-05T13:50:00", - "2026-05-05T13:51:00", - "2026-05-05T13:52:00", - "2026-05-05T13:53:00", - "2026-05-05T13:54:00", - "2026-05-05T13:55:00", - "2026-05-05T13:56:00", - "2026-05-05T13:57:00", - "2026-05-05T13:58:00", - "2026-05-05T13:59:00", - "2026-05-05T14:00:00", - "2026-05-05T14:01:00", - "2026-05-05T14:02:00", - "2026-05-05T14:03:00", - "2026-05-05T14:04:00", - "2026-05-05T14:05:00", - "2026-05-05T14:06:00", - "2026-05-05T14:07:00", - "2026-05-05T14:08:00", - "2026-05-05T14:09:00", - "2026-05-05T14:10:00", - "2026-05-05T14:11:00", - "2026-05-05T14:12:00", - "2026-05-05T14:13:00", - "2026-05-05T14:14:00", - "2026-05-05T14:15:00", - "2026-05-05T14:16:00", - "2026-05-05T14:17:00", - "2026-05-05T14:18:00", - "2026-05-05T14:19:00", - "2026-05-05T14:20:00", - "2026-05-05T14:21:00", - "2026-05-05T14:22:00", - "2026-05-05T14:23:00", - "2026-05-05T14:24:00", - "2026-05-05T14:25:00", - "2026-05-05T14:26:00", - "2026-05-05T14:27:00", - "2026-05-05T14:28:00", - "2026-05-05T14:29:00", - "2026-05-05T14:30:00", - "2026-05-05T14:31:00", - "2026-05-05T14:32:00", - "2026-05-05T14:33:00", - "2026-05-05T14:34:00", - "2026-05-05T14:35:00", - "2026-05-05T14:36:00", - "2026-05-05T14:37:00", - "2026-05-05T14:38:00", - "2026-05-05T14:39:00", - "2026-05-05T14:40:00", - "2026-05-05T14:41:00", - "2026-05-05T14:42:00", - "2026-05-05T14:43:00", - "2026-05-05T14:44:00", - "2026-05-05T14:45:00", - "2026-05-05T14:46:00", - "2026-05-05T14:47:00", - "2026-05-05T14:48:00", - "2026-05-05T14:49:00", - "2026-05-05T14:50:00", - "2026-05-05T14:51:00", - "2026-05-05T14:52:00", - "2026-05-05T14:53:00", - "2026-05-05T14:54:00", - "2026-05-05T14:55:00", - "2026-05-05T14:56:00", - "2026-05-05T14:57:00", - "2026-05-05T14:58:00", - "2026-05-05T14:59:00", - "2026-05-05T15:00:00", - "2026-05-05T15:01:00", - "2026-05-05T15:02:00", - "2026-05-05T15:03:00", - "2026-05-05T15:04:00", - "2026-05-05T15:05:00", - "2026-05-05T15:06:00", - "2026-05-05T15:07:00", - "2026-05-05T15:08:00", - "2026-05-05T15:09:00", - "2026-05-05T15:10:00", - "2026-05-05T15:11:00", - "2026-05-05T15:12:00", - "2026-05-05T15:13:00", - "2026-05-05T15:14:00", - "2026-05-05T15:15:00", - "2026-05-05T15:16:00", - "2026-05-05T15:17:00", - "2026-05-05T15:18:00", - "2026-05-05T15:19:00", - "2026-05-05T15:20:00", - "2026-05-05T15:21:00", - "2026-05-05T15:22:00", - "2026-05-05T15:23:00", - "2026-05-05T15:24:00", - "2026-05-05T15:25:00", - "2026-05-05T15:26:00", - "2026-05-05T15:27:00", - "2026-05-05T15:28:00", - "2026-05-05T15:29:00", - "2026-05-05T15:30:00", - "2026-05-05T15:31:00", - "2026-05-05T15:32:00", - "2026-05-05T15:33:00", - "2026-05-05T15:34:00", - "2026-05-05T15:35:00", - "2026-05-05T15:36:00", - "2026-05-05T15:37:00", - "2026-05-05T15:38:00", - "2026-05-05T15:39:00", - "2026-05-05T15:40:00", - "2026-05-05T15:41:00", - "2026-05-05T15:42:00", - "2026-05-05T15:43:00", - "2026-05-05T15:44:00", - "2026-05-05T15:45:00", - "2026-05-05T15:46:00", - "2026-05-05T15:47:00", - "2026-05-05T15:48:00", - "2026-05-05T15:49:00", - "2026-05-05T15:50:00", - "2026-05-05T15:51:00", - "2026-05-05T15:52:00", - "2026-05-05T15:53:00", - "2026-05-05T15:54:00", - "2026-05-05T15:55:00", - "2026-05-05T15:56:00", - "2026-05-05T15:57:00", - "2026-05-05T15:58:00", - "2026-05-05T15:59:00", - "2026-05-05T16:00:00", - "2026-05-05T16:01:00", - "2026-05-05T16:02:00", - "2026-05-05T16:03:00", - "2026-05-05T16:04:00", - "2026-05-05T16:05:00", - "2026-05-05T16:06:00", - "2026-05-05T16:07:00", - "2026-05-05T16:08:00", - "2026-05-05T16:09:00", - "2026-05-05T16:10:00", - "2026-05-05T16:11:00", - "2026-05-05T16:12:00", - "2026-05-05T16:13:00", - "2026-05-05T16:14:00", - "2026-05-05T16:15:00", - "2026-05-05T16:16:00", - "2026-05-05T16:17:00", - "2026-05-05T16:18:00", - "2026-05-05T16:19:00", - "2026-05-05T16:20:00", - "2026-05-05T16:21:00", - "2026-05-05T16:22:00", - "2026-05-05T16:23:00", - "2026-05-05T16:24:00", - "2026-05-05T16:25:00", - "2026-05-05T16:26:00", - "2026-05-05T16:27:00", - "2026-05-05T16:28:00", - "2026-05-05T16:29:00", - "2026-05-05T16:30:00", - "2026-05-05T16:31:00", - "2026-05-05T16:32:00", - "2026-05-05T16:33:00", - "2026-05-05T16:34:00", - "2026-05-05T16:35:00", - "2026-05-05T16:36:00", - "2026-05-05T16:37:00", - "2026-05-05T16:38:00", - "2026-05-05T16:39:00", - "2026-05-05T16:40:00", - "2026-05-05T16:41:00", - "2026-05-05T16:42:00", - "2026-05-05T16:43:00", - "2026-05-05T16:44:00", - "2026-05-05T16:45:00", - "2026-05-05T16:46:00", - "2026-05-05T16:47:00", - "2026-05-05T16:48:00", - "2026-05-05T16:49:00", - "2026-05-05T16:50:00", - "2026-05-05T16:51:00", - "2026-05-05T16:52:00", - "2026-05-05T16:53:00", - "2026-05-05T16:54:00", - "2026-05-05T16:55:00", - "2026-05-05T16:56:00", - "2026-05-05T16:57:00", - "2026-05-05T16:58:00", - "2026-05-05T16:59:00", - "2026-05-05T17:00:00", - "2026-05-05T17:01:00", - "2026-05-05T17:02:00", - "2026-05-05T17:03:00", - "2026-05-05T17:04:00", - "2026-05-05T17:05:00", - "2026-05-05T17:06:00", - "2026-05-05T17:07:00", - "2026-05-05T17:08:00", - "2026-05-05T17:09:00", - "2026-05-05T17:10:00", - "2026-05-05T17:11:00", - "2026-05-05T17:12:00", - "2026-05-05T17:13:00", - "2026-05-05T17:14:00", - "2026-05-05T17:15:00", - "2026-05-05T17:16:00", - "2026-05-05T17:17:00", - "2026-05-05T17:18:00", - "2026-05-05T17:19:00", - "2026-05-05T17:20:00", - "2026-05-05T17:21:00", - "2026-05-05T17:22:00", - "2026-05-05T17:23:00", - "2026-05-05T17:24:00", - "2026-05-05T17:25:00", - "2026-05-05T17:26:00", - "2026-05-05T17:27:00", - "2026-05-05T17:28:00", - "2026-05-05T17:29:00", - "2026-05-05T17:30:00", - "2026-05-05T17:31:00", - "2026-05-05T17:32:00", - "2026-05-05T17:33:00", - "2026-05-05T17:34:00", - "2026-05-05T17:35:00", - "2026-05-05T17:36:00", - "2026-05-05T17:37:00", - "2026-05-05T17:38:00", - "2026-05-05T17:39:00", - "2026-05-05T17:40:00", - "2026-05-05T17:41:00", - "2026-05-05T17:42:00", - "2026-05-05T17:43:00", - "2026-05-05T17:44:00", - "2026-05-05T17:45:00", - "2026-05-05T17:46:00", - "2026-05-05T17:47:00", - "2026-05-05T17:48:00", - "2026-05-05T17:49:00", - "2026-05-05T17:50:00", - "2026-05-05T17:51:00", - "2026-05-05T17:52:00", - "2026-05-05T17:53:00", - "2026-05-05T17:54:00", - "2026-05-05T17:55:00", - "2026-05-05T17:56:00", - "2026-05-05T17:57:00", - "2026-05-05T17:58:00", - "2026-05-05T17:59:00", - "2026-05-05T18:00:00", - "2026-05-05T18:01:00", - "2026-05-05T18:02:00", - "2026-05-05T18:03:00", - "2026-05-05T18:04:00", - "2026-05-05T18:05:00", - "2026-05-05T18:06:00", - "2026-05-05T18:07:00", - "2026-05-05T18:08:00", - "2026-05-05T18:09:00", - "2026-05-05T18:10:00", - "2026-05-05T18:11:00", - "2026-05-05T18:12:00", - "2026-05-05T18:13:00", - "2026-05-05T18:14:00", - "2026-05-05T18:15:00", - "2026-05-05T18:16:00", - "2026-05-05T18:17:00", - "2026-05-05T18:18:00", - "2026-05-05T18:19:00", - "2026-05-05T18:20:00", - "2026-05-05T18:21:00", - "2026-05-05T18:22:00", - "2026-05-05T18:23:00", - "2026-05-05T18:24:00", - "2026-05-05T18:25:00", - "2026-05-05T18:26:00", - "2026-05-05T18:27:00", - "2026-05-05T18:28:00", - "2026-05-05T18:29:00", - "2026-05-05T18:30:00", - "2026-05-05T18:31:00", - "2026-05-05T18:32:00", - "2026-05-05T18:33:00", - "2026-05-05T18:34:00", - "2026-05-05T18:35:00", - "2026-05-05T18:36:00", - "2026-05-05T18:37:00", - "2026-05-05T18:38:00", - "2026-05-05T18:39:00", - "2026-05-05T18:40:00", - "2026-05-05T18:41:00", - "2026-05-05T18:42:00", - "2026-05-05T18:43:00", - "2026-05-05T18:44:00", - "2026-05-05T18:45:00", - "2026-05-05T18:46:00", - "2026-05-05T18:47:00", - "2026-05-05T18:48:00", - "2026-05-05T18:49:00", - "2026-05-05T18:50:00", - "2026-05-05T18:51:00", - "2026-05-05T18:52:00", - "2026-05-05T18:53:00", - "2026-05-05T18:54:00", - "2026-05-05T18:55:00", - "2026-05-05T18:56:00", - "2026-05-05T18:57:00", - "2026-05-05T18:58:00", - "2026-05-05T18:59:00", - "2026-05-05T19:00:00", - "2026-05-05T19:01:00", - "2026-05-05T19:02:00", - "2026-05-05T19:03:00", - "2026-05-05T19:04:00", - "2026-05-05T19:05:00", - "2026-05-05T19:06:00", - "2026-05-05T19:07:00", - "2026-05-05T19:08:00", - "2026-05-05T19:09:00", - "2026-05-05T19:10:00", - "2026-05-05T19:11:00", - "2026-05-05T19:12:00", - "2026-05-05T19:13:00", - "2026-05-05T19:14:00", - "2026-05-05T19:15:00", - "2026-05-05T19:16:00", - "2026-05-05T19:17:00", - "2026-05-05T19:18:00", - "2026-05-05T19:19:00", - "2026-05-05T19:20:00", - "2026-05-05T19:21:00", - "2026-05-05T19:22:00", - "2026-05-05T19:23:00", - "2026-05-05T19:24:00", - "2026-05-05T19:25:00", - "2026-05-05T19:26:00", - "2026-05-05T19:27:00", - "2026-05-05T19:28:00", - "2026-05-05T19:29:00", - "2026-05-05T19:30:00", - "2026-05-05T19:31:00", - "2026-05-05T19:32:00", - "2026-05-05T19:33:00", - "2026-05-05T19:34:00", - "2026-05-05T19:35:00", - "2026-05-05T19:36:00", - "2026-05-05T19:37:00", - "2026-05-05T19:38:00", - "2026-05-05T19:39:00", - "2026-05-05T19:40:00", - "2026-05-05T19:41:00", - "2026-05-05T19:42:00", - "2026-05-05T19:43:00", - "2026-05-05T19:44:00", - "2026-05-05T19:45:00", - "2026-05-05T19:46:00", - "2026-05-05T19:47:00", - "2026-05-05T19:48:00", - "2026-05-05T19:49:00", - "2026-05-05T19:50:00", - "2026-05-05T19:51:00", - "2026-05-05T19:52:00", - "2026-05-05T19:53:00", - "2026-05-05T19:54:00", - "2026-05-05T19:55:00", - "2026-05-05T19:56:00", - "2026-05-05T19:57:00", - "2026-05-05T19:58:00", - "2026-05-05T19:59:00", - "2026-05-05T20:00:00", - "2026-05-05T20:01:00", - "2026-05-05T20:02:00", - "2026-05-05T20:03:00", - "2026-05-05T20:04:00", - "2026-05-05T20:05:00", - "2026-05-05T20:06:00", - "2026-05-05T20:07:00", - "2026-05-05T20:08:00", - "2026-05-05T20:09:00", - "2026-05-05T20:10:00", - "2026-05-05T20:11:00", - "2026-05-05T20:12:00", - "2026-05-05T20:13:00", - "2026-05-05T20:14:00", - "2026-05-05T20:15:00", - "2026-05-05T20:16:00", - "2026-05-05T20:17:00", - "2026-05-05T20:18:00", - "2026-05-05T20:19:00", - "2026-05-05T20:20:00", - "2026-05-05T20:21:00", - "2026-05-05T20:22:00", - "2026-05-05T20:23:00", - "2026-05-05T20:24:00", - "2026-05-05T20:25:00", - "2026-05-05T20:26:00", - "2026-05-05T20:27:00", - "2026-05-05T20:28:00", - "2026-05-05T20:29:00", - "2026-05-05T20:30:00", - "2026-05-05T20:31:00", - "2026-05-05T20:32:00", - "2026-05-05T20:33:00", - "2026-05-05T20:34:00", - "2026-05-05T20:35:00", - "2026-05-05T20:36:00", - "2026-05-05T20:37:00", - "2026-05-05T20:38:00", - "2026-05-05T20:39:00", - "2026-05-05T20:40:00", - "2026-05-05T20:41:00", - "2026-05-05T20:42:00", - "2026-05-05T20:43:00", - "2026-05-05T20:44:00", - "2026-05-05T20:45:00", - "2026-05-05T20:46:00", - "2026-05-05T20:47:00", - "2026-05-05T20:48:00", - "2026-05-05T20:49:00", - "2026-05-05T20:50:00", - "2026-05-05T20:51:00", - "2026-05-05T20:52:00", - "2026-05-05T20:53:00", - "2026-05-05T20:54:00", - "2026-05-05T20:55:00", - "2026-05-05T20:56:00", - "2026-05-05T20:57:00", - "2026-05-05T20:58:00", - "2026-05-05T20:59:00", - "2026-05-05T21:00:00", - "2026-05-05T21:01:00", - "2026-05-05T21:02:00", - "2026-05-05T21:03:00", - "2026-05-05T21:04:00", - "2026-05-05T21:05:00", - "2026-05-05T21:06:00", - "2026-05-05T21:07:00", - "2026-05-05T21:08:00", - "2026-05-05T21:09:00", - "2026-05-05T21:10:00", - "2026-05-05T21:11:00", - "2026-05-05T21:12:00", - "2026-05-05T21:13:00", - "2026-05-05T21:14:00", - "2026-05-05T21:15:00", - "2026-05-05T21:16:00", - "2026-05-05T21:17:00", - "2026-05-05T21:18:00", - "2026-05-05T21:19:00", - "2026-05-05T21:20:00", - "2026-05-05T21:21:00", - "2026-05-05T21:22:00", - "2026-05-05T21:23:00", - "2026-05-05T21:24:00", - "2026-05-05T21:25:00", - "2026-05-05T21:26:00", - "2026-05-05T21:27:00", - "2026-05-05T21:28:00", - "2026-05-05T21:29:00", - "2026-05-05T21:30:00", - "2026-05-05T21:31:00", - "2026-05-05T21:32:00", - "2026-05-05T21:33:00", - "2026-05-05T21:34:00", - "2026-05-05T21:35:00", - "2026-05-05T21:36:00", - "2026-05-05T21:37:00", - "2026-05-05T21:38:00", - "2026-05-05T21:39:00", - "2026-05-05T21:40:00", - "2026-05-05T21:41:00", - "2026-05-05T21:42:00", - "2026-05-05T21:43:00", - "2026-05-05T21:44:00", - "2026-05-05T21:45:00", - "2026-05-05T21:46:00", - "2026-05-05T21:47:00", - "2026-05-05T21:48:00", - "2026-05-05T21:49:00", - "2026-05-05T21:50:00", - "2026-05-05T21:51:00", - "2026-05-05T21:52:00", - "2026-05-05T21:53:00", - "2026-05-05T21:54:00", - "2026-05-05T21:55:00", - "2026-05-05T21:56:00", - "2026-05-05T21:57:00", - "2026-05-05T21:58:00", - "2026-05-05T21:59:00", - "2026-05-05T22:00:00", - "2026-05-05T22:01:00", - "2026-05-05T22:02:00", - "2026-05-05T22:03:00", - "2026-05-05T22:04:00", - "2026-05-05T22:05:00", - "2026-05-05T22:06:00", - "2026-05-05T22:07:00", - "2026-05-05T22:08:00", - "2026-05-05T22:09:00", - "2026-05-05T22:10:00", - "2026-05-05T22:11:00", - "2026-05-05T22:12:00", - "2026-05-05T22:13:00", - "2026-05-05T22:14:00", - "2026-05-05T22:15:00", - "2026-05-05T22:16:00", - "2026-05-05T22:17:00", - "2026-05-05T22:18:00", - "2026-05-05T22:19:00", - "2026-05-05T22:20:00", - "2026-05-05T22:21:00", - "2026-05-05T22:22:00", - "2026-05-05T22:23:00", - "2026-05-05T22:24:00", - "2026-05-05T22:25:00", - "2026-05-05T22:26:00", - "2026-05-05T22:27:00", - "2026-05-05T22:28:00", - "2026-05-05T22:29:00", - "2026-05-05T22:30:00", - "2026-05-05T22:31:00", - "2026-05-05T22:32:00", - "2026-05-05T22:33:00", - "2026-05-05T22:34:00", - "2026-05-05T22:35:00", - "2026-05-05T22:36:00", - "2026-05-05T22:37:00", - "2026-05-05T22:38:00", - "2026-05-05T22:39:00", - "2026-05-05T22:40:00", - "2026-05-05T22:41:00", - "2026-05-05T22:42:00", - "2026-05-05T22:43:00", - "2026-05-05T22:44:00", - "2026-05-05T22:45:00", - "2026-05-05T22:46:00", - "2026-05-05T22:47:00", - "2026-05-05T22:48:00", - "2026-05-05T22:49:00", - "2026-05-05T22:50:00", - "2026-05-05T22:51:00", - "2026-05-05T22:52:00", - "2026-05-05T22:53:00", - "2026-05-05T22:54:00", - "2026-05-05T22:55:00", - "2026-05-05T22:56:00", - "2026-05-05T22:57:00", - "2026-05-05T22:58:00", - "2026-05-05T22:59:00", - "2026-05-05T23:00:00", - "2026-05-05T23:01:00", - "2026-05-05T23:02:00", - "2026-05-05T23:03:00", - "2026-05-05T23:04:00", - "2026-05-05T23:05:00", - "2026-05-05T23:06:00", - "2026-05-05T23:07:00", - "2026-05-05T23:08:00", - "2026-05-05T23:09:00", - "2026-05-05T23:10:00", - "2026-05-05T23:11:00", - "2026-05-05T23:12:00", - "2026-05-05T23:13:00", - "2026-05-05T23:14:00", - "2026-05-05T23:15:00", - "2026-05-05T23:16:00", - "2026-05-05T23:17:00", - "2026-05-05T23:18:00", - "2026-05-05T23:19:00", - "2026-05-05T23:20:00", - "2026-05-05T23:21:00", - "2026-05-05T23:22:00", - "2026-05-05T23:23:00", - "2026-05-05T23:24:00", - "2026-05-05T23:25:00", - "2026-05-05T23:26:00", - "2026-05-05T23:27:00", - "2026-05-05T23:28:00", - "2026-05-05T23:29:00", - "2026-05-05T23:30:00", - "2026-05-05T23:31:00", - "2026-05-05T23:32:00", - "2026-05-05T23:33:00", - "2026-05-05T23:34:00", - "2026-05-05T23:35:00", - "2026-05-05T23:36:00", - "2026-05-05T23:37:00", - "2026-05-05T23:38:00", - "2026-05-05T23:39:00", - "2026-05-05T23:40:00", - "2026-05-05T23:41:00", - "2026-05-05T23:42:00", - "2026-05-05T23:43:00", - "2026-05-05T23:44:00", - "2026-05-05T23:45:00", - "2026-05-05T23:46:00", - "2026-05-05T23:47:00", - "2026-05-05T23:48:00", - "2026-05-05T23:49:00", - "2026-05-05T23:50:00", - "2026-05-05T23:51:00", - "2026-05-05T23:52:00", - "2026-05-05T23:53:00", - "2026-05-05T23:54:00", - "2026-05-05T23:55:00", - "2026-05-05T23:56:00", - "2026-05-05T23:57:00", - "2026-05-05T23:58:00", - "2026-05-05T23:59:00", - "2026-05-06T00:00:00", - "2026-05-06T00:01:00", - "2026-05-06T00:02:00", - "2026-05-06T00:03:00", - "2026-05-06T00:04:00", - "2026-05-06T00:05:00", - "2026-05-06T00:06:00", - "2026-05-06T00:07:00", - "2026-05-06T00:08:00", - "2026-05-06T00:09:00", - "2026-05-06T00:10:00", - "2026-05-06T00:11:00", - "2026-05-06T00:12:00", - "2026-05-06T00:13:00", - "2026-05-06T00:14:00", - "2026-05-06T00:15:00", - "2026-05-06T00:16:00", - "2026-05-06T00:17:00", - "2026-05-06T00:18:00", - "2026-05-06T00:19:00", - "2026-05-06T00:20:00", - "2026-05-06T00:21:00", - "2026-05-06T00:22:00", - "2026-05-06T00:23:00", - "2026-05-06T00:24:00", - "2026-05-06T00:25:00", - "2026-05-06T00:26:00", - "2026-05-06T00:27:00", - "2026-05-06T00:28:00", - "2026-05-06T00:29:00", - "2026-05-06T00:30:00", - "2026-05-06T00:31:00", - "2026-05-06T00:32:00", - "2026-05-06T00:33:00", - "2026-05-06T00:34:00", - "2026-05-06T00:35:00", - "2026-05-06T00:36:00", - "2026-05-06T00:37:00", - "2026-05-06T00:38:00", - "2026-05-06T00:39:00", - "2026-05-06T00:40:00", - "2026-05-06T00:41:00", - "2026-05-06T00:42:00", - "2026-05-06T00:43:00", - "2026-05-06T00:44:00", - "2026-05-06T00:45:00", - "2026-05-06T00:46:00", - "2026-05-06T00:47:00", - "2026-05-06T00:48:00", - "2026-05-06T00:49:00", - "2026-05-06T00:50:00", - "2026-05-06T00:51:00", - "2026-05-06T00:52:00", - "2026-05-06T00:53:00", - "2026-05-06T00:54:00", - "2026-05-06T00:55:00", - "2026-05-06T00:56:00", - "2026-05-06T00:57:00", - "2026-05-06T00:58:00", - "2026-05-06T00:59:00", - "2026-05-06T01:00:00", - "2026-05-06T01:01:00", - "2026-05-06T01:02:00", - "2026-05-06T01:03:00", - "2026-05-06T01:04:00", - "2026-05-06T01:05:00", - "2026-05-06T01:06:00", - "2026-05-06T01:07:00", - "2026-05-06T01:08:00", - "2026-05-06T01:09:00", - "2026-05-06T01:10:00", - "2026-05-06T01:11:00", - "2026-05-06T01:12:00", - "2026-05-06T01:13:00", - "2026-05-06T01:14:00", - "2026-05-06T01:15:00", - "2026-05-06T01:16:00", - "2026-05-06T01:17:00", - "2026-05-06T01:18:00", - "2026-05-06T01:19:00", - "2026-05-06T01:20:00", - "2026-05-06T01:21:00", - "2026-05-06T01:22:00", - "2026-05-06T01:23:00", - "2026-05-06T01:24:00", - "2026-05-06T01:25:00", - "2026-05-06T01:26:00", - "2026-05-06T01:27:00", - "2026-05-06T01:28:00", - "2026-05-06T01:29:00", - "2026-05-06T01:30:00", - "2026-05-06T01:31:00", - "2026-05-06T01:32:00", - "2026-05-06T01:33:00", - "2026-05-06T01:34:00", - "2026-05-06T01:35:00", - "2026-05-06T01:36:00", - "2026-05-06T01:37:00", - "2026-05-06T01:38:00", - "2026-05-06T01:39:00", - "2026-05-06T01:40:00", - "2026-05-06T01:41:00", - "2026-05-06T01:42:00", - "2026-05-06T01:43:00", - "2026-05-06T01:44:00", - "2026-05-06T01:45:00", - "2026-05-06T01:46:00", - "2026-05-06T01:47:00", - "2026-05-06T01:48:00", - "2026-05-06T01:49:00", - "2026-05-06T01:50:00", - "2026-05-06T01:51:00", - "2026-05-06T01:52:00", - "2026-05-06T01:53:00", - "2026-05-06T01:54:00", - "2026-05-06T01:55:00", - "2026-05-06T01:56:00", - "2026-05-06T01:57:00", - "2026-05-06T01:58:00", - "2026-05-06T01:59:00", - "2026-05-06T02:00:00", - "2026-05-06T02:01:00", - "2026-05-06T02:02:00", - "2026-05-06T02:03:00", - "2026-05-06T02:04:00", - "2026-05-06T02:05:00", - "2026-05-06T02:06:00", - "2026-05-06T02:07:00", - "2026-05-06T02:08:00", - "2026-05-06T02:09:00", - "2026-05-06T02:10:00", - "2026-05-06T02:11:00", - "2026-05-06T02:12:00", - "2026-05-06T02:13:00", - "2026-05-06T02:14:00", - "2026-05-06T02:15:00", - "2026-05-06T02:16:00", - "2026-05-06T02:17:00", - "2026-05-06T02:18:00", - "2026-05-06T02:19:00", - "2026-05-06T02:20:00", - "2026-05-06T02:21:00", - "2026-05-06T02:22:00", - "2026-05-06T02:23:00", - "2026-05-06T02:24:00", - "2026-05-06T02:25:00", - "2026-05-06T02:26:00", - "2026-05-06T02:27:00", - "2026-05-06T02:28:00", - "2026-05-06T02:29:00", - "2026-05-06T02:30:00", - "2026-05-06T02:31:00", - "2026-05-06T02:32:00", - "2026-05-06T02:33:00", - "2026-05-06T02:34:00", - "2026-05-06T02:35:00", - "2026-05-06T02:36:00", - "2026-05-06T02:37:00", - "2026-05-06T02:38:00", - "2026-05-06T02:39:00", - "2026-05-06T02:40:00", - "2026-05-06T02:41:00", - "2026-05-06T02:42:00", - "2026-05-06T02:43:00", - "2026-05-06T02:44:00", - "2026-05-06T02:45:00", - "2026-05-06T02:46:00", - "2026-05-06T02:47:00", - "2026-05-06T02:48:00", - "2026-05-06T02:49:00", - "2026-05-06T02:50:00", - "2026-05-06T02:51:00", - "2026-05-06T02:52:00", - "2026-05-06T02:53:00", - "2026-05-06T02:54:00", - "2026-05-06T02:55:00", - "2026-05-06T02:56:00", - "2026-05-06T02:57:00", - "2026-05-06T02:58:00", - "2026-05-06T02:59:00", - "2026-05-06T03:00:00", - "2026-05-06T03:01:00", - "2026-05-06T03:02:00", - "2026-05-06T03:03:00", - "2026-05-06T03:04:00", - "2026-05-06T03:05:00", - "2026-05-06T03:06:00", - "2026-05-06T03:07:00", - "2026-05-06T03:08:00", - "2026-05-06T03:09:00", - "2026-05-06T03:10:00", - "2026-05-06T03:11:00", - "2026-05-06T03:12:00", - "2026-05-06T03:13:00", - "2026-05-06T03:14:00", - "2026-05-06T03:15:00", - "2026-05-06T03:16:00", - "2026-05-06T03:17:00", - "2026-05-06T03:18:00", - "2026-05-06T03:19:00", - "2026-05-06T03:20:00", - "2026-05-06T03:21:00", - "2026-05-06T03:22:00", - "2026-05-06T03:23:00", - "2026-05-06T03:24:00", - "2026-05-06T03:25:00", - "2026-05-06T03:26:00", - "2026-05-06T03:27:00", - "2026-05-06T03:28:00", - "2026-05-06T03:29:00", - "2026-05-06T03:30:00", - "2026-05-06T03:31:00", - "2026-05-06T03:32:00", - "2026-05-06T03:33:00", - "2026-05-06T03:34:00", - "2026-05-06T03:35:00", - "2026-05-06T03:36:00", - "2026-05-06T03:37:00", - "2026-05-06T03:38:00", - "2026-05-06T03:39:00", - "2026-05-06T03:40:00", - "2026-05-06T03:41:00", - "2026-05-06T03:42:00", - "2026-05-06T03:43:00", - "2026-05-06T03:44:00", - "2026-05-06T03:45:00", - "2026-05-06T03:46:00", - "2026-05-06T03:47:00", - "2026-05-06T03:48:00", - "2026-05-06T03:49:00", - "2026-05-06T03:50:00", - "2026-05-06T03:51:00", - "2026-05-06T03:52:00", - "2026-05-06T03:53:00", - "2026-05-06T03:54:00", - "2026-05-06T03:55:00", - "2026-05-06T03:56:00", - "2026-05-06T03:57:00", - "2026-05-06T03:58:00", - "2026-05-06T03:59:00", - "2026-05-06T04:00:00", - "2026-05-06T04:01:00", - "2026-05-06T04:02:00", - "2026-05-06T04:03:00", - "2026-05-06T04:04:00", - "2026-05-06T04:05:00", - "2026-05-06T04:06:00", - "2026-05-06T04:07:00", - "2026-05-06T04:08:00", - "2026-05-06T04:09:00", - "2026-05-06T04:10:00", - "2026-05-06T04:11:00", - "2026-05-06T04:12:00", - "2026-05-06T04:13:00", - "2026-05-06T04:14:00", - "2026-05-06T04:15:00", - "2026-05-06T04:16:00", - "2026-05-06T04:17:00", - "2026-05-06T04:18:00", - "2026-05-06T04:19:00", - "2026-05-06T04:20:00", - "2026-05-06T04:21:00", - "2026-05-06T04:22:00", - "2026-05-06T04:23:00", - "2026-05-06T04:24:00", - "2026-05-06T04:25:00", - "2026-05-06T04:26:00", - "2026-05-06T04:27:00", - "2026-05-06T04:28:00", - "2026-05-06T04:29:00", - "2026-05-06T04:30:00", - "2026-05-06T04:31:00", - "2026-05-06T04:32:00", - "2026-05-06T04:33:00", - "2026-05-06T04:34:00", - "2026-05-06T04:35:00", - "2026-05-06T04:36:00", - "2026-05-06T04:37:00", - "2026-05-06T04:38:00", - "2026-05-06T04:39:00", - "2026-05-06T04:40:00", - "2026-05-06T04:41:00", - "2026-05-06T04:42:00", - "2026-05-06T04:43:00", - "2026-05-06T04:44:00", - "2026-05-06T04:45:00", - "2026-05-06T04:46:00", - "2026-05-06T04:47:00", - "2026-05-06T04:48:00", - "2026-05-06T04:49:00", - "2026-05-06T04:50:00", - "2026-05-06T04:51:00", - "2026-05-06T04:52:00", - "2026-05-06T04:53:00", - "2026-05-06T04:54:00", - "2026-05-06T04:55:00", - "2026-05-06T04:56:00", - "2026-05-06T04:57:00", - "2026-05-06T04:58:00", - "2026-05-06T04:59:00", - "2026-05-06T05:00:00", - "2026-05-06T05:01:00", - "2026-05-06T05:02:00", - "2026-05-06T05:03:00", - "2026-05-06T05:04:00", - "2026-05-06T05:05:00", - "2026-05-06T05:06:00", - "2026-05-06T05:07:00", - "2026-05-06T05:08:00", - "2026-05-06T05:09:00", - "2026-05-06T05:10:00", - "2026-05-06T05:11:00", - "2026-05-06T05:12:00", - "2026-05-06T05:13:00", - "2026-05-06T05:14:00", - "2026-05-06T05:15:00", - "2026-05-06T05:16:00", - "2026-05-06T05:17:00" - ], - "xaxis": "x", - "y": { - "bdata": "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", - "dtype": "f8" - }, - "yaxis": "y" - }, - { - "name": "Extend Px", - "type": "scatter", - "x": [ - "2026-05-05T05:19:00", - "2026-05-05T05:20:00", - "2026-05-05T05:21:00", - "2026-05-05T05:22:00", - "2026-05-05T05:23:00", - "2026-05-05T05:24:00", - "2026-05-05T05:25:00", - "2026-05-05T05:26:00", - "2026-05-05T05:27:00", - "2026-05-05T05:28:00", - "2026-05-05T05:29:00", - "2026-05-05T05:30:00", - "2026-05-05T05:31:00", - "2026-05-05T05:32:00", - "2026-05-05T05:33:00", - "2026-05-05T05:34:00", - "2026-05-05T05:35:00", - "2026-05-05T05:36:00", - "2026-05-05T05:37:00", - "2026-05-05T05:38:00", - "2026-05-05T05:39:00", - "2026-05-05T05:40:00", - "2026-05-05T05:41:00", - "2026-05-05T05:42:00", - "2026-05-05T05:43:00", - "2026-05-05T05:44:00", - "2026-05-05T05:45:00", - "2026-05-05T05:46:00", - "2026-05-05T05:47:00", - "2026-05-05T05:48:00", - "2026-05-05T05:49:00", - "2026-05-05T05:50:00", - "2026-05-05T05:51:00", - "2026-05-05T05:52:00", - "2026-05-05T05:53:00", - "2026-05-05T05:54:00", - "2026-05-05T05:55:00", - "2026-05-05T05:56:00", - "2026-05-05T05:57:00", - "2026-05-05T05:58:00", - "2026-05-05T05:59:00", - "2026-05-05T06:00:00", - "2026-05-05T06:01:00", - "2026-05-05T06:02:00", - "2026-05-05T06:03:00", - "2026-05-05T06:04:00", - "2026-05-05T06:05:00", - "2026-05-05T06:06:00", - "2026-05-05T06:07:00", - "2026-05-05T06:08:00", - "2026-05-05T06:09:00", - "2026-05-05T06:10:00", - "2026-05-05T06:11:00", - "2026-05-05T06:12:00", - "2026-05-05T06:13:00", - "2026-05-05T06:14:00", - "2026-05-05T06:15:00", - "2026-05-05T06:16:00", - "2026-05-05T06:17:00", - "2026-05-05T06:18:00", - "2026-05-05T06:19:00", - "2026-05-05T06:20:00", - "2026-05-05T06:21:00", - "2026-05-05T06:22:00", - "2026-05-05T06:23:00", - "2026-05-05T06:24:00", - "2026-05-05T06:25:00", - "2026-05-05T06:26:00", - "2026-05-05T06:27:00", - "2026-05-05T06:28:00", - "2026-05-05T06:29:00", - "2026-05-05T06:30:00", - "2026-05-05T06:31:00", - "2026-05-05T06:32:00", - "2026-05-05T06:33:00", - "2026-05-05T06:34:00", - "2026-05-05T06:35:00", - "2026-05-05T06:36:00", - "2026-05-05T06:37:00", - "2026-05-05T06:38:00", - "2026-05-05T06:39:00", - "2026-05-05T06:40:00", - "2026-05-05T06:41:00", - "2026-05-05T06:42:00", - "2026-05-05T06:43:00", - "2026-05-05T06:44:00", - "2026-05-05T06:45:00", - "2026-05-05T06:46:00", - "2026-05-05T06:47:00", - "2026-05-05T06:48:00", - "2026-05-05T06:49:00", - "2026-05-05T06:50:00", - "2026-05-05T06:51:00", - "2026-05-05T06:52:00", - "2026-05-05T06:53:00", - "2026-05-05T06:54:00", - "2026-05-05T06:55:00", - "2026-05-05T06:56:00", - "2026-05-05T06:57:00", - "2026-05-05T06:58:00", - "2026-05-05T06:59:00", - "2026-05-05T07:00:00", - "2026-05-05T07:01:00", - "2026-05-05T07:02:00", - "2026-05-05T07:03:00", - "2026-05-05T07:04:00", - "2026-05-05T07:05:00", - "2026-05-05T07:06:00", - "2026-05-05T07:07:00", - "2026-05-05T07:08:00", - "2026-05-05T07:09:00", - "2026-05-05T07:10:00", - "2026-05-05T07:11:00", - "2026-05-05T07:12:00", - "2026-05-05T07:13:00", - "2026-05-05T07:14:00", - "2026-05-05T07:15:00", - "2026-05-05T07:16:00", - "2026-05-05T07:17:00", - "2026-05-05T07:18:00", - "2026-05-05T07:19:00", - "2026-05-05T07:20:00", - "2026-05-05T07:21:00", - "2026-05-05T07:22:00", - "2026-05-05T07:23:00", - "2026-05-05T07:24:00", - "2026-05-05T07:25:00", - "2026-05-05T07:26:00", - "2026-05-05T07:27:00", - "2026-05-05T07:28:00", - "2026-05-05T07:29:00", - "2026-05-05T07:30:00", - "2026-05-05T07:31:00", - "2026-05-05T07:32:00", - "2026-05-05T07:33:00", - "2026-05-05T07:34:00", - "2026-05-05T07:35:00", - "2026-05-05T07:36:00", - "2026-05-05T07:37:00", - "2026-05-05T07:38:00", - "2026-05-05T07:39:00", - "2026-05-05T07:40:00", - "2026-05-05T07:41:00", - "2026-05-05T07:42:00", - "2026-05-05T07:43:00", - "2026-05-05T07:44:00", - "2026-05-05T07:45:00", - "2026-05-05T07:46:00", - "2026-05-05T07:47:00", - "2026-05-05T07:48:00", - "2026-05-05T07:49:00", - "2026-05-05T07:50:00", - "2026-05-05T07:51:00", - "2026-05-05T07:52:00", - "2026-05-05T07:53:00", - "2026-05-05T07:54:00", - "2026-05-05T07:55:00", - "2026-05-05T07:56:00", - "2026-05-05T07:57:00", - "2026-05-05T07:58:00", - "2026-05-05T07:59:00", - "2026-05-05T08:00:00", - "2026-05-05T08:01:00", - "2026-05-05T08:02:00", - "2026-05-05T08:03:00", - "2026-05-05T08:04:00", - "2026-05-05T08:05:00", - "2026-05-05T08:06:00", - "2026-05-05T08:07:00", - "2026-05-05T08:08:00", - "2026-05-05T08:09:00", - "2026-05-05T08:10:00", - "2026-05-05T08:11:00", - "2026-05-05T08:12:00", - "2026-05-05T08:13:00", - "2026-05-05T08:14:00", - "2026-05-05T08:15:00", - "2026-05-05T08:16:00", - "2026-05-05T08:17:00", - "2026-05-05T08:18:00", - "2026-05-05T08:19:00", - "2026-05-05T08:20:00", - "2026-05-05T08:21:00", - "2026-05-05T08:22:00", - "2026-05-05T08:23:00", - "2026-05-05T08:24:00", - "2026-05-05T08:25:00", - "2026-05-05T08:26:00", - "2026-05-05T08:27:00", - "2026-05-05T08:28:00", - "2026-05-05T08:29:00", - "2026-05-05T08:30:00", - "2026-05-05T08:31:00", - "2026-05-05T08:32:00", - "2026-05-05T08:33:00", - "2026-05-05T08:34:00", - "2026-05-05T08:35:00", - "2026-05-05T08:36:00", - "2026-05-05T08:37:00", - "2026-05-05T08:38:00", - "2026-05-05T08:39:00", - "2026-05-05T08:40:00", - "2026-05-05T08:41:00", - "2026-05-05T08:42:00", - "2026-05-05T08:43:00", - "2026-05-05T08:44:00", - "2026-05-05T08:45:00", - "2026-05-05T08:46:00", - "2026-05-05T08:47:00", - "2026-05-05T08:48:00", - "2026-05-05T08:49:00", - "2026-05-05T08:50:00", - "2026-05-05T08:51:00", - "2026-05-05T08:52:00", - "2026-05-05T08:53:00", - "2026-05-05T08:54:00", - "2026-05-05T08:55:00", - "2026-05-05T08:56:00", - "2026-05-05T08:57:00", - "2026-05-05T08:58:00", - "2026-05-05T08:59:00", - "2026-05-05T09:00:00", - "2026-05-05T09:01:00", - "2026-05-05T09:02:00", - "2026-05-05T09:03:00", - "2026-05-05T09:04:00", - "2026-05-05T09:05:00", - "2026-05-05T09:06:00", - "2026-05-05T09:07:00", - "2026-05-05T09:08:00", - "2026-05-05T09:09:00", - "2026-05-05T09:10:00", - "2026-05-05T09:11:00", - "2026-05-05T09:12:00", - "2026-05-05T09:13:00", - "2026-05-05T09:14:00", - "2026-05-05T09:15:00", - "2026-05-05T09:16:00", - "2026-05-05T09:17:00", - "2026-05-05T09:18:00", - "2026-05-05T09:19:00", - "2026-05-05T09:20:00", - "2026-05-05T09:21:00", - "2026-05-05T09:22:00", - "2026-05-05T09:23:00", - "2026-05-05T09:24:00", - "2026-05-05T09:25:00", - "2026-05-05T09:26:00", - "2026-05-05T09:27:00", - "2026-05-05T09:28:00", - "2026-05-05T09:29:00", - "2026-05-05T09:30:00", - "2026-05-05T09:31:00", - "2026-05-05T09:32:00", - "2026-05-05T09:33:00", - "2026-05-05T09:34:00", - "2026-05-05T09:35:00", - "2026-05-05T09:36:00", - "2026-05-05T09:37:00", - "2026-05-05T09:38:00", - "2026-05-05T09:39:00", - "2026-05-05T09:40:00", - "2026-05-05T09:41:00", - "2026-05-05T09:42:00", - "2026-05-05T09:43:00", - "2026-05-05T09:44:00", - "2026-05-05T09:45:00", - "2026-05-05T09:46:00", - "2026-05-05T09:47:00", - "2026-05-05T09:48:00", - "2026-05-05T09:49:00", - "2026-05-05T09:50:00", - "2026-05-05T09:51:00", - "2026-05-05T09:52:00", - "2026-05-05T09:53:00", - "2026-05-05T09:54:00", - "2026-05-05T09:55:00", - "2026-05-05T09:56:00", - "2026-05-05T09:57:00", - "2026-05-05T09:58:00", - "2026-05-05T09:59:00", - "2026-05-05T10:00:00", - "2026-05-05T10:01:00", - "2026-05-05T10:02:00", - "2026-05-05T10:03:00", - "2026-05-05T10:04:00", - "2026-05-05T10:05:00", - "2026-05-05T10:06:00", - "2026-05-05T10:07:00", - "2026-05-05T10:08:00", - "2026-05-05T10:09:00", - "2026-05-05T10:10:00", - "2026-05-05T10:11:00", - "2026-05-05T10:12:00", - "2026-05-05T10:13:00", - "2026-05-05T10:14:00", - "2026-05-05T10:15:00", - "2026-05-05T10:16:00", - "2026-05-05T10:17:00", - "2026-05-05T10:18:00", - "2026-05-05T10:19:00", - "2026-05-05T10:20:00", - "2026-05-05T10:21:00", - "2026-05-05T10:22:00", - "2026-05-05T10:23:00", - "2026-05-05T10:24:00", - "2026-05-05T10:25:00", - "2026-05-05T10:26:00", - "2026-05-05T10:27:00", - "2026-05-05T10:28:00", - "2026-05-05T10:29:00", - "2026-05-05T10:30:00", - "2026-05-05T10:31:00", - "2026-05-05T10:32:00", - "2026-05-05T10:33:00", - "2026-05-05T10:34:00", - "2026-05-05T10:35:00", - "2026-05-05T10:36:00", - "2026-05-05T10:37:00", - "2026-05-05T10:38:00", - "2026-05-05T10:39:00", - "2026-05-05T10:40:00", - "2026-05-05T10:41:00", - "2026-05-05T10:42:00", - "2026-05-05T10:43:00", - "2026-05-05T10:44:00", - "2026-05-05T10:45:00", - "2026-05-05T10:46:00", - "2026-05-05T10:47:00", - "2026-05-05T10:48:00", - "2026-05-05T10:49:00", - "2026-05-05T10:50:00", - "2026-05-05T10:51:00", - "2026-05-05T10:52:00", - "2026-05-05T10:53:00", - "2026-05-05T10:54:00", - "2026-05-05T10:55:00", - "2026-05-05T10:56:00", - "2026-05-05T10:57:00", - "2026-05-05T10:58:00", - "2026-05-05T10:59:00", - "2026-05-05T11:00:00", - "2026-05-05T11:01:00", - "2026-05-05T11:02:00", - "2026-05-05T11:03:00", - "2026-05-05T11:04:00", - "2026-05-05T11:05:00", - "2026-05-05T11:06:00", - "2026-05-05T11:07:00", - "2026-05-05T11:08:00", - "2026-05-05T11:09:00", - "2026-05-05T11:10:00", - "2026-05-05T11:11:00", - "2026-05-05T11:12:00", - "2026-05-05T11:13:00", - "2026-05-05T11:14:00", - "2026-05-05T11:15:00", - "2026-05-05T11:16:00", - "2026-05-05T11:17:00", - "2026-05-05T11:18:00", - "2026-05-05T11:19:00", - "2026-05-05T11:20:00", - "2026-05-05T11:21:00", - "2026-05-05T11:22:00", - "2026-05-05T11:23:00", - "2026-05-05T11:24:00", - "2026-05-05T11:25:00", - "2026-05-05T11:26:00", - "2026-05-05T11:27:00", - "2026-05-05T11:28:00", - "2026-05-05T11:29:00", - "2026-05-05T11:30:00", - "2026-05-05T11:31:00", - "2026-05-05T11:32:00", - "2026-05-05T11:33:00", - "2026-05-05T11:34:00", - "2026-05-05T11:35:00", - "2026-05-05T11:36:00", - "2026-05-05T11:37:00", - "2026-05-05T11:38:00", - "2026-05-05T11:39:00", - "2026-05-05T11:40:00", - "2026-05-05T11:41:00", - "2026-05-05T11:42:00", - "2026-05-05T11:43:00", - "2026-05-05T11:44:00", - "2026-05-05T11:45:00", - "2026-05-05T11:46:00", - "2026-05-05T11:47:00", - "2026-05-05T11:48:00", - "2026-05-05T11:49:00", - "2026-05-05T11:50:00", - "2026-05-05T11:51:00", - "2026-05-05T11:52:00", - "2026-05-05T11:53:00", - "2026-05-05T11:54:00", - "2026-05-05T11:55:00", - "2026-05-05T11:56:00", - "2026-05-05T11:57:00", - "2026-05-05T11:58:00", - "2026-05-05T11:59:00", - "2026-05-05T12:00:00", - "2026-05-05T12:01:00", - "2026-05-05T12:02:00", - "2026-05-05T12:03:00", - "2026-05-05T12:04:00", - "2026-05-05T12:05:00", - "2026-05-05T12:06:00", - "2026-05-05T12:07:00", - "2026-05-05T12:08:00", - "2026-05-05T12:09:00", - "2026-05-05T12:10:00", - "2026-05-05T12:11:00", - "2026-05-05T12:12:00", - "2026-05-05T12:13:00", - "2026-05-05T12:14:00", - "2026-05-05T12:15:00", - "2026-05-05T12:16:00", - "2026-05-05T12:17:00", - "2026-05-05T12:18:00", - "2026-05-05T12:19:00", - "2026-05-05T12:20:00", - "2026-05-05T12:21:00", - "2026-05-05T12:22:00", - "2026-05-05T12:23:00", - "2026-05-05T12:24:00", - "2026-05-05T12:25:00", - "2026-05-05T12:26:00", - "2026-05-05T12:27:00", - "2026-05-05T12:28:00", - "2026-05-05T12:29:00", - "2026-05-05T12:30:00", - "2026-05-05T12:31:00", - "2026-05-05T12:32:00", - "2026-05-05T12:33:00", - "2026-05-05T12:34:00", - "2026-05-05T12:35:00", - "2026-05-05T12:36:00", - "2026-05-05T12:37:00", - "2026-05-05T12:38:00", - "2026-05-05T12:39:00", - "2026-05-05T12:40:00", - "2026-05-05T12:41:00", - "2026-05-05T12:42:00", - "2026-05-05T12:43:00", - "2026-05-05T12:44:00", - "2026-05-05T12:45:00", - "2026-05-05T12:46:00", - "2026-05-05T12:47:00", - "2026-05-05T12:48:00", - "2026-05-05T12:49:00", - "2026-05-05T12:50:00", - "2026-05-05T12:51:00", - "2026-05-05T12:52:00", - "2026-05-05T12:53:00", - "2026-05-05T12:54:00", - "2026-05-05T12:55:00", - "2026-05-05T12:56:00", - "2026-05-05T12:57:00", - "2026-05-05T12:58:00", - "2026-05-05T12:59:00", - "2026-05-05T13:00:00", - "2026-05-05T13:01:00", - "2026-05-05T13:02:00", - "2026-05-05T13:03:00", - "2026-05-05T13:04:00", - "2026-05-05T13:05:00", - "2026-05-05T13:06:00", - "2026-05-05T13:07:00", - "2026-05-05T13:08:00", - "2026-05-05T13:09:00", - "2026-05-05T13:10:00", - "2026-05-05T13:11:00", - "2026-05-05T13:12:00", - "2026-05-05T13:13:00", - "2026-05-05T13:14:00", - "2026-05-05T13:15:00", - "2026-05-05T13:16:00", - "2026-05-05T13:17:00", - "2026-05-05T13:18:00", - "2026-05-05T13:19:00", - "2026-05-05T13:20:00", - "2026-05-05T13:21:00", - "2026-05-05T13:22:00", - "2026-05-05T13:23:00", - "2026-05-05T13:24:00", - "2026-05-05T13:25:00", - "2026-05-05T13:26:00", - "2026-05-05T13:27:00", - "2026-05-05T13:28:00", - "2026-05-05T13:29:00", - "2026-05-05T13:30:00", - "2026-05-05T13:31:00", - "2026-05-05T13:32:00", - "2026-05-05T13:33:00", - "2026-05-05T13:34:00", - "2026-05-05T13:35:00", - "2026-05-05T13:36:00", - "2026-05-05T13:37:00", - "2026-05-05T13:38:00", - "2026-05-05T13:39:00", - "2026-05-05T13:40:00", - "2026-05-05T13:41:00", - "2026-05-05T13:42:00", - "2026-05-05T13:43:00", - "2026-05-05T13:44:00", - "2026-05-05T13:45:00", - "2026-05-05T13:46:00", - "2026-05-05T13:47:00", - "2026-05-05T13:48:00", - "2026-05-05T13:49:00", - "2026-05-05T13:50:00", - "2026-05-05T13:51:00", - "2026-05-05T13:52:00", - "2026-05-05T13:53:00", - "2026-05-05T13:54:00", - "2026-05-05T13:55:00", - "2026-05-05T13:56:00", - "2026-05-05T13:57:00", - "2026-05-05T13:58:00", - "2026-05-05T13:59:00", - "2026-05-05T14:00:00", - "2026-05-05T14:01:00", - "2026-05-05T14:02:00", - "2026-05-05T14:03:00", - "2026-05-05T14:04:00", - "2026-05-05T14:05:00", - "2026-05-05T14:06:00", - "2026-05-05T14:07:00", - "2026-05-05T14:08:00", - "2026-05-05T14:09:00", - "2026-05-05T14:10:00", - "2026-05-05T14:11:00", - "2026-05-05T14:12:00", - "2026-05-05T14:13:00", - "2026-05-05T14:14:00", - "2026-05-05T14:15:00", - "2026-05-05T14:16:00", - "2026-05-05T14:17:00", - "2026-05-05T14:18:00", - "2026-05-05T14:19:00", - "2026-05-05T14:20:00", - "2026-05-05T14:21:00", - "2026-05-05T14:22:00", - "2026-05-05T14:23:00", - "2026-05-05T14:24:00", - "2026-05-05T14:25:00", - "2026-05-05T14:26:00", - "2026-05-05T14:27:00", - "2026-05-05T14:28:00", - "2026-05-05T14:29:00", - "2026-05-05T14:30:00", - "2026-05-05T14:31:00", - "2026-05-05T14:32:00", - "2026-05-05T14:33:00", - "2026-05-05T14:34:00", - "2026-05-05T14:35:00", - "2026-05-05T14:36:00", - "2026-05-05T14:37:00", - "2026-05-05T14:38:00", - "2026-05-05T14:39:00", - "2026-05-05T14:40:00", - "2026-05-05T14:41:00", - "2026-05-05T14:42:00", - "2026-05-05T14:43:00", - "2026-05-05T14:44:00", - "2026-05-05T14:45:00", - "2026-05-05T14:46:00", - "2026-05-05T14:47:00", - "2026-05-05T14:48:00", - "2026-05-05T14:49:00", - "2026-05-05T14:50:00", - "2026-05-05T14:51:00", - "2026-05-05T14:52:00", - "2026-05-05T14:53:00", - "2026-05-05T14:54:00", - "2026-05-05T14:55:00", - "2026-05-05T14:56:00", - "2026-05-05T14:57:00", - "2026-05-05T14:58:00", - "2026-05-05T14:59:00", - "2026-05-05T15:00:00", - "2026-05-05T15:01:00", - "2026-05-05T15:02:00", - "2026-05-05T15:03:00", - "2026-05-05T15:04:00", - "2026-05-05T15:05:00", - "2026-05-05T15:06:00", - "2026-05-05T15:07:00", - "2026-05-05T15:08:00", - "2026-05-05T15:09:00", - "2026-05-05T15:10:00", - "2026-05-05T15:11:00", - "2026-05-05T15:12:00", - "2026-05-05T15:13:00", - "2026-05-05T15:14:00", - "2026-05-05T15:15:00", - "2026-05-05T15:16:00", - "2026-05-05T15:17:00", - "2026-05-05T15:18:00", - "2026-05-05T15:19:00", - "2026-05-05T15:20:00", - "2026-05-05T15:21:00", - "2026-05-05T15:22:00", - "2026-05-05T15:23:00", - "2026-05-05T15:24:00", - "2026-05-05T15:25:00", - "2026-05-05T15:26:00", - "2026-05-05T15:27:00", - "2026-05-05T15:28:00", - "2026-05-05T15:29:00", - "2026-05-05T15:30:00", - "2026-05-05T15:31:00", - "2026-05-05T15:32:00", - "2026-05-05T15:33:00", - "2026-05-05T15:34:00", - "2026-05-05T15:35:00", - "2026-05-05T15:36:00", - "2026-05-05T15:37:00", - "2026-05-05T15:38:00", - "2026-05-05T15:39:00", - "2026-05-05T15:40:00", - "2026-05-05T15:41:00", - "2026-05-05T15:42:00", - "2026-05-05T15:43:00", - "2026-05-05T15:44:00", - "2026-05-05T15:45:00", - "2026-05-05T15:46:00", - "2026-05-05T15:47:00", - "2026-05-05T15:48:00", - "2026-05-05T15:49:00", - "2026-05-05T15:50:00", - "2026-05-05T15:51:00", - "2026-05-05T15:52:00", - "2026-05-05T15:53:00", - "2026-05-05T15:54:00", - "2026-05-05T15:55:00", - "2026-05-05T15:56:00", - "2026-05-05T15:57:00", - "2026-05-05T15:58:00", - "2026-05-05T15:59:00", - "2026-05-05T16:00:00", - "2026-05-05T16:01:00", - "2026-05-05T16:02:00", - "2026-05-05T16:03:00", - "2026-05-05T16:04:00", - "2026-05-05T16:05:00", - "2026-05-05T16:06:00", - "2026-05-05T16:07:00", - "2026-05-05T16:08:00", - "2026-05-05T16:09:00", - "2026-05-05T16:10:00", - "2026-05-05T16:11:00", - "2026-05-05T16:12:00", - "2026-05-05T16:13:00", - "2026-05-05T16:14:00", - "2026-05-05T16:15:00", - "2026-05-05T16:16:00", - "2026-05-05T16:17:00", - "2026-05-05T16:18:00", - "2026-05-05T16:19:00", - "2026-05-05T16:20:00", - "2026-05-05T16:21:00", - "2026-05-05T16:22:00", - "2026-05-05T16:23:00", - "2026-05-05T16:24:00", - "2026-05-05T16:25:00", - "2026-05-05T16:26:00", - "2026-05-05T16:27:00", - "2026-05-05T16:28:00", - "2026-05-05T16:29:00", - "2026-05-05T16:30:00", - "2026-05-05T16:31:00", - "2026-05-05T16:32:00", - "2026-05-05T16:33:00", - "2026-05-05T16:34:00", - "2026-05-05T16:35:00", - "2026-05-05T16:36:00", - "2026-05-05T16:37:00", - "2026-05-05T16:38:00", - "2026-05-05T16:39:00", - "2026-05-05T16:40:00", - "2026-05-05T16:41:00", - "2026-05-05T16:42:00", - "2026-05-05T16:43:00", - "2026-05-05T16:44:00", - "2026-05-05T16:45:00", - "2026-05-05T16:46:00", - "2026-05-05T16:47:00", - "2026-05-05T16:48:00", - "2026-05-05T16:49:00", - "2026-05-05T16:50:00", - "2026-05-05T16:51:00", - "2026-05-05T16:52:00", - "2026-05-05T16:53:00", - "2026-05-05T16:54:00", - "2026-05-05T16:55:00", - "2026-05-05T16:56:00", - "2026-05-05T16:57:00", - "2026-05-05T16:58:00", - "2026-05-05T16:59:00", - "2026-05-05T17:00:00", - "2026-05-05T17:01:00", - "2026-05-05T17:02:00", - "2026-05-05T17:03:00", - "2026-05-05T17:04:00", - "2026-05-05T17:05:00", - "2026-05-05T17:06:00", - "2026-05-05T17:07:00", - "2026-05-05T17:08:00", - "2026-05-05T17:09:00", - "2026-05-05T17:10:00", - "2026-05-05T17:11:00", - "2026-05-05T17:12:00", - "2026-05-05T17:13:00", - "2026-05-05T17:14:00", - "2026-05-05T17:15:00", - "2026-05-05T17:16:00", - "2026-05-05T17:17:00", - "2026-05-05T17:18:00", - "2026-05-05T17:19:00", - "2026-05-05T17:20:00", - "2026-05-05T17:21:00", - "2026-05-05T17:22:00", - "2026-05-05T17:23:00", - "2026-05-05T17:24:00", - "2026-05-05T17:25:00", - "2026-05-05T17:26:00", - "2026-05-05T17:27:00", - "2026-05-05T17:28:00", - "2026-05-05T17:29:00", - "2026-05-05T17:30:00", - "2026-05-05T17:31:00", - "2026-05-05T17:32:00", - "2026-05-05T17:33:00", - "2026-05-05T17:34:00", - "2026-05-05T17:35:00", - "2026-05-05T17:36:00", - "2026-05-05T17:37:00", - "2026-05-05T17:38:00", - "2026-05-05T17:39:00", - "2026-05-05T17:40:00", - "2026-05-05T17:41:00", - "2026-05-05T17:42:00", - "2026-05-05T17:43:00", - "2026-05-05T17:44:00", - "2026-05-05T17:45:00", - "2026-05-05T17:46:00", - "2026-05-05T17:47:00", - "2026-05-05T17:48:00", - "2026-05-05T17:49:00", - "2026-05-05T17:50:00", - "2026-05-05T17:51:00", - "2026-05-05T17:52:00", - "2026-05-05T17:53:00", - "2026-05-05T17:54:00", - "2026-05-05T17:55:00", - "2026-05-05T17:56:00", - "2026-05-05T17:57:00", - "2026-05-05T17:58:00", - "2026-05-05T17:59:00", - "2026-05-05T18:00:00", - "2026-05-05T18:01:00", - "2026-05-05T18:02:00", - "2026-05-05T18:03:00", - "2026-05-05T18:04:00", - "2026-05-05T18:05:00", - "2026-05-05T18:06:00", - "2026-05-05T18:07:00", - "2026-05-05T18:08:00", - "2026-05-05T18:09:00", - "2026-05-05T18:10:00", - "2026-05-05T18:11:00", - "2026-05-05T18:12:00", - "2026-05-05T18:13:00", - "2026-05-05T18:14:00", - "2026-05-05T18:15:00", - "2026-05-05T18:16:00", - "2026-05-05T18:17:00", - "2026-05-05T18:18:00", - "2026-05-05T18:19:00", - "2026-05-05T18:20:00", - "2026-05-05T18:21:00", - "2026-05-05T18:22:00", - "2026-05-05T18:23:00", - "2026-05-05T18:24:00", - "2026-05-05T18:25:00", - "2026-05-05T18:26:00", - "2026-05-05T18:27:00", - "2026-05-05T18:28:00", - "2026-05-05T18:29:00", - "2026-05-05T18:30:00", - "2026-05-05T18:31:00", - "2026-05-05T18:32:00", - "2026-05-05T18:33:00", - "2026-05-05T18:34:00", - "2026-05-05T18:35:00", - "2026-05-05T18:36:00", - "2026-05-05T18:37:00", - "2026-05-05T18:38:00", - "2026-05-05T18:39:00", - "2026-05-05T18:40:00", - "2026-05-05T18:41:00", - "2026-05-05T18:42:00", - "2026-05-05T18:43:00", - "2026-05-05T18:44:00", - "2026-05-05T18:45:00", - "2026-05-05T18:46:00", - "2026-05-05T18:47:00", - "2026-05-05T18:48:00", - "2026-05-05T18:49:00", - "2026-05-05T18:50:00", - "2026-05-05T18:51:00", - "2026-05-05T18:52:00", - "2026-05-05T18:53:00", - "2026-05-05T18:54:00", - "2026-05-05T18:55:00", - "2026-05-05T18:56:00", - "2026-05-05T18:57:00", - "2026-05-05T18:58:00", - "2026-05-05T18:59:00", - "2026-05-05T19:00:00", - "2026-05-05T19:01:00", - "2026-05-05T19:02:00", - "2026-05-05T19:03:00", - "2026-05-05T19:04:00", - "2026-05-05T19:05:00", - "2026-05-05T19:06:00", - "2026-05-05T19:07:00", - "2026-05-05T19:08:00", - "2026-05-05T19:09:00", - "2026-05-05T19:10:00", - "2026-05-05T19:11:00", - "2026-05-05T19:12:00", - "2026-05-05T19:13:00", - "2026-05-05T19:14:00", - "2026-05-05T19:15:00", - "2026-05-05T19:16:00", - "2026-05-05T19:17:00", - "2026-05-05T19:18:00", - "2026-05-05T19:19:00", - "2026-05-05T19:20:00", - "2026-05-05T19:21:00", - "2026-05-05T19:22:00", - "2026-05-05T19:23:00", - "2026-05-05T19:24:00", - "2026-05-05T19:25:00", - "2026-05-05T19:26:00", - "2026-05-05T19:27:00", - "2026-05-05T19:28:00", - "2026-05-05T19:29:00", - "2026-05-05T19:30:00", - "2026-05-05T19:31:00", - "2026-05-05T19:32:00", - "2026-05-05T19:33:00", - "2026-05-05T19:34:00", - "2026-05-05T19:35:00", - "2026-05-05T19:36:00", - "2026-05-05T19:37:00", - "2026-05-05T19:38:00", - "2026-05-05T19:39:00", - "2026-05-05T19:40:00", - "2026-05-05T19:41:00", - "2026-05-05T19:42:00", - "2026-05-05T19:43:00", - "2026-05-05T19:44:00", - "2026-05-05T19:45:00", - "2026-05-05T19:46:00", - "2026-05-05T19:47:00", - "2026-05-05T19:48:00", - "2026-05-05T19:49:00", - "2026-05-05T19:50:00", - "2026-05-05T19:51:00", - "2026-05-05T19:52:00", - "2026-05-05T19:53:00", - "2026-05-05T19:54:00", - "2026-05-05T19:55:00", - "2026-05-05T19:56:00", - "2026-05-05T19:57:00", - "2026-05-05T19:58:00", - "2026-05-05T19:59:00", - "2026-05-05T20:00:00", - "2026-05-05T20:01:00", - "2026-05-05T20:02:00", - "2026-05-05T20:03:00", - "2026-05-05T20:04:00", - "2026-05-05T20:05:00", - "2026-05-05T20:06:00", - "2026-05-05T20:07:00", - "2026-05-05T20:08:00", - "2026-05-05T20:09:00", - "2026-05-05T20:10:00", - "2026-05-05T20:11:00", - "2026-05-05T20:12:00", - "2026-05-05T20:13:00", - "2026-05-05T20:14:00", - "2026-05-05T20:15:00", - "2026-05-05T20:16:00", - "2026-05-05T20:17:00", - "2026-05-05T20:18:00", - "2026-05-05T20:19:00", - "2026-05-05T20:20:00", - "2026-05-05T20:21:00", - "2026-05-05T20:22:00", - "2026-05-05T20:23:00", - "2026-05-05T20:24:00", - "2026-05-05T20:25:00", - "2026-05-05T20:26:00", - "2026-05-05T20:27:00", - "2026-05-05T20:28:00", - "2026-05-05T20:29:00", - "2026-05-05T20:30:00", - "2026-05-05T20:31:00", - "2026-05-05T20:32:00", - "2026-05-05T20:33:00", - "2026-05-05T20:34:00", - "2026-05-05T20:35:00", - "2026-05-05T20:36:00", - "2026-05-05T20:37:00", - "2026-05-05T20:38:00", - "2026-05-05T20:39:00", - "2026-05-05T20:40:00", - "2026-05-05T20:41:00", - "2026-05-05T20:42:00", - "2026-05-05T20:43:00", - "2026-05-05T20:44:00", - "2026-05-05T20:45:00", - "2026-05-05T20:46:00", - "2026-05-05T20:47:00", - "2026-05-05T20:48:00", - "2026-05-05T20:49:00", - "2026-05-05T20:50:00", - "2026-05-05T20:51:00", - "2026-05-05T20:52:00", - "2026-05-05T20:53:00", - "2026-05-05T20:54:00", - "2026-05-05T20:55:00", - "2026-05-05T20:56:00", - "2026-05-05T20:57:00", - "2026-05-05T20:58:00", - "2026-05-05T20:59:00", - "2026-05-05T21:00:00", - "2026-05-05T21:01:00", - "2026-05-05T21:02:00", - "2026-05-05T21:03:00", - "2026-05-05T21:04:00", - "2026-05-05T21:05:00", - "2026-05-05T21:06:00", - "2026-05-05T21:07:00", - "2026-05-05T21:08:00", - "2026-05-05T21:09:00", - "2026-05-05T21:10:00", - "2026-05-05T21:11:00", - "2026-05-05T21:12:00", - "2026-05-05T21:13:00", - "2026-05-05T21:14:00", - "2026-05-05T21:15:00", - "2026-05-05T21:16:00", - "2026-05-05T21:17:00", - "2026-05-05T21:18:00", - "2026-05-05T21:19:00", - "2026-05-05T21:20:00", - "2026-05-05T21:21:00", - "2026-05-05T21:22:00", - "2026-05-05T21:23:00", - "2026-05-05T21:24:00", - "2026-05-05T21:25:00", - "2026-05-05T21:26:00", - "2026-05-05T21:27:00", - "2026-05-05T21:28:00", - "2026-05-05T21:29:00", - "2026-05-05T21:30:00", - "2026-05-05T21:31:00", - "2026-05-05T21:32:00", - "2026-05-05T21:33:00", - "2026-05-05T21:34:00", - "2026-05-05T21:35:00", - "2026-05-05T21:36:00", - "2026-05-05T21:37:00", - "2026-05-05T21:38:00", - "2026-05-05T21:39:00", - "2026-05-05T21:40:00", - "2026-05-05T21:41:00", - "2026-05-05T21:42:00", - "2026-05-05T21:43:00", - "2026-05-05T21:44:00", - "2026-05-05T21:45:00", - "2026-05-05T21:46:00", - "2026-05-05T21:47:00", - "2026-05-05T21:48:00", - "2026-05-05T21:49:00", - "2026-05-05T21:50:00", - "2026-05-05T21:51:00", - "2026-05-05T21:52:00", - "2026-05-05T21:53:00", - "2026-05-05T21:54:00", - "2026-05-05T21:55:00", - "2026-05-05T21:56:00", - "2026-05-05T21:57:00", - "2026-05-05T21:58:00", - "2026-05-05T21:59:00", - "2026-05-05T22:00:00", - "2026-05-05T22:01:00", - "2026-05-05T22:02:00", - "2026-05-05T22:03:00", - "2026-05-05T22:04:00", - "2026-05-05T22:05:00", - "2026-05-05T22:06:00", - "2026-05-05T22:07:00", - "2026-05-05T22:08:00", - "2026-05-05T22:09:00", - "2026-05-05T22:10:00", - "2026-05-05T22:11:00", - "2026-05-05T22:12:00", - "2026-05-05T22:13:00", - "2026-05-05T22:14:00", - "2026-05-05T22:15:00", - "2026-05-05T22:16:00", - "2026-05-05T22:17:00", - "2026-05-05T22:18:00", - "2026-05-05T22:19:00", - "2026-05-05T22:20:00", - "2026-05-05T22:21:00", - "2026-05-05T22:22:00", - "2026-05-05T22:23:00", - "2026-05-05T22:24:00", - "2026-05-05T22:25:00", - "2026-05-05T22:26:00", - "2026-05-05T22:27:00", - "2026-05-05T22:28:00", - "2026-05-05T22:29:00", - "2026-05-05T22:30:00", - "2026-05-05T22:31:00", - "2026-05-05T22:32:00", - "2026-05-05T22:33:00", - "2026-05-05T22:34:00", - "2026-05-05T22:35:00", - "2026-05-05T22:36:00", - "2026-05-05T22:37:00", - "2026-05-05T22:38:00", - "2026-05-05T22:39:00", - "2026-05-05T22:40:00", - "2026-05-05T22:41:00", - "2026-05-05T22:42:00", - "2026-05-05T22:43:00", - "2026-05-05T22:44:00", - "2026-05-05T22:45:00", - "2026-05-05T22:46:00", - "2026-05-05T22:47:00", - "2026-05-05T22:48:00", - "2026-05-05T22:49:00", - "2026-05-05T22:50:00", - "2026-05-05T22:51:00", - "2026-05-05T22:52:00", - "2026-05-05T22:53:00", - "2026-05-05T22:54:00", - "2026-05-05T22:55:00", - "2026-05-05T22:56:00", - "2026-05-05T22:57:00", - "2026-05-05T22:58:00", - "2026-05-05T22:59:00", - "2026-05-05T23:00:00", - "2026-05-05T23:01:00", - "2026-05-05T23:02:00", - "2026-05-05T23:03:00", - "2026-05-05T23:04:00", - "2026-05-05T23:05:00", - "2026-05-05T23:06:00", - "2026-05-05T23:07:00", - "2026-05-05T23:08:00", - "2026-05-05T23:09:00", - "2026-05-05T23:10:00", - "2026-05-05T23:11:00", - "2026-05-05T23:12:00", - "2026-05-05T23:13:00", - "2026-05-05T23:14:00", - "2026-05-05T23:15:00", - "2026-05-05T23:16:00", - "2026-05-05T23:17:00", - "2026-05-05T23:18:00", - "2026-05-05T23:19:00", - "2026-05-05T23:20:00", - "2026-05-05T23:21:00", - "2026-05-05T23:22:00", - "2026-05-05T23:23:00", - "2026-05-05T23:24:00", - "2026-05-05T23:25:00", - "2026-05-05T23:26:00", - "2026-05-05T23:27:00", - "2026-05-05T23:28:00", - "2026-05-05T23:29:00", - "2026-05-05T23:30:00", - "2026-05-05T23:31:00", - "2026-05-05T23:32:00", - "2026-05-05T23:33:00", - "2026-05-05T23:34:00", - "2026-05-05T23:35:00", - "2026-05-05T23:36:00", - "2026-05-05T23:37:00", - "2026-05-05T23:38:00", - "2026-05-05T23:39:00", - "2026-05-05T23:40:00", - "2026-05-05T23:41:00", - "2026-05-05T23:42:00", - "2026-05-05T23:43:00", - "2026-05-05T23:44:00", - "2026-05-05T23:45:00", - "2026-05-05T23:46:00", - "2026-05-05T23:47:00", - "2026-05-05T23:48:00", - "2026-05-05T23:49:00", - "2026-05-05T23:50:00", - "2026-05-05T23:51:00", - "2026-05-05T23:52:00", - "2026-05-05T23:53:00", - "2026-05-05T23:54:00", - "2026-05-05T23:55:00", - "2026-05-05T23:56:00", - "2026-05-05T23:57:00", - "2026-05-05T23:58:00", - "2026-05-05T23:59:00", - "2026-05-06T00:00:00", - "2026-05-06T00:01:00", - "2026-05-06T00:02:00", - "2026-05-06T00:03:00", - "2026-05-06T00:04:00", - "2026-05-06T00:05:00", - "2026-05-06T00:06:00", - "2026-05-06T00:07:00", - "2026-05-06T00:08:00", - "2026-05-06T00:09:00", - "2026-05-06T00:10:00", - "2026-05-06T00:11:00", - "2026-05-06T00:12:00", - "2026-05-06T00:13:00", - "2026-05-06T00:14:00", - "2026-05-06T00:15:00", - "2026-05-06T00:16:00", - "2026-05-06T00:17:00", - "2026-05-06T00:18:00", - "2026-05-06T00:19:00", - "2026-05-06T00:20:00", - "2026-05-06T00:21:00", - "2026-05-06T00:22:00", - "2026-05-06T00:23:00", - "2026-05-06T00:24:00", - "2026-05-06T00:25:00", - "2026-05-06T00:26:00", - "2026-05-06T00:27:00", - "2026-05-06T00:28:00", - "2026-05-06T00:29:00", - "2026-05-06T00:30:00", - "2026-05-06T00:31:00", - "2026-05-06T00:32:00", - "2026-05-06T00:33:00", - "2026-05-06T00:34:00", - "2026-05-06T00:35:00", - "2026-05-06T00:36:00", - "2026-05-06T00:37:00", - "2026-05-06T00:38:00", - "2026-05-06T00:39:00", - "2026-05-06T00:40:00", - "2026-05-06T00:41:00", - "2026-05-06T00:42:00", - "2026-05-06T00:43:00", - "2026-05-06T00:44:00", - "2026-05-06T00:45:00", - "2026-05-06T00:46:00", - "2026-05-06T00:47:00", - "2026-05-06T00:48:00", - "2026-05-06T00:49:00", - "2026-05-06T00:50:00", - "2026-05-06T00:51:00", - "2026-05-06T00:52:00", - "2026-05-06T00:53:00", - "2026-05-06T00:54:00", - "2026-05-06T00:55:00", - "2026-05-06T00:56:00", - "2026-05-06T00:57:00", - "2026-05-06T00:58:00", - "2026-05-06T00:59:00", - "2026-05-06T01:00:00", - "2026-05-06T01:01:00", - "2026-05-06T01:02:00", - "2026-05-06T01:03:00", - "2026-05-06T01:04:00", - "2026-05-06T01:05:00", - "2026-05-06T01:06:00", - "2026-05-06T01:07:00", - "2026-05-06T01:08:00", - "2026-05-06T01:09:00", - "2026-05-06T01:10:00", - "2026-05-06T01:11:00", - "2026-05-06T01:12:00", - "2026-05-06T01:13:00", - "2026-05-06T01:14:00", - "2026-05-06T01:15:00", - "2026-05-06T01:16:00", - "2026-05-06T01:17:00", - "2026-05-06T01:18:00", - "2026-05-06T01:19:00", - "2026-05-06T01:20:00", - "2026-05-06T01:21:00", - "2026-05-06T01:22:00", - "2026-05-06T01:23:00", - "2026-05-06T01:24:00", - "2026-05-06T01:25:00", - "2026-05-06T01:26:00", - "2026-05-06T01:27:00", - "2026-05-06T01:28:00", - "2026-05-06T01:29:00", - "2026-05-06T01:30:00", - "2026-05-06T01:31:00", - "2026-05-06T01:32:00", - "2026-05-06T01:33:00", - "2026-05-06T01:34:00", - "2026-05-06T01:35:00", - "2026-05-06T01:36:00", - "2026-05-06T01:37:00", - "2026-05-06T01:38:00", - "2026-05-06T01:39:00", - "2026-05-06T01:40:00", - "2026-05-06T01:41:00", - "2026-05-06T01:42:00", - "2026-05-06T01:43:00", - "2026-05-06T01:44:00", - "2026-05-06T01:45:00", - "2026-05-06T01:46:00", - "2026-05-06T01:47:00", - "2026-05-06T01:48:00", - "2026-05-06T01:49:00", - "2026-05-06T01:50:00", - "2026-05-06T01:51:00", - "2026-05-06T01:52:00", - "2026-05-06T01:53:00", - "2026-05-06T01:54:00", - "2026-05-06T01:55:00", - "2026-05-06T01:56:00", - "2026-05-06T01:57:00", - "2026-05-06T01:58:00", - "2026-05-06T01:59:00", - "2026-05-06T02:00:00", - "2026-05-06T02:01:00", - "2026-05-06T02:02:00", - "2026-05-06T02:03:00", - "2026-05-06T02:04:00", - "2026-05-06T02:05:00", - "2026-05-06T02:06:00", - "2026-05-06T02:07:00", - "2026-05-06T02:08:00", - "2026-05-06T02:09:00", - "2026-05-06T02:10:00", - "2026-05-06T02:11:00", - "2026-05-06T02:12:00", - "2026-05-06T02:13:00", - "2026-05-06T02:14:00", - "2026-05-06T02:15:00", - "2026-05-06T02:16:00", - "2026-05-06T02:17:00", - "2026-05-06T02:18:00", - "2026-05-06T02:19:00", - "2026-05-06T02:20:00", - "2026-05-06T02:21:00", - "2026-05-06T02:22:00", - "2026-05-06T02:23:00", - "2026-05-06T02:24:00", - "2026-05-06T02:25:00", - "2026-05-06T02:26:00", - "2026-05-06T02:27:00", - "2026-05-06T02:28:00", - "2026-05-06T02:29:00", - "2026-05-06T02:30:00", - "2026-05-06T02:31:00", - "2026-05-06T02:32:00", - "2026-05-06T02:33:00", - "2026-05-06T02:34:00", - "2026-05-06T02:35:00", - "2026-05-06T02:36:00", - "2026-05-06T02:37:00", - "2026-05-06T02:38:00", - "2026-05-06T02:39:00", - "2026-05-06T02:40:00", - "2026-05-06T02:41:00", - "2026-05-06T02:42:00", - "2026-05-06T02:43:00", - "2026-05-06T02:44:00", - "2026-05-06T02:45:00", - "2026-05-06T02:46:00", - "2026-05-06T02:47:00", - "2026-05-06T02:48:00", - "2026-05-06T02:49:00", - "2026-05-06T02:50:00", - "2026-05-06T02:51:00", - "2026-05-06T02:52:00", - "2026-05-06T02:53:00", - "2026-05-06T02:54:00", - "2026-05-06T02:55:00", - "2026-05-06T02:56:00", - "2026-05-06T02:57:00", - "2026-05-06T02:58:00", - "2026-05-06T02:59:00", - "2026-05-06T03:00:00", - "2026-05-06T03:01:00", - "2026-05-06T03:02:00", - "2026-05-06T03:03:00", - "2026-05-06T03:04:00", - "2026-05-06T03:05:00", - "2026-05-06T03:06:00", - "2026-05-06T03:07:00", - "2026-05-06T03:08:00", - "2026-05-06T03:09:00", - "2026-05-06T03:10:00", - "2026-05-06T03:11:00", - "2026-05-06T03:12:00", - "2026-05-06T03:13:00", - "2026-05-06T03:14:00", - "2026-05-06T03:15:00", - "2026-05-06T03:16:00", - "2026-05-06T03:17:00", - "2026-05-06T03:18:00", - "2026-05-06T03:19:00", - "2026-05-06T03:20:00", - "2026-05-06T03:21:00", - "2026-05-06T03:22:00", - "2026-05-06T03:23:00", - "2026-05-06T03:24:00", - "2026-05-06T03:25:00", - "2026-05-06T03:26:00", - "2026-05-06T03:27:00", - "2026-05-06T03:28:00", - "2026-05-06T03:29:00", - "2026-05-06T03:30:00", - "2026-05-06T03:31:00", - "2026-05-06T03:32:00", - "2026-05-06T03:33:00", - "2026-05-06T03:34:00", - "2026-05-06T03:35:00", - "2026-05-06T03:36:00", - "2026-05-06T03:37:00", - "2026-05-06T03:38:00", - "2026-05-06T03:39:00", - "2026-05-06T03:40:00", - "2026-05-06T03:41:00", - "2026-05-06T03:42:00", - "2026-05-06T03:43:00", - "2026-05-06T03:44:00", - "2026-05-06T03:45:00", - "2026-05-06T03:46:00", - "2026-05-06T03:47:00", - "2026-05-06T03:48:00", - "2026-05-06T03:49:00", - "2026-05-06T03:50:00", - "2026-05-06T03:51:00", - "2026-05-06T03:52:00", - "2026-05-06T03:53:00", - "2026-05-06T03:54:00", - "2026-05-06T03:55:00", - "2026-05-06T03:56:00", - "2026-05-06T03:57:00", - "2026-05-06T03:58:00", - "2026-05-06T03:59:00", - "2026-05-06T04:00:00", - "2026-05-06T04:01:00", - "2026-05-06T04:02:00", - "2026-05-06T04:03:00", - "2026-05-06T04:04:00", - "2026-05-06T04:05:00", - "2026-05-06T04:06:00", - "2026-05-06T04:07:00", - "2026-05-06T04:08:00", - "2026-05-06T04:09:00", - "2026-05-06T04:10:00", - "2026-05-06T04:11:00", - "2026-05-06T04:12:00", - "2026-05-06T04:13:00", - "2026-05-06T04:14:00", - "2026-05-06T04:15:00", - "2026-05-06T04:16:00", - "2026-05-06T04:17:00", - "2026-05-06T04:18:00", - "2026-05-06T04:19:00", - "2026-05-06T04:20:00", - "2026-05-06T04:21:00", - "2026-05-06T04:22:00", - "2026-05-06T04:23:00", - "2026-05-06T04:24:00", - "2026-05-06T04:25:00", - "2026-05-06T04:26:00", - "2026-05-06T04:27:00", - "2026-05-06T04:28:00", - "2026-05-06T04:29:00", - "2026-05-06T04:30:00", - "2026-05-06T04:31:00", - "2026-05-06T04:32:00", - "2026-05-06T04:33:00", - "2026-05-06T04:34:00", - "2026-05-06T04:35:00", - "2026-05-06T04:36:00", - "2026-05-06T04:37:00", - "2026-05-06T04:38:00", - "2026-05-06T04:39:00", - "2026-05-06T04:40:00", - "2026-05-06T04:41:00", - "2026-05-06T04:42:00", - "2026-05-06T04:43:00", - "2026-05-06T04:44:00", - "2026-05-06T04:45:00", - "2026-05-06T04:46:00", - "2026-05-06T04:47:00", - "2026-05-06T04:48:00", - "2026-05-06T04:49:00", - "2026-05-06T04:50:00", - "2026-05-06T04:51:00", - "2026-05-06T04:52:00", - "2026-05-06T04:53:00", - "2026-05-06T04:54:00", - "2026-05-06T04:55:00", - "2026-05-06T04:56:00", - "2026-05-06T04:57:00", - "2026-05-06T04:58:00", - "2026-05-06T04:59:00", - "2026-05-06T05:00:00", - "2026-05-06T05:01:00", - "2026-05-06T05:02:00", - "2026-05-06T05:03:00", - "2026-05-06T05:04:00", - "2026-05-06T05:05:00", - "2026-05-06T05:06:00", - "2026-05-06T05:07:00", - "2026-05-06T05:08:00", - "2026-05-06T05:09:00", - "2026-05-06T05:10:00", - "2026-05-06T05:11:00", - "2026-05-06T05:12:00", - "2026-05-06T05:13:00", - "2026-05-06T05:14:00", - "2026-05-06T05:15:00", - "2026-05-06T05:16:00", - "2026-05-06T05:17:00" - ], - "xaxis": "x", - "y": { - "bdata": "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", - "dtype": "f8" - }, - "yaxis": "y" - }, - { - "name": "Ast/Ext", - "type": "scatter", - "x": [ - "2026-05-05T05:19:00", - "2026-05-05T05:20:00", - "2026-05-05T05:21:00", - "2026-05-05T05:22:00", - "2026-05-05T05:23:00", - "2026-05-05T05:24:00", - "2026-05-05T05:25:00", - "2026-05-05T05:26:00", - "2026-05-05T05:27:00", - "2026-05-05T05:28:00", - "2026-05-05T05:29:00", - "2026-05-05T05:30:00", - "2026-05-05T05:31:00", - "2026-05-05T05:32:00", - "2026-05-05T05:33:00", - "2026-05-05T05:34:00", - "2026-05-05T05:35:00", - "2026-05-05T05:36:00", - "2026-05-05T05:37:00", - "2026-05-05T05:38:00", - "2026-05-05T05:39:00", - "2026-05-05T05:40:00", - "2026-05-05T05:41:00", - "2026-05-05T05:42:00", - "2026-05-05T05:43:00", - "2026-05-05T05:44:00", - "2026-05-05T05:45:00", - "2026-05-05T05:46:00", - "2026-05-05T05:47:00", - "2026-05-05T05:48:00", - "2026-05-05T05:49:00", - "2026-05-05T05:50:00", - "2026-05-05T05:51:00", - "2026-05-05T05:52:00", - "2026-05-05T05:53:00", - "2026-05-05T05:54:00", - "2026-05-05T05:55:00", - "2026-05-05T05:56:00", - "2026-05-05T05:57:00", - "2026-05-05T05:58:00", - "2026-05-05T05:59:00", - "2026-05-05T06:00:00", - "2026-05-05T06:01:00", - "2026-05-05T06:02:00", - "2026-05-05T06:03:00", - "2026-05-05T06:04:00", - "2026-05-05T06:05:00", - "2026-05-05T06:06:00", - "2026-05-05T06:07:00", - "2026-05-05T06:08:00", - "2026-05-05T06:09:00", - "2026-05-05T06:10:00", - "2026-05-05T06:11:00", - "2026-05-05T06:12:00", - "2026-05-05T06:13:00", - "2026-05-05T06:14:00", - "2026-05-05T06:15:00", - "2026-05-05T06:16:00", - "2026-05-05T06:17:00", - "2026-05-05T06:18:00", - "2026-05-05T06:19:00", - "2026-05-05T06:20:00", - "2026-05-05T06:21:00", - "2026-05-05T06:22:00", - "2026-05-05T06:23:00", - "2026-05-05T06:24:00", - "2026-05-05T06:25:00", - "2026-05-05T06:26:00", - "2026-05-05T06:27:00", - "2026-05-05T06:28:00", - "2026-05-05T06:29:00", - "2026-05-05T06:30:00", - "2026-05-05T06:31:00", - "2026-05-05T06:32:00", - "2026-05-05T06:33:00", - "2026-05-05T06:34:00", - "2026-05-05T06:35:00", - "2026-05-05T06:36:00", - "2026-05-05T06:37:00", - "2026-05-05T06:38:00", - "2026-05-05T06:39:00", - "2026-05-05T06:40:00", - "2026-05-05T06:41:00", - "2026-05-05T06:42:00", - "2026-05-05T06:43:00", - "2026-05-05T06:44:00", - "2026-05-05T06:45:00", - "2026-05-05T06:46:00", - "2026-05-05T06:47:00", - "2026-05-05T06:48:00", - "2026-05-05T06:49:00", - "2026-05-05T06:50:00", - "2026-05-05T06:51:00", - "2026-05-05T06:52:00", - "2026-05-05T06:53:00", - "2026-05-05T06:54:00", - "2026-05-05T06:55:00", - "2026-05-05T06:56:00", - "2026-05-05T06:57:00", - "2026-05-05T06:58:00", - "2026-05-05T06:59:00", - "2026-05-05T07:00:00", - "2026-05-05T07:01:00", - "2026-05-05T07:02:00", - "2026-05-05T07:03:00", - "2026-05-05T07:04:00", - "2026-05-05T07:05:00", - "2026-05-05T07:06:00", - "2026-05-05T07:07:00", - "2026-05-05T07:08:00", - "2026-05-05T07:09:00", - "2026-05-05T07:10:00", - "2026-05-05T07:11:00", - "2026-05-05T07:12:00", - "2026-05-05T07:13:00", - "2026-05-05T07:14:00", - "2026-05-05T07:15:00", - "2026-05-05T07:16:00", - "2026-05-05T07:17:00", - "2026-05-05T07:18:00", - "2026-05-05T07:19:00", - "2026-05-05T07:20:00", - "2026-05-05T07:21:00", - "2026-05-05T07:22:00", - "2026-05-05T07:23:00", - "2026-05-05T07:24:00", - "2026-05-05T07:25:00", - "2026-05-05T07:26:00", - "2026-05-05T07:27:00", - "2026-05-05T07:28:00", - "2026-05-05T07:29:00", - "2026-05-05T07:30:00", - "2026-05-05T07:31:00", - "2026-05-05T07:32:00", - "2026-05-05T07:33:00", - "2026-05-05T07:34:00", - "2026-05-05T07:35:00", - "2026-05-05T07:36:00", - "2026-05-05T07:37:00", - "2026-05-05T07:38:00", - "2026-05-05T07:39:00", - "2026-05-05T07:40:00", - "2026-05-05T07:41:00", - "2026-05-05T07:42:00", - "2026-05-05T07:43:00", - "2026-05-05T07:44:00", - "2026-05-05T07:45:00", - "2026-05-05T07:46:00", - "2026-05-05T07:47:00", - "2026-05-05T07:48:00", - "2026-05-05T07:49:00", - "2026-05-05T07:50:00", - "2026-05-05T07:51:00", - "2026-05-05T07:52:00", - "2026-05-05T07:53:00", - "2026-05-05T07:54:00", - "2026-05-05T07:55:00", - "2026-05-05T07:56:00", - "2026-05-05T07:57:00", - "2026-05-05T07:58:00", - "2026-05-05T07:59:00", - "2026-05-05T08:00:00", - "2026-05-05T08:01:00", - "2026-05-05T08:02:00", - "2026-05-05T08:03:00", - "2026-05-05T08:04:00", - "2026-05-05T08:05:00", - "2026-05-05T08:06:00", - "2026-05-05T08:07:00", - "2026-05-05T08:08:00", - "2026-05-05T08:09:00", - "2026-05-05T08:10:00", - "2026-05-05T08:11:00", - "2026-05-05T08:12:00", - "2026-05-05T08:13:00", - "2026-05-05T08:14:00", - "2026-05-05T08:15:00", - "2026-05-05T08:16:00", - "2026-05-05T08:17:00", - "2026-05-05T08:18:00", - "2026-05-05T08:19:00", - "2026-05-05T08:20:00", - "2026-05-05T08:21:00", - "2026-05-05T08:22:00", - "2026-05-05T08:23:00", - "2026-05-05T08:24:00", - "2026-05-05T08:25:00", - "2026-05-05T08:26:00", - "2026-05-05T08:27:00", - "2026-05-05T08:28:00", - "2026-05-05T08:29:00", - "2026-05-05T08:30:00", - "2026-05-05T08:31:00", - "2026-05-05T08:32:00", - "2026-05-05T08:33:00", - "2026-05-05T08:34:00", - "2026-05-05T08:35:00", - "2026-05-05T08:36:00", - "2026-05-05T08:37:00", - "2026-05-05T08:38:00", - "2026-05-05T08:39:00", - "2026-05-05T08:40:00", - "2026-05-05T08:41:00", - "2026-05-05T08:42:00", - "2026-05-05T08:43:00", - "2026-05-05T08:44:00", - "2026-05-05T08:45:00", - "2026-05-05T08:46:00", - "2026-05-05T08:47:00", - "2026-05-05T08:48:00", - "2026-05-05T08:49:00", - "2026-05-05T08:50:00", - "2026-05-05T08:51:00", - "2026-05-05T08:52:00", - "2026-05-05T08:53:00", - "2026-05-05T08:54:00", - "2026-05-05T08:55:00", - "2026-05-05T08:56:00", - "2026-05-05T08:57:00", - "2026-05-05T08:58:00", - "2026-05-05T08:59:00", - "2026-05-05T09:00:00", - "2026-05-05T09:01:00", - "2026-05-05T09:02:00", - "2026-05-05T09:03:00", - "2026-05-05T09:04:00", - "2026-05-05T09:05:00", - "2026-05-05T09:06:00", - "2026-05-05T09:07:00", - "2026-05-05T09:08:00", - "2026-05-05T09:09:00", - "2026-05-05T09:10:00", - "2026-05-05T09:11:00", - "2026-05-05T09:12:00", - "2026-05-05T09:13:00", - "2026-05-05T09:14:00", - "2026-05-05T09:15:00", - "2026-05-05T09:16:00", - "2026-05-05T09:17:00", - "2026-05-05T09:18:00", - "2026-05-05T09:19:00", - "2026-05-05T09:20:00", - "2026-05-05T09:21:00", - "2026-05-05T09:22:00", - "2026-05-05T09:23:00", - "2026-05-05T09:24:00", - "2026-05-05T09:25:00", - "2026-05-05T09:26:00", - "2026-05-05T09:27:00", - "2026-05-05T09:28:00", - "2026-05-05T09:29:00", - "2026-05-05T09:30:00", - "2026-05-05T09:31:00", - "2026-05-05T09:32:00", - "2026-05-05T09:33:00", - "2026-05-05T09:34:00", - "2026-05-05T09:35:00", - "2026-05-05T09:36:00", - "2026-05-05T09:37:00", - "2026-05-05T09:38:00", - "2026-05-05T09:39:00", - "2026-05-05T09:40:00", - "2026-05-05T09:41:00", - "2026-05-05T09:42:00", - "2026-05-05T09:43:00", - "2026-05-05T09:44:00", - "2026-05-05T09:45:00", - "2026-05-05T09:46:00", - "2026-05-05T09:47:00", - "2026-05-05T09:48:00", - "2026-05-05T09:49:00", - "2026-05-05T09:50:00", - "2026-05-05T09:51:00", - "2026-05-05T09:52:00", - "2026-05-05T09:53:00", - "2026-05-05T09:54:00", - "2026-05-05T09:55:00", - "2026-05-05T09:56:00", - "2026-05-05T09:57:00", - "2026-05-05T09:58:00", - "2026-05-05T09:59:00", - "2026-05-05T10:00:00", - "2026-05-05T10:01:00", - "2026-05-05T10:02:00", - "2026-05-05T10:03:00", - "2026-05-05T10:04:00", - "2026-05-05T10:05:00", - "2026-05-05T10:06:00", - "2026-05-05T10:07:00", - "2026-05-05T10:08:00", - "2026-05-05T10:09:00", - "2026-05-05T10:10:00", - "2026-05-05T10:11:00", - "2026-05-05T10:12:00", - "2026-05-05T10:13:00", - "2026-05-05T10:14:00", - "2026-05-05T10:15:00", - "2026-05-05T10:16:00", - "2026-05-05T10:17:00", - "2026-05-05T10:18:00", - "2026-05-05T10:19:00", - "2026-05-05T10:20:00", - "2026-05-05T10:21:00", - "2026-05-05T10:22:00", - "2026-05-05T10:23:00", - "2026-05-05T10:24:00", - "2026-05-05T10:25:00", - "2026-05-05T10:26:00", - "2026-05-05T10:27:00", - "2026-05-05T10:28:00", - "2026-05-05T10:29:00", - "2026-05-05T10:30:00", - "2026-05-05T10:31:00", - "2026-05-05T10:32:00", - "2026-05-05T10:33:00", - "2026-05-05T10:34:00", - "2026-05-05T10:35:00", - "2026-05-05T10:36:00", - "2026-05-05T10:37:00", - "2026-05-05T10:38:00", - "2026-05-05T10:39:00", - "2026-05-05T10:40:00", - "2026-05-05T10:41:00", - "2026-05-05T10:42:00", - "2026-05-05T10:43:00", - "2026-05-05T10:44:00", - "2026-05-05T10:45:00", - "2026-05-05T10:46:00", - "2026-05-05T10:47:00", - "2026-05-05T10:48:00", - "2026-05-05T10:49:00", - "2026-05-05T10:50:00", - "2026-05-05T10:51:00", - "2026-05-05T10:52:00", - "2026-05-05T10:53:00", - "2026-05-05T10:54:00", - "2026-05-05T10:55:00", - "2026-05-05T10:56:00", - "2026-05-05T10:57:00", - "2026-05-05T10:58:00", - "2026-05-05T10:59:00", - "2026-05-05T11:00:00", - "2026-05-05T11:01:00", - "2026-05-05T11:02:00", - "2026-05-05T11:03:00", - "2026-05-05T11:04:00", - "2026-05-05T11:05:00", - "2026-05-05T11:06:00", - "2026-05-05T11:07:00", - "2026-05-05T11:08:00", - "2026-05-05T11:09:00", - "2026-05-05T11:10:00", - "2026-05-05T11:11:00", - "2026-05-05T11:12:00", - "2026-05-05T11:13:00", - "2026-05-05T11:14:00", - "2026-05-05T11:15:00", - "2026-05-05T11:16:00", - "2026-05-05T11:17:00", - "2026-05-05T11:18:00", - "2026-05-05T11:19:00", - "2026-05-05T11:20:00", - "2026-05-05T11:21:00", - "2026-05-05T11:22:00", - "2026-05-05T11:23:00", - "2026-05-05T11:24:00", - "2026-05-05T11:25:00", - "2026-05-05T11:26:00", - "2026-05-05T11:27:00", - "2026-05-05T11:28:00", - "2026-05-05T11:29:00", - "2026-05-05T11:30:00", - "2026-05-05T11:31:00", - "2026-05-05T11:32:00", - "2026-05-05T11:33:00", - "2026-05-05T11:34:00", - "2026-05-05T11:35:00", - "2026-05-05T11:36:00", - "2026-05-05T11:37:00", - "2026-05-05T11:38:00", - "2026-05-05T11:39:00", - "2026-05-05T11:40:00", - "2026-05-05T11:41:00", - "2026-05-05T11:42:00", - "2026-05-05T11:43:00", - "2026-05-05T11:44:00", - "2026-05-05T11:45:00", - "2026-05-05T11:46:00", - "2026-05-05T11:47:00", - "2026-05-05T11:48:00", - "2026-05-05T11:49:00", - "2026-05-05T11:50:00", - "2026-05-05T11:51:00", - "2026-05-05T11:52:00", - "2026-05-05T11:53:00", - "2026-05-05T11:54:00", - "2026-05-05T11:55:00", - "2026-05-05T11:56:00", - "2026-05-05T11:57:00", - "2026-05-05T11:58:00", - "2026-05-05T11:59:00", - "2026-05-05T12:00:00", - "2026-05-05T12:01:00", - "2026-05-05T12:02:00", - "2026-05-05T12:03:00", - "2026-05-05T12:04:00", - "2026-05-05T12:05:00", - "2026-05-05T12:06:00", - "2026-05-05T12:07:00", - "2026-05-05T12:08:00", - "2026-05-05T12:09:00", - "2026-05-05T12:10:00", - "2026-05-05T12:11:00", - "2026-05-05T12:12:00", - "2026-05-05T12:13:00", - "2026-05-05T12:14:00", - "2026-05-05T12:15:00", - "2026-05-05T12:16:00", - "2026-05-05T12:17:00", - "2026-05-05T12:18:00", - "2026-05-05T12:19:00", - "2026-05-05T12:20:00", - "2026-05-05T12:21:00", - "2026-05-05T12:22:00", - "2026-05-05T12:23:00", - "2026-05-05T12:24:00", - "2026-05-05T12:25:00", - "2026-05-05T12:26:00", - "2026-05-05T12:27:00", - "2026-05-05T12:28:00", - "2026-05-05T12:29:00", - "2026-05-05T12:30:00", - "2026-05-05T12:31:00", - "2026-05-05T12:32:00", - "2026-05-05T12:33:00", - "2026-05-05T12:34:00", - "2026-05-05T12:35:00", - "2026-05-05T12:36:00", - "2026-05-05T12:37:00", - "2026-05-05T12:38:00", - "2026-05-05T12:39:00", - "2026-05-05T12:40:00", - "2026-05-05T12:41:00", - "2026-05-05T12:42:00", - "2026-05-05T12:43:00", - "2026-05-05T12:44:00", - "2026-05-05T12:45:00", - "2026-05-05T12:46:00", - "2026-05-05T12:47:00", - "2026-05-05T12:48:00", - "2026-05-05T12:49:00", - "2026-05-05T12:50:00", - "2026-05-05T12:51:00", - "2026-05-05T12:52:00", - "2026-05-05T12:53:00", - "2026-05-05T12:54:00", - "2026-05-05T12:55:00", - "2026-05-05T12:56:00", - "2026-05-05T12:57:00", - "2026-05-05T12:58:00", - "2026-05-05T12:59:00", - "2026-05-05T13:00:00", - "2026-05-05T13:01:00", - "2026-05-05T13:02:00", - "2026-05-05T13:03:00", - "2026-05-05T13:04:00", - "2026-05-05T13:05:00", - "2026-05-05T13:06:00", - "2026-05-05T13:07:00", - "2026-05-05T13:08:00", - "2026-05-05T13:09:00", - "2026-05-05T13:10:00", - "2026-05-05T13:11:00", - "2026-05-05T13:12:00", - "2026-05-05T13:13:00", - "2026-05-05T13:14:00", - "2026-05-05T13:15:00", - "2026-05-05T13:16:00", - "2026-05-05T13:17:00", - "2026-05-05T13:18:00", - "2026-05-05T13:19:00", - "2026-05-05T13:20:00", - "2026-05-05T13:21:00", - "2026-05-05T13:22:00", - "2026-05-05T13:23:00", - "2026-05-05T13:24:00", - "2026-05-05T13:25:00", - "2026-05-05T13:26:00", - "2026-05-05T13:27:00", - "2026-05-05T13:28:00", - "2026-05-05T13:29:00", - "2026-05-05T13:30:00", - "2026-05-05T13:31:00", - "2026-05-05T13:32:00", - "2026-05-05T13:33:00", - "2026-05-05T13:34:00", - "2026-05-05T13:35:00", - "2026-05-05T13:36:00", - "2026-05-05T13:37:00", - "2026-05-05T13:38:00", - "2026-05-05T13:39:00", - "2026-05-05T13:40:00", - "2026-05-05T13:41:00", - "2026-05-05T13:42:00", - "2026-05-05T13:43:00", - "2026-05-05T13:44:00", - "2026-05-05T13:45:00", - "2026-05-05T13:46:00", - "2026-05-05T13:47:00", - "2026-05-05T13:48:00", - "2026-05-05T13:49:00", - "2026-05-05T13:50:00", - "2026-05-05T13:51:00", - "2026-05-05T13:52:00", - "2026-05-05T13:53:00", - "2026-05-05T13:54:00", - "2026-05-05T13:55:00", - "2026-05-05T13:56:00", - "2026-05-05T13:57:00", - "2026-05-05T13:58:00", - "2026-05-05T13:59:00", - "2026-05-05T14:00:00", - "2026-05-05T14:01:00", - "2026-05-05T14:02:00", - "2026-05-05T14:03:00", - "2026-05-05T14:04:00", - "2026-05-05T14:05:00", - "2026-05-05T14:06:00", - "2026-05-05T14:07:00", - "2026-05-05T14:08:00", - "2026-05-05T14:09:00", - "2026-05-05T14:10:00", - "2026-05-05T14:11:00", - "2026-05-05T14:12:00", - "2026-05-05T14:13:00", - "2026-05-05T14:14:00", - "2026-05-05T14:15:00", - "2026-05-05T14:16:00", - "2026-05-05T14:17:00", - "2026-05-05T14:18:00", - "2026-05-05T14:19:00", - "2026-05-05T14:20:00", - "2026-05-05T14:21:00", - "2026-05-05T14:22:00", - "2026-05-05T14:23:00", - "2026-05-05T14:24:00", - "2026-05-05T14:25:00", - "2026-05-05T14:26:00", - "2026-05-05T14:27:00", - "2026-05-05T14:28:00", - "2026-05-05T14:29:00", - "2026-05-05T14:30:00", - "2026-05-05T14:31:00", - "2026-05-05T14:32:00", - "2026-05-05T14:33:00", - "2026-05-05T14:34:00", - "2026-05-05T14:35:00", - "2026-05-05T14:36:00", - "2026-05-05T14:37:00", - "2026-05-05T14:38:00", - "2026-05-05T14:39:00", - "2026-05-05T14:40:00", - "2026-05-05T14:41:00", - "2026-05-05T14:42:00", - "2026-05-05T14:43:00", - "2026-05-05T14:44:00", - "2026-05-05T14:45:00", - "2026-05-05T14:46:00", - "2026-05-05T14:47:00", - "2026-05-05T14:48:00", - "2026-05-05T14:49:00", - "2026-05-05T14:50:00", - "2026-05-05T14:51:00", - "2026-05-05T14:52:00", - "2026-05-05T14:53:00", - "2026-05-05T14:54:00", - "2026-05-05T14:55:00", - "2026-05-05T14:56:00", - "2026-05-05T14:57:00", - "2026-05-05T14:58:00", - "2026-05-05T14:59:00", - "2026-05-05T15:00:00", - "2026-05-05T15:01:00", - "2026-05-05T15:02:00", - "2026-05-05T15:03:00", - "2026-05-05T15:04:00", - "2026-05-05T15:05:00", - "2026-05-05T15:06:00", - "2026-05-05T15:07:00", - "2026-05-05T15:08:00", - "2026-05-05T15:09:00", - "2026-05-05T15:10:00", - "2026-05-05T15:11:00", - "2026-05-05T15:12:00", - "2026-05-05T15:13:00", - "2026-05-05T15:14:00", - "2026-05-05T15:15:00", - "2026-05-05T15:16:00", - "2026-05-05T15:17:00", - "2026-05-05T15:18:00", - "2026-05-05T15:19:00", - "2026-05-05T15:20:00", - "2026-05-05T15:21:00", - "2026-05-05T15:22:00", - "2026-05-05T15:23:00", - "2026-05-05T15:24:00", - "2026-05-05T15:25:00", - "2026-05-05T15:26:00", - "2026-05-05T15:27:00", - "2026-05-05T15:28:00", - "2026-05-05T15:29:00", - "2026-05-05T15:30:00", - "2026-05-05T15:31:00", - "2026-05-05T15:32:00", - "2026-05-05T15:33:00", - "2026-05-05T15:34:00", - "2026-05-05T15:35:00", - "2026-05-05T15:36:00", - "2026-05-05T15:37:00", - "2026-05-05T15:38:00", - "2026-05-05T15:39:00", - "2026-05-05T15:40:00", - "2026-05-05T15:41:00", - "2026-05-05T15:42:00", - "2026-05-05T15:43:00", - "2026-05-05T15:44:00", - "2026-05-05T15:45:00", - "2026-05-05T15:46:00", - "2026-05-05T15:47:00", - "2026-05-05T15:48:00", - "2026-05-05T15:49:00", - "2026-05-05T15:50:00", - "2026-05-05T15:51:00", - "2026-05-05T15:52:00", - "2026-05-05T15:53:00", - "2026-05-05T15:54:00", - "2026-05-05T15:55:00", - "2026-05-05T15:56:00", - "2026-05-05T15:57:00", - "2026-05-05T15:58:00", - "2026-05-05T15:59:00", - "2026-05-05T16:00:00", - "2026-05-05T16:01:00", - "2026-05-05T16:02:00", - "2026-05-05T16:03:00", - "2026-05-05T16:04:00", - "2026-05-05T16:05:00", - "2026-05-05T16:06:00", - "2026-05-05T16:07:00", - "2026-05-05T16:08:00", - "2026-05-05T16:09:00", - "2026-05-05T16:10:00", - "2026-05-05T16:11:00", - "2026-05-05T16:12:00", - "2026-05-05T16:13:00", - "2026-05-05T16:14:00", - "2026-05-05T16:15:00", - "2026-05-05T16:16:00", - "2026-05-05T16:17:00", - "2026-05-05T16:18:00", - "2026-05-05T16:19:00", - "2026-05-05T16:20:00", - "2026-05-05T16:21:00", - "2026-05-05T16:22:00", - "2026-05-05T16:23:00", - "2026-05-05T16:24:00", - "2026-05-05T16:25:00", - "2026-05-05T16:26:00", - "2026-05-05T16:27:00", - "2026-05-05T16:28:00", - "2026-05-05T16:29:00", - "2026-05-05T16:30:00", - "2026-05-05T16:31:00", - "2026-05-05T16:32:00", - "2026-05-05T16:33:00", - "2026-05-05T16:34:00", - "2026-05-05T16:35:00", - "2026-05-05T16:36:00", - "2026-05-05T16:37:00", - "2026-05-05T16:38:00", - "2026-05-05T16:39:00", - "2026-05-05T16:40:00", - "2026-05-05T16:41:00", - "2026-05-05T16:42:00", - "2026-05-05T16:43:00", - "2026-05-05T16:44:00", - "2026-05-05T16:45:00", - "2026-05-05T16:46:00", - "2026-05-05T16:47:00", - "2026-05-05T16:48:00", - "2026-05-05T16:49:00", - "2026-05-05T16:50:00", - "2026-05-05T16:51:00", - "2026-05-05T16:52:00", - "2026-05-05T16:53:00", - "2026-05-05T16:54:00", - "2026-05-05T16:55:00", - "2026-05-05T16:56:00", - "2026-05-05T16:57:00", - "2026-05-05T16:58:00", - "2026-05-05T16:59:00", - "2026-05-05T17:00:00", - "2026-05-05T17:01:00", - "2026-05-05T17:02:00", - "2026-05-05T17:03:00", - "2026-05-05T17:04:00", - "2026-05-05T17:05:00", - "2026-05-05T17:06:00", - "2026-05-05T17:07:00", - "2026-05-05T17:08:00", - "2026-05-05T17:09:00", - "2026-05-05T17:10:00", - "2026-05-05T17:11:00", - "2026-05-05T17:12:00", - "2026-05-05T17:13:00", - "2026-05-05T17:14:00", - "2026-05-05T17:15:00", - "2026-05-05T17:16:00", - "2026-05-05T17:17:00", - "2026-05-05T17:18:00", - "2026-05-05T17:19:00", - "2026-05-05T17:20:00", - "2026-05-05T17:21:00", - "2026-05-05T17:22:00", - "2026-05-05T17:23:00", - "2026-05-05T17:24:00", - "2026-05-05T17:25:00", - "2026-05-05T17:26:00", - "2026-05-05T17:27:00", - "2026-05-05T17:28:00", - "2026-05-05T17:29:00", - "2026-05-05T17:30:00", - "2026-05-05T17:31:00", - "2026-05-05T17:32:00", - "2026-05-05T17:33:00", - "2026-05-05T17:34:00", - "2026-05-05T17:35:00", - "2026-05-05T17:36:00", - "2026-05-05T17:37:00", - "2026-05-05T17:38:00", - "2026-05-05T17:39:00", - "2026-05-05T17:40:00", - "2026-05-05T17:41:00", - "2026-05-05T17:42:00", - "2026-05-05T17:43:00", - "2026-05-05T17:44:00", - "2026-05-05T17:45:00", - "2026-05-05T17:46:00", - "2026-05-05T17:47:00", - "2026-05-05T17:48:00", - "2026-05-05T17:49:00", - "2026-05-05T17:50:00", - "2026-05-05T17:51:00", - "2026-05-05T17:52:00", - "2026-05-05T17:53:00", - "2026-05-05T17:54:00", - "2026-05-05T17:55:00", - "2026-05-05T17:56:00", - "2026-05-05T17:57:00", - "2026-05-05T17:58:00", - "2026-05-05T17:59:00", - "2026-05-05T18:00:00", - "2026-05-05T18:01:00", - "2026-05-05T18:02:00", - "2026-05-05T18:03:00", - "2026-05-05T18:04:00", - "2026-05-05T18:05:00", - "2026-05-05T18:06:00", - "2026-05-05T18:07:00", - "2026-05-05T18:08:00", - "2026-05-05T18:09:00", - "2026-05-05T18:10:00", - "2026-05-05T18:11:00", - "2026-05-05T18:12:00", - "2026-05-05T18:13:00", - "2026-05-05T18:14:00", - "2026-05-05T18:15:00", - "2026-05-05T18:16:00", - "2026-05-05T18:17:00", - "2026-05-05T18:18:00", - "2026-05-05T18:19:00", - "2026-05-05T18:20:00", - "2026-05-05T18:21:00", - "2026-05-05T18:22:00", - "2026-05-05T18:23:00", - "2026-05-05T18:24:00", - "2026-05-05T18:25:00", - "2026-05-05T18:26:00", - "2026-05-05T18:27:00", - "2026-05-05T18:28:00", - "2026-05-05T18:29:00", - "2026-05-05T18:30:00", - "2026-05-05T18:31:00", - "2026-05-05T18:32:00", - "2026-05-05T18:33:00", - "2026-05-05T18:34:00", - "2026-05-05T18:35:00", - "2026-05-05T18:36:00", - "2026-05-05T18:37:00", - "2026-05-05T18:38:00", - "2026-05-05T18:39:00", - "2026-05-05T18:40:00", - "2026-05-05T18:41:00", - "2026-05-05T18:42:00", - "2026-05-05T18:43:00", - "2026-05-05T18:44:00", - "2026-05-05T18:45:00", - "2026-05-05T18:46:00", - "2026-05-05T18:47:00", - "2026-05-05T18:48:00", - "2026-05-05T18:49:00", - "2026-05-05T18:50:00", - "2026-05-05T18:51:00", - "2026-05-05T18:52:00", - "2026-05-05T18:53:00", - "2026-05-05T18:54:00", - "2026-05-05T18:55:00", - "2026-05-05T18:56:00", - "2026-05-05T18:57:00", - "2026-05-05T18:58:00", - "2026-05-05T18:59:00", - "2026-05-05T19:00:00", - "2026-05-05T19:01:00", - "2026-05-05T19:02:00", - "2026-05-05T19:03:00", - "2026-05-05T19:04:00", - "2026-05-05T19:05:00", - "2026-05-05T19:06:00", - "2026-05-05T19:07:00", - "2026-05-05T19:08:00", - "2026-05-05T19:09:00", - "2026-05-05T19:10:00", - "2026-05-05T19:11:00", - "2026-05-05T19:12:00", - "2026-05-05T19:13:00", - "2026-05-05T19:14:00", - "2026-05-05T19:15:00", - "2026-05-05T19:16:00", - "2026-05-05T19:17:00", - "2026-05-05T19:18:00", - "2026-05-05T19:19:00", - "2026-05-05T19:20:00", - "2026-05-05T19:21:00", - "2026-05-05T19:22:00", - "2026-05-05T19:23:00", - "2026-05-05T19:24:00", - "2026-05-05T19:25:00", - "2026-05-05T19:26:00", - "2026-05-05T19:27:00", - "2026-05-05T19:28:00", - "2026-05-05T19:29:00", - "2026-05-05T19:30:00", - "2026-05-05T19:31:00", - "2026-05-05T19:32:00", - "2026-05-05T19:33:00", - "2026-05-05T19:34:00", - "2026-05-05T19:35:00", - "2026-05-05T19:36:00", - "2026-05-05T19:37:00", - "2026-05-05T19:38:00", - "2026-05-05T19:39:00", - "2026-05-05T19:40:00", - "2026-05-05T19:41:00", - "2026-05-05T19:42:00", - "2026-05-05T19:43:00", - "2026-05-05T19:44:00", - "2026-05-05T19:45:00", - "2026-05-05T19:46:00", - "2026-05-05T19:47:00", - "2026-05-05T19:48:00", - "2026-05-05T19:49:00", - "2026-05-05T19:50:00", - "2026-05-05T19:51:00", - "2026-05-05T19:52:00", - "2026-05-05T19:53:00", - "2026-05-05T19:54:00", - "2026-05-05T19:55:00", - "2026-05-05T19:56:00", - "2026-05-05T19:57:00", - "2026-05-05T19:58:00", - "2026-05-05T19:59:00", - "2026-05-05T20:00:00", - "2026-05-05T20:01:00", - "2026-05-05T20:02:00", - "2026-05-05T20:03:00", - "2026-05-05T20:04:00", - "2026-05-05T20:05:00", - "2026-05-05T20:06:00", - "2026-05-05T20:07:00", - "2026-05-05T20:08:00", - "2026-05-05T20:09:00", - "2026-05-05T20:10:00", - "2026-05-05T20:11:00", - "2026-05-05T20:12:00", - "2026-05-05T20:13:00", - "2026-05-05T20:14:00", - "2026-05-05T20:15:00", - "2026-05-05T20:16:00", - "2026-05-05T20:17:00", - "2026-05-05T20:18:00", - "2026-05-05T20:19:00", - "2026-05-05T20:20:00", - "2026-05-05T20:21:00", - "2026-05-05T20:22:00", - "2026-05-05T20:23:00", - "2026-05-05T20:24:00", - "2026-05-05T20:25:00", - "2026-05-05T20:26:00", - "2026-05-05T20:27:00", - "2026-05-05T20:28:00", - "2026-05-05T20:29:00", - "2026-05-05T20:30:00", - "2026-05-05T20:31:00", - "2026-05-05T20:32:00", - "2026-05-05T20:33:00", - "2026-05-05T20:34:00", - "2026-05-05T20:35:00", - "2026-05-05T20:36:00", - "2026-05-05T20:37:00", - "2026-05-05T20:38:00", - "2026-05-05T20:39:00", - "2026-05-05T20:40:00", - "2026-05-05T20:41:00", - "2026-05-05T20:42:00", - "2026-05-05T20:43:00", - "2026-05-05T20:44:00", - "2026-05-05T20:45:00", - "2026-05-05T20:46:00", - "2026-05-05T20:47:00", - "2026-05-05T20:48:00", - "2026-05-05T20:49:00", - "2026-05-05T20:50:00", - "2026-05-05T20:51:00", - "2026-05-05T20:52:00", - "2026-05-05T20:53:00", - "2026-05-05T20:54:00", - "2026-05-05T20:55:00", - "2026-05-05T20:56:00", - "2026-05-05T20:57:00", - "2026-05-05T20:58:00", - "2026-05-05T20:59:00", - "2026-05-05T21:00:00", - "2026-05-05T21:01:00", - "2026-05-05T21:02:00", - "2026-05-05T21:03:00", - "2026-05-05T21:04:00", - "2026-05-05T21:05:00", - "2026-05-05T21:06:00", - "2026-05-05T21:07:00", - "2026-05-05T21:08:00", - "2026-05-05T21:09:00", - "2026-05-05T21:10:00", - "2026-05-05T21:11:00", - "2026-05-05T21:12:00", - "2026-05-05T21:13:00", - "2026-05-05T21:14:00", - "2026-05-05T21:15:00", - "2026-05-05T21:16:00", - "2026-05-05T21:17:00", - "2026-05-05T21:18:00", - "2026-05-05T21:19:00", - "2026-05-05T21:20:00", - "2026-05-05T21:21:00", - "2026-05-05T21:22:00", - "2026-05-05T21:23:00", - "2026-05-05T21:24:00", - "2026-05-05T21:25:00", - "2026-05-05T21:26:00", - "2026-05-05T21:27:00", - "2026-05-05T21:28:00", - "2026-05-05T21:29:00", - "2026-05-05T21:30:00", - "2026-05-05T21:31:00", - "2026-05-05T21:32:00", - "2026-05-05T21:33:00", - "2026-05-05T21:34:00", - "2026-05-05T21:35:00", - "2026-05-05T21:36:00", - "2026-05-05T21:37:00", - "2026-05-05T21:38:00", - "2026-05-05T21:39:00", - "2026-05-05T21:40:00", - "2026-05-05T21:41:00", - "2026-05-05T21:42:00", - "2026-05-05T21:43:00", - "2026-05-05T21:44:00", - "2026-05-05T21:45:00", - "2026-05-05T21:46:00", - "2026-05-05T21:47:00", - "2026-05-05T21:48:00", - "2026-05-05T21:49:00", - "2026-05-05T21:50:00", - "2026-05-05T21:51:00", - "2026-05-05T21:52:00", - "2026-05-05T21:53:00", - "2026-05-05T21:54:00", - "2026-05-05T21:55:00", - "2026-05-05T21:56:00", - "2026-05-05T21:57:00", - "2026-05-05T21:58:00", - "2026-05-05T21:59:00", - "2026-05-05T22:00:00", - "2026-05-05T22:01:00", - "2026-05-05T22:02:00", - "2026-05-05T22:03:00", - "2026-05-05T22:04:00", - "2026-05-05T22:05:00", - "2026-05-05T22:06:00", - "2026-05-05T22:07:00", - "2026-05-05T22:08:00", - "2026-05-05T22:09:00", - "2026-05-05T22:10:00", - "2026-05-05T22:11:00", - "2026-05-05T22:12:00", - "2026-05-05T22:13:00", - "2026-05-05T22:14:00", - "2026-05-05T22:15:00", - "2026-05-05T22:16:00", - "2026-05-05T22:17:00", - "2026-05-05T22:18:00", - "2026-05-05T22:19:00", - "2026-05-05T22:20:00", - "2026-05-05T22:21:00", - "2026-05-05T22:22:00", - "2026-05-05T22:23:00", - "2026-05-05T22:24:00", - "2026-05-05T22:25:00", - "2026-05-05T22:26:00", - "2026-05-05T22:27:00", - "2026-05-05T22:28:00", - "2026-05-05T22:29:00", - "2026-05-05T22:30:00", - "2026-05-05T22:31:00", - "2026-05-05T22:32:00", - "2026-05-05T22:33:00", - "2026-05-05T22:34:00", - "2026-05-05T22:35:00", - "2026-05-05T22:36:00", - "2026-05-05T22:37:00", - "2026-05-05T22:38:00", - "2026-05-05T22:39:00", - "2026-05-05T22:40:00", - "2026-05-05T22:41:00", - "2026-05-05T22:42:00", - "2026-05-05T22:43:00", - "2026-05-05T22:44:00", - "2026-05-05T22:45:00", - "2026-05-05T22:46:00", - "2026-05-05T22:47:00", - "2026-05-05T22:48:00", - "2026-05-05T22:49:00", - "2026-05-05T22:50:00", - "2026-05-05T22:51:00", - "2026-05-05T22:52:00", - "2026-05-05T22:53:00", - "2026-05-05T22:54:00", - "2026-05-05T22:55:00", - "2026-05-05T22:56:00", - "2026-05-05T22:57:00", - "2026-05-05T22:58:00", - "2026-05-05T22:59:00", - "2026-05-05T23:00:00", - "2026-05-05T23:01:00", - "2026-05-05T23:02:00", - "2026-05-05T23:03:00", - "2026-05-05T23:04:00", - "2026-05-05T23:05:00", - "2026-05-05T23:06:00", - "2026-05-05T23:07:00", - "2026-05-05T23:08:00", - "2026-05-05T23:09:00", - "2026-05-05T23:10:00", - "2026-05-05T23:11:00", - "2026-05-05T23:12:00", - "2026-05-05T23:13:00", - "2026-05-05T23:14:00", - "2026-05-05T23:15:00", - "2026-05-05T23:16:00", - "2026-05-05T23:17:00", - "2026-05-05T23:18:00", - "2026-05-05T23:19:00", - "2026-05-05T23:20:00", - "2026-05-05T23:21:00", - "2026-05-05T23:22:00", - "2026-05-05T23:23:00", - "2026-05-05T23:24:00", - "2026-05-05T23:25:00", - "2026-05-05T23:26:00", - "2026-05-05T23:27:00", - "2026-05-05T23:28:00", - "2026-05-05T23:29:00", - "2026-05-05T23:30:00", - "2026-05-05T23:31:00", - "2026-05-05T23:32:00", - "2026-05-05T23:33:00", - "2026-05-05T23:34:00", - "2026-05-05T23:35:00", - "2026-05-05T23:36:00", - "2026-05-05T23:37:00", - "2026-05-05T23:38:00", - "2026-05-05T23:39:00", - "2026-05-05T23:40:00", - "2026-05-05T23:41:00", - "2026-05-05T23:42:00", - "2026-05-05T23:43:00", - "2026-05-05T23:44:00", - "2026-05-05T23:45:00", - "2026-05-05T23:46:00", - "2026-05-05T23:47:00", - "2026-05-05T23:48:00", - "2026-05-05T23:49:00", - "2026-05-05T23:50:00", - "2026-05-05T23:51:00", - "2026-05-05T23:52:00", - "2026-05-05T23:53:00", - "2026-05-05T23:54:00", - "2026-05-05T23:55:00", - "2026-05-05T23:56:00", - "2026-05-05T23:57:00", - "2026-05-05T23:58:00", - "2026-05-05T23:59:00", - "2026-05-06T00:00:00", - "2026-05-06T00:01:00", - "2026-05-06T00:02:00", - "2026-05-06T00:03:00", - "2026-05-06T00:04:00", - "2026-05-06T00:05:00", - "2026-05-06T00:06:00", - "2026-05-06T00:07:00", - "2026-05-06T00:08:00", - "2026-05-06T00:09:00", - "2026-05-06T00:10:00", - "2026-05-06T00:11:00", - "2026-05-06T00:12:00", - "2026-05-06T00:13:00", - "2026-05-06T00:14:00", - "2026-05-06T00:15:00", - "2026-05-06T00:16:00", - "2026-05-06T00:17:00", - "2026-05-06T00:18:00", - "2026-05-06T00:19:00", - "2026-05-06T00:20:00", - "2026-05-06T00:21:00", - "2026-05-06T00:22:00", - "2026-05-06T00:23:00", - "2026-05-06T00:24:00", - "2026-05-06T00:25:00", - "2026-05-06T00:26:00", - "2026-05-06T00:27:00", - "2026-05-06T00:28:00", - "2026-05-06T00:29:00", - "2026-05-06T00:30:00", - "2026-05-06T00:31:00", - "2026-05-06T00:32:00", - "2026-05-06T00:33:00", - "2026-05-06T00:34:00", - "2026-05-06T00:35:00", - "2026-05-06T00:36:00", - "2026-05-06T00:37:00", - "2026-05-06T00:38:00", - "2026-05-06T00:39:00", - "2026-05-06T00:40:00", - "2026-05-06T00:41:00", - "2026-05-06T00:42:00", - "2026-05-06T00:43:00", - "2026-05-06T00:44:00", - "2026-05-06T00:45:00", - "2026-05-06T00:46:00", - "2026-05-06T00:47:00", - "2026-05-06T00:48:00", - "2026-05-06T00:49:00", - "2026-05-06T00:50:00", - "2026-05-06T00:51:00", - "2026-05-06T00:52:00", - "2026-05-06T00:53:00", - "2026-05-06T00:54:00", - "2026-05-06T00:55:00", - "2026-05-06T00:56:00", - "2026-05-06T00:57:00", - "2026-05-06T00:58:00", - "2026-05-06T00:59:00", - "2026-05-06T01:00:00", - "2026-05-06T01:01:00", - "2026-05-06T01:02:00", - "2026-05-06T01:03:00", - "2026-05-06T01:04:00", - "2026-05-06T01:05:00", - "2026-05-06T01:06:00", - "2026-05-06T01:07:00", - "2026-05-06T01:08:00", - "2026-05-06T01:09:00", - "2026-05-06T01:10:00", - "2026-05-06T01:11:00", - "2026-05-06T01:12:00", - "2026-05-06T01:13:00", - "2026-05-06T01:14:00", - "2026-05-06T01:15:00", - "2026-05-06T01:16:00", - "2026-05-06T01:17:00", - "2026-05-06T01:18:00", - "2026-05-06T01:19:00", - "2026-05-06T01:20:00", - "2026-05-06T01:21:00", - "2026-05-06T01:22:00", - "2026-05-06T01:23:00", - "2026-05-06T01:24:00", - "2026-05-06T01:25:00", - "2026-05-06T01:26:00", - "2026-05-06T01:27:00", - "2026-05-06T01:28:00", - "2026-05-06T01:29:00", - "2026-05-06T01:30:00", - "2026-05-06T01:31:00", - "2026-05-06T01:32:00", - "2026-05-06T01:33:00", - "2026-05-06T01:34:00", - "2026-05-06T01:35:00", - "2026-05-06T01:36:00", - "2026-05-06T01:37:00", - "2026-05-06T01:38:00", - "2026-05-06T01:39:00", - "2026-05-06T01:40:00", - "2026-05-06T01:41:00", - "2026-05-06T01:42:00", - "2026-05-06T01:43:00", - "2026-05-06T01:44:00", - "2026-05-06T01:45:00", - "2026-05-06T01:46:00", - "2026-05-06T01:47:00", - "2026-05-06T01:48:00", - "2026-05-06T01:49:00", - "2026-05-06T01:50:00", - "2026-05-06T01:51:00", - "2026-05-06T01:52:00", - "2026-05-06T01:53:00", - "2026-05-06T01:54:00", - "2026-05-06T01:55:00", - "2026-05-06T01:56:00", - "2026-05-06T01:57:00", - "2026-05-06T01:58:00", - "2026-05-06T01:59:00", - "2026-05-06T02:00:00", - "2026-05-06T02:01:00", - "2026-05-06T02:02:00", - "2026-05-06T02:03:00", - "2026-05-06T02:04:00", - "2026-05-06T02:05:00", - "2026-05-06T02:06:00", - "2026-05-06T02:07:00", - "2026-05-06T02:08:00", - "2026-05-06T02:09:00", - "2026-05-06T02:10:00", - "2026-05-06T02:11:00", - "2026-05-06T02:12:00", - "2026-05-06T02:13:00", - "2026-05-06T02:14:00", - "2026-05-06T02:15:00", - "2026-05-06T02:16:00", - "2026-05-06T02:17:00", - "2026-05-06T02:18:00", - "2026-05-06T02:19:00", - "2026-05-06T02:20:00", - "2026-05-06T02:21:00", - "2026-05-06T02:22:00", - "2026-05-06T02:23:00", - "2026-05-06T02:24:00", - "2026-05-06T02:25:00", - "2026-05-06T02:26:00", - "2026-05-06T02:27:00", - "2026-05-06T02:28:00", - "2026-05-06T02:29:00", - "2026-05-06T02:30:00", - "2026-05-06T02:31:00", - "2026-05-06T02:32:00", - "2026-05-06T02:33:00", - "2026-05-06T02:34:00", - "2026-05-06T02:35:00", - "2026-05-06T02:36:00", - "2026-05-06T02:37:00", - "2026-05-06T02:38:00", - "2026-05-06T02:39:00", - "2026-05-06T02:40:00", - "2026-05-06T02:41:00", - "2026-05-06T02:42:00", - "2026-05-06T02:43:00", - "2026-05-06T02:44:00", - "2026-05-06T02:45:00", - "2026-05-06T02:46:00", - "2026-05-06T02:47:00", - "2026-05-06T02:48:00", - "2026-05-06T02:49:00", - "2026-05-06T02:50:00", - "2026-05-06T02:51:00", - "2026-05-06T02:52:00", - "2026-05-06T02:53:00", - "2026-05-06T02:54:00", - "2026-05-06T02:55:00", - "2026-05-06T02:56:00", - "2026-05-06T02:57:00", - "2026-05-06T02:58:00", - "2026-05-06T02:59:00", - "2026-05-06T03:00:00", - "2026-05-06T03:01:00", - "2026-05-06T03:02:00", - "2026-05-06T03:03:00", - "2026-05-06T03:04:00", - "2026-05-06T03:05:00", - "2026-05-06T03:06:00", - "2026-05-06T03:07:00", - "2026-05-06T03:08:00", - "2026-05-06T03:09:00", - "2026-05-06T03:10:00", - "2026-05-06T03:11:00", - "2026-05-06T03:12:00", - "2026-05-06T03:13:00", - "2026-05-06T03:14:00", - "2026-05-06T03:15:00", - "2026-05-06T03:16:00", - "2026-05-06T03:17:00", - "2026-05-06T03:18:00", - "2026-05-06T03:19:00", - "2026-05-06T03:20:00", - "2026-05-06T03:21:00", - "2026-05-06T03:22:00", - "2026-05-06T03:23:00", - "2026-05-06T03:24:00", - "2026-05-06T03:25:00", - "2026-05-06T03:26:00", - "2026-05-06T03:27:00", - "2026-05-06T03:28:00", - "2026-05-06T03:29:00", - "2026-05-06T03:30:00", - "2026-05-06T03:31:00", - "2026-05-06T03:32:00", - "2026-05-06T03:33:00", - "2026-05-06T03:34:00", - "2026-05-06T03:35:00", - "2026-05-06T03:36:00", - "2026-05-06T03:37:00", - "2026-05-06T03:38:00", - "2026-05-06T03:39:00", - "2026-05-06T03:40:00", - "2026-05-06T03:41:00", - "2026-05-06T03:42:00", - "2026-05-06T03:43:00", - "2026-05-06T03:44:00", - "2026-05-06T03:45:00", - "2026-05-06T03:46:00", - "2026-05-06T03:47:00", - "2026-05-06T03:48:00", - "2026-05-06T03:49:00", - "2026-05-06T03:50:00", - "2026-05-06T03:51:00", - "2026-05-06T03:52:00", - "2026-05-06T03:53:00", - "2026-05-06T03:54:00", - "2026-05-06T03:55:00", - "2026-05-06T03:56:00", - "2026-05-06T03:57:00", - "2026-05-06T03:58:00", - "2026-05-06T03:59:00", - "2026-05-06T04:00:00", - "2026-05-06T04:01:00", - "2026-05-06T04:02:00", - "2026-05-06T04:03:00", - "2026-05-06T04:04:00", - "2026-05-06T04:05:00", - "2026-05-06T04:06:00", - "2026-05-06T04:07:00", - "2026-05-06T04:08:00", - "2026-05-06T04:09:00", - "2026-05-06T04:10:00", - "2026-05-06T04:11:00", - "2026-05-06T04:12:00", - "2026-05-06T04:13:00", - "2026-05-06T04:14:00", - "2026-05-06T04:15:00", - "2026-05-06T04:16:00", - "2026-05-06T04:17:00", - "2026-05-06T04:18:00", - "2026-05-06T04:19:00", - "2026-05-06T04:20:00", - "2026-05-06T04:21:00", - "2026-05-06T04:22:00", - "2026-05-06T04:23:00", - "2026-05-06T04:24:00", - "2026-05-06T04:25:00", - "2026-05-06T04:26:00", - "2026-05-06T04:27:00", - "2026-05-06T04:28:00", - "2026-05-06T04:29:00", - "2026-05-06T04:30:00", - "2026-05-06T04:31:00", - "2026-05-06T04:32:00", - "2026-05-06T04:33:00", - "2026-05-06T04:34:00", - "2026-05-06T04:35:00", - "2026-05-06T04:36:00", - "2026-05-06T04:37:00", - "2026-05-06T04:38:00", - "2026-05-06T04:39:00", - "2026-05-06T04:40:00", - "2026-05-06T04:41:00", - "2026-05-06T04:42:00", - "2026-05-06T04:43:00", - "2026-05-06T04:44:00", - "2026-05-06T04:45:00", - "2026-05-06T04:46:00", - "2026-05-06T04:47:00", - "2026-05-06T04:48:00", - "2026-05-06T04:49:00", - "2026-05-06T04:50:00", - "2026-05-06T04:51:00", - "2026-05-06T04:52:00", - "2026-05-06T04:53:00", - "2026-05-06T04:54:00", - "2026-05-06T04:55:00", - "2026-05-06T04:56:00", - "2026-05-06T04:57:00", - "2026-05-06T04:58:00", - "2026-05-06T04:59:00", - "2026-05-06T05:00:00", - "2026-05-06T05:01:00", - "2026-05-06T05:02:00", - "2026-05-06T05:03:00", - "2026-05-06T05:04:00", - "2026-05-06T05:05:00", - "2026-05-06T05:06:00", - "2026-05-06T05:07:00", - "2026-05-06T05:08:00", - "2026-05-06T05:09:00", - "2026-05-06T05:10:00", - "2026-05-06T05:11:00", - "2026-05-06T05:12:00", - "2026-05-06T05:13:00", - "2026-05-06T05:14:00", - "2026-05-06T05:15:00", - "2026-05-06T05:16:00", - "2026-05-06T05:17:00" - ], - "xaxis": "x", - "y": { - "bdata": "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", - "dtype": "f8" - }, - "yaxis": "y2" - } - ], - "layout": { - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "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" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "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": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "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": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 0.94 - ] - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0, - 1 - ], - "title": { - "text": "Price" - } - }, - "yaxis2": { - "anchor": "x", - "overlaying": "y", - "side": "right", - "title": { - "text": "Ratio" - } - } - } - } - }, - "metadata": {}, - "output_type": "display_data" + "ename": "ValueError", + "evalue": "Mime type rendering requires nbformat>=4.2.0 but it is not installed", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[75]\u001b[39m\u001b[32m, line 23\u001b[39m\n\u001b[32m 19\u001b[39m \u001b[38;5;66;03m# 3. Update axes titles\u001b[39;00m\n\u001b[32m 20\u001b[39m fig.update_yaxes(title_text=\u001b[33m\"Price\"\u001b[39m, secondary_y=\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[32m 21\u001b[39m fig.update_yaxes(title_text=\u001b[33m\"Ratio\"\u001b[39m, secondary_y=\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[32m 22\u001b[39m \n\u001b[32m---> \u001b[39m\u001b[32m23\u001b[39m fig.show()\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/plotly/basedatatypes.py:3420\u001b[39m, in \u001b[36mBaseFigure.show\u001b[39m\u001b[34m(self, *args, **kwargs)\u001b[39m\n\u001b[32m 3387\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3388\u001b[39m \u001b[33;03mShow a figure using either the default renderer(s) or the renderer(s)\u001b[39;00m\n\u001b[32m 3389\u001b[39m \u001b[33;03mspecified by the renderer argument\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 3416\u001b[39m \u001b[33;03mNone\u001b[39;00m\n\u001b[32m 3417\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 3418\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mplotly\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mio\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpio\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m3420\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mpio\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mshow\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43margs\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/plotly/io/_renderers.py:415\u001b[39m, in \u001b[36mshow\u001b[39m\u001b[34m(fig, renderer, validate, **kwargs)\u001b[39m\n\u001b[32m 410\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 411\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mMime type rendering requires ipython but it is not installed\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 412\u001b[39m )\n\u001b[32m 414\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m nbformat \u001b[38;5;129;01mor\u001b[39;00m Version(nbformat.__version__) < Version(\u001b[33m\"\u001b[39m\u001b[33m4.2.0\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m--> \u001b[39m\u001b[32m415\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 416\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mMime type rendering requires nbformat>=4.2.0 but it is not installed\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 417\u001b[39m )\n\u001b[32m 419\u001b[39m display_jupyter_version_warnings()\n\u001b[32m 421\u001b[39m ipython_display.display(bundle, raw=\u001b[38;5;28;01mTrue\u001b[39;00m)\n", + "\u001b[31mValueError\u001b[39m: Mime type rendering requires nbformat>=4.2.0 but it is not installed" + ] } ], "source": [ - "import plotly.graph_objects as go\n", - "from plotly.subplots import make_subplots\n", "\n", "# 1. Create figure with secondary y-axis\n", "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n", @@ -10704,17 +5530,17 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 52, "id": "fada6f1d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "np.float64(0.000125082440699531)" + "np.float64(0.0004116117023620358)" ] }, - "execution_count": 56, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } diff --git a/engine_best_funding_rate.py b/engine_best_funding_rate.py index 630ed15..0ca4ba1 100644 --- a/engine_best_funding_rate.py +++ b/engine_best_funding_rate.py @@ -93,7 +93,10 @@ async def get_aster_exch_info() -> pd.DataFrame: return df def load_aster_current_fr(df_aster_exch_info: pd.DataFrame) -> pd.DataFrame: - df = pd.DataFrame(data=json.loads(s=VAL_KEY.get(name='fund_rate_aster_all'))) # ty:ignore[invalid-argument-type] + vk_get: str = VAL_KEY.get(name='fund_rate_aster_all') # ty:ignore[invalid-assignment] + if not vk_get: + raise ValueError(f'fund_rate_aster_all is empty: {vk_get}') + df = pd.DataFrame(data=json.loads(vk_get)) df: pd.DataFrame = df[['s','E','r','T']].rename({'s':'symbol','E':'funding_rate_updated_ts_ms','r':'funding_rate','T':'next_funding_ts'}, axis=1) df['funding_rate_updated_dt'] = pd.to_datetime(df['funding_rate_updated_ts_ms'], unit='ms') @@ -190,9 +193,6 @@ async def loop() -> None: 'net_mult_x_net_fr_abs','net_funding_rate_abs','net_funding_rate','next_funding_at_same_time','last_trade_ts_ast'] ].sort_values(by='net_mult_x_net_fr_abs', ascending=False).reset_index(drop=True) - # min_daily_volume = 100_000 - # df_best_fr_rate = df_best_fr_rate.loc[ (df_best_fr_rate['daily_volume_ast']>=min_daily_volume) & (df_best_fr_rate['daily_volume_ext']>min_daily_volume) ,:].reset_index(drop=True) - last_trade_max_ts = [] for index, row in df_best_fr_rate.iterrows(): r = json.loads(requests.get(f'https://api.starknet.extended.exchange/api/v1/info/markets/{row['symbol_ext']}/trades').text) @@ -204,21 +204,41 @@ async def loop() -> None: df_best_fr_rate['last_trade_ts_dt_ast'] = pd.to_datetime(df_best_fr_rate['last_trade_ts_ast'], unit='ms') df_best_fr_rate['last_trade_ts_dt_ext'] = pd.to_datetime(df_best_fr_rate['last_trade_ts_ext'], unit='ms') - df_best_fr_rate = df_best_fr_rate.loc[( (datetime.now().timestamp()*1000 )-df_best_fr_rate['last_trade_ts_ast']) < (5*60*1000) ] # Last traded in 3min - # df_best_fr_rate = df_best_fr_rate.loc[( (datetime.now().timestamp()*1000 )-df_best_fr_rate['last_trade_ts_ext']) < (15*60*1000) ] # Last traded in 15min - - # print(df_best_fr_rate.columns) - # print(df_best_fr_rate.iloc[0]) + candles_ratios = [] for index, row in df_best_fr_rate.iterrows(): - df = await get_candles(symbol=row['symbol_ext']) + try: + df = await get_candles(symbol=row['symbol_ext']) + except Exception as e: + logging.warning(f'BFR failed to get candles...sleeping and retrying: {e}') + time.sleep(5) + df = await get_candles(symbol=row['symbol_ext']) + buy_ratio_ext = float(df['med_ratio_aster_over_extend'].median()) buy_ratio_std = float(df['med_ratio_aster_over_extend'].std()) candles_ratios.append({'symbol_ext':row['symbol_ext'], 'buy_ratio_std': buy_ratio_std, 'buy_ratio_ext':buy_ratio_ext,'buy_ratio_ast':buy_ratio_ext*-1}) df_best_fr_rate = df_best_fr_rate.merge(pd.DataFrame(candles_ratios), on='symbol_ext', how='left') + + ### Set Unfiltered Master Data ### + master_data = df_best_fr_rate[ + ['symbol_ast','max_leverage_ast','lh_asset_ast','rh_asset_ast','funding_rate_ast','min_price_ast','min_order_size_ast','min_lot_size_ast','min_notional_ast','buy_ratio_ast', + 'symbol_ext','max_leverage_ext','lh_asset_ext','rh_asset_ext','funding_rate_ext','min_price_ext','min_order_size_ext','min_lot_size_ext','min_notional_ext','buy_ratio_ext', 'buy_ratio_std','next_funding_at_same_time'] + ].to_json(orient='records') + VAL_KEY.set(name='fr_engine_best_fund_rate_master', value=str(master_data)) + + + ### Filter BFR Data ### + df_best_fr_rate = df_best_fr_rate.loc[( (datetime.now().timestamp()*1000 )-df_best_fr_rate['last_trade_ts_ast']) < (5*60*1000) ] # Last traded in 3min + df_best_fr_rate = df_best_fr_rate.loc[( (datetime.now().timestamp()*1000 )-df_best_fr_rate['last_trade_ts_ext']) < (15*60*1000) ] # Last traded in 15min + + min_daily_volume = 100_000 + df_best_fr_rate = df_best_fr_rate.loc[ (df_best_fr_rate['daily_volume_ast']>=min_daily_volume) & (df_best_fr_rate['daily_volume_ext']>min_daily_volume) ,:].reset_index(drop=True) + + # print(df_best_fr_rate.columns) + # print(df_best_fr_rate.iloc[0]) if len(df_best_fr_rate) < 1: raise ValueError(f'NO BFR RATE: {df_best_fr_rate}') @@ -259,12 +279,7 @@ async def loop() -> None: best_next_funding_pair: dict[str, dict] = {'ASTER': asdict(obj=ASTER), 'EXTEND': asdict(obj=EXTEND)} VAL_KEY.set(name='fr_engine_best_fund_rate_output', value=json.dumps(obj=best_next_funding_pair)) - master_data = df_best_fr_rate[ - ['symbol_ast','max_leverage_ast','lh_asset_ast','rh_asset_ast','funding_rate_ast','min_price_ast','min_order_size_ast','min_lot_size_ast','min_notional_ast','buy_ratio_ast', - 'symbol_ext','max_leverage_ext','lh_asset_ext','rh_asset_ext','funding_rate_ext','min_price_ext','min_order_size_ext','min_lot_size_ext','min_notional_ext','buy_ratio_ext', 'buy_ratio_std','next_funding_at_same_time'] - ].to_json(orient='records') - - VAL_KEY.set(name='fr_engine_best_fund_rate_master', value=str(master_data)) + print(df_best_fr_rate[['symbol_ext','max_leverage_ext','buy_ratio_ext','net_funding_rate','daily_volume_ast','buy_ratio_ast']].head(10)) logging.info(f'BFR REFRESHED @ {datetime.now()}') time.sleep(LOOP_SLEEP_SEC) diff --git a/engine_health.py b/engine_health.py index e69de29..9ff61d7 100644 --- a/engine_health.py +++ b/engine_health.py @@ -0,0 +1,129 @@ +import asyncio +import json +import logging +import os +import traceback +from datetime import datetime +import time +import valkey +from dotenv import load_dotenv +import modules.utils as utils +import modules.structs as structs +from pydantic import BaseModel +import docker + +### Database ### +VAL_KEY: valkey.Valkey = valkey.Valkey(host='localhost', port=6379, db=0, decode_responses=True) +DOCKER = docker.from_env() + +### Logging ### +load_dotenv() +LOG_FILEPATH: str = f'{os.getenv("LOGS_PATH")}/Fund_Rate_Engine_Health.log' + +### CONSTANTS ### +MAX_TIME_SINCE_LAST_UPDATE_MS: int = 1000 * 60 * 3 # 1000 x 60 sec x [minutes] +LOOP_SLEEP_SEC: int = 5 + +### Globals ### + +### Structs ### +class Health_Status(BaseModel): + status: str # ENUM: 'HEALTHY' | 'UNHEALTHY' | 'DEAD' + timestamp: int + vk_objs: list[structs.VK_Obj] + +async def get_algo_working_symbol() -> str: + vk_get: str = VAL_KEY.get(name='fr_algo_working_symbol') # ty:ignore[invalid-assignment] + d = json.loads(vk_get) + algo_symbol: str = d.get('EXTEND', {}).get('symbol', '') + + return algo_symbol + +async def main() -> None: + vk_objs = [ + structs.VK_Orchestrator_Output(), + structs.VK_Working_Symbol(), + structs.VK_User_Orders_Extend(), + structs.VK_User_Trades_Extend(), + structs.VK_User_Balances_Aster(), + structs.VK_User_Balances_Extend(), + structs.VK_User_Positions_Aster(), + structs.VK_User_Positions_Extend(), + structs.VK_FR_Aster(), + structs.VK_FR_All_Aster(), + structs.VK_FR_Extend(), + structs.VK_FR_All_Extend(), + structs.VK_Ticker_Aster(), + structs.VK_Ticker_Extend(), + structs.VK_Trade_Aster(), + structs.VK_Trade_Extend(), + ] + + health_status = Health_Status( + status = 'HEALTHY', + timestamp = round(number=datetime.now().timestamp()*1000), + vk_objs = vk_objs, # ty:ignore[invalid-argument-type] + ) + + try: + while True: + algo_symbol = await get_algo_working_symbol() + health_status.timestamp = round(number=datetime.now().timestamp()*1000) + + for o in health_status.vk_objs: + vk_symbol = o.data.get('symbol') if isinstance(o.data, dict) else None + await o.checks.run_checks(args={ + 'timestamp': health_status.timestamp, + 'algo_symbol': algo_symbol, + 'vk_symbol': vk_symbol, + }) + + vk_statuses = [o.status for o in health_status.vk_objs] + if 'DEAD' in vk_statuses: + health_status.status = 'DEAD' + elif 'UNHEALTHY' in vk_statuses: + health_status.status = 'UNHEALTHY' + else: + health_status.status = 'HEALTHY' + + if health_status.status != 'HEALTHY': + all_containers = DOCKER.containers.list(all=True) + + for c in all_containers: + if c.status == 'running': + logging.warning(f"stopping: ID: {c.id}, Name: {c.name}, Status: {c.status}") + container = DOCKER.containers.get(c.id) + container.stop(timeout=10) + + logging.info('Stopped all containers') + + # VAL_KEY.set(name='health_status', value=json.dumps(obj=(health_status))) + + logging.info(vk_statuses) + + if LOOP_SLEEP_SEC > 0: + time.sleep(LOOP_SLEEP_SEC) + + continue + except KeyboardInterrupt: + logging.info(msg='ORCHESTRATOR SHUTTING DOWN...') + except Exception as e: + logging.error(msg=traceback.format_exc()) + logging.critical(msg=f'*** ORCHESTRATOR CRASHED: {e}') + + +if __name__ == '__main__': + START_TIME: int = round(number=datetime.now().timestamp()*1000) + + logging.info(msg=f'Log FilePath: {LOG_FILEPATH}') + + logging.basicConfig( + force=True, + filename=LOG_FILEPATH, + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + filemode='w' + ) + logging.info(msg=f"STARTED: {START_TIME}") + + asyncio.run(main()) \ No newline at end of file diff --git a/main.py b/main.py index c6e72e8..2591acc 100644 --- a/main.py +++ b/main.py @@ -24,7 +24,7 @@ import math import os import time import traceback -from datetime import datetime, timezone +from datetime import datetime from decimal import ROUND_DOWN, ROUND_UP, ROUND_HALF_UP, Decimal from typing import AsyncContextManager from dataclasses import dataclass, asdict, field @@ -82,7 +82,7 @@ async def output_algo_status(status: str) -> None: Algo_Status.last_update_ts_ms = int(round(datetime.now().timestamp()*1000, 2)) Algo_Status.status = status - VAL_KEY.set('algo_status', json.dumps(Algo_Status.model_dump())) + VAL_KEY.set('algo_status', json.dumps(Algo_Status.model_dump(), cls=utils.JSONEncoder_Decimal)) def create_exchange_objs_from_dict(exchanges_dict: dict) -> tuple[structs.Perpetual_Exchange, structs.Perpetual_Exchange]: Aster = structs.Perpetual_Exchange( @@ -129,8 +129,8 @@ async def symbol_switch(best_symbol_by_exchange_aster: structs.Perpetual_Exchang Config.Overrides.Flatten_Open_Positions_Opportunistic = True else: logging.info('Balances Flattened - Updating to Trade New Symbols:') - logging.info(f' ASTER.symbol -> {best_symbol_by_exchange_aster.symbol}') - logging.info(f' EXTEND.symbol -> {best_symbol_by_exchange_extend.symbol}') + logging.info(f' {Aster.symbol} -> {best_symbol_by_exchange_aster.symbol}') + logging.info(f' {Extend.symbol} -> {best_symbol_by_exchange_extend.symbol}') await aster_cancel_all_orders() await extend_cancel_all_orders() @@ -152,7 +152,16 @@ async def symbol_switch(best_symbol_by_exchange_aster: structs.Perpetual_Exchang Aster = best_symbol_by_exchange_aster Extend = best_symbol_by_exchange_extend - VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)})) + + if not Aster: + logging.critical(f'Main Algo, Aster is none: {Aster}') + await kill_algo() + elif not Extend: + logging.critical(f'Main Algo, Extend is none: {Extend}') + await kill_algo() + else: + logging.info(f'setting fr_algo_working_symbol: Aster: {Aster}; Extend: {Extend}') + VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)}, cls=utils.JSONEncoder_Decimal)) def calc_fr_minutes_remaining_factor( min_start_procedure: int = 15, @@ -436,6 +445,12 @@ async def post_aster_order( # print_summary(use_logging=True) else: logging.critical(f'*** Aster Order Response Abnormal: {order_resp}; post_order: {post_order}') + ''' + NEED TO HANDLE THE BELOW RESP + + *** Aster Order Response Abnormal: {'code': -5018, 'msg': 'You’ve reached the maximum notional value limit for this symbol. You can still reduce or close your position to manage your risk.'}; post_order: {'url': '/fapi/v3/order', 'method': 'POST', 'params': {'symbol': 'ENAUSDT', 'side': 'SELL', 'type': 'LIMIT', 'timeInForce': 'GTX', 'quantity': Decimal('1900'), 'price': Decimal('0.1339100'), 'reduceOnly': False}} + *** Aster Order Response Abnormal: {'code': -4226, 'msg': 'Nonce used'}; post_order: {'url': '/fapi/v3/order', 'method': 'POST', 'params': {'symbol': 'BTCUSDT', 'side': 'SELL', 'type': 'LIMIT', 'timeInForce': 'GTX', 'quantity': Decimal('0.006'), 'price': Decimal('80520.0'), 'reduceOnly': False}} + ''' await kill_algo() async def cancel_extend_order(order_id: str): @@ -487,6 +502,7 @@ async def post_extend_order( elif '1142' in str(e): # 'Error response from https://api.starknet.extended.exchange/api/v1/user/order: code 400 - {"status":"ERROR","error":{"code":1142,"message":"Edit order not found"}};' logging.info('EXTEND EDIT ORDER, NOT FOUND, CANCELLING and continuing') await extend_cancel_all_orders() + # if Extend_Open_Orders: # Extend_Open_Orders.pop(0) # time.sleep(0.1) @@ -578,11 +594,11 @@ async def handle_order_updates(exch: str, local_open_orders: list[dict], ws_open logging.info(f'{exch} ORDER PARTIALLY FILLED: {order_id}') # await get_aster_collateral() if exch=='ASTER': - await get_aster_notional_position(resp=ws_pos_updates) + await get_aster_notional_position() Last_Aster_Fill_Time_Ts = datetime.now().timestamp()*1000 Aster.cancel_request_pending = False else: - await get_extend_notional(resp=ws_pos_updates) + await get_extend_notional() Extend.cancel_request_pending = False utils.send_tg_alert(f'FR_ALGO - {exch} PARTIALLY FILLED ({order_id})') elif order_update_status in ['FILLED']: @@ -591,7 +607,7 @@ async def handle_order_updates(exch: str, local_open_orders: list[dict], ws_open # await get_aster_collateral() if exch=='ASTER': # await aster_cancel_all_orders() - await get_aster_notional_position(resp=ws_pos_updates) + await get_aster_notional_position() Last_Aster_Fill_Time_Ts = datetime.now().timestamp()*1000 Aster.cancel_request_pending = False else: @@ -683,7 +699,7 @@ async def get_aster_notional_position(resp: list | None = None): pos_dict['timestamp_arrival'] = round(datetime.now().timestamp()*1000) if previous_notional_obj: - if previous_notional_obj['timestamp_arrival'] > pos_dict['timestamp_arrival']: + if previous_notional_obj['timestamp_arrival'] >= pos_dict['timestamp_arrival']: # logging.info(f'ASTER NOTIONAL: prev timestamp ({pd.to_datetime(previous_notional_obj['timestamp_arrival'], unit='ms')}) > new timestamp ({pd.to_datetime(pos_dict['timestamp_arrival'], unit='ms')}); skipping') return @@ -700,12 +716,12 @@ async def get_aster_notional_position(resp: list | None = None): raise ValueError(e) if pos_dict.get('notional') is not None: - Aster.notional_position = float(pos_dict['notional']) #- Aster.unrealized_pnl + Aster.notional_position = float(pos_dict['notional']) - Aster.unrealized_pnl else: Aster.notional_position = float(pos_dict['position_amount'])*float(pos_dict['entry_price']) if pos_dict.get('leverage') is not None: Aster.mult = int(pos_dict['leverage']) - if abs(Aster.notional_position) > Config.Config.Max_Target_Notional*Config.Config.Max_Order_Over_Notional_Ratio: + if abs(Decimal(str(Aster.notional_position))) > Config.Config.Max_Target_Notional*Config.Config.Max_Order_Over_Notional_Ratio: logging.info(f'BAD NOTIONAL - ASTER CHANGE: {previous_notional_position} -> {Aster.notional_position}; UR PNL: {Aster.unrealized_pnl}; MULT: {Aster.mult}; pos_dict: {pos_dict}; resp: {resp}; max_tgt_notional: {Config.Config.Max_Target_Notional}') await kill_algo() if Aster.notional_position != previous_notional_position: @@ -778,7 +794,7 @@ async def get_extend_notional(resp: list | None = None): Extend.notional_position = notional_pos_sided - float(Extend.unrealized_pnl) Extend.mult = pos_dict.get('leverage', Extend.mult) - if abs(Extend.notional_position) > Config.Config.Max_Target_Notional*Config.Config.Max_Order_Over_Notional_Ratio: + if abs(Decimal(str(Extend.notional_position))) > Config.Config.Max_Target_Notional*Config.Config.Max_Order_Over_Notional_Ratio: logging.info(f'BAD NOTIONAL - EXTEND CHANGE: {previous_notional_position} -> {Extend.notional_position}; UR PNL: {Extend.unrealized_pnl}; MULT: {Extend.mult}; pos_dict: {pos_dict}; resp: {resp}') await kill_algo() if Extend.notional_position != previous_notional_position: @@ -843,7 +859,11 @@ async def aster_cancel_all_orders(): logging.info(f'ASTER CANCEL ALL OPEN ORDERS RESP: {r}') async def extend_cancel_all_orders(): + global Extend_Open_Orders + r = await EXTEND_CLIENT.orders.mass_cancel(markets=[Extend.symbol]) + if Extend_Open_Orders: + Extend_Open_Orders.pop(0) logging.info(f'EXTEND CANCEL ALL OPEN ORDERS RESP: {r}') ### KILL ALGO ### @@ -851,9 +871,10 @@ async def kill_algo(): await aster_cancel_all_orders() await extend_cancel_all_orders() logging.info('ALGO KILL FLAG ACTIVATED; CANCELLING OPEN ORDERS AND SHUTTING DOWN') - await output_algo_status('STOPPED') + await output_algo_status('DEAD') raise ValueError('KILL FLAG ACTIVATED') + ### ALGO LOOP ### async def run_algo(): global Config @@ -878,14 +899,36 @@ async def run_algo(): # print('__________Start___________') ### Load Algo Config ### - Config = json.loads(VAL_KEY.get('fr_orchestrator_output')) # ty:ignore[invalid-argument-type] - Config = structs.Algo_Config(**Config) - Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position) + fr_orchestrator_output: str = VAL_KEY.get('fr_orchestrator_output') # ty:ignore[invalid-assignment] + if fr_orchestrator_output: + Config = json.loads(fr_orchestrator_output) + Config = structs.Algo_Config(**Config) + Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position) + else: + logging.critical(f'fr_orchestrator_output is empty: {fr_orchestrator_output}; reloading from disk and continuing.') + + with open('algo_config.json', mode='r', encoding='utf-8') as file: + Config = json.load(file) + Config = structs.Algo_Config(**Config) + + if not Config.model_dump(): + logging.critical(f'fr_orchestrator_output is empty - killing: {fr_orchestrator_output};') + + Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position) + VAL_KEY.set(name='fr_orchestrator_output', value=json.dumps(obj=Config.model_dump(), cls=utils.JSONEncoder_Decimal)) min_time_to_funding = Config.Config.Min_Time_To_Funding_Minutes * 60 * 1000 + ### Load Data from Feedhandlers ### - best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_engine_best_fund_rate_output')) # ty:ignore[invalid-argument-type] + vk_get: str = VAL_KEY.get(name='fr_engine_best_fund_rate_output') # ty:ignore[invalid-assignment] + if vk_get: + best_symbol_by_exchange: dict = json.loads(vk_get) + else: + logging.critical(f'best_symbol_by_exchange is none: {vk_get}') + await kill_algo() + raise ValueError(f'best_symbol_by_exchange is none: {vk_get}') + # best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_engine_best_fund_rate_output')) # ty:ignore[invalid-argument-type] best_symbol_by_exchange_aster = structs.Perpetual_Exchange(**best_symbol_by_exchange['ASTER']) best_symbol_by_exchange_extend = structs.Perpetual_Exchange(**best_symbol_by_exchange['EXTEND']) @@ -933,10 +976,20 @@ async def run_algo(): fr_best_exch = 'ASTER' if max([abs(fund_rate_ast), abs(fund_rate_ext)]) == abs(fund_rate_ast) else 'EXTEND' fr_best_rate = fund_rate_ast if max([abs(fund_rate_ast), abs(fund_rate_ext)]) == abs(fund_rate_ast) else fund_rate_ext fr_best_side = 'BUY' if fr_best_rate < 0 else 'SELL' + + if fr_best_side == 'SELL': + fr_best_exch = 'ASTER' if fr_best_exch == 'EXTEND' else 'EXTEND' + fr_best_side = 'BUY' + return net_fr, fr_best_exch, fr_best_side else: fr_best_exch = 'EXTEND' fr_best_side = 'BUY' if fund_rate_ext < 0 else 'SELL' + + if fr_best_side == 'SELL': + fr_best_exch = 'ASTER' + fr_best_side = 'BUY' + return fund_rate_ext, fr_best_exch, fr_best_side next_net_funding_rate, fr_best_exch, fr_best_side = calc_next_net_fund_rate(next_funding_at_same_time, fund_rate_ast=aster_fund_rate, fund_rate_ext=extend_fund_rate) @@ -947,7 +1000,16 @@ async def run_algo(): aster_ticker_dict: dict = json.loads(s=aster_ticker_dict) if aster_ticker_dict is not None else {} if ( aster_ticker_dict.get('symbol', None) != Aster.symbol ) and not(Config.Overrides.Flatten_Open_Positions): logging.warning(f'ASTER Symbol mismatch: {aster_ticker_dict}; expected symbol: {Aster.symbol}') - VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)})) + + if not Aster: + logging.critical(f'Main Algo, Aster is none: {Aster}') + await kill_algo() + elif not Extend: + logging.critical(f'Main Algo, Extend is none: {Extend}') + await kill_algo() + else: + logging.info(f'setting fr_algo_working_symbol: Aster: {Aster}; Extend: {Extend}') + VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)}, cls=utils.JSONEncoder_Decimal)) time.sleep(5) continue # raise ValueError(f'ASTER Symbol mismatch: {ASTER_TICKER_DICT}; expected symbol: {ASTER.symbol}') @@ -956,7 +1018,16 @@ async def run_algo(): extend_ticker_dict: dict = json.loads(s=extend_ticker_dict) if extend_ticker_dict is not None else {} if ( extend_ticker_dict.get('symbol', None) != Extend.symbol) and not(Config.Overrides.Flatten_Open_Positions): logging.warning(f'EXTEND Symbol mismatch: {extend_ticker_dict}; expected symbol: {Extend.symbol}') - VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)})) + + if not Aster: + logging.critical(f'Main Algo, Aster is none: {Aster}') + await kill_algo() + elif not Extend: + logging.critical(f'Main Algo, Extend is none: {Extend}') + await kill_algo() + else: + logging.info(f'setting fr_algo_working_symbol: Aster: {Aster}; Extend: {Extend}') + VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)}, cls=utils.JSONEncoder_Decimal)) time.sleep(5) continue # raise ValueError(f'EXTEND Symbol mismatch: {EXTENDED_TICKER_DICT}; expected symbol: {EXTEND.symbol}') @@ -1029,15 +1100,15 @@ async def run_algo(): if Config.Overrides.Flatten_Open_Positions: aster_tgt = Decimal('0.00') - elif Config.Overrides.Flatten_Open_Positions_Opportunistic: + elif Config.Overrides.Flatten_Open_Positions_Opportunistic or (signal.exchange != fr_best_exch): if signal.signal: - if signal.exchange == 'EXTEND' and Decimal(str(Aster.notional_position)) > 0: + if signal.exchange == 'EXTEND' and Decimal(str(Aster.notional_position)) >= 0: aster_tgt = Decimal('0.00') if signal.exchange == 'EXTEND' and Decimal(str(Aster.notional_position)) < 0: pass if signal.exchange == 'ASTER' and Decimal(str(Aster.notional_position)) > 0: pass - if signal.exchange == 'ASTER' and Decimal(str(Aster.notional_position)) < 0: + if signal.exchange == 'ASTER' and Decimal(str(Aster.notional_position)) <= 0: aster_tgt = Decimal('0.00') aster_target = Target( @@ -1062,7 +1133,7 @@ async def run_algo(): MKT : Aster: {Aster.symbol:<10} (best: {best_symbol_by_exchange_aster.symbol}) | Extend: {Extend.symbol:<10} (best: {best_symbol_by_exchange_extend.symbol}) FR SWITCH : {funding_rate_switch_net:.6%} [{funding_rate_switch_net*10_000:.2f}bps] [{funding_rate_switch_net*1_000_000:.0f}pips] - {pd.to_datetime(aster_fund_rate_time, unit='ms')} ({(pd.to_datetime(aster_fund_rate_time, unit='ms')-datetime.now()):}) | {pd.to_datetime(extend_fund_rate_time, unit='ms')} ({(pd.to_datetime(extend_fund_rate_time, unit='ms')-datetime.now()):}) + {pd.to_datetime(aster_fund_rate_time, unit='ms')} ({(pd.to_datetime(aster_fund_rate_time, unit='ms') - pd.to_datetime(datetime.now().timestamp()*1000, unit='ms')) }) | {pd.to_datetime(extend_fund_rate_time, unit='ms')} ({(pd.to_datetime(extend_fund_rate_time, unit='ms')-pd.to_datetime(datetime.now().timestamp()*1000, unit='ms'))}) ASTER: {aster_fund_rate:.6%} [{aster_fund_rate*10_000:.2f}bps] [{aster_fund_rate*1_000_000:.0f}pips] | EXTEND: {extend_fund_rate:.6%} [{extend_fund_rate*10_000:.2f}bps] [{extend_fund_rate*1_000_000:.0f}pips] ASTER: {'LONG PAYS SHORT' if aster_fund_rate > 0 else 'SHORT PAYS LONG'} | EXTEND: {'LONG PAYS SHORT' if extend_fund_rate > 0 else 'SHORT PAYS LONG'} ASTER: [ Notional Position $ : {Aster.notional_position:.4f} ] | EXTEND: [ Notional Position $ : {Extend.notional_position:.4f} ] @@ -1136,7 +1207,7 @@ async def run_algo(): open_order_dict = dict(Aster_Open_Orders[0]) open_order_id = str(open_order_dict['order_id']) try: - open_order_px = float(open_order_dict['price']) + open_order_px = float(open_order_dict['price']) if open_order_dict.get('price') is not None else float(open_order_dict['last_filled_price']) except Exception as e: logging.critical(f'Aster cant find price on order obj: {open_order_dict}; e: {e}') await kill_algo() @@ -1226,7 +1297,7 @@ async def run_algo(): ) ### Output Algo Status ### - await output_algo_status('WORKING') + await output_algo_status('HEALTHY') ### CHECK TIME TO FUNDING AND WHETHER TO BE ACTIVE ### if ( time_to_funding_ms > min_time_to_funding ) and (not Aster_Open_Orders) and (not Extend_Open_Orders): @@ -1246,13 +1317,13 @@ async def run_algo(): time.sleep(Config.Config.Loop_Sleep_Sec) except KeyboardInterrupt: logging.info('CANCELLING OPEN ORDERS') - await output_algo_status('STOPPING') + await output_algo_status('UNHEALTHY') await kill_algo() except Exception as e: logging.error(traceback.format_exc()) logging.critical(f'*** ALGO ENGINE CRASHED: {e}') logging.info('CANCELLING OPEN ORDERS') - await output_algo_status('STOPPING') + await output_algo_status('UNHEALTHY') utils.send_tg_alert(f'FR_ALGO_CRASHED: {str(e)}') await kill_algo() @@ -1275,14 +1346,23 @@ async def main(): await set_comb_open_symbols() # Open_Symbols = ['HYPE-USD'] - best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_engine_best_fund_rate_output')) # ty:ignore[invalid-argument-type] + vk_get: str = VAL_KEY.get(name='fr_engine_best_fund_rate_output') # ty:ignore[invalid-assignment] + if vk_get: + best_symbol_by_exchange: dict = json.loads(vk_get) + else: + best_symbol_by_exchange = None + raise ValueError('best_symbol_by_exchange is none') - if Open_Symbols: + if Open_Symbols or not(best_symbol_by_exchange): logging.info(f'OPEN SYMBOLS: {Open_Symbols}') master_data = json.loads(s=VAL_KEY.get(name='fr_engine_best_fund_rate_master')) # ty:ignore[invalid-argument-type] open_symbol_to_work = Open_Symbols[0] current_pos_master_ast = [d for d in master_data if d.get('symbol_ext') == open_symbol_to_work][0] + if not current_pos_master_ast: + logging.critical(f'Open symbol not found in master data, killing algo: symbol {open_symbol_to_work}; md: {current_pos_master_ast}') + await kill_algo() + Aster, Extend = create_exchange_objs_from_dict(exchanges_dict=current_pos_master_ast) Open_Symbols.pop(0) @@ -1297,36 +1377,45 @@ async def main(): Config = json.load(file) Config = structs.Algo_Config(**Config) - Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position) # logging.info(f'Initial Algo Config: {ALGO_CONFIG}') - VAL_KEY.set(name='fr_orchestrator_output', value=json.dumps(obj=Config.model_dump())) - VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)})) + if not Config.model_dump(): + raise ValueError(f'Main Algo, initial config is none: {Config}') + elif not Aster: + raise ValueError(f'Main Algo, Aster is none: {Aster}') + elif not Extend: + raise ValueError(f'Main Algo, Extend is none: {Extend}') + else: + Config.Config.Max_Target_Notional = float(min([Aster.mult, Extend.mult]) * Config.Config.Target_Open_Cash_Position) + + VAL_KEY.set(name='fr_orchestrator_output', value=json.dumps(obj=Config.model_dump(), cls=utils.JSONEncoder_Decimal)) + logging.info(f'setting fr_algo_working_symbol: Aster: {Aster}; Extend: {Extend}') + VAL_KEY.set(name='fr_algo_working_symbol', value=json.dumps(obj={'ASTER': asdict(obj=Aster), 'EXTEND': asdict(obj=Extend)}, cls=utils.JSONEncoder_Decimal)) - Funding_Rates_Min_Remaining_Factor_Pcts = calc_fr_minutes_remaining_factor() - - Algo_Status = structs.Algo_Status( - last_update_ts_ms = int(round(datetime.now().timestamp()*1000, 2)), - status = 'WORKING', - expected_alpha = 0.00, - model_ratio = 0.00, - current_ratio = 0.00, - ) - await output_algo_status('WORKING') + Funding_Rates_Min_Remaining_Factor_Pcts = calc_fr_minutes_remaining_factor() + + Algo_Status = structs.Algo_Status( + last_update_ts_ms = int(round(datetime.now().timestamp()*1000, 2)), + status = 'HEALTHY', + expected_alpha = 0.00, + model_ratio = 0.00, + current_ratio = 0.00, + ) + await output_algo_status('HEALTHY') - async with engine.connect() as CON: - ### ASTER SETUP ### - # await get_aster_collateral() - await get_aster_notional_position() - await get_aster_exch_info() - await get_aster_open_orders() - ### EXTEND SETUP ### - # await get_extend_collateral() - await get_extend_notional() - await get_extend_exch_info() - await get_extend_open_orders() + async with engine.connect() as CON: + ### ASTER SETUP ### + # await get_aster_collateral() + await get_aster_notional_position() + await get_aster_exch_info() + await get_aster_open_orders() + ### EXTEND SETUP ### + # await get_extend_collateral() + await get_extend_notional() + await get_extend_exch_info() + await get_extend_open_orders() - await run_algo() + await run_algo() if __name__ == '__main__': START_TIME = round(datetime.now().timestamp()*1000) diff --git a/modules/structs.py b/modules/structs.py index c2b2580..febc806 100644 --- a/modules/structs.py +++ b/modules/structs.py @@ -4,13 +4,15 @@ from typing import Any import valkey from pydantic import BaseModel - +from datetime import datetime from sqlalchemy.util.typing import Self from collections.abc import Sequence, Callable +import modules.utils as utils def ret_true(): return True + class Locked_Value(Sequence): def __init__(self, initial_value: Any = None, unlock_func: Callable=ret_true): self._value: Any = initial_value @@ -88,16 +90,218 @@ class Current_Previous_Value: self._previous_value = self._value self._value = v +### Valkey Objects ### +class VK_Check(BaseModel): + status: str = 'HEALTHY' # HEALTHY | UNHEALTHY | DEAD + method: str | None + +class VK_Checks(BaseModel): + status: VK_Check = VK_Check(method='check_status') + timestamp: VK_Check = VK_Check(method='check_timestamp') + symbol: VK_Check = VK_Check(method='check_symbol') + + async def run_checks(self, args: dict | None = None): + for f in self.model_dump(): + method = getattr(getattr(self, f), 'method') + if method is not None: + await getattr(self, method)(args = args) + + async def check_status(self, args: dict | None = None) -> None: + # print('checking status') + if self.status.status == '': + self.status.status = 'UNHEALTHY' + else: + self.status.status = self.status.status + + async def check_status_nested(self, args: dict | None = None) -> None: + # print('checking status') + if self.status.status == '': + self.status.status = 'UNHEALTHY' + else: + self.status.status = self.status.status + + async def check_timestamp(self, args: dict | None = None) -> None: + # print('checking timestamp') + if args is not None: + ts = int(args.get('timestamp', 0)) + now = round(datetime.now().timestamp()*1000) + + if (now - ts) > 1: + self.timestamp.status = 'UNHEALTHY' + else: + self.timestamp.status = 'HEALTHY' + else: + raise ValueError("Must pass in 'timestamp' arg") + + async def check_symbol(self, args: dict | None = None) -> None: + # print('checking symbol') + + if args is not None: + symbol = utils.symbol_to_extend_fmt(args.get('algo_symbol', '')) + vk_symbol = utils.symbol_to_extend_fmt(args.get('vk_symbol', '')) + if symbol == vk_symbol: + self.symbol.status = 'HEALTHY' + else: + self.symbol.status = 'UNHEALTHY' + else: + raise ValueError("Must pass in 'algo_symbol' and 'vk_symbol' args") + + +class VK_Obj(BaseModel): + vk_name: str + timestamp: int = round(datetime.now().timestamp()*1000) + status: str = 'HEALTHY' # HEALTHY | UNHEALTHY | DEAD + checks: VK_Checks = VK_Checks() + data: Any = None + + async def get(self, VK_CON: valkey.Valkey) -> None: + print('getting') + vk_get: str = VK_CON.get(self.vk_name) # ty:ignore[invalid-assignment] + vk_dict: dict = json.loads(vk_get) + self.__init__(**vk_dict) + + async def set(self, VK_CON: valkey.Valkey, data_override: Any = None) -> None: + print('setting') + if data_override is not None: + self.data = data_override + + self.timestamp: int = round(datetime.now().timestamp()*1000) + + j: str = self.model_dump_json() + VK_CON.set(self.vk_name, j) + +### Valkey Archetypes ### +# Engine - Health + +# Engine - Orchestrator +class VK_Orchestrator_Output(VK_Obj): + vk_name: str = 'fr_orchestrator_output' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# Algo +class VK_Working_Symbol(VK_Obj): + vk_name: str = 'fr_algo_working_symbol' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_Algo_Status(VK_Obj): + vk_name: str = 'algo_status' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# User - Orders +class VK_User_Orders_Aster(VK_Obj): + vk_name: str = 'fr_aster_user_orders' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_User_Orders_Extend(VK_Obj): + vk_name: str = 'fr_extended_user_orders' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# User - Trades +class VK_User_Trades_Extend(VK_Obj): + vk_name: str = 'fr_extended_user_trades' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# User - Balances +class VK_User_Balances_Aster(VK_Obj): + vk_name: str = 'fr_aster_user_balances' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_User_Balances_Extend(VK_Obj): + vk_name: str = 'fr_extended_user_balances' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# User - Positions +class VK_User_Positions_Aster(VK_Obj): + vk_name: str = 'fr_aster_user_positions' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_User_Positions_Extend(VK_Obj): + vk_name: str = 'fr_extended_user_positions' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# Fund Rates +class VK_FR_Aster(VK_Obj): + vk_name: str = 'fund_rate_aster' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + + +class VK_FR_All_Aster(VK_Obj): + vk_name: str = 'fund_rate_aster_all' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_FR_Extend(VK_Obj): + vk_name: str = 'fund_rate_extended' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_FR_All_Extend(VK_Obj): + vk_name: str = 'fund_rate_extended_all' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# Tickers +class VK_Ticker_Aster(VK_Obj): + vk_name: str = 'fut_ticker_aster' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_Ticker_Extend(VK_Obj): + vk_name: str = 'fut_ticker_extended' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +# Trades +class VK_Trade_Aster(VK_Obj): + vk_name: str = 'fut_last_trade_aster' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + +class VK_Trade_Extend(VK_Obj): + vk_name: str = 'fut_last_trade_extended' + checks: VK_Checks = VK_Checks( + symbol = VK_Check(method = None) + ) + + +### Algo Objects ### class Algo_Status(BaseModel): last_update_ts_ms: int - status: str # 'WORKING' | 'STOPPED' + status: str # 'WORKING' | 'STOPPED' ///// # ENUM: 'HEALTHY' | 'UNHEALTHY' | 'DEAD' expected_alpha: float model_ratio: float current_ratio: float -# @dataclass(kw_only=True) class Algo_Config_Overrides(BaseModel): Allow_Ordering_Aster: bool Allow_Ordering_Extend: bool @@ -107,7 +311,6 @@ class Algo_Config_Overrides(BaseModel): Flip_Side_For_Testing: bool -# @dataclass(kw_only=True) class Algo_Config_Config(BaseModel): Loop_Sleep_Sec: int Max_Order_Over_Notional_Ratio: float @@ -119,12 +322,12 @@ class Algo_Config_Config(BaseModel): Switch_To_Taker_Seconds: int Target_Open_Cash_Position: int -# @dataclass(kw_only=True) + class Algo_Config_Logging(BaseModel): Log_Summary_Each_Loop: bool Print_Summary_Each_Loop: bool -# @dataclass(kw_only=True) + class Algo_Config(BaseModel): Updated_Timestamp: int Config: Algo_Config_Config diff --git a/modules/utils.py b/modules/utils.py index 1da7269..3bc819b 100644 --- a/modules/utils.py +++ b/modules/utils.py @@ -2,9 +2,18 @@ import logging from dotenv import load_dotenv import requests import os +import json +from decimal import Decimal load_dotenv() + +class JSONEncoder_Decimal(json.JSONEncoder): + def default(self, o): + if isinstance(o, Decimal): + return float(o) + return super(JSONEncoder_Decimal, self).default(o) + def upsert_list_of_dicts_by_id(list_of_dicts, new_dict, id='id', seq_check_field: str | None = None, reset_seq_id: bool = False) -> list[dict]: for index, item in enumerate(list_of_dicts): if item.get(id) == new_dict.get(id): diff --git a/ng.py b/ng.py index c8bd62c..41fee68 100644 --- a/ng.py +++ b/ng.py @@ -132,6 +132,8 @@ async def get_trades_hist() -> pd.DataFrame: WHERE timestamp_arrival > {start_ts} ''') df_aster_orders = pd.read_sql(aster_orders, con=ENGINE) + if len(df_aster_orders) < 1: + return pd.DataFrame() df_aster_orders['timestamp_dt'] = pd.to_datetime(df_aster_orders['timestamp_transaction'], unit='ms') df_aster_orders_fill = df_aster_orders.loc[df_aster_orders['execution_type']=='TRADE',:] df_aster_orders_fill = df_aster_orders_fill[['timestamp_transaction','order_trade_time_ts','timestamp_dt','order_id','trade_id','client_order_id','order_status','side','last_filled_qty','filled_accumulated_qty','commission','last_filled_price','realized_profit']].reset_index(drop=True) @@ -150,6 +152,8 @@ async def get_trades_hist() -> pd.DataFrame: WHERE timestamp_arrival > {start_ts} ''') df_extend_orders = pd.read_sql(extend_orders, con=ENGINE) + if len(df_extend_orders) < 1: + return pd.DataFrame() df_extend_orders['timestamp_dt'] = pd.to_datetime(df_extend_orders['updated_time_ts'], unit='ms') df_extend_orders_fill = df_extend_orders.loc[df_extend_orders['status'].isin(['FILLED','PARTIALLY_FILLED']),:] df_extend_orders_fill = df_extend_orders_fill[['created_time_ts','updated_time_ts','timestamp_dt','order_id','external_id','status','side','qty','filled_qty','payed_fee','price','averagePrice']].reset_index(drop=True) @@ -351,4 +355,4 @@ async def root(): }).classes('w-full') -ui.run(root, storage_secret="123ABC", reload=True, dark=True, title='Atwater Trading', port=9090) \ No newline at end of file +ui.run(root, storage_secret="123ABC", reload=True, dark=True, title='Atwater Trading', port=8060) \ No newline at end of file diff --git a/pnl.ipynb b/pnl.ipynb index ee215e1..c1b9366 100644 --- a/pnl.ipynb +++ b/pnl.ipynb @@ -23,17 +23,7 @@ }, { "cell_type": "code", - "execution_count": 110, - "id": "527235c9", - "metadata": {}, - "outputs": [], - "source": [ - "start_ts = 1777498660*1000" - ] - }, - { - "cell_type": "code", - "execution_count": 19, + "execution_count": 2, "id": "d3206fe9", "metadata": {}, "outputs": [], @@ -43,17 +33,17 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 3, "id": "9847869c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Timestamp('2026-05-01 22:56:30.744000')" + "Timestamp('2026-05-12 17:05:35.474000')" ] }, - "execution_count": 20, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -64,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 4, "id": "ca48e11c", "metadata": {}, "outputs": [ @@ -88,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 5, "id": "ec8f5d67", "metadata": {}, "outputs": [], @@ -113,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 6, "id": "1cb4869a", "metadata": {}, "outputs": [], @@ -139,39 +129,8 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "0ebf54b3", - "metadata": {}, - "outputs": [], - "source": [ - "def tie_trades_together_get_extend_from_aster(row):\n", - " row = row.to_frame().T\n", - " row.index=[1]\n", - "\n", - " extend_row = df_extend_trades[['order_id','timestamp_ts','status','side','filled_qty','payed_fee','price','is_mkt_maker']].loc[df_extend_trades['timestamp_ts']>row['timestamp_ts'].iloc[0],:].iloc[0]\n", - " extend_row = extend_row.to_frame().T\n", - " extend_row.index=[1]\n", - "\n", - " return_row = row.merge(extend_row, left_index=True, right_index=True, suffixes=('_ast','_ext'))\n", - "\n", - " return return_row.iloc[0]\n", - "\n", - "df_comb_trades = df_aster_trades[['order_id','timestamp_ts','status','side','filled_qty','payed_fee','price','is_mkt_maker']].apply(tie_trades_together_get_extend_from_aster, axis=1)\n", - "df_comb_trades['buy_price'] = df_comb_trades['price_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['price_ext'])\n", - "df_comb_trades['sell_price'] = df_comb_trades['price_ast'].where(df_comb_trades['side_ast']=='SELL', df_comb_trades['price_ext'])\n", - "df_comb_trades['buy_qty'] = df_comb_trades['filled_qty_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['filled_qty_ext'])\n", - "df_comb_trades['sell_qty'] = df_comb_trades['filled_qty_ast'].where(df_comb_trades['side_ast']=='SELL', df_comb_trades['filled_qty_ext'])\n", - "df_comb_trades['buy_side'] = df_comb_trades['order_id_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['order_id_ext'])\n", - "df_comb_trades['buy_side'] = df_comb_trades['order_id_ast'] == df_comb_trades['buy_side']\n", - "df_comb_trades['buy_side'] = df_comb_trades['buy_side'].replace(True, 'ASTER').replace(False,'EXTEND')\n", - "\n", - "df_comb_trades['per_trade_pnl'] = ( ( df_comb_trades['sell_price'] - df_comb_trades['buy_price'] ) * df_comb_trades['sell_qty'] ) - df_comb_trades['payed_fee_ast'] - df_comb_trades['payed_fee_ext']\n", - "df_comb_trades['per_trade_pnl_pct'] = ( (df_comb_trades['sell_price']*df_comb_trades['sell_qty']) - (df_comb_trades['buy_price']*df_comb_trades['buy_qty']) ) / (df_comb_trades['buy_price']*df_comb_trades['buy_qty'])" - ] - }, - { - "cell_type": "code", - "execution_count": 25, + "execution_count": 7, + "id": "7b971099", "metadata": {}, "outputs": [ { @@ -184,283 +143,252 @@ "type": "integer" }, { - "name": "order_id_ast", + "name": "order_id", "rawType": "int64", "type": "integer" }, { - "name": "timestamp_ts_ast", - "rawType": "datetime64[ms]", - "type": "datetime" + "name": "timestamp_transaction", + "rawType": "int64", + "type": "integer" }, { - "name": "status_ast", + "name": "order_trade_time_ts", + "rawType": "int64", + "type": "integer" + }, + { + "name": "status", "rawType": "str", "type": "string" }, { - "name": "side_ast", + "name": "side", "rawType": "str", "type": "string" }, { - "name": "filled_qty_ast", + "name": "last_filled_qty", "rawType": "float64", "type": "float" }, { - "name": "payed_fee_ast", + "name": "filled_qty", "rawType": "float64", "type": "float" }, { - "name": "price_ast", + "name": "payed_fee", "rawType": "float64", "type": "float" }, { - "name": "is_mkt_maker_ast", + "name": "price", + "rawType": "float64", + "type": "float" + }, + { + "name": "realized_profit", + "rawType": "float64", + "type": "float" + }, + { + "name": "is_mkt_maker", "rawType": "bool", "type": "boolean" }, { - "name": "order_id_ext", - "rawType": "str", - "type": "string" - }, - { - "name": "timestamp_ts_ext", + "name": "timestamp_ts", "rawType": "datetime64[ms]", "type": "datetime" - }, - { - "name": "status_ext", - "rawType": "str", - "type": "string" - }, - { - "name": "side_ext", - "rawType": "str", - "type": "string" - }, - { - "name": "filled_qty_ext", - "rawType": "float64", - "type": "float" - }, - { - "name": "payed_fee_ext", - "rawType": "float64", - "type": "float" - }, - { - "name": "price_ext", - "rawType": "float64", - "type": "float" - }, - { - "name": "is_mkt_maker_ext", - "rawType": "bool", - "type": "boolean" - }, - { - "name": "buy_price", - "rawType": "float64", - "type": "float" - }, - { - "name": "sell_price", - "rawType": "float64", - "type": "float" - }, - { - "name": "buy_qty", - "rawType": "float64", - "type": "float" - }, - { - "name": "sell_qty", - "rawType": "float64", - "type": "float" - }, - { - "name": "buy_side", - "rawType": "object", - "type": "string" - }, - { - "name": "per_trade_pnl", - "rawType": "float64", - "type": "float" - }, - { - "name": "per_trade_pnl_pct", - "rawType": "float64", - "type": "float" } ], - "ref": "4fed1e21-7dd2-454b-b923-48d479d7aa72", + "ref": "9162fd1f-299b-4a19-b0ad-a9ab5dfb6720", "rows": [ [ "0", - "328652716", - "2026-05-02 01:00:01.450000", - "FILLED", - "BUY", - "551.0", - "0.0", - "0.9059", - "True", - "2050627894673694720", - "2026-05-02 17:26:03.721000", + "26752383", + "1778635832800", + "1778635832800", "FILLED", "SELL", - "273.0", - "0.06208", - "0.8957", - "False", - "0.9059", - "0.8957", - "551.0", - "273.0", - "ASTER", - "-2.8466799999999965", - "-0.5101158787853532" + "757.0", + "757.0", + "0.0", + "0.06608", + "0.0", + "True", + "2026-05-13 01:30:32.800000" ], [ "1", - "329066650", - "2026-05-02 17:25:57.700000", + "26826240", + "1778640143050", + "1778640143050", "FILLED", - "SELL", - "277.0", - "0.1007726", - "0.9095", - "False", - "2050627894673694720", - "2026-05-02 17:26:03.721000", - "FILLED", - "SELL", - "273.0", - "0.06208", - "0.8957", - "False", - "0.8957", - "0.9095", - "273.0", - "277.0", - "EXTEND", - "3.659747399999979", - "0.030284701714868006" + "BUY", + "759.0", + "759.0", + "0.0", + "0.06837", + "-1.73353", + "True", + "2026-05-13 02:42:23.050000" ], [ "2", - "329183551", - "2026-05-02 21:42:27.900000", + "26827279", + "1778640195500", + "1778640195500", "FILLED", "SELL", - "273.0", + "735.0", + "735.0", "0.0", - "0.9126", + "0.06818", + "-0.00038", "True", - "2050694154048565248", - "2026-05-02 21:49:21.186000", - "FILLED", - "BUY", - "273.0", - "0.062319", - "0.9131", - "False", - "0.9131", - "0.9126", - "273.0", - "273.0", - "EXTEND", - "-0.1988190000000153", - "-0.0005475851494907951" + "2026-05-13 02:43:15.500000" ], [ "3", - "329195229", - "2026-05-02 22:08:49.450000", - "FILLED", - "BUY", - "273.0", - "0.0", - "0.9136", - "True", - "2050699055663546368", - "2026-05-02 22:08:49.823000", - "FILLED", + "27256985", + "1778689283150", + "1778689283150", + "PARTIALLY_FILLED", "SELL", - "272.0", - "0.062056", - "0.9123", - "False", - "0.9136", - "0.9123", - "273.0", - "272.0", - "ASTER", - "-0.41565599999999125", - "-0.005080733627143444" + "84.0", + "84.0", + "0.0", + "0.06058", + "0.0", + "True", + "2026-05-13 16:21:23.150000" ], [ "4", - "329206619", - "2026-05-02 22:33:28.550000", - "FILLED", - "SELL", - "274.0", - "0.0", - "0.9106", - "True", - "2050705268467499008", - "2026-05-02 22:33:52.752000", + "27258243", + "1778689494600", + "1778689494600", "FILLED", "BUY", - "274.0", + "84.0", + "84.0", "0.0", - "0.9105", + "0.06063", + "0.56856279", "True", - "0.9105", - "0.9106", - "274.0", - "274.0", - "EXTEND", - "0.027399999999996982", - "0.00010982976386600805" + "2026-05-13 16:24:54.600000" ], [ "5", - "329210143", - "2026-05-02 22:41:58.300000", - "FILLED", - "SELL", - "274.0", - "0.0", - "0.912", - "True", - "2050707405608058880", - "2026-05-02 22:42:05.138000", + "1915182537", + "1778630633200", + "1778630633200", "FILLED", "BUY", - "274.0", + "12.46", + "12.46", + "0.0", + "40.126", "0.0", - "0.9117", "True", - "0.9117", - "0.912", - "274.0", - "274.0", - "EXTEND", - "0.08220000000002137", - "0.0003290556103982722" + "2026-05-13 00:03:53.200000" + ], + [ + "6", + "1915208930", + "1778632110150", + "1778632110150", + "PARTIALLY_FILLED", + "SELL", + "0.24", + "0.24", + "0.0", + "40.118", + "-0.00192", + "True", + "2026-05-13 00:28:30.150000" + ], + [ + "7", + "1915211107", + "1778632239250", + "1778632239250", + "FILLED", + "BUY", + "0.25", + "0.25", + "0.0", + "40.07", + "0.0", + "True", + "2026-05-13 00:30:39.250000" + ], + [ + "8", + "1915255902", + "1778634754950", + "1778634754950", + "FILLED", + "SELL", + "12.46", + "12.46", + "0.0", + "40.415", + "3.61492877", + "True", + "2026-05-13 01:12:34.950000" + ], + [ + "9", + "1915281164", + "1778635792250", + "1778635792250", + "FILLED", + "BUY", + "12.3", + "12.3", + "0.0", + "40.628", + "0.0", + "True", + "2026-05-13 01:29:52.250000" + ], + [ + "10", + "1915281571", + "1778635805550", + "1778635805550", + "FILLED", + "SELL", + "12.3", + "12.3", + "0.0", + "40.654", + "0.32482713", + "True", + "2026-05-13 01:30:05.550000" + ], + [ + "11", + "1915282188", + "1778635827200", + "1778635827200", + "FILLED", + "SELL", + "0.01", + "0.01", + "0.0", + "40.665", + "0.00037408", + "True", + "2026-05-13 01:30:27.200000" ] ], "shape": { - "columns": 23, - "rows": 6 + "columns": 12, + "rows": 12 } }, "text/html": [ @@ -482,232 +410,813 @@ " \n", " \n", " \n", - " order_id_ast\n", - " timestamp_ts_ast\n", - " status_ast\n", - " side_ast\n", - " filled_qty_ast\n", - " payed_fee_ast\n", - " price_ast\n", - " is_mkt_maker_ast\n", - " order_id_ext\n", - " timestamp_ts_ext\n", - " ...\n", - " payed_fee_ext\n", - " price_ext\n", - " is_mkt_maker_ext\n", - " buy_price\n", - " sell_price\n", - " buy_qty\n", - " sell_qty\n", - " buy_side\n", - " per_trade_pnl\n", - " per_trade_pnl_pct\n", + " order_id\n", + " timestamp_transaction\n", + " order_trade_time_ts\n", + " status\n", + " side\n", + " last_filled_qty\n", + " filled_qty\n", + " payed_fee\n", + " price\n", + " realized_profit\n", + " is_mkt_maker\n", + " timestamp_ts\n", " \n", " \n", " \n", " \n", " 0\n", - " 328652716\n", - " 2026-05-02 01:00:01.450\n", + " 26752383\n", + " 1778635832800\n", + " 1778635832800\n", " FILLED\n", - " BUY\n", - " 551.0\n", + " SELL\n", + " 757.00\n", + " 757.00\n", + " 0.0\n", + " 0.06608\n", " 0.000000\n", - " 0.9059\n", " True\n", - " 2050627894673694720\n", - " 2026-05-02 17:26:03.721\n", - " ...\n", - " 0.062080\n", - " 0.8957\n", - " False\n", - " 0.9059\n", - " 0.8957\n", - " 551.0\n", - " 273.0\n", - " ASTER\n", - " -2.846680\n", - " -0.510116\n", + " 2026-05-13 01:30:32.800\n", " \n", " \n", " 1\n", - " 329066650\n", - " 2026-05-02 17:25:57.700\n", + " 26826240\n", + " 1778640143050\n", + " 1778640143050\n", " FILLED\n", - " SELL\n", - " 277.0\n", - " 0.100773\n", - " 0.9095\n", - " False\n", - " 2050627894673694720\n", - " 2026-05-02 17:26:03.721\n", - " ...\n", - " 0.062080\n", - " 0.8957\n", - " False\n", - " 0.8957\n", - " 0.9095\n", - " 273.0\n", - " 277.0\n", - " EXTEND\n", - " 3.659747\n", - " 0.030285\n", + " BUY\n", + " 759.00\n", + " 759.00\n", + " 0.0\n", + " 0.06837\n", + " -1.733530\n", + " True\n", + " 2026-05-13 02:42:23.050\n", " \n", " \n", " 2\n", - " 329183551\n", - " 2026-05-02 21:42:27.900\n", + " 26827279\n", + " 1778640195500\n", + " 1778640195500\n", " FILLED\n", " SELL\n", - " 273.0\n", - " 0.000000\n", - " 0.9126\n", + " 735.00\n", + " 735.00\n", + " 0.0\n", + " 0.06818\n", + " -0.000380\n", " True\n", - " 2050694154048565248\n", - " 2026-05-02 21:49:21.186\n", - " ...\n", - " 0.062319\n", - " 0.9131\n", - " False\n", - " 0.9131\n", - " 0.9126\n", - " 273.0\n", - " 273.0\n", - " EXTEND\n", - " -0.198819\n", - " -0.000548\n", + " 2026-05-13 02:43:15.500\n", " \n", " \n", " 3\n", - " 329195229\n", - " 2026-05-02 22:08:49.450\n", - " FILLED\n", - " BUY\n", - " 273.0\n", + " 27256985\n", + " 1778689283150\n", + " 1778689283150\n", + " PARTIALLY_FILLED\n", + " SELL\n", + " 84.00\n", + " 84.00\n", + " 0.0\n", + " 0.06058\n", " 0.000000\n", - " 0.9136\n", " True\n", - " 2050699055663546368\n", - " 2026-05-02 22:08:49.823\n", - " ...\n", - " 0.062056\n", - " 0.9123\n", - " False\n", - " 0.9136\n", - " 0.9123\n", - " 273.0\n", - " 272.0\n", - " ASTER\n", - " -0.415656\n", - " -0.005081\n", + " 2026-05-13 16:21:23.150\n", " \n", " \n", " 4\n", - " 329206619\n", - " 2026-05-02 22:33:28.550\n", + " 27258243\n", + " 1778689494600\n", + " 1778689494600\n", " FILLED\n", - " SELL\n", - " 274.0\n", - " 0.000000\n", - " 0.9106\n", + " BUY\n", + " 84.00\n", + " 84.00\n", + " 0.0\n", + " 0.06063\n", + " 0.568563\n", " True\n", - " 2050705268467499008\n", - " 2026-05-02 22:33:52.752\n", - " ...\n", - " 0.000000\n", - " 0.9105\n", - " True\n", - " 0.9105\n", - " 0.9106\n", - " 274.0\n", - " 274.0\n", - " EXTEND\n", - " 0.027400\n", - " 0.000110\n", + " 2026-05-13 16:24:54.600\n", " \n", " \n", " 5\n", - " 329210143\n", - " 2026-05-02 22:41:58.300\n", + " 1915182537\n", + " 1778630633200\n", + " 1778630633200\n", + " FILLED\n", + " BUY\n", + " 12.46\n", + " 12.46\n", + " 0.0\n", + " 40.12600\n", + " 0.000000\n", + " True\n", + " 2026-05-13 00:03:53.200\n", + " \n", + " \n", + " 6\n", + " 1915208930\n", + " 1778632110150\n", + " 1778632110150\n", + " PARTIALLY_FILLED\n", + " SELL\n", + " 0.24\n", + " 0.24\n", + " 0.0\n", + " 40.11800\n", + " -0.001920\n", + " True\n", + " 2026-05-13 00:28:30.150\n", + " \n", + " \n", + " 7\n", + " 1915211107\n", + " 1778632239250\n", + " 1778632239250\n", + " FILLED\n", + " BUY\n", + " 0.25\n", + " 0.25\n", + " 0.0\n", + " 40.07000\n", + " 0.000000\n", + " True\n", + " 2026-05-13 00:30:39.250\n", + " \n", + " \n", + " 8\n", + " 1915255902\n", + " 1778634754950\n", + " 1778634754950\n", " FILLED\n", " SELL\n", - " 274.0\n", - " 0.000000\n", - " 0.9120\n", + " 12.46\n", + " 12.46\n", + " 0.0\n", + " 40.41500\n", + " 3.614929\n", " True\n", - " 2050707405608058880\n", - " 2026-05-02 22:42:05.138\n", - " ...\n", + " 2026-05-13 01:12:34.950\n", + " \n", + " \n", + " 9\n", + " 1915281164\n", + " 1778635792250\n", + " 1778635792250\n", + " FILLED\n", + " BUY\n", + " 12.30\n", + " 12.30\n", + " 0.0\n", + " 40.62800\n", " 0.000000\n", - " 0.9117\n", " True\n", - " 0.9117\n", - " 0.9120\n", - " 274.0\n", - " 274.0\n", - " EXTEND\n", - " 0.082200\n", - " 0.000329\n", + " 2026-05-13 01:29:52.250\n", + " \n", + " \n", + " 10\n", + " 1915281571\n", + " 1778635805550\n", + " 1778635805550\n", + " FILLED\n", + " SELL\n", + " 12.30\n", + " 12.30\n", + " 0.0\n", + " 40.65400\n", + " 0.324827\n", + " True\n", + " 2026-05-13 01:30:05.550\n", + " \n", + " \n", + " 11\n", + " 1915282188\n", + " 1778635827200\n", + " 1778635827200\n", + " FILLED\n", + " SELL\n", + " 0.01\n", + " 0.01\n", + " 0.0\n", + " 40.66500\n", + " 0.000374\n", + " True\n", + " 2026-05-13 01:30:27.200\n", " \n", " \n", "\n", - "

6 rows × 23 columns

\n", "" ], "text/plain": [ - " order_id_ast timestamp_ts_ast status_ast side_ast filled_qty_ast \\\n", - "0 328652716 2026-05-02 01:00:01.450 FILLED BUY 551.0 \n", - "1 329066650 2026-05-02 17:25:57.700 FILLED SELL 277.0 \n", - "2 329183551 2026-05-02 21:42:27.900 FILLED SELL 273.0 \n", - "3 329195229 2026-05-02 22:08:49.450 FILLED BUY 273.0 \n", - "4 329206619 2026-05-02 22:33:28.550 FILLED SELL 274.0 \n", - "5 329210143 2026-05-02 22:41:58.300 FILLED SELL 274.0 \n", + " order_id timestamp_transaction order_trade_time_ts status \\\n", + "0 26752383 1778635832800 1778635832800 FILLED \n", + "1 26826240 1778640143050 1778640143050 FILLED \n", + "2 26827279 1778640195500 1778640195500 FILLED \n", + "3 27256985 1778689283150 1778689283150 PARTIALLY_FILLED \n", + "4 27258243 1778689494600 1778689494600 FILLED \n", + "5 1915182537 1778630633200 1778630633200 FILLED \n", + "6 1915208930 1778632110150 1778632110150 PARTIALLY_FILLED \n", + "7 1915211107 1778632239250 1778632239250 FILLED \n", + "8 1915255902 1778634754950 1778634754950 FILLED \n", + "9 1915281164 1778635792250 1778635792250 FILLED \n", + "10 1915281571 1778635805550 1778635805550 FILLED \n", + "11 1915282188 1778635827200 1778635827200 FILLED \n", "\n", - " payed_fee_ast price_ast is_mkt_maker_ast order_id_ext \\\n", - "0 0.000000 0.9059 True 2050627894673694720 \n", - "1 0.100773 0.9095 False 2050627894673694720 \n", - "2 0.000000 0.9126 True 2050694154048565248 \n", - "3 0.000000 0.9136 True 2050699055663546368 \n", - "4 0.000000 0.9106 True 2050705268467499008 \n", - "5 0.000000 0.9120 True 2050707405608058880 \n", + " side last_filled_qty filled_qty payed_fee price realized_profit \\\n", + "0 SELL 757.00 757.00 0.0 0.06608 0.000000 \n", + "1 BUY 759.00 759.00 0.0 0.06837 -1.733530 \n", + "2 SELL 735.00 735.00 0.0 0.06818 -0.000380 \n", + "3 SELL 84.00 84.00 0.0 0.06058 0.000000 \n", + "4 BUY 84.00 84.00 0.0 0.06063 0.568563 \n", + "5 BUY 12.46 12.46 0.0 40.12600 0.000000 \n", + "6 SELL 0.24 0.24 0.0 40.11800 -0.001920 \n", + "7 BUY 0.25 0.25 0.0 40.07000 0.000000 \n", + "8 SELL 12.46 12.46 0.0 40.41500 3.614929 \n", + "9 BUY 12.30 12.30 0.0 40.62800 0.000000 \n", + "10 SELL 12.30 12.30 0.0 40.65400 0.324827 \n", + "11 SELL 0.01 0.01 0.0 40.66500 0.000374 \n", "\n", - " timestamp_ts_ext ... payed_fee_ext price_ext is_mkt_maker_ext \\\n", - "0 2026-05-02 17:26:03.721 ... 0.062080 0.8957 False \n", - "1 2026-05-02 17:26:03.721 ... 0.062080 0.8957 False \n", - "2 2026-05-02 21:49:21.186 ... 0.062319 0.9131 False \n", - "3 2026-05-02 22:08:49.823 ... 0.062056 0.9123 False \n", - "4 2026-05-02 22:33:52.752 ... 0.000000 0.9105 True \n", - "5 2026-05-02 22:42:05.138 ... 0.000000 0.9117 True \n", - "\n", - " buy_price sell_price buy_qty sell_qty buy_side per_trade_pnl \\\n", - "0 0.9059 0.8957 551.0 273.0 ASTER -2.846680 \n", - "1 0.8957 0.9095 273.0 277.0 EXTEND 3.659747 \n", - "2 0.9131 0.9126 273.0 273.0 EXTEND -0.198819 \n", - "3 0.9136 0.9123 273.0 272.0 ASTER -0.415656 \n", - "4 0.9105 0.9106 274.0 274.0 EXTEND 0.027400 \n", - "5 0.9117 0.9120 274.0 274.0 EXTEND 0.082200 \n", - "\n", - " per_trade_pnl_pct \n", - "0 -0.510116 \n", - "1 0.030285 \n", - "2 -0.000548 \n", - "3 -0.005081 \n", - "4 0.000110 \n", - "5 0.000329 \n", - "\n", - "[6 rows x 23 columns]" + " is_mkt_maker timestamp_ts \n", + "0 True 2026-05-13 01:30:32.800 \n", + "1 True 2026-05-13 02:42:23.050 \n", + "2 True 2026-05-13 02:43:15.500 \n", + "3 True 2026-05-13 16:21:23.150 \n", + "4 True 2026-05-13 16:24:54.600 \n", + "5 True 2026-05-13 00:03:53.200 \n", + "6 True 2026-05-13 00:28:30.150 \n", + "7 True 2026-05-13 00:30:39.250 \n", + "8 True 2026-05-13 01:12:34.950 \n", + "9 True 2026-05-13 01:29:52.250 \n", + "10 True 2026-05-13 01:30:05.550 \n", + "11 True 2026-05-13 01:30:27.200 " ] }, - "execution_count": 25, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "df_aster_trades" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "bfde4665", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "order_id", + "rawType": "str", + "type": "string" + }, + { + "name": "created_time_ts", + "rawType": "int64", + "type": "integer" + }, + { + "name": "updated_time_ts", + "rawType": "int64", + "type": "integer" + }, + { + "name": "status", + "rawType": "str", + "type": "string" + }, + { + "name": "side", + "rawType": "str", + "type": "string" + }, + { + "name": "filled_qty", + "rawType": "float64", + "type": "float" + }, + { + "name": "payed_fee", + "rawType": "float64", + "type": "float" + }, + { + "name": "price", + "rawType": "float64", + "type": "float" + }, + { + "name": "duration_sec_ast", + "rawType": "float64", + "type": "float" + }, + { + "name": "is_mkt_maker", + "rawType": "bool", + "type": "boolean" + }, + { + "name": "timestamp_ts", + "rawType": "datetime64[ms]", + "type": "datetime" + } + ], + "ref": "781309d0-aa71-431d-8e13-b89fdfc6e58e", + "rows": [ + [ + "0", + "2054351907031711744", + "1778630637304", + "1778630637456", + "FILLED", + "SELL", + "12.5", + "0.125309", + "40.099", + "0.152", + "False", + "2026-05-13 00:03:57.456000" + ], + [ + "1", + "2054358098285522944", + "1778632113413", + "1778632113566", + "FILLED", + "BUY", + "0.3", + "0.003005", + "40.084", + "0.153", + "False", + "2026-05-13 00:28:33.566000" + ], + [ + "2", + "2054358642072932352", + "1778632243063", + "1778632243215", + "FILLED", + "SELL", + "0.3", + "0.003003", + "40.05", + "0.152", + "False", + "2026-05-13 00:30:43.215000" + ], + [ + "3", + "2054366966772473856", + "1778634227826", + "1778634227978", + "FILLED", + "SELL", + "0.1", + "0.001008", + "40.341", + "0.152", + "False", + "2026-05-13 01:03:47.978000" + ], + [ + "4", + "2054369195076259840", + "1778634759095", + "1778634759248", + "FILLED", + "BUY", + "12.5", + "0.126239", + "40.397", + "0.153", + "False", + "2026-05-13 01:12:39.248000" + ], + [ + "5", + "2054369204056076288", + "1778634761235", + "1778634761388", + "FILLED", + "BUY", + "0.1", + "0.001009", + "40.389", + "0.153", + "False", + "2026-05-13 01:12:41.388000" + ], + [ + "6", + "2054373534490554368", + "1778635793692", + "1778635793845", + "FILLED", + "SELL", + "12.3", + "0.124838", + "40.598", + "0.153", + "False", + "2026-05-13 01:29:53.845000" + ], + [ + "7", + "2054373594473218048", + "1778635807993", + "1778635808762", + "FILLED", + "BUY", + "12.3", + "0.0", + "40.627", + "0.769", + "True", + "2026-05-13 01:30:08.762000" + ], + [ + "8", + "2054373724560035840", + "1778635839007", + "1778635839160", + "FILLED", + "BUY", + "750.0", + "0.012374", + "0.066033", + "0.153", + "False", + "2026-05-13 01:30:39.160000" + ], + [ + "9", + "2054391807521476608", + "1778640150321", + "1778640150474", + "FILLED", + "SELL", + "720.0", + "0.01231", + "0.068383", + "0.153", + "False", + "2026-05-13 02:42:30.474000" + ], + [ + "10", + "2054392042100424704", + "1778640206249", + "1778640206402", + "FILLED", + "BUY", + "700.0", + "0.011938", + "0.068218", + "0.153", + "False", + "2026-05-13 02:43:26.402000" + ] + ], + "shape": { + "columns": 11, + "rows": 11 + } + }, + "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", + "
order_idcreated_time_tsupdated_time_tsstatussidefilled_qtypayed_feepriceduration_sec_astis_mkt_makertimestamp_ts
0205435190703171174417786306373041778630637456FILLEDSELL12.50.12530940.0990000.152False2026-05-13 00:03:57.456
1205435809828552294417786321134131778632113566FILLEDBUY0.30.00300540.0840000.153False2026-05-13 00:28:33.566
2205435864207293235217786322430631778632243215FILLEDSELL0.30.00300340.0500000.152False2026-05-13 00:30:43.215
3205436696677247385617786342278261778634227978FILLEDSELL0.10.00100840.3410000.152False2026-05-13 01:03:47.978
4205436919507625984017786347590951778634759248FILLEDBUY12.50.12623940.3970000.153False2026-05-13 01:12:39.248
5205436920405607628817786347612351778634761388FILLEDBUY0.10.00100940.3890000.153False2026-05-13 01:12:41.388
6205437353449055436817786357936921778635793845FILLEDSELL12.30.12483840.5980000.153False2026-05-13 01:29:53.845
7205437359447321804817786358079931778635808762FILLEDBUY12.30.00000040.6270000.769True2026-05-13 01:30:08.762
8205437372456003584017786358390071778635839160FILLEDBUY750.00.0123740.0660330.153False2026-05-13 01:30:39.160
9205439180752147660817786401503211778640150474FILLEDSELL720.00.0123100.0683830.153False2026-05-13 02:42:30.474
10205439204210042470417786402062491778640206402FILLEDBUY700.00.0119380.0682180.153False2026-05-13 02:43:26.402
\n", + "
" + ], + "text/plain": [ + " order_id created_time_ts updated_time_ts status side \\\n", + "0 2054351907031711744 1778630637304 1778630637456 FILLED SELL \n", + "1 2054358098285522944 1778632113413 1778632113566 FILLED BUY \n", + "2 2054358642072932352 1778632243063 1778632243215 FILLED SELL \n", + "3 2054366966772473856 1778634227826 1778634227978 FILLED SELL \n", + "4 2054369195076259840 1778634759095 1778634759248 FILLED BUY \n", + "5 2054369204056076288 1778634761235 1778634761388 FILLED BUY \n", + "6 2054373534490554368 1778635793692 1778635793845 FILLED SELL \n", + "7 2054373594473218048 1778635807993 1778635808762 FILLED BUY \n", + "8 2054373724560035840 1778635839007 1778635839160 FILLED BUY \n", + "9 2054391807521476608 1778640150321 1778640150474 FILLED SELL \n", + "10 2054392042100424704 1778640206249 1778640206402 FILLED BUY \n", + "\n", + " filled_qty payed_fee price duration_sec_ast is_mkt_maker \\\n", + "0 12.5 0.125309 40.099000 0.152 False \n", + "1 0.3 0.003005 40.084000 0.153 False \n", + "2 0.3 0.003003 40.050000 0.152 False \n", + "3 0.1 0.001008 40.341000 0.152 False \n", + "4 12.5 0.126239 40.397000 0.153 False \n", + "5 0.1 0.001009 40.389000 0.153 False \n", + "6 12.3 0.124838 40.598000 0.153 False \n", + "7 12.3 0.000000 40.627000 0.769 True \n", + "8 750.0 0.012374 0.066033 0.153 False \n", + "9 720.0 0.012310 0.068383 0.153 False \n", + "10 700.0 0.011938 0.068218 0.153 False \n", + "\n", + " timestamp_ts \n", + "0 2026-05-13 00:03:57.456 \n", + "1 2026-05-13 00:28:33.566 \n", + "2 2026-05-13 00:30:43.215 \n", + "3 2026-05-13 01:03:47.978 \n", + "4 2026-05-13 01:12:39.248 \n", + "5 2026-05-13 01:12:41.388 \n", + "6 2026-05-13 01:29:53.845 \n", + "7 2026-05-13 01:30:08.762 \n", + "8 2026-05-13 01:30:39.160 \n", + "9 2026-05-13 02:42:30.474 \n", + "10 2026-05-13 02:43:26.402 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_extend_trades" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ebf54b3", + "metadata": {}, + "outputs": [ + { + "ename": "IndexError", + "evalue": "single positional indexer is out-of-bounds", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mIndexError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[10]\u001b[39m\u001b[32m, line 13\u001b[39m\n\u001b[32m 9\u001b[39m return_row = row.merge(extend_row, left_index=\u001b[38;5;28;01mTrue\u001b[39;00m, right_index=\u001b[38;5;28;01mTrue\u001b[39;00m, suffixes=(\u001b[33m'_ast'\u001b[39m,\u001b[33m'_ext'\u001b[39m))\n\u001b[32m 10\u001b[39m \n\u001b[32m 11\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m return_row.iloc[\u001b[32m0\u001b[39m]\n\u001b[32m 12\u001b[39m \n\u001b[32m---> \u001b[39m\u001b[32m13\u001b[39m df_comb_trades = df_aster_trades[[\u001b[33m'order_id'\u001b[39m,\u001b[33m'timestamp_ts'\u001b[39m,\u001b[33m'status'\u001b[39m,\u001b[33m'side'\u001b[39m,\u001b[33m'filled_qty'\u001b[39m,\u001b[33m'payed_fee'\u001b[39m,\u001b[33m'price'\u001b[39m,\u001b[33m'is_mkt_maker'\u001b[39m]].apply(tie_trades_together_get_extend_from_aster, axis=\u001b[32m1\u001b[39m)\n\u001b[32m 14\u001b[39m \u001b[38;5;66;03m# df_comb_trades['buy_price'] = df_comb_trades['price_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['price_ext'])\u001b[39;00m\n\u001b[32m 15\u001b[39m \u001b[38;5;66;03m# df_comb_trades['sell_price'] = df_comb_trades['price_ast'].where(df_comb_trades['side_ast']=='SELL', df_comb_trades['price_ext'])\u001b[39;00m\n\u001b[32m 16\u001b[39m \u001b[38;5;66;03m# df_comb_trades['buy_qty'] = df_comb_trades['filled_qty_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['filled_qty_ext'])\u001b[39;00m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/frame.py:12423\u001b[39m, in \u001b[36mDataFrame.apply\u001b[39m\u001b[34m(self, func, axis, raw, result_type, args, by_row, engine, engine_kwargs, **kwargs)\u001b[39m\n\u001b[32m 12419\u001b[39m engine_kwargs=engine_kwargs,\n\u001b[32m 12420\u001b[39m args=args,\n\u001b[32m 12421\u001b[39m kwargs=kwargs,\n\u001b[32m 12422\u001b[39m )\n\u001b[32m> \u001b[39m\u001b[32m12423\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m op.apply().__finalize__(self, method=\u001b[33m\"apply\"\u001b[39m)\n\u001b[32m 12424\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m hasattr(engine, \u001b[33m\"__pandas_udf__\"\u001b[39m):\n\u001b[32m 12425\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m result_type \u001b[38;5;28;01mis\u001b[39;00m \u001b[38;5;28;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 12426\u001b[39m raise NotImplementedError(\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/apply.py:1015\u001b[39m, in \u001b[36mFrameApply.apply\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1012\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.raw:\n\u001b[32m 1013\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.apply_raw(engine=\u001b[38;5;28mself\u001b[39m.engine, engine_kwargs=\u001b[38;5;28mself\u001b[39m.engine_kwargs)\n\u001b[32m-> \u001b[39m\u001b[32m1015\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mapply_standard\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/apply.py:1167\u001b[39m, in \u001b[36mFrameApply.apply_standard\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1165\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mapply_standard\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[32m 1166\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.engine == \u001b[33m\"\u001b[39m\u001b[33mpython\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m-> \u001b[39m\u001b[32m1167\u001b[39m results, res_index = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mapply_series_generator\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 1168\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 1169\u001b[39m results, res_index = \u001b[38;5;28mself\u001b[39m.apply_series_numba()\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/apply.py:1183\u001b[39m, in \u001b[36mFrameApply.apply_series_generator\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1180\u001b[39m results = {}\n\u001b[32m 1182\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i, v \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(series_gen):\n\u001b[32m-> \u001b[39m\u001b[32m1183\u001b[39m results[i] = \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mfunc\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mv\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43margs\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 1184\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(results[i], ABCSeries):\n\u001b[32m 1185\u001b[39m \u001b[38;5;66;03m# If we have a view on v, we need to make a copy because\u001b[39;00m\n\u001b[32m 1186\u001b[39m \u001b[38;5;66;03m# series_generator will swap out the underlying data\u001b[39;00m\n\u001b[32m 1187\u001b[39m results[i] = results[i].copy(deep=\u001b[38;5;28;01mFalse\u001b[39;00m)\n", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[10]\u001b[39m\u001b[32m, line 5\u001b[39m, in \u001b[36mtie_trades_together_get_extend_from_aster\u001b[39m\u001b[34m(row)\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m tie_trades_together_get_extend_from_aster(row):\n\u001b[32m 2\u001b[39m row = row.to_frame().T\n\u001b[32m 3\u001b[39m row.index=[\u001b[32m1\u001b[39m]\n\u001b[32m 4\u001b[39m \n\u001b[32m----> \u001b[39m\u001b[32m5\u001b[39m extend_row = df_extend_trades[[\u001b[33m'order_id'\u001b[39m,\u001b[33m'timestamp_ts'\u001b[39m,\u001b[33m'status'\u001b[39m,\u001b[33m'side'\u001b[39m,\u001b[33m'filled_qty'\u001b[39m,\u001b[33m'payed_fee'\u001b[39m,\u001b[33m'price'\u001b[39m,\u001b[33m'is_mkt_maker'\u001b[39m]].loc[df_extend_trades[\u001b[33m'timestamp_ts'\u001b[39m]>row[\u001b[33m'timestamp_ts'\u001b[39m].iloc[\u001b[32m0\u001b[39m],:].iloc[\u001b[32m0\u001b[39m]\n\u001b[32m 6\u001b[39m extend_row = extend_row.to_frame().T\n\u001b[32m 7\u001b[39m extend_row.index=[\u001b[32m1\u001b[39m]\n\u001b[32m 8\u001b[39m \n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/indexing.py:1207\u001b[39m, in \u001b[36m_LocationIndexer.__getitem__\u001b[39m\u001b[34m(self, key)\u001b[39m\n\u001b[32m 1205\u001b[39m maybe_callable = com.apply_if_callable(key, \u001b[38;5;28mself\u001b[39m.obj)\n\u001b[32m 1206\u001b[39m maybe_callable = \u001b[38;5;28mself\u001b[39m._raise_callable_usage(key, maybe_callable)\n\u001b[32m-> \u001b[39m\u001b[32m1207\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_getitem_axis\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mmaybe_callable\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43maxis\u001b[39;49m\u001b[30;43m=\u001b[39;49m\u001b[30;43maxis\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/indexing.py:1773\u001b[39m, in \u001b[36m_iLocIndexer._getitem_axis\u001b[39m\u001b[34m(self, key, axis)\u001b[39m\n\u001b[32m 1770\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[33m\"\u001b[39m\u001b[33mCannot index by location index with a non-integer key\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 1772\u001b[39m \u001b[38;5;66;03m# validate the location\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m1773\u001b[39m \u001b[30;43mself\u001b[39;49m\u001b[30;43m.\u001b[39;49m\u001b[30;43m_validate_integer\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43mkey\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43maxis\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 1775\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.obj._ixs(key, axis=axis)\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/pandas/core/indexing.py:1706\u001b[39m, in \u001b[36m_iLocIndexer._validate_integer\u001b[39m\u001b[34m(self, key, axis)\u001b[39m\n\u001b[32m 1704\u001b[39m len_axis = \u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mself\u001b[39m.obj._get_axis(axis))\n\u001b[32m 1705\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m key >= len_axis \u001b[38;5;129;01mor\u001b[39;00m key < -len_axis:\n\u001b[32m-> \u001b[39m\u001b[32m1706\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mIndexError\u001b[39;00m(\u001b[33m\"\u001b[39m\u001b[33msingle positional indexer is out-of-bounds\u001b[39m\u001b[33m\"\u001b[39m)\n", + "\u001b[31mIndexError\u001b[39m: single positional indexer is out-of-bounds" + ] + } + ], + "source": [ + "def tie_trades_together_get_extend_from_aster(row):\n", + " row = row.to_frame().T\n", + " row.index=[1]\n", + "\n", + " extend_row = df_extend_trades[['order_id','timestamp_ts','status','side','filled_qty','payed_fee','price','is_mkt_maker']].loc[df_extend_trades['timestamp_ts']>row['timestamp_ts'].iloc[0],:].iloc[0]\n", + " extend_row = extend_row.to_frame().T\n", + " extend_row.index=[1]\n", + "\n", + " return_row = row.merge(extend_row, left_index=True, right_index=True, suffixes=('_ast','_ext'))\n", + "\n", + " return return_row.iloc[0]\n", + "\n", + "df_comb_trades = df_aster_trades[['order_id','timestamp_ts','status','side','filled_qty','payed_fee','price','is_mkt_maker']].apply(tie_trades_together_get_extend_from_aster, axis=1)\n", + "# df_comb_trades['buy_price'] = df_comb_trades['price_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['price_ext'])\n", + "# df_comb_trades['sell_price'] = df_comb_trades['price_ast'].where(df_comb_trades['side_ast']=='SELL', df_comb_trades['price_ext'])\n", + "# df_comb_trades['buy_qty'] = df_comb_trades['filled_qty_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['filled_qty_ext'])\n", + "# df_comb_trades['sell_qty'] = df_comb_trades['filled_qty_ast'].where(df_comb_trades['side_ast']=='SELL', df_comb_trades['filled_qty_ext'])\n", + "# df_comb_trades['buy_side'] = df_comb_trades['order_id_ast'].where(df_comb_trades['side_ast']=='BUY', df_comb_trades['order_id_ext'])\n", + "# df_comb_trades['buy_side'] = df_comb_trades['order_id_ast'] == df_comb_trades['buy_side']\n", + "# df_comb_trades['buy_side'] = df_comb_trades['buy_side'].replace(True, 'ASTER').replace(False,'EXTEND')\n", + "\n", + "# df_comb_trades['per_trade_pnl'] = ( ( df_comb_trades['sell_price'] - df_comb_trades['buy_price'] ) * df_comb_trades['sell_qty'] ) - df_comb_trades['payed_fee_ast'] - df_comb_trades['payed_fee_ext']\n", + "# df_comb_trades['per_trade_pnl_pct'] = ( (df_comb_trades['sell_price']*df_comb_trades['sell_qty']) - (df_comb_trades['buy_price']*df_comb_trades['buy_qty']) ) / (df_comb_trades['buy_price']*df_comb_trades['buy_qty'])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'df_comb_trades' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[14]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m df_comb_trades\n", + "\u001b[31mNameError\u001b[39m: name 'df_comb_trades' is not defined" + ] + } + ], "source": [ "df_comb_trades" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "d09782a8", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": 18, diff --git a/requirements.txt b/requirements.txt index b44e6de..6739d6f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,4 +23,6 @@ nicegui x10-python-trading-starknet eth-keys eth-account -pydantic \ No newline at end of file +pydantic +plotly +docker \ No newline at end of file diff --git a/ws_aster.py b/ws_aster.py index 476dc55..c1d6e93 100644 --- a/ws_aster.py +++ b/ws_aster.py @@ -17,6 +17,7 @@ import os from dotenv import load_dotenv import modules.db as db import modules.aster_db as aster_db +import sys ### Allow only ipv4 ### def allowed_gai_family(): @@ -37,9 +38,10 @@ load_dotenv() LOG_FILEPATH: str = f'{os.getenv(key="LOGS_PATH")}/Fund_Rate_Aster.log' ### CONSTANTS ### -SYMBOL: str = 'ETHUSDT' +SYMBOL: str = 'ENAUSDT' -STREAM_MARKPRICE: str = f'{SYMBOL.lower()}@markPrice@1s' +STREAM_MARKPRICE: str = '!markPrice@arr@1s' +# STREAM_MARKPRICE: str = f'{SYMBOL.lower()}@markPrice@1s' STREAM_BOOKTICKER: str = f'{SYMBOL.lower()}@bookTicker' STREAM_TRADES: str = f'{SYMBOL.lower()}@aggTrade' @@ -83,17 +85,23 @@ async def ws_stream(): async for message in websocket: ### Update Symbol if Algo Outputs Change ### if ALLOW_SYMBOL_CHG: - best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_algo_working_symbol')) # ty:ignore[invalid-argument-type] + fr_algo_working_symbol = VAL_KEY.get(name='fr_algo_working_symbol') + if not fr_algo_working_symbol: + logging.critical(f'fr_algo_working_symbol is empty - killing: {fr_algo_working_symbol}') + sys.exit(1) + + best_symbol_by_exchange: dict = json.loads(fr_algo_working_symbol) # ty:ignore[invalid-argument-type] + best_symbol: str = best_symbol_by_exchange['ASTER']['symbol'] if best_symbol != SYMBOL: logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}') SYMBOL = best_symbol - await unsubscribe_streams(websocket = websocket, streams=[STREAM_MARKPRICE,STREAM_BOOKTICKER,STREAM_TRADES]) + await unsubscribe_streams(websocket = websocket, streams=[STREAM_BOOKTICKER,STREAM_TRADES]) - STREAM_MARKPRICE = f'{SYMBOL.lower()}@markPrice@1s' + # STREAM_MARKPRICE = f'{SYMBOL.lower()}@markPrice@1s' STREAM_BOOKTICKER = f'{SYMBOL.lower()}@bookTicker' STREAM_TRADES = f'{SYMBOL.lower()}@aggTrade' - await subscribe_streams(websocket = websocket, streams=[STREAM_MARKPRICE,STREAM_BOOKTICKER,STREAM_TRADES]) + await subscribe_streams(websocket = websocket, streams=[STREAM_BOOKTICKER,STREAM_TRADES]) continue ts_arrival = round(datetime.now().timestamp()*1000) @@ -104,18 +112,25 @@ async def ws_stream(): if channel is not None: match channel: case c if c == STREAM_MARKPRICE: - # print(f'MP: {data}') - VAL_KEY_OBJ = json.dumps({ - 'timestamp_arrival': ts_arrival, - 'timestamp_msg': data['data']['E'], - 'symbol': data['data']['s'], - 'mark_price': data['data']['p'], - 'index_price': data['data']['i'], - 'estimated_settle_price': data['data']['P'], - 'funding_rate': data['data']['r'], - 'next_funding_time_ts_ms': data['data']['T'], - }) - VAL_KEY.set(VK_FUND_RATE, VAL_KEY_OBJ) + if data.get('data'): + VAL_KEY.set('fund_rate_aster_all', json.dumps(data['data'])) + else: + logging.warning(f'Data["data"] is None: {data}') + single_ticker_fr = [d for d in data['data'] if d.get('s')==SYMBOL] + if single_ticker_fr: + d = single_ticker_fr[0] + VAL_KEY_OBJ = json.dumps({ + 'timestamp_arrival': ts_arrival, + 'timestamp_msg': d['E'], + 'symbol': d['s'], + 'mark_price': d['p'], + 'index_price': d['i'], + 'estimated_settle_price': d['P'], + 'funding_rate': d['r'], + 'next_funding_time_ts_ms': d['T'], + }) + VAL_KEY.set(VK_FUND_RATE, VAL_KEY_OBJ) + # print(f'MP: {d}') continue case c if c == STREAM_BOOKTICKER: # print(f'BT: {data}') diff --git a/ws_extended_fund_rate.py b/ws_extended_fund_rate.py index 219f704..6877d7f 100644 --- a/ws_extended_fund_rate.py +++ b/ws_extended_fund_rate.py @@ -16,6 +16,8 @@ from sqlalchemy.ext.asyncio import create_async_engine import valkey import os from dotenv import load_dotenv +import sys +import modules.utils as utils ### Allow only ipv4 ### @@ -36,10 +38,11 @@ load_dotenv() LOG_FILEPATH: str = f'{os.getenv("LOGS_PATH")}/Fund_Rate_Extended_FR.log' ### CONSTANTS ### -SYMBOL: str = 'ETH-USD' +SYMBOL: str = 'ENA-USD' ### Globals ### ALLOW_SYMBOL_CHG: bool = True +LOCAL_FUNDING_RATES = [] def time_round_down(dt, interval_mins=5) -> int: # returns timestamp in seconds interval_secs = interval_mins * 60 @@ -51,35 +54,40 @@ def time_round_down(dt, interval_mins=5) -> int: # returns timestamp in seconds ### Websocket ### async def ws_stream(): global SYMBOL + global LOCAL_FUNDING_RATES while True: - CHANGE_SYMBOL = False - WSS_URL = f"wss://api.starknet.extended.exchange/stream.extended.exchange/v1/funding/{SYMBOL}" + # CHANGE_SYMBOL = False + WSS_URL = "wss://api.starknet.extended.exchange/stream.extended.exchange/v1/funding/" async for websocket in websockets.connect(WSS_URL): - if CHANGE_SYMBOL: - break + # if CHANGE_SYMBOL: + # break logging.info(f"Connected to {WSS_URL}") try: async for message in websocket: ### Update Symbol if Algo Outputs Change ### if ALLOW_SYMBOL_CHG: - best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_algo_working_symbol')) # ty:ignore[invalid-argument-type] + fr_algo_working_symbol = VAL_KEY.get(name='fr_algo_working_symbol') + if not fr_algo_working_symbol: + logging.critical(f'fr_algo_working_symbol is empty - killing: {fr_algo_working_symbol}') + sys.exit(1) + best_symbol_by_exchange: dict = json.loads(fr_algo_working_symbol) # ty:ignore[invalid-argument-type] best_symbol: str = best_symbol_by_exchange['EXTEND']['symbol'] if best_symbol != SYMBOL: logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}') SYMBOL = best_symbol - CHANGE_SYMBOL = True - await websocket.close() - break + # CHANGE_SYMBOL = True + # await websocket.close() + # break ts_arrival = round(datetime.now().timestamp()*1000) if isinstance(message, str): try: data = json.loads(message) if data.get('data', None) is not None: - # print(f'FR: {data}') + print(f'FR: {data}') fr_next_update_ts = (time_round_down(dt=datetime.now(timezone.utc), interval_mins=60)+(60*60))*1000 - VAL_KEY_OBJ = json.dumps({ + fr_update = { 'sequence_id': data['seq'], 'timestamp_arrival': ts_arrival, 'timestamp_msg': data['ts'], @@ -87,8 +95,12 @@ async def ws_stream(): 'funding_rate': float(data['data']['f']), 'funding_rate_updated_ts_ms': data['data']['T'], 'next_funding_time_ts_ms': fr_next_update_ts, - }) - VAL_KEY.set(VK_FUND_RATE, VAL_KEY_OBJ) + } + if fr_update.get('symbol') == SYMBOL: + VAL_KEY_OBJ = json.dumps(fr_update) + VAL_KEY.set(VK_FUND_RATE, VAL_KEY_OBJ) + LOCAL_FUNDING_RATES = utils.upsert_list_of_dicts_by_id(LOCAL_FUNDING_RATES, fr_update, id='symbol', seq_check_field=None) + VAL_KEY.set('fund_rate_extended_all', json.dumps(LOCAL_FUNDING_RATES)) continue else: logging.info(f'Initial or unexpected data struct, skipping: {data}') diff --git a/ws_extended_orderbook.py b/ws_extended_orderbook.py index 282246a..a1d372b 100644 --- a/ws_extended_orderbook.py +++ b/ws_extended_orderbook.py @@ -55,14 +55,18 @@ async def ws_stream(): async for message in websocket: ### Update Symbol if Algo Outputs Change ### if ALLOW_SYMBOL_CHG: - best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_algo_working_symbol')) # ty:ignore[invalid-argument-type] - best_symbol: str = best_symbol_by_exchange['EXTEND']['symbol'] - if best_symbol != SYMBOL: - logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}') - SYMBOL = best_symbol - CHANGE_SYMBOL = True - await websocket.close() - break + vk_get: str = VAL_KEY.get(name='fr_algo_working_symbol') # ty:ignore[invalid-assignment] + if vk_get: + best_symbol_by_exchange: dict = json.loads(s=vk_get) + best_symbol: str = best_symbol_by_exchange['EXTEND']['symbol'] + if best_symbol != SYMBOL: + logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}') + SYMBOL = best_symbol + CHANGE_SYMBOL = True + await websocket.close() + break + else: + logging.warning('Extend Orderbook WS: "fr_algo_working_symbol" is None; not switching to new symbol...') ts_arrival = round(datetime.now().timestamp()*1000) if isinstance(message, str): diff --git a/ws_extended_trades.py b/ws_extended_trades.py index 1c235d0..c734c21 100644 --- a/ws_extended_trades.py +++ b/ws_extended_trades.py @@ -58,14 +58,18 @@ async def ws_stream(): async for message in websocket: ### Update Symbol if Algo Outputs Change ### if ALLOW_SYMBOL_CHG: - best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_algo_working_symbol')) # ty:ignore[invalid-argument-type] - best_symbol: str = best_symbol_by_exchange['EXTEND']['symbol'] - if best_symbol != SYMBOL: - logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}') - SYMBOL = best_symbol - CHANGE_SYMBOL = True - await websocket.close() - break + vk_get: str = VAL_KEY.get(name='fr_algo_working_symbol') # ty:ignore[invalid-assignment] + if vk_get: + best_symbol_by_exchange: dict = json.loads(s=vk_get) + best_symbol: str = best_symbol_by_exchange['EXTEND']['symbol'] + if best_symbol != SYMBOL: + logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}') + SYMBOL = best_symbol + CHANGE_SYMBOL = True + await websocket.close() + break + else: + logging.warning('Extend Trades WS: "fr_algo_working_symbol" is None; not switching to new symbol...') ts_arrival = round(datetime.now().timestamp()*1000) if isinstance(message, str):