diff --git a/_On_Ice/algo_config_backup.json b/_On_Ice/algo_config_backup.json
index 6f9bf52..45d33c5 100644
--- a/_On_Ice/algo_config_backup.json
+++ b/_On_Ice/algo_config_backup.json
@@ -1,13 +1,25 @@
{
- "Config_Updated_Timestamp": 1777098091913,
- "Allow_Ordering_Aster": false,
- "Allow_Ordering_Extend": false,
- "Loop_Sleep_Sec": 5.00,
- "Max_Target_Notional": 0.00,
- "Min_Time_To_Funding_Minutes": 10,
- "Price_Worsener_Aster": 0.0,
- "Price_Worsener_Extend": 0.0,
- "Target_Open_Cash_Position": 10,
- "Print_Summary_Each_Loop" : true,
- "Flip_Side_For_Testing": false
+ "Updated_Timestamp": 1777433705326,
+ "Config": {
+ "Loop_Sleep_Sec": 0.0,
+ "Max_Order_Over_Notional_Ratio": 1.05,
+ "Max_Target_Notional": 0.0,
+ "Min_Time_To_Funding_Minutes": 60,
+ "Min_Fund_Rate_Pct_To_Trade": 0.0,
+ "Price_Worsener_Aster": 0.0,
+ "Price_Worsener_Extend": -0.1,
+ "Switch_To_Taker_Seconds": 1,
+ "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,
+ "Flatten_Open_Positions": false,
+ "Flip_Side_For_Testing": false
+ }
+
}
\ No newline at end of file
diff --git a/algo.ipynb b/algo.ipynb
index 5d468f0..9c2d0cd 100644
--- a/algo.ipynb
+++ b/algo.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 22,
"id": "d1eed397",
"metadata": {},
"outputs": [],
@@ -13,12 +13,13 @@
"import valkey\n",
"\n",
"with open('algo_config.json', 'r', encoding='utf-8') as file:\n",
- " ALGO_CONFIG = json.load(file, object_hook=lambda d: structs.Algo_Config(**d))"
+ " ALGO_CONFIG = json.load(file)\n",
+ " ALGO_CONFIG = structs.Algo_Config(**ALGO_CONFIG)"
]
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 23,
"id": "c6151613",
"metadata": {},
"outputs": [],
@@ -38,23 +39,31 @@
"1"
]
},
- "execution_count": 12,
+ "execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"config_update = {\n",
- " # 'Min_Time_To_Funding_Minutes': 60,\n",
- " # 'Allow_Ordering_Aster': True,\n",
- " # 'Allow_Ordering_Extend': True,\n",
- " # 'Loop_Sleep_Sec': 0.00,\n",
- " # 'Min_Fund_Rate_Pct_To_Trade': 0.001,\n",
- " # 'Flip_Side_For_Testing': False,\n",
- " # 'Price_Worsener_Extend': 0.0,\n",
- " # 'Log_Summary_Each_Loop': False,\n",
- " 'Print_Summary_Each_Loop': True,\n",
- " 'Flatten_Open_Positions': False,\n",
+ " # 'Config': {\n",
+ " # 'Loop_Sleep_Sec': 0.00,\n",
+ " # 'Min_Time_To_Funding_Minutes': 60,\n",
+ " # 'Min_Fund_Rate_Pct_To_Trade': 0.001,\n",
+ " # 'Price_Worsener_Extend': 0.0,\n",
+ " # 'Price_Worsener_Aster': 0.0,\n",
+ " # 'Switch_To_Taker_Seconds': 1,\n",
+ " # },\n",
+ " 'Logging': {\n",
+ " 'Log_Summary_Each_Loop': False,\n",
+ " 'Print_Summary_Each_Loop': True,\n",
+ " },\n",
+ " # 'Overrides': {\n",
+ " # 'Allow_Ordering_Aster': True,\n",
+ " # 'Allow_Ordering_Extend': True,\n",
+ " # 'Flip_Side_For_Testing': False,\n",
+ " # 'Flatten_Open_Positions': False,\n",
+ " # },\n",
"}\n",
"VAL_KEY.publish('fr_orchestrator_input', json.dumps(config_update))"
]
diff --git a/algo_config.json b/algo_config.json
index 39b370f..874d047 100644
--- a/algo_config.json
+++ b/algo_config.json
@@ -1,16 +1,24 @@
{
- "Config_Updated_Timestamp": 1777411434591,
- "Allow_Ordering_Aster": true,
- "Allow_Ordering_Extend": true,
- "Loop_Sleep_Sec": 0.0,
- "Max_Target_Notional": 0.0,
- "Min_Time_To_Funding_Minutes": 60,
- "Min_Fund_Rate_Pct_To_Trade": 0.0,
- "Price_Worsener_Aster": 0.0,
- "Price_Worsener_Extend": -0.1,
- "Target_Open_Cash_Position": 10,
- "Log_Summary_Each_Loop": false,
- "Print_Summary_Each_Loop": true,
- "Flatten_Open_Positions": false,
- "Flip_Side_For_Testing": false
+ "Updated_Timestamp": 1777478176165,
+ "Config": {
+ "Loop_Sleep_Sec": 0.0,
+ "Max_Order_Over_Notional_Ratio": 1.05,
+ "Max_Target_Notional": 0.0,
+ "Min_Time_To_Funding_Minutes": 60,
+ "Min_Fund_Rate_Pct_To_Trade": 0.0,
+ "Price_Worsener_Aster": 0.0,
+ "Price_Worsener_Extend": -0.1,
+ "Switch_To_Taker_Seconds": 1,
+ "Target_Open_Cash_Position": 10
+ },
+ "Logging": {
+ "Log_Summary_Each_Loop": false,
+ "Print_Summary_Each_Loop": true
+ },
+ "Overrides": {
+ "Allow_Ordering_Aster": true,
+ "Allow_Ordering_Extend": true,
+ "Flatten_Open_Positions": false,
+ "Flip_Side_For_Testing": false
+ }
}
\ No newline at end of file
diff --git a/algo_orchestrator.py b/algo_orchestrator.py
index 12969ec..6de9cd6 100644
--- a/algo_orchestrator.py
+++ b/algo_orchestrator.py
@@ -26,7 +26,6 @@ load_dotenv()
LOG_FILEPATH: str = os.getenv("LOGS_PATH") + '/Fund_Rate_Algo_Orchestrator.log'
ALGO_CONFIG: None | dict
-# ALGO_CONFIG: None | Algo_Config = None
async def orchestrator() -> None:
global ALGO_CONFIG
@@ -35,7 +34,7 @@ async def orchestrator() -> None:
VK_PUBSUB = VAL_KEY.pubsub()
VK_PUBSUB.subscribe(VK_IN)
- print(f"Subscribed to '{VK_IN}'. Waiting for messages...")
+ logging.info(f"Subscribed to '{VK_IN}'. Waiting for messages...")
for message in VK_PUBSUB.listen():
if message['type'] == 'message':
@@ -46,7 +45,7 @@ async def orchestrator() -> None:
with open('/algo_local_drive/algo_config.json', 'r', encoding='utf-8') as f:
# ALGO_CONFIG = json.load(f, object_hook=lambda d: Algo_Config(**d))
ALGO_CONFIG = json.load(f)
- ALGO_CONFIG['Config_Updated_Timestamp'] = timestamp
+ ALGO_CONFIG['Updated_Timestamp'] = timestamp
for k, v in data.items():
if ALGO_CONFIG.get(k, None) is not None:
@@ -54,12 +53,11 @@ async def orchestrator() -> None:
VAL_KEY.set(VK_OUT, json.dumps(ALGO_CONFIG))
with open('/algo_local_drive/algo_config.json', 'w', encoding='utf-8') as f:
- # print('SAVING FILE')
json.dump(ALGO_CONFIG, f, indent=4)
- print(f"Algo Config Updated @ {timestamp}; {data}")
+ logging.info(f"Algo Config Updated @ {timestamp}; {data}")
except valkey.exceptions.ConnectionError as e:
- print(f"Could not connect to Valkey. Please check the publish server is up; {e}")
+ logging.info(f"Could not connect to Valkey. Please check the publish server is up; {e}")
except KeyboardInterrupt:
logging.info('ORCHESTRATOR SHUTTING DOWN...')
except Exception as e:
@@ -78,7 +76,7 @@ async def main() -> None:
with open('/algo_local_drive/algo_config.json', 'r', encoding='utf-8') as f:
# ALGO_CONFIG = json.load(f, object_hook=lambda d: Algo_Config(**d))
ALGO_CONFIG = json.load(f)
- ALGO_CONFIG['Config_Updated_Timestamp'] = round(datetime.now().timestamp()*1000)
+ ALGO_CONFIG['Updated_Timestamp'] = round(datetime.now().timestamp()*1000)
# async with engine.connect() as CON:
await orchestrator()
diff --git a/docker-compose.yml b/docker-compose.yml
index cfa8096..2473da0 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,4 +1,4 @@
-# tail -f 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_Trades.log Fund_Rate_Extended_User.log
+# tail -f 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_Trades.log Fund_Rate_Extended_User.log
services:
# algo:
diff --git a/engine_best_funding_rate.ipynb b/engine_best_funding_rate.ipynb
index c7d80a9..d5c1eba 100644
--- a/engine_best_funding_rate.ipynb
+++ b/engine_best_funding_rate.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": 28,
"id": "0b5ca901",
"metadata": {},
"outputs": [],
@@ -12,34 +12,26 @@
"import numpy as np\n",
"from datetime import datetime\n",
"import time\n",
- "import json\n"
+ "import json\n",
+ "import valkey\n",
+ "from dataclasses import dataclass, field\n",
+ "\n",
+ "VAL_KEY = valkey.Valkey(host='localhost', port=6379, db=0, decode_responses=True)"
]
},
{
"cell_type": "code",
- "execution_count": 93,
- "id": "e33ec721",
+ "execution_count": 29,
+ "id": "20665e82",
"metadata": {},
"outputs": [],
"source": [
- "### Extended Current FR ###\n",
- "r = json.loads(requests.get('https://api.starknet.extended.exchange/api/v1/info/markets').text)\n",
- "df_extend_current_mkt_stats = pd.DataFrame(r['data'])\n",
- "\n",
- "df_extend_current_mkt_stats['funding_rate'] = df_extend_current_mkt_stats['marketStats'].apply(lambda x: x.get('fundingRate',{}))\n",
- "df_extend_current_mkt_stats['funding_rate_ts'] = df_extend_current_mkt_stats['marketStats'].apply(lambda x: x.get('nextFundingRate',{}))\n",
- "df_extend_current_mkt_stats['min_order_size'] = df_extend_current_mkt_stats['tradingConfig'].apply(lambda x: x.get('minOrderSize',{}))\n",
- "df_extend_current_mkt_stats['min_price_change'] = df_extend_current_mkt_stats['tradingConfig'].apply(lambda x: x.get('minPriceChange',{}))\n",
- "df_extend_current_mkt_stats['max_leverage'] = df_extend_current_mkt_stats['tradingConfig'].apply(lambda x: x.get('maxLeverage',{}))\n",
- "\n",
- "df_extend_current_fr = df_extend_current_mkt_stats[['status','name','assetName','collateralAssetName','category','min_order_size','min_price_change','max_leverage','funding_rate','funding_rate_ts']]\n",
- "df_extend_current_fr['funding_rate_ts_dt'] = pd.to_datetime(df_extend_current_fr['funding_rate_ts'], unit='ms')\n",
- "df_extend_current_fr = df_extend_current_fr.loc[df_extend_current_fr['status']=='ACTIVE',:]"
+ "### ********** TODO: ADD IN VOLUME DATA TO FILTER MKTS ###"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 30,
"id": "53647b40",
"metadata": {},
"outputs": [],
@@ -56,7 +48,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 31,
"id": "1f3b65ee",
"metadata": {},
"outputs": [],
@@ -70,27 +62,173 @@
},
{
"cell_type": "code",
- "execution_count": 94,
+ "execution_count": 32,
+ "id": "e33ec721",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "### Extended Current FR ###\n",
+ "r = json.loads(requests.get('https://api.starknet.extended.exchange/api/v1/info/markets').text)\n",
+ "df_extend_current_mkt_stats = pd.DataFrame(r['data'])\n",
+ "\n",
+ "df_extend_current_mkt_stats['funding_rate'] = df_extend_current_mkt_stats['marketStats'].apply(lambda x: x.get('fundingRate',{}))\n",
+ "df_extend_current_mkt_stats['funding_rate_ts'] = df_extend_current_mkt_stats['marketStats'].apply(lambda x: x.get('nextFundingRate',{}))\n",
+ "df_extend_current_mkt_stats['min_order_size'] = df_extend_current_mkt_stats['tradingConfig'].apply(lambda x: x.get('minOrderSize',{}))\n",
+ "df_extend_current_mkt_stats['min_price_change'] = df_extend_current_mkt_stats['tradingConfig'].apply(lambda x: x.get('minPriceChange',{}))\n",
+ "df_extend_current_mkt_stats['max_leverage'] = df_extend_current_mkt_stats['tradingConfig'].apply(lambda x: x.get('maxLeverage',{}))\n",
+ "\n",
+ "\n",
+ "# df_extend_current_fr = df_extend_current_mkt_stats[['status','name','assetName','collateralAssetName','category','min_order_size','min_price_change','max_leverage','funding_rate','funding_rate_ts']]\n",
+ "# df_extend_current_fr['funding_rate_ts_dt'] = pd.to_datetime(df_extend_current_fr['funding_rate_ts'], unit='ms')\n",
+ "# df_extend_current_fr = df_extend_current_fr.loc[df_extend_current_fr['status']=='ACTIVE',:]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "id": "782a5d56",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "@dataclass(kw_only=False)\n",
+ "class Asset_Leverage:\n",
+ " exchange: str\n",
+ " lh_asset: str\n",
+ " rh_asset: str\n",
+ " max_leverage: int\n",
+ " max_notional: float\n",
+ " # max_leverage_notional: list = field(default_factory=list)\n",
+ "\n",
+ "### MANUAL LEVERAGE DATA ###\n",
+ "LEVERAGE_BY_EXCH: list[Asset_Leverage] = [\n",
+ " Asset_Leverage('ASTER', 'ASTER', 'USDT', 75 , 20_000 ), Asset_Leverage('EXTEND', 'ASTER', 'USDT', 25, 400_000 ),\n",
+ " Asset_Leverage('ASTER', 'AAVE' , 'USDT', 10 , 115_290), Asset_Leverage('EXTEND', 'AAVE' , 'USDT', 50, 500_000 ),\n",
+ " Asset_Leverage('ASTER', '4' , 'USDT', 50 , 5_000 ), Asset_Leverage('EXTEND', '4' , 'USDT', 5 , 100_000 ),\n",
+ " Asset_Leverage('ASTER', 'BNB' , 'USDT', 100, 10_000 ), Asset_Leverage('EXTEND', 'BNB' , 'USDT', 50, 500_000 ),\n",
+ " Asset_Leverage('ASTER', 'BTC' , 'USDT', 150, 300_000), Asset_Leverage('EXTEND', 'BTC' , 'USDT', 50, 4_000_000),\n",
+ " Asset_Leverage('ASTER', 'CHIP' , 'USDT', 50 , 5_000 ), Asset_Leverage('EXTEND', 'CHIP' , 'USDT', 5 , 100_000 ),\n",
+ " Asset_Leverage('ASTER', 'CLU' , 'USDT', 50 , 10_000 ), Asset_Leverage('EXTEND', 'WTI' , 'USDT', 5 , 1_000_000),\n",
+ " Asset_Leverage('ASTER', 'DOGE' , 'USDT', 75 , 80_000 ), Asset_Leverage('EXTEND', 'DOGE' , 'USDT', 50, 500_000 ),\n",
+ " Asset_Leverage('ASTER', 'ENA' , 'USDT', 25 , 30_473 ), Asset_Leverage('EXTEND', 'ENA' , 'USDT', 50, 500_000 ),\n",
+ " Asset_Leverage('ASTER', 'ETH' , 'USDT', 150, 300_000), Asset_Leverage('EXTEND', 'ETH' , 'USDT', 50, 4_000_000),\n",
+ " Asset_Leverage('ASTER', 'HYPE' , 'USDT', 300, 1_000 ), Asset_Leverage('EXTEND', 'HYPE' , 'USDT', 50, 1_000_000),\n",
+ " Asset_Leverage('ASTER', 'INIT' , 'USDT', 50 , 5_000 ), Asset_Leverage('EXTEND', 'INIT' , 'USDT', 5 , 100_000 ),\n",
+ " Asset_Leverage('ASTER', 'LIT' , 'USDT', 50 , 2_500 ), Asset_Leverage('EXTEND', 'LIT' , 'USDT', 25, 400_000 ),\n",
+ " Asset_Leverage('ASTER', 'SOL' , 'USDT', 100, 50_000 ), Asset_Leverage('EXTEND', 'SOL' , 'USDT', 50, 1_000_000),\n",
+ " Asset_Leverage('ASTER', 'SUI' , 'USDT', 75 , 5_416 ), Asset_Leverage('EXTEND', 'SUI' , 'USDT', 50, 500_000 ),\n",
+ " Asset_Leverage('ASTER', 'TRUMP', 'USDT', 50 , 5_567 ), Asset_Leverage('EXTEND', 'TRUMP', 'USDT', 25, 400_000 ),\n",
+ " Asset_Leverage('ASTER', 'WLFI' , 'USDT', 25 , 104_869), Asset_Leverage('EXTEND', 'WLFI' , 'USDT', 10, 250_000 ),\n",
+ " Asset_Leverage('ASTER', 'XAG' , 'USDT', 100, 50_000 ), Asset_Leverage('EXTEND', 'XAG' , 'USDT', 10, 1_000_000),\n",
+ " Asset_Leverage('ASTER', 'XAU' , 'USDT', 75 , 2_500 ), Asset_Leverage('EXTEND', 'XAU' , 'USDT', 25, 2_000_000),\n",
+ " Asset_Leverage('ASTER', 'XMR' , 'USDT', 50 , 10_000 ), Asset_Leverage('EXTEND', 'XMR' , 'USDT', 25, 400_000 ),\n",
+ " Asset_Leverage('ASTER', 'XPT' , 'USDT', 3 , 30_000 ), Asset_Leverage('EXTEND', 'XPT' , 'USDT', 5 , 1_000_000),\n",
+ " Asset_Leverage('ASTER', 'XRP' , 'USDT', 100, 40_000 ), Asset_Leverage('EXTEND', 'XRP' , 'USDT', 50, 500_000 ),\n",
+ " Asset_Leverage('ASTER', 'ZEC' , 'USDT', 75 , 6_250 ), Asset_Leverage('EXTEND', 'ZEC' , 'USDT', 10, 250_000 ),\n",
+ " Asset_Leverage('ASTER', 'ZORA' , 'USDT', 5 , 100_000), Asset_Leverage('EXTEND', 'ZORA' , 'USDT', 5 , 100_000 ),\n",
+ "]\n",
+ "df_leverage_by_exch = pd.DataFrame(LEVERAGE_BY_EXCH)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
"id": "62815940",
"metadata": {},
"outputs": [],
"source": [
"### ASTER Current FR from Mark Price Req ###\n",
- "r = json.loads(requests.get('https://fapi.asterdex.com/fapi/v3/premiumIndex').text)\n",
- "df_aster_current_mkt_stats = pd.DataFrame(r)"
+ "# r = json.loads(requests.get('https://fapi.asterdex.com/fapi/v3/exchangeInfo').text)\n",
+ "# df_aster_current_mkt_stats = pd.DataFrame(r)\n",
+ "# ### ASTER Current FR from Mark Price Req ###\n",
+ "# r = json.loads(requests.get('https://fapi.asterdex.com/fapi/v3/premiumIndex').text)\n",
+ "# df_aster_current_mkt_stats = pd.DataFrame(r)"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 35,
+ "id": "271a67c1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "### ASTER CURRENT FR - WS ###\n",
+ "df_aster_current_fr = pd.DataFrame(json.loads(VAL_KEY.get('fund_rate_aster_all')))\n",
+ "df_aster_current_fr = df_aster_current_fr[['s','E','r','T']].rename({'s':'symbol','E':'funding_rate_updated_ts_ms','r':'funding_rate','T':'next_funding_ts'}, axis=1)\n",
+ "df_aster_current_fr['funding_rate_updated_dt'] = pd.to_datetime(df_aster_current_fr['funding_rate_updated_ts_ms'], unit='ms')\n",
+ "df_aster_current_fr['funding_rate'] = df_aster_current_fr['funding_rate'].astype(float)\n",
+ "df_aster_current_fr['time_delta_to_next_funding'] = pd.to_datetime(df_aster_current_fr['next_funding_ts'], unit='ms') - pd.Timestamp.now()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
"id": "1ce2fde4",
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "### EXTEND CURRENT FR - WS ###\n",
+ "df_extended_current_fr = pd.DataFrame(json.loads(VAL_KEY.get('fund_rate_extended_all')))\n",
+ "df_extended_current_fr = df_extended_current_fr[['symbol','funding_rate_updated_ts_ms','funding_rate']]\n",
+ "df_extended_current_fr['funding_rate_updated_dt'] = pd.to_datetime(df_extended_current_fr['funding_rate_updated_ts_ms'], unit='ms')\n",
+ "df_extended_current_fr['funding_rate'] = df_extended_current_fr['funding_rate'].astype(float)\n",
+ "\n",
+ "# df_extended_current_fr = df_extended_current_fr.merge(df_extend_current_mkt_stats[['name','assetName','status', 'funding_rate_ts','max_leverage']].rename({'name':'symbol','funding_rate_ts':'next_funding_ts'}, axis=1), on='symbol', how='left')\n",
+ "df_extended_current_fr = df_extended_current_fr.merge(df_extend_current_mkt_stats[['name','assetName','status', 'funding_rate_ts']].rename({'name':'symbol','funding_rate_ts':'next_funding_ts'}, axis=1), on='symbol', how='left')\n",
+ "df_extended_current_fr = df_extended_current_fr.loc[df_extended_current_fr['status']=='ACTIVE',:]\n",
+ "df_extended_current_fr['USDT_Symbol'] = df_extended_current_fr['assetName'] + 'USDT'\n",
+ "df_extended_current_fr['time_delta_to_next_funding'] = pd.to_datetime(df_extended_current_fr['next_funding_ts'], unit='ms') - pd.Timestamp.now()"
+ ]
},
{
"cell_type": "code",
- "execution_count": 95,
+ "execution_count": 37,
+ "id": "ff88b413",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "### COMBINED CURRENT FR - WS ###\n",
+ "df_comb_current_fr = df_extended_current_fr.merge(df_aster_current_fr, left_on='USDT_Symbol', right_on='symbol', how='inner', suffixes=('_ext', '_ast'))\n",
+ "df_comb_current_fr['next_funding_at_same_time'] = (abs(df_comb_current_fr['time_delta_to_next_funding_ext'].dt.total_seconds() - df_comb_current_fr['time_delta_to_next_funding_ast'].dt.total_seconds()) / 60) < 1\n",
+ "df_comb_current_fr['net_funding_rate'] = (df_comb_current_fr[['funding_rate_ext', 'funding_rate_ast']].max(axis=1) - df_comb_current_fr[['funding_rate_ext', 'funding_rate_ast']].min(axis=1)).where(df_comb_current_fr['next_funding_at_same_time'], df_comb_current_fr['funding_rate_ext'])\n",
+ "df_comb_current_fr['net_funding_rate_abs'] = df_comb_current_fr['net_funding_rate'].abs()\n",
+ "\n",
+ "### NET MULT ###\n",
+ "df_comb_current_fr = df_comb_current_fr.merge(df_leverage_by_exch.loc[df_leverage_by_exch['exchange']=='EXTEND'], left_on='assetName', right_on='lh_asset').merge(df_leverage_by_exch.loc[df_leverage_by_exch['exchange']=='ASTER'], left_on='assetName', right_on='lh_asset', suffixes=('_ext', '_ast'))\n",
+ "df_comb_current_fr['net_mult'] = 1 / ( ( 0.5 / df_comb_current_fr['max_leverage_ext'] ) + ( 0.5 / df_comb_current_fr['max_leverage_ast'] ) )\n",
+ "df_comb_current_fr['net_mult'] = df_comb_current_fr['net_mult'].round(2)\n",
+ "df_comb_current_fr['net_mult_x_net_fr_abs'] = df_comb_current_fr['net_funding_rate_abs'] * df_comb_current_fr['net_mult']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "id": "f5ade993",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'symbol_ast': 'CHIPUSDT', 'symbol_extended': 'CHIP-USD'}"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_best_fr_rate = df_comb_current_fr[['symbol_ext','symbol_ast','net_mult_x_net_fr_abs','net_funding_rate_abs','net_funding_rate','next_funding_at_same_time']].sort_values(by='net_mult_x_net_fr_abs', ascending=False).reset_index(drop=True)\n",
+ "df_best_fr_rate['hourly_dollars_per_1k'] = df_best_fr_rate['net_mult_x_net_fr_abs'] * 1000\n",
+ "df_best_fr_rate['hourly_dollars_per_1k'] = df_best_fr_rate['hourly_dollars_per_1k'].round(2)\n",
+ "\n",
+ "best_next_funding_pair = {'symbol_ast':df_best_fr_rate['symbol_ast'][0],'symbol_extended':df_best_fr_rate['symbol_ext'][0]}\n",
+ "best_next_funding_pair"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "id": "0972d5f4",
"metadata": {},
"outputs": [
{
@@ -103,2413 +241,277 @@
"type": "integer"
},
{
- "name": "symbol",
+ "name": "symbol_ext",
"rawType": "str",
"type": "string"
},
{
- "name": "markPrice",
+ "name": "symbol_ast",
"rawType": "str",
"type": "string"
},
{
- "name": "indexPrice",
- "rawType": "str",
- "type": "string"
+ "name": "net_mult_x_net_fr_abs",
+ "rawType": "float64",
+ "type": "float"
},
{
- "name": "estimatedSettlePrice",
- "rawType": "str",
- "type": "string"
+ "name": "net_funding_rate_abs",
+ "rawType": "float64",
+ "type": "float"
},
{
- "name": "lastFundingRate",
- "rawType": "str",
- "type": "string"
+ "name": "net_funding_rate",
+ "rawType": "float64",
+ "type": "float"
},
{
- "name": "interestRate",
- "rawType": "str",
- "type": "string"
+ "name": "next_funding_at_same_time",
+ "rawType": "bool",
+ "type": "boolean"
},
{
- "name": "nextFundingTime",
- "rawType": "int64",
- "type": "integer"
- },
- {
- "name": "time",
- "rawType": "int64",
- "type": "integer"
+ "name": "hourly_dollars_per_1k",
+ "rawType": "float64",
+ "type": "float"
}
],
- "ref": "913c6dcd-9dae-469b-b650-2f6d0f0daf1b",
+ "ref": "33130419-3234-458e-82da-43648a261793",
"rows": [
[
"0",
- "GNSUSD",
- "0.65303424",
- "0.65303424",
- "0.65605033",
- "0",
- "0",
- "1777420800000",
- "1777395861000"
- ],
- [
- "1",
- "TRUTHUSDT",
- "0.00951097",
- "0.00948349",
- "0.00943109",
- "0.00003339",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "2",
- "SHIELDAMZNUSDT",
- "258.94240937",
- "258.93119846",
- "259.90487776",
- "0.00010000",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "3",
- "SBETUSDT",
- "7.05523038",
- "7.07923467",
- "0",
- "0.00005000",
- "0.00005000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "4",
- "BANKUSDT",
- "0.03394185",
- "0.03391230",
- "0.03407309",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "5",
- "EVAAUSDT",
- "0.59697429",
- "0.59611547",
- "0.59649345",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "6",
- "USD1USD",
- "0.99984196",
- "0.99983617",
- "0.99989566",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "7",
- "XAIUSDT",
- "0.01088548",
- "0.01088974",
- "0.01089328",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "8",
- "TSLAUSDT",
- "376.93647937",
- "376.50759300",
- "375.76013057",
- "0.00002135",
- "0",
- "1777420800000",
- "1777395861000"
- ],
- [
- "9",
- "MONUSDT",
- "0.02835699",
- "0.02839655",
- "0.02839121",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "10",
- "PNUTUSDT",
- "0.05509410",
- "0.05510162",
- "0.05544837",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "11",
- "PENDLEUSDT",
- "1.32385179",
- "1.32524854",
- "1.32049891",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "12",
- "DEXEUSDT",
- "13.58197532",
- "13.58181786",
- "13.51136894",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "13",
- "AAPLUSD",
- "270.01252500",
- "270.01252500",
- "269.76349859",
- "0",
- "0",
- "1777420800000",
- "1777395861000"
- ],
- [
- "14",
- "RVVUSDT",
- "0.00073491",
- "0.00073491",
- "0",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "15",
- "AWEUSDT",
- "0.05753650",
- "0.05754627",
- "0.05748942",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "16",
- "SHELLUSDT",
- "0.03519629",
- "0.03519588",
- "0.03538944",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "17",
- "NIGHTUSDT",
- "0.03381847",
- "0.03385350",
- "0.03391296",
- "-0.00007949",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "18",
- "WHITEWHALEUSDT",
- "0.00704723",
- "0.00730400",
- "0",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "19",
+ "CHIP-USD",
"CHIPUSDT",
- "0.07014219",
- "0.07044074",
- "0.07094450",
- "-0.00040874",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "20",
- "SHIELDSTXUSDT",
- "575.60191163",
- "575.57699095",
- "570.57478535",
- "0.00010000",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "21",
- "1000BONKUSDT",
- "0.00620074",
- "0.00620051",
- "0.00621260",
- "0.00005000",
- "0.00010000",
- "1777406400000",
- "1777395861000"
- ],
- [
- "22",
- "ESPUSDT",
- "0.06855055",
- "0.06855200",
- "0.06847629",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "23",
- "GRIFFAINUSDT",
- "0.01795996",
- "0.01795975",
- "0.01794169",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "24",
- "TRXUSDT",
- "0.32315147",
- "0.32338588",
- "0.32340194",
- "0.00010000",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "25",
- "FHEUSDT",
- "0.01829450",
- "0.01829429",
- "0.01815341",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "26",
- "CHILLGUYUSDT",
- "0.01110104",
- "0.01107164",
- "0.01109427",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "27",
- "BROCCOLI714USDT",
- "0.01941361",
- "0.01941338",
- "0.01833491",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "28",
- "龙虾USDT",
- "0.00796043",
- "0.00795695",
- "0.00793653",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "29",
- "SAPIENUSDT",
- "0.08997373",
- "0.08997044",
- "0.09021955",
- "0.00005000",
- "0.00010000",
- "1777406400000",
- "1777395861000"
- ],
- [
- "30",
- "SOMIUSDT",
- "0.18102200",
- "0.18124696",
- "0.18026999",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "31",
- "EULUSDT",
- "1.36165066",
- "1.36145556",
- "1.35192316",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "32",
- "BREVUSDT",
- "0.12533478",
- "0.12533333",
- "0.12536001",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "33",
- "POLUSDT",
- "0.09120000",
- "0.09126500",
- "0.09103969",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "34",
- "BRKBUSDT",
- "477.84225287",
- "477.82156469",
- "478.65998965",
- "0.00010000",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "35",
- "OKBUSDT",
- "82.54935311",
- "82.54870000",
- "82.51664231",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "36",
- "UMAUSDT",
- "0.45218283",
- "0.45239647",
- "0.45280201",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "37",
- "APEUSDT",
- "0.16610000",
- "0.16632824",
- "0.16906922",
- "-0.00052190",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "38",
- "SHIELDAUDUSDT",
- "0.71810836",
- "0.71807727",
- "0.71800285",
- "0.00010000",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "39",
- "AIOTUSDT",
- "0.12762810",
- "0.12762664",
- "0.10564967",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "40",
- "B2USDT",
- "0.49570000",
- "0.49536073",
- "0.49410042",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "41",
- "ZEREBROUSDT",
- "0.01918084",
- "0.01914622",
- "0.01900181",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "42",
- "OPENUSDT",
- "0.25796574",
- "0.25829302",
- "0.24899328",
- "-0.00001118",
- "0.00010000",
- "1777406400000",
- "1777395861000"
- ],
- [
- "43",
- "RECALLUSDT",
- "0.05203046",
- "0.05202986",
- "0.05220656",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "44",
- "SKYAIUSDT",
- "0.18775044",
- "0.18575818",
- "0.17313396",
- "0.00086555",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "45",
- "VIRTUALUSDT",
- "0.68739669",
- "0.68777297",
- "0.68797940",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "46",
- "PROMUSDT",
- "2.10289179",
- "2.10206429",
- "2.09985186",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ],
- [
- "47",
- "AFEEUSDT",
- "1.00004330",
- "1",
- "1",
- "0.00010000",
- "0.00010000",
- "1777420800000",
- "1777395861000"
- ],
- [
- "48",
- "ORDIUSD",
- "4.43254760",
- "4.43254760",
- "4.43414974",
- "0",
- "0",
- "1777420800000",
- "1777395861000"
- ],
- [
- "49",
- "GUSDT",
- "0.00361557",
- "0.00361648",
- "0.00360877",
- "0.00001250",
- "0.00010000",
- "1777399200000",
- "1777395861000"
- ]
- ],
- "shape": {
- "columns": 8,
- "rows": 522
- }
- },
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " symbol | \n",
- " markPrice | \n",
- " indexPrice | \n",
- " estimatedSettlePrice | \n",
- " lastFundingRate | \n",
- " interestRate | \n",
- " nextFundingTime | \n",
- " time | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " GNSUSD | \n",
- " 0.65303424 | \n",
- " 0.65303424 | \n",
- " 0.65605033 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1777420800000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " TRUTHUSDT | \n",
- " 0.00951097 | \n",
- " 0.00948349 | \n",
- " 0.00943109 | \n",
- " 0.00003339 | \n",
- " 0.00010000 | \n",
- " 1777399200000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " SHIELDAMZNUSDT | \n",
- " 258.94240937 | \n",
- " 258.93119846 | \n",
- " 259.90487776 | \n",
- " 0.00010000 | \n",
- " 0.00010000 | \n",
- " 1777420800000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " SBETUSDT | \n",
- " 7.05523038 | \n",
- " 7.07923467 | \n",
- " 0 | \n",
- " 0.00005000 | \n",
- " 0.00005000 | \n",
- " 1777420800000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " BANKUSDT | \n",
- " 0.03394185 | \n",
- " 0.03391230 | \n",
- " 0.03407309 | \n",
- " 0.00001250 | \n",
- " 0.00010000 | \n",
- " 1777399200000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " | 517 | \n",
- " BLESSUSDT | \n",
- " 0.00599619 | \n",
- " 0.00599597 | \n",
- " 0.00589893 | \n",
- " 0.00005000 | \n",
- " 0.00010000 | \n",
- " 1777406400000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 518 | \n",
- " UNIUSD | \n",
- " 3.23415377 | \n",
- " 3.23415377 | \n",
- " 3.22880936 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1777420800000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 519 | \n",
- " DYDXUSDT | \n",
- " 0.15756138 | \n",
- " 0.15754774 | \n",
- " 0.15882018 | \n",
- " 0.00010000 | \n",
- " 0.00010000 | \n",
- " 1777420800000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 520 | \n",
- " AMZNUSD | \n",
- " 258.86770000 | \n",
- " 258.86770000 | \n",
- " 259.86469641 | \n",
- " 0 | \n",
- " 0 | \n",
- " 1777420800000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- " | 521 | \n",
- " DUSKUSDT | \n",
- " 0.12641053 | \n",
- " 0.12641377 | \n",
- " 0.12682210 | \n",
- " -0.00002590 | \n",
- " 0.00010000 | \n",
- " 1777399200000 | \n",
- " 1777395861000 | \n",
- "
\n",
- " \n",
- "
\n",
- "
522 rows × 8 columns
\n",
- "
"
- ],
- "text/plain": [
- " symbol markPrice indexPrice estimatedSettlePrice \\\n",
- "0 GNSUSD 0.65303424 0.65303424 0.65605033 \n",
- "1 TRUTHUSDT 0.00951097 0.00948349 0.00943109 \n",
- "2 SHIELDAMZNUSDT 258.94240937 258.93119846 259.90487776 \n",
- "3 SBETUSDT 7.05523038 7.07923467 0 \n",
- "4 BANKUSDT 0.03394185 0.03391230 0.03407309 \n",
- ".. ... ... ... ... \n",
- "517 BLESSUSDT 0.00599619 0.00599597 0.00589893 \n",
- "518 UNIUSD 3.23415377 3.23415377 3.22880936 \n",
- "519 DYDXUSDT 0.15756138 0.15754774 0.15882018 \n",
- "520 AMZNUSD 258.86770000 258.86770000 259.86469641 \n",
- "521 DUSKUSDT 0.12641053 0.12641377 0.12682210 \n",
- "\n",
- " lastFundingRate interestRate nextFundingTime time \n",
- "0 0 0 1777420800000 1777395861000 \n",
- "1 0.00003339 0.00010000 1777399200000 1777395861000 \n",
- "2 0.00010000 0.00010000 1777420800000 1777395861000 \n",
- "3 0.00005000 0.00005000 1777420800000 1777395861000 \n",
- "4 0.00001250 0.00010000 1777399200000 1777395861000 \n",
- ".. ... ... ... ... \n",
- "517 0.00005000 0.00010000 1777406400000 1777395861000 \n",
- "518 0 0 1777420800000 1777395861000 \n",
- "519 0.00010000 0.00010000 1777420800000 1777395861000 \n",
- "520 0 0 1777420800000 1777395861000 \n",
- "521 -0.00002590 0.00010000 1777399200000 1777395861000 \n",
- "\n",
- "[522 rows x 8 columns]"
- ]
- },
- "execution_count": 95,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_aster_current_mkt_stats"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "68a91c34",
- "metadata": {},
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "77c46298",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "715bdb76",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.microsoft.datawrangler.viewer.v0+json": {
- "columns": [
- {
- "name": "index",
- "rawType": "int64",
- "type": "integer"
- },
- {
- "name": "status",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "name",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "assetName",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "collateralAssetName",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "category",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "min_order_size",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "min_price_change",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "max_leverage",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "funding_rate",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "funding_rate_ts",
- "rawType": "int64",
- "type": "integer"
- },
- {
- "name": "funding_rate_ts_dt",
- "rawType": "datetime64[ms]",
- "type": "datetime"
- },
- {
- "name": "USDT_Symbol",
- "rawType": "str",
- "type": "string"
- }
- ],
- "ref": "4420b413-3494-473e-89c5-69a1ecce5e9d",
- "rows": [
- [
- "0",
- "ACTIVE",
- "ENA-USD",
- "ENA",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "50.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "ENAUSDT"
+ "0.00352692",
+ "0.000388",
+ "-0.000388",
+ "False",
+ "3.53"
],
[
"1",
- "ACTIVE",
- "AVNT-USD",
- "AVNT",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "AVNTUSDT"
- ],
- [
- "2",
- "ACTIVE",
- "EUR-USD",
- "EUR",
- "USD",
- "TradFi",
- "10",
- "0.00001",
- "100.00",
- "0.000015",
- "1777395600000",
- "2026-04-28 17:00:00",
- "EURUSDT"
- ],
- [
- "3",
- "ACTIVE",
- "SUI-USD",
- "SUI",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "50.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "SUIUSDT"
- ],
- [
- "4",
- "ACTIVE",
- "WIF-USD",
- "WIF",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "25.00",
- "-0.000035",
- "1777395600000",
- "2026-04-28 17:00:00",
- "WIFUSDT"
- ],
- [
- "5",
- "ACTIVE",
- "CAKE-USD",
- "CAKE",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "10.00",
- "-0.000057",
- "1777395600000",
- "2026-04-28 17:00:00",
- "CAKEUSDT"
- ],
- [
- "6",
- "ACTIVE",
- "MEGA-USD",
- "MEGA",
- "USD",
- "Crypto",
- "10",
- "0.00001",
- "5.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "MEGAUSDT"
- ],
- [
- "7",
- "ACTIVE",
- "AVAX-USD",
- "AVAX",
- "USD",
- "Crypto",
- "1",
- "0.001",
- "25.00",
- "-0.000022",
- "1777395600000",
- "2026-04-28 17:00:00",
- "AVAXUSDT"
- ],
- [
- "8",
- "ACTIVE",
"HYPE-USD",
- "HYPE",
- "USD",
- "Crypto",
- "0.1",
- "0.001",
- "50.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "HYPEUSDT"
- ],
- [
- "9",
- "ACTIVE",
- "WLFI-USD",
- "WLFI",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "WLFIUSDT"
- ],
- [
- "10",
- "ACTIVE",
- "INTC_24_5-USD",
- "INTC_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "INTC_24_5USDT"
- ],
- [
- "11",
- "ACTIVE",
- "MSTR_24_5-USD",
- "MSTR_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.01",
- "10.00",
- "-0.000005",
- "1777395600000",
- "2026-04-28 17:00:00",
- "MSTR_24_5USDT"
- ],
- [
- "12",
- "ACTIVE",
- "XRP-USD",
- "XRP",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "50.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "XRPUSDT"
- ],
- [
- "13",
- "ACTIVE",
- "1000SHIB-USD",
- "1000SHIB",
- "USD",
- "Crypto",
- "1000",
- "0.000001",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "1000SHIBUSDT"
- ],
- [
- "14",
- "ACTIVE",
- "SPX-USD",
- "SPX",
- "USD",
- "Crypto",
- "10",
- "0.00001",
- "10.00",
- "0.000009",
- "1777395600000",
- "2026-04-28 17:00:00",
- "SPXUSDT"
- ],
- [
- "15",
- "ACTIVE",
- "LTC-USD",
- "LTC",
- "USD",
- "Crypto",
- "0.1",
- "0.01",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "LTCUSDT"
- ],
- [
- "16",
- "ACTIVE",
- "KAITO-USD",
- "KAITO",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "10.00",
- "-0.000069",
- "1777395600000",
- "2026-04-28 17:00:00",
- "KAITOUSDT"
- ],
- [
- "17",
- "ACTIVE",
- "MU_24_5-USD",
- "MU_24_5",
- "USD",
- "TradFi",
- "0.01",
- "0.01",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "MU_24_5USDT"
- ],
- [
- "18",
- "ACTIVE",
- "MELANIA-USD",
- "MELANIA",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "5.00",
- "0.000074",
- "1777395600000",
- "2026-04-28 17:00:00",
- "MELANIAUSDT"
- ],
- [
- "19",
- "ACTIVE",
- "XPT-USD",
- "XPT",
- "USD",
- "TradFi",
- "0.01",
- "0.1",
- "5.00",
- "0.000054",
- "1777395600000",
- "2026-04-28 17:00:00",
- "XPTUSDT"
- ],
- [
- "20",
- "ACTIVE",
- "USDJPY-USD",
- "USDJPY",
- "USD",
- "TradFi",
- "0.1",
- "0.001",
- "25.00",
- "0.000000",
- "1777395600000",
- "2026-04-28 17:00:00",
- "USDJPYUSDT"
- ],
- [
- "21",
- "ACTIVE",
- "AZTEC-USD",
- "AZTEC",
- "USD",
- "Crypto",
- "1000",
- "0.000001",
- "5.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "AZTECUSDT"
- ],
- [
- "22",
- "ACTIVE",
- "AMZN_24_5-USD",
- "AMZN_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.01",
- "10.00",
- "0.000000",
- "1777395600000",
- "2026-04-28 17:00:00",
- "AMZN_24_5USDT"
- ],
- [
- "23",
- "ACTIVE",
- "AAVE-USD",
- "AAVE",
- "USD",
- "Crypto",
- "0.1",
- "0.01",
- "50.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "AAVEUSDT"
- ],
- [
- "24",
- "ACTIVE",
- "SNDK_24_5-USD",
- "SNDK_24_5",
- "USD",
- "TradFi",
- "0.01",
- "0.01",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "SNDK_24_5USDT"
- ],
- [
- "25",
- "ACTIVE",
- "POPCAT-USD",
- "POPCAT",
- "USD",
- "Crypto",
- "10",
- "0.00001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "POPCATUSDT"
- ],
- [
- "26",
- "ACTIVE",
- "APT-USD",
- "APT",
- "USD",
- "Crypto",
- "1",
- "0.0001",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "APTUSDT"
- ],
- [
- "27",
- "ACTIVE",
- "PUMP-USD",
- "PUMP",
- "USD",
- "Crypto",
- "1000",
- "0.000001",
- "50.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "PUMPUSDT"
- ],
- [
- "28",
- "ACTIVE",
- "SOL-USD",
- "SOL",
- "USD",
- "Crypto",
- "0.1",
- "0.01",
- "50.00",
- "0.000000",
- "1777395600000",
- "2026-04-28 17:00:00",
- "SOLUSDT"
- ],
- [
- "29",
- "ACTIVE",
- "OP-USD",
- "OP",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "OPUSDT"
- ],
- [
- "31",
- "ACTIVE",
- "PLTR_24_5-USD",
- "PLTR_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.01",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "PLTR_24_5USDT"
- ],
- [
- "32",
- "ACTIVE",
- "TIA-USD",
- "TIA",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "25.00",
- "-0.000032",
- "1777395600000",
- "2026-04-28 17:00:00",
- "TIAUSDT"
- ],
- [
- "33",
- "ACTIVE",
- "VVV-USD",
- "VVV",
- "USD",
- "Crypto",
- "1",
- "0.0001",
- "5.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "VVVUSDT"
- ],
- [
- "34",
- "ACTIVE",
- "S-USD",
- "S",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "10.00",
- "-0.000030",
- "1777395600000",
- "2026-04-28 17:00:00",
- "SUSDT"
- ],
- [
- "35",
- "ACTIVE",
- "BABA_24_5-USD",
- "BABA_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.01",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "BABA_24_5USDT"
- ],
- [
- "36",
- "ACTIVE",
- "UNI-USD",
- "UNI",
- "USD",
- "Crypto",
- "1",
- "0.0001",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "UNIUSDT"
- ],
- [
- "37",
- "ACTIVE",
- "XLM-USD",
- "XLM",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "XLMUSDT"
- ],
- [
- "38",
- "ACTIVE",
- "HOOD_24_5-USD",
- "HOOD_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "HOOD_24_5USDT"
- ],
- [
- "40",
- "ACTIVE",
- "EDEN-USD",
- "EDEN",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "EDENUSDT"
- ],
- [
- "41",
- "ACTIVE",
- "SNX-USD",
- "SNX",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "10.00",
- "-0.000025",
- "1777395600000",
- "2026-04-28 17:00:00",
- "SNXUSDT"
- ],
- [
- "42",
- "ACTIVE",
- "TSLA_24_5-USD",
- "TSLA_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.01",
- "10.00",
- "0.000000",
- "1777395600000",
- "2026-04-28 17:00:00",
- "TSLA_24_5USDT"
- ],
- [
- "43",
- "ACTIVE",
- "CRV-USD",
- "CRV",
- "USD",
- "Crypto",
- "10",
- "0.00001",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "CRVUSDT"
- ],
- [
- "44",
- "ACTIVE",
- "ETH-USD",
- "ETH",
- "USD",
- "Crypto",
- "0.01",
- "0.1",
- "50.00",
- "0.000001",
- "1777395600000",
- "2026-04-28 17:00:00",
- "ETHUSDT"
- ],
- [
- "45",
- "ACTIVE",
- "MNT-USD",
- "MNT",
- "USD",
- "Crypto",
- "10",
- "0.00001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "MNTUSDT"
- ],
- [
- "46",
- "ACTIVE",
- "CC-USD",
- "CC",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "5.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "CCUSDT"
- ],
- [
- "47",
- "ACTIVE",
- "PENGU-USD",
- "PENGU",
- "USD",
- "Crypto",
- "1000",
- "0.000001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "PENGUUSDT"
- ],
- [
- "49",
- "ACTIVE",
- "WLD-USD",
- "WLD",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "10.00",
- "-0.000050",
- "1777395600000",
- "2026-04-28 17:00:00",
- "WLDUSDT"
- ],
- [
- "50",
- "ACTIVE",
- "MON-USD",
- "MON",
- "USD",
- "Crypto",
- "100",
- "0.00001",
- "10.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "MONUSDT"
- ],
- [
- "51",
- "ACTIVE",
- "GOOG_24_5-USD",
- "GOOG_24_5",
- "USD",
- "TradFi",
- "0.1",
- "0.01",
- "10.00",
- "0.000058",
- "1777395600000",
- "2026-04-28 17:00:00",
- "GOOG_24_5USDT"
- ],
- [
- "52",
- "ACTIVE",
- "NEAR-USD",
- "NEAR",
- "USD",
- "Crypto",
- "10",
- "0.0001",
- "25.00",
- "0.000013",
- "1777395600000",
- "2026-04-28 17:00:00",
- "NEARUSDT"
- ]
- ],
- "shape": {
- "columns": 12,
- "rows": 112
- }
- },
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " status | \n",
- " name | \n",
- " assetName | \n",
- " collateralAssetName | \n",
- " category | \n",
- " min_order_size | \n",
- " min_price_change | \n",
- " max_leverage | \n",
- " funding_rate | \n",
- " funding_rate_ts | \n",
- " funding_rate_ts_dt | \n",
- " USDT_Symbol | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " ACTIVE | \n",
- " ENA-USD | \n",
- " ENA | \n",
- " USD | \n",
- " Crypto | \n",
- " 100 | \n",
- " 0.00001 | \n",
- " 50.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " ENAUSDT | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " ACTIVE | \n",
- " AVNT-USD | \n",
- " AVNT | \n",
- " USD | \n",
- " Crypto | \n",
- " 10 | \n",
- " 0.0001 | \n",
- " 10.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " AVNTUSDT | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " ACTIVE | \n",
- " EUR-USD | \n",
- " EUR | \n",
- " USD | \n",
- " TradFi | \n",
- " 10 | \n",
- " 0.00001 | \n",
- " 100.00 | \n",
- " 0.000015 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " EURUSDT | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " ACTIVE | \n",
- " SUI-USD | \n",
- " SUI | \n",
- " USD | \n",
- " Crypto | \n",
- " 10 | \n",
- " 0.0001 | \n",
- " 50.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " SUIUSDT | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " ACTIVE | \n",
- " WIF-USD | \n",
- " WIF | \n",
- " USD | \n",
- " Crypto | \n",
- " 10 | \n",
- " 0.0001 | \n",
- " 25.00 | \n",
- " -0.000035 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " WIFUSDT | \n",
- "
\n",
- " \n",
- " | ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " | 112 | \n",
- " ACTIVE | \n",
- " FARTCOIN-USD | \n",
- " FARTCOIN | \n",
- " USD | \n",
- " Crypto | \n",
- " 10 | \n",
- " 0.00001 | \n",
- " 25.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " FARTCOINUSDT | \n",
- "
\n",
- " \n",
- " | 113 | \n",
- " ACTIVE | \n",
- " ZORA-USD | \n",
- " ZORA | \n",
- " USD | \n",
- " Crypto | \n",
- " 1000 | \n",
- " 0.000001 | \n",
- " 5.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " ZORAUSDT | \n",
- "
\n",
- " \n",
- " | 114 | \n",
- " ACTIVE | \n",
- " APEX-USD | \n",
- " APEX | \n",
- " USD | \n",
- " Crypto | \n",
- " 10 | \n",
- " 0.00001 | \n",
- " 10.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " APEXUSDT | \n",
- "
\n",
- " \n",
- " | 117 | \n",
- " ACTIVE | \n",
- " ZRO-USD | \n",
- " ZRO | \n",
- " USD | \n",
- " Crypto | \n",
- " 10 | \n",
- " 0.0001 | \n",
- " 10.00 | \n",
- " 0.000013 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " ZROUSDT | \n",
- "
\n",
- " \n",
- " | 118 | \n",
- " ACTIVE | \n",
- " AMD_24_5-USD | \n",
- " AMD_24_5 | \n",
- " USD | \n",
- " TradFi | \n",
- " 0.1 | \n",
- " 0.01 | \n",
- " 10.00 | \n",
- " 0.000000 | \n",
- " 1777395600000 | \n",
- " 2026-04-28 17:00:00 | \n",
- " AMD_24_5USDT | \n",
- "
\n",
- " \n",
- "
\n",
- "
112 rows × 12 columns
\n",
- "
"
- ],
- "text/plain": [
- " status name assetName collateralAssetName category \\\n",
- "0 ACTIVE ENA-USD ENA USD Crypto \n",
- "1 ACTIVE AVNT-USD AVNT USD Crypto \n",
- "2 ACTIVE EUR-USD EUR USD TradFi \n",
- "3 ACTIVE SUI-USD SUI USD Crypto \n",
- "4 ACTIVE WIF-USD WIF USD Crypto \n",
- ".. ... ... ... ... ... \n",
- "112 ACTIVE FARTCOIN-USD FARTCOIN USD Crypto \n",
- "113 ACTIVE ZORA-USD ZORA USD Crypto \n",
- "114 ACTIVE APEX-USD APEX USD Crypto \n",
- "117 ACTIVE ZRO-USD ZRO USD Crypto \n",
- "118 ACTIVE AMD_24_5-USD AMD_24_5 USD TradFi \n",
- "\n",
- " min_order_size min_price_change max_leverage funding_rate \\\n",
- "0 100 0.00001 50.00 0.000013 \n",
- "1 10 0.0001 10.00 0.000013 \n",
- "2 10 0.00001 100.00 0.000015 \n",
- "3 10 0.0001 50.00 0.000013 \n",
- "4 10 0.0001 25.00 -0.000035 \n",
- ".. ... ... ... ... \n",
- "112 10 0.00001 25.00 0.000013 \n",
- "113 1000 0.000001 5.00 0.000013 \n",
- "114 10 0.00001 10.00 0.000013 \n",
- "117 10 0.0001 10.00 0.000013 \n",
- "118 0.1 0.01 10.00 0.000000 \n",
- "\n",
- " funding_rate_ts funding_rate_ts_dt USDT_Symbol \n",
- "0 1777395600000 2026-04-28 17:00:00 ENAUSDT \n",
- "1 1777395600000 2026-04-28 17:00:00 AVNTUSDT \n",
- "2 1777395600000 2026-04-28 17:00:00 EURUSDT \n",
- "3 1777395600000 2026-04-28 17:00:00 SUIUSDT \n",
- "4 1777395600000 2026-04-28 17:00:00 WIFUSDT \n",
- ".. ... ... ... \n",
- "112 1777395600000 2026-04-28 17:00:00 FARTCOINUSDT \n",
- "113 1777395600000 2026-04-28 17:00:00 ZORAUSDT \n",
- "114 1777395600000 2026-04-28 17:00:00 APEXUSDT \n",
- "117 1777395600000 2026-04-28 17:00:00 ZROUSDT \n",
- "118 1777395600000 2026-04-28 17:00:00 AMD_24_5USDT \n",
- "\n",
- "[112 rows x 12 columns]"
- ]
- },
- "execution_count": 62,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_extend_current_fr['USDT_Symbol'] = df_extend_current_fr['assetName'] + 'USDT'\n",
- "df_extend_current_fr[['USDT_Symbol','funding_rate_ts_dt','funding_rate']]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 70,
- "id": "9bba65de",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.microsoft.datawrangler.viewer.v0+json": {
- "columns": [
- {
- "name": "index",
- "rawType": "int64",
- "type": "integer"
- },
- {
- "name": "USDT_Symbol",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "funding_rate_ts_dt_ex",
- "rawType": "datetime64[ms]",
- "type": "datetime"
- },
- {
- "name": "funding_rate_ex",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "symbol",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "funding_rate_ts_dt_as",
- "rawType": "datetime64[ms]",
- "type": "datetime"
- },
- {
- "name": "funding_rate_as",
- "rawType": "str",
- "type": "string"
- }
- ],
- "ref": "53abeb1d-c6eb-4ba9-a9d7-54c0004f0dec",
- "rows": [
- [
- "0",
- "ENAUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "ENAUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "1",
- "AVNTUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "AVNTUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "HYPEUSDT",
+ "0.00111423",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "1.11"
],
[
"2",
- "EURUSDT",
- "2026-04-28 17:00:00",
- "0.000015",
- null,
- null,
- null
+ "BTC-USD",
+ "BTCUSDT",
+ "0.000975",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.98"
],
[
"3",
- "SUIUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "SUIUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "ETH-USD",
+ "ETHUSDT",
+ "0.000975",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.98"
],
[
"4",
- "WIFUSDT",
- "2026-04-28 17:00:00",
- "-0.000035",
- "WIFUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "BNB-USD",
+ "BNBUSDT",
+ "0.0008667099999999999",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.87"
],
[
"5",
- "CAKEUSDT",
- "2026-04-28 17:00:00",
- "-0.000057",
- "CAKEUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "XAU-USD",
+ "XAUUSDT",
+ "0.0008625",
+ "2.3e-05",
+ "2.3e-05",
+ "False",
+ "0.86"
],
[
"6",
- "MEGAUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "MEGAUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "DOGE-USD",
+ "DOGEUSDT",
+ "0.00078",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.78"
],
[
"7",
- "AVAXUSDT",
- "2026-04-28 17:00:00",
- "-0.000022",
- "AVAXUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "XMR-USD",
+ "XMRUSDT",
+ "0.0007332599999999999",
+ "2.2e-05",
+ "2.2e-05",
+ "False",
+ "0.73"
],
[
"8",
- "HYPEUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "HYPEUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "XPT-USD",
+ "XPTUSDT",
+ "0.0006299999999999999",
+ "0.000168",
+ "0.000168",
+ "False",
+ "0.63"
],
[
"9",
- "WLFIUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "WLFIUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "SUI-USD",
+ "SUIUSDT",
+ "0.00054",
+ "9e-06",
+ "-9e-06",
+ "False",
+ "0.54"
],
[
"10",
- "INTC_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
+ "ASTER-USD",
+ "ASTERUSDT",
+ "0.0004875",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.49"
],
[
"11",
- "MSTR_24_5USDT",
- "2026-04-28 17:00:00",
- "-0.000005",
- null,
- null,
- null
+ "ENA-USD",
+ "ENAUSDT",
+ "0.00043328999999999997",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.43"
],
[
"12",
- "XRPUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "XRPUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "LIT-USD",
+ "LITUSDT",
+ "0.00043328999999999997",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.43"
],
[
"13",
- "1000SHIBUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "1000SHIBUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "ZEC-USD",
+ "ZECUSDT",
+ "0.00038829999999999995",
+ "2.2e-05",
+ "-2.2e-05",
+ "False",
+ "0.39"
],
[
"14",
- "SPXUSDT",
- "2026-04-28 17:00:00",
- "0.000009",
- "SPXUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "SOL-USD",
+ "SOLUSDT",
+ "0.00033335000000000005",
+ "5e-06",
+ "-5e-06",
+ "False",
+ "0.33"
],
[
"15",
- "LTCUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "LTCUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "WLFI-USD",
+ "WLFIUSDT",
+ "0.00018576999999999998",
+ "1.3e-05",
+ "-1.3e-05",
+ "False",
+ "0.19"
],
[
"16",
- "KAITOUSDT",
- "2026-04-28 17:00:00",
- "-0.000069",
- null,
- null,
- null
+ "XRP-USD",
+ "XRPUSDT",
+ "0.00013334",
+ "2e-06",
+ "2e-06",
+ "False",
+ "0.13"
],
[
"17",
- "MU_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
+ "INIT-USD",
+ "INITUSDT",
+ "0.00011816999999999999",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.12"
],
[
"18",
- "MELANIAUSDT",
- "2026-04-28 17:00:00",
- "0.000074",
- "MELANIAUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "4-USD",
+ "4USDT",
+ "0.00011816999999999999",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.12"
],
[
"19",
- "XPTUSDT",
- "2026-04-28 17:00:00",
- "0.000054",
- "XPTUSDT",
- "2026-04-28 16:47:59",
- "0"
+ "AAVE-USD",
+ "AAVEUSDT",
+ "0.00010002000000000001",
+ "6e-06",
+ "6e-06",
+ "False",
+ "0.1"
],
[
"20",
- "USDJPYUSDT",
- "2026-04-28 17:00:00",
- "0.000000",
- null,
- null,
- null
+ "ZORA-USD",
+ "ZORAUSDT",
+ "6.5e-05",
+ "1.3e-05",
+ "1.3e-05",
+ "False",
+ "0.06"
],
[
"21",
- "AZTECUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "AZTECUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "XAG-USD",
+ "XAGUSDT",
+ "5.454e-05",
+ "3e-06",
+ "3e-06",
+ "False",
+ "0.05"
],
[
"22",
- "AMZN_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000000",
- null,
- null,
- null
- ],
- [
- "23",
- "AAVEUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "AAVEUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "24",
- "SNDK_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
- ],
- [
- "25",
- "POPCATUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
- ],
- [
- "26",
- "APTUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "APTUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "27",
- "PUMPUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "PUMPUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "28",
- "SOLUSDT",
- "2026-04-28 17:00:00",
- "0.000000",
- "SOLUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "29",
- "OPUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "OPUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "30",
- "PLTR_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
- ],
- [
- "31",
- "TIAUSDT",
- "2026-04-28 17:00:00",
- "-0.000032",
- "TIAUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "32",
- "VVVUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "VVVUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "33",
- "SUSDT",
- "2026-04-28 17:00:00",
- "-0.000030",
- "SUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "34",
- "BABA_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
- ],
- [
- "35",
- "UNIUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "UNIUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "36",
- "XLMUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "XLMUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "37",
- "HOOD_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
- ],
- [
- "38",
- "EDENUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "EDENUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "39",
- "SNXUSDT",
- "2026-04-28 17:00:00",
- "-0.000025",
- "SNXUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "40",
- "TSLA_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000000",
- null,
- null,
- null
- ],
- [
- "41",
- "CRVUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "CRVUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "42",
- "ETHUSDT",
- "2026-04-28 17:00:00",
- "0.000001",
- "ETHUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "43",
- "MNTUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- null,
- null,
- null
- ],
- [
- "44",
- "CCUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "CCUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "45",
- "PENGUUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "PENGUUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "46",
- "WLDUSDT",
- "2026-04-28 17:00:00",
- "-0.000050",
- "WLDUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "47",
- "MONUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "MONUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
- ],
- [
- "48",
- "GOOG_24_5USDT",
- "2026-04-28 17:00:00",
- "0.000058",
- null,
- null,
- null
- ],
- [
- "49",
- "NEARUSDT",
- "2026-04-28 17:00:00",
- "0.000013",
- "NEARUSDT",
- "2026-04-28 16:47:59",
- "0.00010000"
+ "TRUMP-USD",
+ "TRUMPUSDT",
+ "3.3329999999999994e-05",
+ "1e-06",
+ "-1e-06",
+ "False",
+ "0.03"
]
],
"shape": {
- "columns": 6,
- "rows": 112
+ "columns": 7,
+ "rows": 23
}
},
"text/html": [
@@ -2531,162 +533,322 @@
" \n",
" \n",
" | \n",
- " USDT_Symbol | \n",
- " funding_rate_ts_dt_ex | \n",
- " funding_rate_ex | \n",
- " symbol | \n",
- " funding_rate_ts_dt_as | \n",
- " funding_rate_as | \n",
+ " symbol_ext | \n",
+ " symbol_ast | \n",
+ " net_mult_x_net_fr_abs | \n",
+ " net_funding_rate_abs | \n",
+ " net_funding_rate | \n",
+ " next_funding_at_same_time | \n",
+ " hourly_dollars_per_1k | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
- " ENAUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
- " 0.000013 | \n",
- " ENAUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
+ " CHIP-USD | \n",
+ " CHIPUSDT | \n",
+ " 0.003527 | \n",
+ " 0.000388 | \n",
+ " -0.000388 | \n",
+ " False | \n",
+ " 3.53 | \n",
"
\n",
" \n",
" | 1 | \n",
- " AVNTUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
+ " HYPE-USD | \n",
+ " HYPEUSDT | \n",
+ " 0.001114 | \n",
" 0.000013 | \n",
- " AVNTUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 1.11 | \n",
"
\n",
" \n",
" | 2 | \n",
- " EURUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
- " 0.000015 | \n",
- " NaN | \n",
- " NaT | \n",
- " NaN | \n",
+ " BTC-USD | \n",
+ " BTCUSDT | \n",
+ " 0.000975 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.98 | \n",
"
\n",
" \n",
" | 3 | \n",
- " SUIUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
+ " ETH-USD | \n",
+ " ETHUSDT | \n",
+ " 0.000975 | \n",
" 0.000013 | \n",
- " SUIUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.98 | \n",
"
\n",
" \n",
" | 4 | \n",
- " WIFUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
- " -0.000035 | \n",
- " WIFUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
- "
\n",
- " \n",
- " | ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " | 107 | \n",
- " FARTCOINUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
+ " BNB-USD | \n",
+ " BNBUSDT | \n",
+ " 0.000867 | \n",
" 0.000013 | \n",
- " FARTCOINUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.87 | \n",
"
\n",
" \n",
- " | 108 | \n",
+ " 5 | \n",
+ " XAU-USD | \n",
+ " XAUUSDT | \n",
+ " 0.000862 | \n",
+ " 0.000023 | \n",
+ " 0.000023 | \n",
+ " False | \n",
+ " 0.86 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " DOGE-USD | \n",
+ " DOGEUSDT | \n",
+ " 0.000780 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.78 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " XMR-USD | \n",
+ " XMRUSDT | \n",
+ " 0.000733 | \n",
+ " 0.000022 | \n",
+ " 0.000022 | \n",
+ " False | \n",
+ " 0.73 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " XPT-USD | \n",
+ " XPTUSDT | \n",
+ " 0.000630 | \n",
+ " 0.000168 | \n",
+ " 0.000168 | \n",
+ " False | \n",
+ " 0.63 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " SUI-USD | \n",
+ " SUIUSDT | \n",
+ " 0.000540 | \n",
+ " 0.000009 | \n",
+ " -0.000009 | \n",
+ " False | \n",
+ " 0.54 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " ASTER-USD | \n",
+ " ASTERUSDT | \n",
+ " 0.000487 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.49 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " ENA-USD | \n",
+ " ENAUSDT | \n",
+ " 0.000433 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.43 | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " LIT-USD | \n",
+ " LITUSDT | \n",
+ " 0.000433 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.43 | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " ZEC-USD | \n",
+ " ZECUSDT | \n",
+ " 0.000388 | \n",
+ " 0.000022 | \n",
+ " -0.000022 | \n",
+ " False | \n",
+ " 0.39 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " SOL-USD | \n",
+ " SOLUSDT | \n",
+ " 0.000333 | \n",
+ " 0.000005 | \n",
+ " -0.000005 | \n",
+ " False | \n",
+ " 0.33 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " WLFI-USD | \n",
+ " WLFIUSDT | \n",
+ " 0.000186 | \n",
+ " 0.000013 | \n",
+ " -0.000013 | \n",
+ " False | \n",
+ " 0.19 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " XRP-USD | \n",
+ " XRPUSDT | \n",
+ " 0.000133 | \n",
+ " 0.000002 | \n",
+ " 0.000002 | \n",
+ " False | \n",
+ " 0.13 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " INIT-USD | \n",
+ " INITUSDT | \n",
+ " 0.000118 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.12 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " 4-USD | \n",
+ " 4USDT | \n",
+ " 0.000118 | \n",
+ " 0.000013 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.12 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " AAVE-USD | \n",
+ " AAVEUSDT | \n",
+ " 0.000100 | \n",
+ " 0.000006 | \n",
+ " 0.000006 | \n",
+ " False | \n",
+ " 0.10 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " ZORA-USD | \n",
" ZORAUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
+ " 0.000065 | \n",
" 0.000013 | \n",
- " ZORAUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
+ " 0.000013 | \n",
+ " False | \n",
+ " 0.06 | \n",
"
\n",
" \n",
- " | 109 | \n",
- " APEXUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
- " 0.000013 | \n",
- " NaN | \n",
- " NaT | \n",
- " NaN | \n",
+ " 21 | \n",
+ " XAG-USD | \n",
+ " XAGUSDT | \n",
+ " 0.000055 | \n",
+ " 0.000003 | \n",
+ " 0.000003 | \n",
+ " False | \n",
+ " 0.05 | \n",
"
\n",
" \n",
- " | 110 | \n",
- " ZROUSDT | \n",
- " 2026-04-28 17:00:00 | \n",
- " 0.000013 | \n",
- " ZROUSDT | \n",
- " 2026-04-28 16:47:59 | \n",
- " 0.00010000 | \n",
- "
\n",
- " \n",
- " | 111 | \n",
- " AMD_24_5USDT | \n",
- " 2026-04-28 17:00:00 | \n",
- " 0.000000 | \n",
- " NaN | \n",
- " NaT | \n",
- " NaN | \n",
+ " 22 | \n",
+ " TRUMP-USD | \n",
+ " TRUMPUSDT | \n",
+ " 0.000033 | \n",
+ " 0.000001 | \n",
+ " -0.000001 | \n",
+ " False | \n",
+ " 0.03 | \n",
"
\n",
" \n",
"\n",
- "112 rows × 6 columns
\n",
""
],
"text/plain": [
- " USDT_Symbol funding_rate_ts_dt_ex funding_rate_ex symbol \\\n",
- "0 ENAUSDT 2026-04-28 17:00:00 0.000013 ENAUSDT \n",
- "1 AVNTUSDT 2026-04-28 17:00:00 0.000013 AVNTUSDT \n",
- "2 EURUSDT 2026-04-28 17:00:00 0.000015 NaN \n",
- "3 SUIUSDT 2026-04-28 17:00:00 0.000013 SUIUSDT \n",
- "4 WIFUSDT 2026-04-28 17:00:00 -0.000035 WIFUSDT \n",
- ".. ... ... ... ... \n",
- "107 FARTCOINUSDT 2026-04-28 17:00:00 0.000013 FARTCOINUSDT \n",
- "108 ZORAUSDT 2026-04-28 17:00:00 0.000013 ZORAUSDT \n",
- "109 APEXUSDT 2026-04-28 17:00:00 0.000013 NaN \n",
- "110 ZROUSDT 2026-04-28 17:00:00 0.000013 ZROUSDT \n",
- "111 AMD_24_5USDT 2026-04-28 17:00:00 0.000000 NaN \n",
+ " symbol_ext symbol_ast net_mult_x_net_fr_abs net_funding_rate_abs \\\n",
+ "0 CHIP-USD CHIPUSDT 0.003527 0.000388 \n",
+ "1 HYPE-USD HYPEUSDT 0.001114 0.000013 \n",
+ "2 BTC-USD BTCUSDT 0.000975 0.000013 \n",
+ "3 ETH-USD ETHUSDT 0.000975 0.000013 \n",
+ "4 BNB-USD BNBUSDT 0.000867 0.000013 \n",
+ "5 XAU-USD XAUUSDT 0.000862 0.000023 \n",
+ "6 DOGE-USD DOGEUSDT 0.000780 0.000013 \n",
+ "7 XMR-USD XMRUSDT 0.000733 0.000022 \n",
+ "8 XPT-USD XPTUSDT 0.000630 0.000168 \n",
+ "9 SUI-USD SUIUSDT 0.000540 0.000009 \n",
+ "10 ASTER-USD ASTERUSDT 0.000487 0.000013 \n",
+ "11 ENA-USD ENAUSDT 0.000433 0.000013 \n",
+ "12 LIT-USD LITUSDT 0.000433 0.000013 \n",
+ "13 ZEC-USD ZECUSDT 0.000388 0.000022 \n",
+ "14 SOL-USD SOLUSDT 0.000333 0.000005 \n",
+ "15 WLFI-USD WLFIUSDT 0.000186 0.000013 \n",
+ "16 XRP-USD XRPUSDT 0.000133 0.000002 \n",
+ "17 INIT-USD INITUSDT 0.000118 0.000013 \n",
+ "18 4-USD 4USDT 0.000118 0.000013 \n",
+ "19 AAVE-USD AAVEUSDT 0.000100 0.000006 \n",
+ "20 ZORA-USD ZORAUSDT 0.000065 0.000013 \n",
+ "21 XAG-USD XAGUSDT 0.000055 0.000003 \n",
+ "22 TRUMP-USD TRUMPUSDT 0.000033 0.000001 \n",
"\n",
- " funding_rate_ts_dt_as funding_rate_as \n",
- "0 2026-04-28 16:47:59 0.00010000 \n",
- "1 2026-04-28 16:47:59 0.00010000 \n",
- "2 NaT NaN \n",
- "3 2026-04-28 16:47:59 0.00010000 \n",
- "4 2026-04-28 16:47:59 0.00010000 \n",
- ".. ... ... \n",
- "107 2026-04-28 16:47:59 0.00010000 \n",
- "108 2026-04-28 16:47:59 0.00010000 \n",
- "109 NaT NaN \n",
- "110 2026-04-28 16:47:59 0.00010000 \n",
- "111 NaT NaN \n",
- "\n",
- "[112 rows x 6 columns]"
+ " net_funding_rate next_funding_at_same_time hourly_dollars_per_1k \n",
+ "0 -0.000388 False 3.53 \n",
+ "1 0.000013 False 1.11 \n",
+ "2 0.000013 False 0.98 \n",
+ "3 0.000013 False 0.98 \n",
+ "4 0.000013 False 0.87 \n",
+ "5 0.000023 False 0.86 \n",
+ "6 0.000013 False 0.78 \n",
+ "7 0.000022 False 0.73 \n",
+ "8 0.000168 False 0.63 \n",
+ "9 -0.000009 False 0.54 \n",
+ "10 0.000013 False 0.49 \n",
+ "11 0.000013 False 0.43 \n",
+ "12 0.000013 False 0.43 \n",
+ "13 -0.000022 False 0.39 \n",
+ "14 -0.000005 False 0.33 \n",
+ "15 -0.000013 False 0.19 \n",
+ "16 0.000002 False 0.13 \n",
+ "17 0.000013 False 0.12 \n",
+ "18 0.000013 False 0.12 \n",
+ "19 0.000006 False 0.10 \n",
+ "20 0.000013 False 0.06 \n",
+ "21 0.000003 False 0.05 \n",
+ "22 -0.000001 False 0.03 "
]
},
- "execution_count": 70,
+ "execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "df_extend_current_fr[['USDT_Symbol','funding_rate_ts_dt','funding_rate']].merge(df_aster_current_fr[['symbol','funding_rate_ts_dt','funding_rate']], how='left', left_on='USDT_Symbol', right_on='symbol', suffixes=('_ex','_as'))"
+ "df_best_fr_rate"
]
},
{
"cell_type": "code",
"execution_count": null,
- "id": "63226c64",
+ "id": "73db21ae",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": []
@@ -2701,7 +863,6 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "37275f59",
"metadata": {},
"outputs": [],
"source": []
diff --git a/engine_best_funding_rate.py b/engine_best_funding_rate.py
new file mode 100644
index 0000000..dd639b3
--- /dev/null
+++ b/engine_best_funding_rate.py
@@ -0,0 +1,172 @@
+import asyncio
+import json
+import logging
+import os
+import time
+import traceback
+from dataclasses import dataclass, field
+from datetime import datetime
+from typing import AsyncContextManager
+
+import pandas as pd
+import requests
+import valkey
+from dotenv import load_dotenv
+
+# from sqlalchemy.ext.asyncio import create_async_engine
+
+### Structs ###
+@dataclass(kw_only=False)
+class Asset_Leverage:
+ exchange: str
+ lh_asset: str
+ rh_asset: str
+ max_leverage: int
+ max_notional: float
+ # max_leverage_notional: list = field(default_factory=list)
+
+### MANUAL LEVERAGE DATA ###
+LEVERAGE_BY_EXCH: list[Asset_Leverage] = [
+ Asset_Leverage('ASTER', 'BTC' , 'USDT', 150, 300_000), Asset_Leverage('EXTEND', 'BTC' , 'USD', 50, 4_000_000),
+ Asset_Leverage('ASTER', 'ETH' , 'USDT', 150, 300_000), Asset_Leverage('EXTEND', 'ETH' , 'USD', 50, 4_000_000),
+ Asset_Leverage('ASTER', 'LIT' , 'USDT', 50 , 2_500 ), Asset_Leverage('EXTEND', 'LIT' , 'USD', 25, 400_000 ),
+ Asset_Leverage('ASTER', 'CHIP' , 'USDT', 50 , 5_000 ), Asset_Leverage('EXTEND', 'CHIP' , 'USD', 5 , 100_000 ),
+ Asset_Leverage('ASTER', 'XAG' , 'USDT', 100, 50_000 ), Asset_Leverage('EXTEND', 'XAG' , 'USD', 10, 1_000_000),
+ Asset_Leverage('ASTER', '4' , 'USDT', 50 , 5_000 ), Asset_Leverage('EXTEND', '4' , 'USD', 5 , 100_000 ),
+ Asset_Leverage('ASTER', 'XPT' , 'USDT', 3 , 30_000 ), Asset_Leverage('EXTEND', 'XPT' , 'USD', 5 , 1_000_000),
+ Asset_Leverage('ASTER', 'XMR' , 'USDT', 50 , 10_000 ), Asset_Leverage('EXTEND', 'XMR' , 'USD', 25, 400_000 ),
+ Asset_Leverage('ASTER', 'WLFI' , 'USDT', 25 , 104_869), Asset_Leverage('EXTEND', 'WLFI' , 'USD', 10, 250_000 ),
+ Asset_Leverage('ASTER', 'TRUMP', 'USDT', 50 , 5_567 ), Asset_Leverage('EXTEND', 'TRUMP', 'USD', 25, 400_000 ),
+ Asset_Leverage('ASTER', 'INIT' , 'USDT', 50 , 5_000 ), Asset_Leverage('EXTEND', 'INIT' , 'USD', 5 , 100_000 ),
+ Asset_Leverage('ASTER', 'ZORA' , 'USDT', 5 , 100_000), Asset_Leverage('EXTEND', 'ZORA' , 'USD', 5 , 100_000 ),
+ Asset_Leverage('ASTER', 'ZEC' , 'USDT', 75 , 6_250 ), Asset_Leverage('EXTEND', 'ZEC' , 'USD', 10, 250_000 ),
+]
+df_leverage_by_exch = pd.DataFrame(LEVERAGE_BY_EXCH)
+
+### Database ###
+# CON: AsyncContextManager | None = None
+VAL_KEY = None
+VK_OUT = 'fr_engine_best_fund_rate_output'
+
+### Logging ###
+load_dotenv()
+LOG_FILEPATH: str = os.getenv("LOGS_PATH") + '/Fund_Rate_Engine_BFR.log'
+
+### CONSTANTS ###
+LOOP_SLEEP_SEC: int = 5
+REFRESH_MKT_INFO_EVERY_SEC: int = 90
+REFRESH_MKT_VOLUME_EVERY_SEC: int = 30
+
+### GLOBALS ###
+Mkt_Info_Last_Refresh_TS_ms: int
+Mkt_Volume_Last_Refresh_TS_ms: int
+
+### Funcs - Load Data ###
+def get_extended_markets_info() -> pd.DataFrame:
+ global Mkt_Info_Last_Refresh_TS_ms
+
+ r = json.loads(requests.get('https://api.starknet.extended.exchange/api/v1/info/markets').text)
+
+ df = pd.DataFrame(r['data'])
+ df['funding_rate'] = df['marketStats'].apply(lambda x: x.get('fundingRate',{}))
+ df['funding_rate_ts'] = df['marketStats'].apply(lambda x: x.get('nextFundingRate',{}))
+ df['min_order_size'] = df['tradingConfig'].apply(lambda x: x.get('minOrderSize',{}))
+ df['min_price_change'] = df['tradingConfig'].apply(lambda x: x.get('minPriceChange',{}))
+ df['max_leverage'] = df['tradingConfig'].apply(lambda x: x.get('maxLeverage',{}))
+
+ Mkt_Info_Last_Refresh_TS_ms = round(datetime.now().timestamp() * 1000)
+
+ print('Extend markets info refreshed successfully')
+
+ return df
+
+def load_aster_current_fr() -> pd.DataFrame:
+ df = pd.DataFrame(json.loads(VAL_KEY.get('fund_rate_aster_all')))
+
+ df = 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')
+ df['funding_rate'] = df['funding_rate'].astype(float)
+ df['time_delta_to_next_funding'] = pd.to_datetime(df['next_funding_ts'], unit='ms') - pd.Timestamp.now()
+
+ return df
+
+def load_extend_current_fr(df_mkt_stats: pd.DataFrame) -> pd.DataFrame:
+ df = pd.DataFrame(json.loads(VAL_KEY.get('fund_rate_extended_all')))
+
+ df = df[['symbol','funding_rate_updated_ts_ms','funding_rate']]
+ df['funding_rate_updated_dt'] = pd.to_datetime(df['funding_rate_updated_ts_ms'], unit='ms')
+ df['funding_rate'] = df['funding_rate'].astype(float)
+
+ df = df.merge(df_mkt_stats[['name','assetName','status', 'funding_rate_ts','max_leverage']].rename({'name':'symbol','funding_rate_ts':'next_funding_ts'}, axis=1), on='symbol', how='left')
+ df = df.loc[df['status']=='ACTIVE',:]
+ df['USDT_Symbol'] = df['assetName'] + 'USDT'
+
+ df['time_delta_to_next_funding'] = pd.to_datetime(df['next_funding_ts'], unit='ms') - pd.Timestamp.now()
+
+ return df
+
+async def loop() -> None:
+ global Mkt_Info_Last_Refresh_TS_ms
+
+ df_extend_mkt_stats = get_extended_markets_info()
+ try:
+ while True:
+ ts_arrival = round(datetime.now().timestamp() * 1000)
+ if ( ts_arrival - Mkt_Info_Last_Refresh_TS_ms ) > ( REFRESH_MKT_INFO_EVERY_SEC * 1000 ):
+ df_extend_mkt_stats = get_extended_markets_info()
+
+ df_aster_fr = load_aster_current_fr()
+ df_extend_fr = load_extend_current_fr(df_mkt_stats=df_extend_mkt_stats)
+
+ df_comb_fr = df_extend_fr.merge(df_aster_fr, left_on='USDT_Symbol', right_on='symbol', how='inner', suffixes=('_ext', '_ast'))
+ df_comb_fr['next_funding_at_same_time'] = (abs(df_comb_fr['time_delta_to_next_funding_ext'].dt.total_seconds() - df_comb_fr['time_delta_to_next_funding_ast'].dt.total_seconds()) / 60) < 1
+ df_comb_fr['net_funding_rate'] = (df_comb_fr[['funding_rate_ext', 'funding_rate_ast']].max(axis=1) - df_comb_fr[['funding_rate_ext', 'funding_rate_ast']].min(axis=1)).where(df_comb_fr['next_funding_at_same_time'], df_comb_fr['funding_rate_ext'])
+ df_comb_fr['net_funding_rate_abs'] = df_comb_fr['net_funding_rate'].abs()
+
+ ### NET MULT ###
+ df_comb_fr = df_comb_fr.merge(df_leverage_by_exch.loc[df_leverage_by_exch['exchange']=='EXTEND'], left_on='assetName', right_on='lh_asset').merge(df_leverage_by_exch.loc[df_leverage_by_exch['exchange']=='ASTER'], left_on='assetName', right_on='lh_asset', suffixes=('_ext', '_ast'))
+ df_comb_fr['net_mult'] = 1 / ( ( 0.5 / df_comb_fr['max_leverage_ext'] ) + ( 0.5 / df_comb_fr['max_leverage_ast'] ) )
+ df_comb_fr['net_mult'] = df_comb_fr['net_mult'].round(2)
+ df_comb_fr['net_mult_x_net_fr_abs'] = df_comb_fr['net_funding_rate_abs'] * df_comb_fr['net_mult']
+
+ df_best_fr_rate = df_comb_fr[['symbol_ext','symbol_ast','net_mult_x_net_fr_abs','net_funding_rate_abs','net_funding_rate','next_funding_at_same_time']].sort_values(by='net_mult_x_net_fr_abs', ascending=False).reset_index(drop=True)
+ best_next_funding_pair = {'symbol_aster':df_best_fr_rate['symbol_ast'][0],'symbol_extended':df_best_fr_rate['symbol_ext'][0]}
+
+ VAL_KEY.set(VK_OUT, json.dumps(best_next_funding_pair))
+ print(best_next_funding_pair)
+ time.sleep(LOOP_SLEEP_SEC)
+ continue
+ except valkey.exceptions.ConnectionError as e:
+ logging.info(f"Could not connect to Valkey. Please check the publish server is up; {e}")
+ except KeyboardInterrupt:
+ logging.info('ORCHESTRATOR SHUTTING DOWN...')
+ except Exception as e:
+ logging.error(traceback.format_exc())
+ logging.critical(f'*** ORCHESTRATOR CRASHED: {e}')
+
+
+### STARTUP ###
+async def main() -> None:
+ global VAL_KEY
+ # global CON
+
+ VAL_KEY = valkey.Valkey(host='localhost', port=6379, db=0, decode_responses=True)
+ # engine = create_async_engine('mysql+asyncmy://root:pwd@localhost/fund_rate')
+
+ await loop()
+
+if __name__ == '__main__':
+ START_TIME = round(datetime.now().timestamp()*1000)
+
+ logging.info(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(f"STARTED: {START_TIME}")
+
+ asyncio.run(main())
\ No newline at end of file
diff --git a/engine_dispersion.ipynb b/engine_dispersion.ipynb
index 8084eee..ef7cbed 100644
--- a/engine_dispersion.ipynb
+++ b/engine_dispersion.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 97,
"id": "25697582",
"metadata": {},
"outputs": [],
@@ -22,7 +22,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 98,
"id": "cd9ecfde",
"metadata": {},
"outputs": [
@@ -46,7 +46,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 99,
"id": "60cc2366",
"metadata": {},
"outputs": [],
@@ -63,7 +63,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 100,
"id": "55ae5271",
"metadata": {},
"outputs": [],
@@ -79,7 +79,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 101,
"id": "2b7232e5",
"metadata": {},
"outputs": [],
@@ -106,8475 +106,70 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 102,
"id": "f1174bae",
"metadata": {},
"outputs": [],
"source": [
"df_fr = funding_rate_hist_extend(market='ETH-USD')\n",
"df_fr = pd.DataFrame(df_fr['data']).rename({'m':'market','f':'funding_rate','T':'timestamp'}, axis=1)\n",
- "df_fr['timestamp_dt'] = pd.to_datetime(df_fr['timestamp'], unit='ms')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "id": "068a54b6",
- "metadata": {},
- "outputs": [],
- "source": [
+ "df_fr['timestamp_dt'] = pd.to_datetime(df_fr['timestamp'], unit='ms')\n",
+ "\n",
"df_aster_trades_by_sec_maker, df_aster_trades_by_sec_taker = get_24hrs_midbars(\n",
" table_name='fr_aster_mkt_trades',\n",
")\n",
"\n",
"df_extend_trades_by_sec_maker, df_extend_trades_by_sec_taker = get_24hrs_midbars(\n",
" table_name='fr_extended_mkt_trades',\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "id": "2862e7e3",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.plotly.v1+json": {
- "config": {
- "plotlyServerURL": "https://plot.ly"
- },
- "data": [
- {
- "hovertemplate": "timestamp_trade_dt=%{x}
qty_sum=%{y}",
- "legendgroup": "",
- "line": {
- "color": "#636efa",
- "dash": "solid"
- },
- "marker": {
- "symbol": "circle"
- },
- "mode": "lines",
- "name": "",
- "showlegend": false,
- "type": "scattergl",
- "x": [
- "2026-04-27T15:18:00",
- "2026-04-27T15:19:00",
- "2026-04-27T15:20:00",
- "2026-04-27T15:21:00",
- "2026-04-27T15:22:00",
- "2026-04-27T15:23:00",
- "2026-04-27T15:24:00",
- "2026-04-27T15:25:00",
- "2026-04-27T15:26:00",
- "2026-04-27T15:27:00",
- "2026-04-27T15:28:00",
- "2026-04-27T15:29:00",
- "2026-04-27T15:30:00",
- "2026-04-27T15:31:00",
- "2026-04-27T15:32:00",
- "2026-04-27T15:33:00",
- "2026-04-27T15:34:00",
- "2026-04-27T15:35:00",
- "2026-04-27T15:36:00",
- "2026-04-27T15:37:00",
- "2026-04-27T15:38:00",
- "2026-04-27T15:39:00",
- "2026-04-27T15:40:00",
- "2026-04-27T15:41:00",
- "2026-04-27T15:42:00",
- "2026-04-27T15:43:00",
- "2026-04-27T15:44:00",
- "2026-04-27T15:45:00",
- "2026-04-27T15:46:00",
- "2026-04-27T15:47:00",
- "2026-04-27T15:48:00",
- "2026-04-27T15:49:00",
- "2026-04-27T15:50:00",
- "2026-04-27T15:51:00",
- "2026-04-27T15:52:00",
- "2026-04-27T15:53:00",
- "2026-04-27T15:54:00",
- "2026-04-27T15:55:00",
- "2026-04-27T15:56:00",
- "2026-04-27T15:57:00",
- "2026-04-27T15:58:00",
- "2026-04-27T15:59:00",
- "2026-04-27T16:00:00",
- "2026-04-27T16:01:00",
- "2026-04-27T16:02:00",
- "2026-04-27T16:03:00",
- "2026-04-27T16:04:00",
- "2026-04-27T16:05:00",
- "2026-04-27T16:06:00",
- "2026-04-27T16:07:00",
- "2026-04-27T16:08:00",
- "2026-04-27T16:09:00",
- "2026-04-27T16:10:00",
- "2026-04-27T16:11:00",
- "2026-04-27T16:12:00",
- "2026-04-27T16:13:00",
- "2026-04-27T16:14:00",
- "2026-04-27T16:15:00",
- "2026-04-27T16:16:00",
- "2026-04-27T16:17:00",
- "2026-04-27T16:18:00",
- "2026-04-27T16:19:00",
- "2026-04-27T16:20:00",
- "2026-04-27T16:21:00",
- "2026-04-27T16:22:00",
- "2026-04-27T16:23:00",
- "2026-04-27T16:24:00",
- "2026-04-27T16:25:00",
- "2026-04-27T16:26:00",
- "2026-04-27T16:27:00",
- "2026-04-27T16:28:00",
- "2026-04-27T16:29:00",
- "2026-04-27T16:30:00",
- "2026-04-27T16:31:00",
- "2026-04-27T16:32:00",
- "2026-04-27T16:33:00",
- "2026-04-27T16:34:00",
- "2026-04-27T16:35:00",
- "2026-04-27T16:36:00",
- "2026-04-27T16:37:00",
- "2026-04-27T16:38:00",
- "2026-04-27T16:39:00",
- "2026-04-27T16:40:00",
- "2026-04-27T16:41:00",
- "2026-04-27T16:42:00",
- "2026-04-27T16:43:00",
- "2026-04-27T16:44:00",
- "2026-04-27T16:45:00",
- "2026-04-27T16:46:00",
- "2026-04-27T16:47:00",
- "2026-04-27T16:48:00",
- "2026-04-27T16:49:00",
- "2026-04-27T16:50:00",
- "2026-04-27T16:51:00",
- "2026-04-27T16:52:00",
- "2026-04-27T16:53:00",
- "2026-04-27T16:54:00",
- "2026-04-27T16:55:00",
- "2026-04-27T16:56:00",
- "2026-04-27T16:57:00",
- "2026-04-27T16:58:00",
- "2026-04-27T16:59:00",
- "2026-04-27T17:00:00",
- "2026-04-27T17:01:00",
- "2026-04-27T17:02:00",
- "2026-04-27T17:03:00",
- "2026-04-27T17:04:00",
- "2026-04-27T17:05:00",
- "2026-04-27T17:06:00",
- "2026-04-27T17:07:00",
- "2026-04-27T17:08:00",
- "2026-04-27T17:09:00",
- "2026-04-27T17:10:00",
- "2026-04-27T17:11:00",
- "2026-04-27T17:12:00",
- "2026-04-27T17:13:00",
- "2026-04-27T17:14:00",
- "2026-04-27T17:15:00",
- "2026-04-27T17:16:00",
- "2026-04-27T17:17:00",
- "2026-04-27T17:18:00",
- "2026-04-27T17:19:00",
- "2026-04-27T17:20:00",
- "2026-04-27T17:21:00",
- "2026-04-27T17:22:00",
- "2026-04-27T17:23:00",
- "2026-04-27T17:24:00",
- "2026-04-27T17:25:00",
- "2026-04-27T17:26:00",
- "2026-04-27T17:27:00",
- "2026-04-27T17:28:00",
- "2026-04-27T17:29:00",
- "2026-04-27T17:30:00",
- "2026-04-27T17:31:00",
- "2026-04-27T17:32:00",
- "2026-04-27T17:33:00",
- "2026-04-27T17:34:00",
- "2026-04-27T17:35:00",
- "2026-04-27T17:36:00",
- "2026-04-27T17:37:00",
- "2026-04-27T17:38:00",
- "2026-04-27T17:39:00",
- "2026-04-27T17:40:00",
- "2026-04-27T17:41:00",
- "2026-04-27T17:42:00",
- "2026-04-27T17:43:00",
- "2026-04-27T17:44:00",
- "2026-04-27T17:45:00",
- "2026-04-27T17:46:00",
- "2026-04-27T17:47:00",
- "2026-04-27T17:48:00",
- "2026-04-27T17:49:00",
- "2026-04-27T17:50:00",
- "2026-04-27T17:51:00",
- "2026-04-27T17:52:00",
- "2026-04-27T17:53:00",
- "2026-04-27T17:54:00",
- "2026-04-27T17:55:00",
- "2026-04-27T17:56:00",
- "2026-04-27T17:57:00",
- "2026-04-27T17:58:00",
- "2026-04-27T17:59:00",
- "2026-04-27T18:00:00",
- "2026-04-27T18:01:00",
- "2026-04-27T18:02:00",
- "2026-04-27T18:03:00",
- "2026-04-27T18:04:00",
- "2026-04-27T18:05:00",
- "2026-04-27T18:06:00",
- "2026-04-27T18:07:00",
- "2026-04-27T18:08:00",
- "2026-04-27T18:09:00",
- "2026-04-27T18:10:00",
- "2026-04-27T18:11:00",
- "2026-04-27T18:12:00",
- "2026-04-27T18:13:00",
- "2026-04-27T18:14:00",
- "2026-04-27T18:15:00",
- "2026-04-27T18:16:00",
- "2026-04-27T18:17:00",
- "2026-04-27T18:18:00",
- "2026-04-27T18:19:00",
- "2026-04-27T18:20:00",
- "2026-04-27T18:21:00",
- "2026-04-27T18:22:00",
- "2026-04-27T18:23:00",
- "2026-04-27T18:24:00",
- "2026-04-27T18:25:00",
- "2026-04-27T18:26:00",
- "2026-04-27T18:27:00",
- "2026-04-27T18:28:00",
- "2026-04-27T18:29:00",
- "2026-04-27T18:30:00",
- "2026-04-27T18:31:00",
- "2026-04-27T18:32:00",
- "2026-04-27T18:33:00",
- "2026-04-27T18:34:00",
- "2026-04-27T18:35:00",
- "2026-04-27T18:36:00",
- "2026-04-27T18:37:00",
- "2026-04-27T18:38:00",
- "2026-04-27T18:39:00",
- "2026-04-27T18:40:00",
- "2026-04-27T18:41:00",
- "2026-04-27T18:42:00",
- "2026-04-27T18:43:00",
- "2026-04-27T18:44:00",
- "2026-04-27T18:45:00",
- "2026-04-27T18:46:00",
- "2026-04-27T18:47:00",
- "2026-04-27T18:48:00",
- "2026-04-27T18:49:00",
- "2026-04-27T18:50:00",
- "2026-04-27T18:51:00",
- "2026-04-27T18:52:00",
- "2026-04-27T18:53:00",
- "2026-04-27T18:54:00",
- "2026-04-27T18:55:00",
- "2026-04-27T18:56:00",
- "2026-04-27T18:57:00",
- "2026-04-27T18:58:00",
- "2026-04-27T18:59:00",
- "2026-04-27T19:00:00",
- "2026-04-27T19:01:00",
- "2026-04-27T19:02:00",
- "2026-04-27T19:03:00",
- "2026-04-27T19:04:00",
- "2026-04-27T19:05:00",
- "2026-04-27T19:06:00",
- "2026-04-27T19:07:00",
- "2026-04-27T19:08:00",
- "2026-04-27T19:09:00",
- "2026-04-27T19:10:00",
- "2026-04-27T19:11:00",
- "2026-04-27T19:12:00",
- "2026-04-27T19:13:00",
- "2026-04-27T19:14:00",
- "2026-04-27T19:15:00",
- "2026-04-27T19:16:00",
- "2026-04-27T19:17:00",
- "2026-04-27T19:18:00",
- "2026-04-27T19:19:00",
- "2026-04-27T19:20:00",
- "2026-04-27T19:21:00",
- "2026-04-27T19:22:00",
- "2026-04-27T19:23:00",
- "2026-04-27T19:24:00",
- "2026-04-27T19:25:00",
- "2026-04-27T19:26:00",
- "2026-04-27T19:27:00",
- "2026-04-27T19:28:00",
- "2026-04-27T19:29:00",
- "2026-04-27T19:30:00",
- "2026-04-27T19:31:00",
- "2026-04-27T19:32:00",
- "2026-04-27T19:33:00",
- "2026-04-27T19:34:00",
- "2026-04-27T19:35:00",
- "2026-04-27T19:36:00",
- "2026-04-27T19:37:00",
- "2026-04-27T19:38:00",
- "2026-04-27T19:39:00",
- "2026-04-27T19:40:00",
- "2026-04-27T19:41:00",
- "2026-04-27T19:42:00",
- "2026-04-27T19:43:00",
- "2026-04-27T19:44:00",
- "2026-04-27T19:45:00",
- "2026-04-27T19:46:00",
- "2026-04-27T19:47:00",
- "2026-04-27T19:48:00",
- "2026-04-27T19:49:00",
- "2026-04-27T19:50:00",
- "2026-04-27T19:51:00",
- "2026-04-27T19:52:00",
- "2026-04-27T19:53:00",
- "2026-04-27T19:54:00",
- "2026-04-27T19:55:00",
- "2026-04-27T19:56:00",
- "2026-04-27T19:57:00",
- "2026-04-27T19:58:00",
- "2026-04-27T19:59:00",
- "2026-04-27T20:00:00",
- "2026-04-27T20:01:00",
- "2026-04-27T20:02:00",
- "2026-04-27T20:03:00",
- "2026-04-27T20:04:00",
- "2026-04-27T20:05:00",
- "2026-04-27T20:06:00",
- "2026-04-27T20:07:00",
- "2026-04-27T20:08:00",
- "2026-04-27T20:09:00",
- "2026-04-27T20:10:00",
- "2026-04-27T20:11:00",
- "2026-04-27T20:12:00",
- "2026-04-27T20:13:00",
- "2026-04-27T20:14:00",
- "2026-04-27T20:15:00",
- "2026-04-27T20:16:00",
- "2026-04-27T20:17:00",
- "2026-04-27T20:18:00",
- "2026-04-27T20:19:00",
- "2026-04-27T20:20:00",
- "2026-04-27T20:21:00",
- "2026-04-27T20:22:00",
- "2026-04-27T20:23:00",
- "2026-04-27T20:24:00",
- "2026-04-27T20:25:00",
- "2026-04-27T20:26:00",
- "2026-04-27T20:27:00",
- "2026-04-27T20:28:00",
- "2026-04-27T20:29:00",
- "2026-04-27T20:30:00",
- "2026-04-27T20:31:00",
- "2026-04-27T20:32:00",
- "2026-04-27T20:33:00",
- "2026-04-27T20:34:00",
- "2026-04-27T20:35:00",
- "2026-04-27T20:36:00",
- "2026-04-27T20:37:00",
- "2026-04-27T20:38:00",
- "2026-04-27T20:39:00",
- "2026-04-27T20:40:00",
- "2026-04-27T20:41:00",
- "2026-04-27T20:42:00",
- "2026-04-27T20:43:00",
- "2026-04-27T20:44:00",
- "2026-04-27T20:45:00",
- "2026-04-27T20:46:00",
- "2026-04-27T20:47:00",
- "2026-04-27T20:48:00",
- "2026-04-27T20:49:00",
- "2026-04-27T20:50:00",
- "2026-04-27T20:51:00",
- "2026-04-27T20:52:00",
- "2026-04-27T20:53:00",
- "2026-04-27T20:54:00",
- "2026-04-27T20:55:00",
- "2026-04-27T20:56:00",
- "2026-04-27T20:57:00",
- "2026-04-27T20:58:00",
- "2026-04-27T20:59:00",
- "2026-04-27T21:00:00",
- "2026-04-27T21:01:00",
- "2026-04-27T21:02:00",
- "2026-04-27T21:03:00",
- "2026-04-27T21:04:00",
- "2026-04-27T21:05:00",
- "2026-04-27T21:06:00",
- "2026-04-27T21:07:00",
- "2026-04-27T21:08:00",
- "2026-04-27T21:09:00",
- "2026-04-27T21:10:00",
- "2026-04-27T21:11:00",
- "2026-04-27T21:12:00",
- "2026-04-27T21:13:00",
- "2026-04-27T21:14:00",
- "2026-04-27T21:15:00",
- "2026-04-27T21:16:00",
- "2026-04-27T21:17:00",
- "2026-04-27T21:18:00",
- "2026-04-27T21:19:00",
- "2026-04-27T21:20:00",
- "2026-04-27T21:29:00",
- "2026-04-27T21:30:00",
- "2026-04-27T21:31:00",
- "2026-04-27T21:32:00",
- "2026-04-27T21:33:00",
- "2026-04-27T21:34:00",
- "2026-04-27T21:35:00",
- "2026-04-27T21:36:00",
- "2026-04-27T21:37:00",
- "2026-04-27T21:38:00",
- "2026-04-27T21:39:00",
- "2026-04-27T21:40:00",
- "2026-04-27T21:41:00",
- "2026-04-27T21:42:00",
- "2026-04-27T21:43:00",
- "2026-04-27T21:44:00",
- "2026-04-27T21:45:00",
- "2026-04-27T21:46:00",
- "2026-04-27T21:47:00",
- "2026-04-27T21:48:00",
- "2026-04-27T21:49:00",
- "2026-04-27T21:50:00",
- "2026-04-27T21:51:00",
- "2026-04-27T21:52:00",
- "2026-04-27T21:53:00",
- "2026-04-27T21:54:00",
- "2026-04-27T21:55:00",
- "2026-04-27T21:56:00",
- "2026-04-27T21:57:00",
- "2026-04-27T21:58:00",
- "2026-04-27T21:59:00",
- "2026-04-27T22:00:00",
- "2026-04-27T22:01:00",
- "2026-04-27T22:02:00",
- "2026-04-27T22:03:00",
- "2026-04-27T22:04:00",
- "2026-04-27T22:05:00",
- "2026-04-27T22:06:00",
- "2026-04-27T22:07:00",
- "2026-04-27T22:08:00",
- "2026-04-27T22:09:00",
- "2026-04-27T22:10:00",
- "2026-04-27T22:11:00",
- "2026-04-27T22:12:00",
- "2026-04-27T22:13:00",
- "2026-04-27T22:14:00",
- "2026-04-27T22:15:00",
- "2026-04-27T22:16:00",
- "2026-04-27T22:17:00",
- "2026-04-27T22:18:00",
- "2026-04-27T22:19:00",
- "2026-04-27T22:20:00",
- "2026-04-27T22:21:00",
- "2026-04-27T22:22:00",
- "2026-04-27T22:23:00",
- "2026-04-27T22:24:00",
- "2026-04-27T22:25:00",
- "2026-04-27T22:26:00",
- "2026-04-27T22:27:00",
- "2026-04-27T22:28:00",
- "2026-04-27T22:29:00",
- "2026-04-27T22:30:00",
- "2026-04-27T22:31:00",
- "2026-04-27T22:32:00",
- "2026-04-27T22:33:00",
- "2026-04-27T22:34:00",
- "2026-04-27T22:35:00",
- "2026-04-27T22:36:00",
- "2026-04-27T22:37:00",
- "2026-04-27T22:38:00",
- "2026-04-27T22:39:00",
- "2026-04-27T22:40:00",
- "2026-04-27T22:41:00",
- "2026-04-27T22:42:00",
- "2026-04-27T22:43:00",
- "2026-04-27T22:44:00",
- "2026-04-27T22:45:00",
- "2026-04-27T22:46:00",
- "2026-04-27T22:47:00",
- "2026-04-27T22:48:00",
- "2026-04-27T22:49:00",
- "2026-04-27T22:50:00",
- "2026-04-27T22:51:00",
- "2026-04-27T22:52:00",
- "2026-04-27T22:53:00",
- "2026-04-27T22:54:00",
- "2026-04-27T22:55:00",
- "2026-04-27T22:56:00",
- "2026-04-27T22:57:00",
- "2026-04-27T22:58:00",
- "2026-04-27T22:59:00",
- "2026-04-27T23:00:00",
- "2026-04-27T23:01:00",
- "2026-04-27T23:02:00",
- "2026-04-27T23:03:00",
- "2026-04-27T23:04:00",
- "2026-04-27T23:05:00",
- "2026-04-27T23:06:00",
- "2026-04-27T23:07:00",
- "2026-04-27T23:08:00",
- "2026-04-27T23:09:00",
- "2026-04-27T23:10:00",
- "2026-04-27T23:11:00",
- "2026-04-27T23:12:00",
- "2026-04-27T23:13:00",
- "2026-04-27T23:14:00",
- "2026-04-27T23:15:00",
- "2026-04-27T23:16:00",
- "2026-04-27T23:17:00",
- "2026-04-27T23:18:00",
- "2026-04-27T23:19:00",
- "2026-04-27T23:20:00",
- "2026-04-27T23:21:00",
- "2026-04-27T23:22:00",
- "2026-04-27T23:23:00",
- "2026-04-27T23:24:00",
- "2026-04-27T23:25:00",
- "2026-04-27T23:26:00",
- "2026-04-27T23:27:00",
- "2026-04-27T23:28:00",
- "2026-04-27T23:29:00",
- "2026-04-27T23:30:00",
- "2026-04-27T23:31:00",
- "2026-04-27T23:32:00",
- "2026-04-27T23:33:00",
- "2026-04-27T23:34:00",
- "2026-04-27T23:35:00",
- "2026-04-27T23:36:00",
- "2026-04-27T23:37:00",
- "2026-04-27T23:38:00",
- "2026-04-27T23:39:00",
- "2026-04-27T23:40:00",
- "2026-04-27T23:41:00",
- "2026-04-27T23:42:00",
- "2026-04-27T23:43:00",
- "2026-04-27T23:44:00",
- "2026-04-27T23:45:00",
- "2026-04-27T23:46:00",
- "2026-04-27T23:47:00",
- "2026-04-27T23:48:00",
- "2026-04-27T23:49:00",
- "2026-04-27T23:50:00",
- "2026-04-27T23:51:00",
- "2026-04-27T23:52:00",
- "2026-04-27T23:53:00",
- "2026-04-27T23:54:00",
- "2026-04-27T23:55:00",
- "2026-04-27T23:56:00",
- "2026-04-27T23:57:00",
- "2026-04-27T23:58:00",
- "2026-04-27T23:59:00",
- "2026-04-28T00:00:00",
- "2026-04-28T00:01:00",
- "2026-04-28T00:02:00",
- "2026-04-28T00:03:00",
- "2026-04-28T00:04:00",
- "2026-04-28T00:05:00",
- "2026-04-28T00:06:00",
- "2026-04-28T00:07:00",
- "2026-04-28T00:08:00",
- "2026-04-28T00:09:00",
- "2026-04-28T00:10:00",
- "2026-04-28T00:11:00",
- "2026-04-28T00:12:00",
- "2026-04-28T00:13:00",
- "2026-04-28T00:14:00",
- "2026-04-28T00:15:00",
- "2026-04-28T00:16:00",
- "2026-04-28T00:17:00",
- "2026-04-28T00:18:00",
- "2026-04-28T00:19:00",
- "2026-04-28T00:20:00",
- "2026-04-28T00:21:00",
- "2026-04-28T00:22:00",
- "2026-04-28T00:23:00",
- "2026-04-28T00:24:00",
- "2026-04-28T00:25:00",
- "2026-04-28T00:26:00",
- "2026-04-28T00:27:00",
- "2026-04-28T00:28:00",
- "2026-04-28T00:29:00",
- "2026-04-28T00:30:00",
- "2026-04-28T00:31:00",
- "2026-04-28T00:32:00",
- "2026-04-28T00:33:00",
- "2026-04-28T00:34:00",
- "2026-04-28T00:35:00",
- "2026-04-28T00:36:00",
- "2026-04-28T00:37:00",
- "2026-04-28T00:38:00",
- "2026-04-28T00:39:00",
- "2026-04-28T00:40:00",
- "2026-04-28T00:41:00",
- "2026-04-28T00:42:00",
- "2026-04-28T00:43:00",
- "2026-04-28T00:44:00",
- "2026-04-28T00:45:00",
- "2026-04-28T00:46:00",
- "2026-04-28T00:47:00",
- "2026-04-28T00:48:00",
- "2026-04-28T00:49:00",
- "2026-04-28T00:50:00",
- "2026-04-28T00:51:00",
- "2026-04-28T00:52:00",
- "2026-04-28T00:53:00",
- "2026-04-28T00:54:00",
- "2026-04-28T00:55:00",
- "2026-04-28T00:56:00",
- "2026-04-28T00:57:00",
- "2026-04-28T00:58:00",
- "2026-04-28T00:59:00",
- "2026-04-28T01:00:00",
- "2026-04-28T01:01:00",
- "2026-04-28T01:02:00",
- "2026-04-28T01:03:00",
- "2026-04-28T01:04:00",
- "2026-04-28T01:05:00",
- "2026-04-28T01:06:00",
- "2026-04-28T01:07:00",
- "2026-04-28T01:08:00",
- "2026-04-28T01:09:00",
- "2026-04-28T01:10:00",
- "2026-04-28T01:11:00",
- "2026-04-28T01:12:00",
- "2026-04-28T01:13:00",
- "2026-04-28T01:14:00",
- "2026-04-28T01:15:00",
- "2026-04-28T01:16:00",
- "2026-04-28T01:17:00",
- "2026-04-28T01:18:00",
- "2026-04-28T01:19:00",
- "2026-04-28T01:20:00",
- "2026-04-28T01:21:00",
- "2026-04-28T01:22:00",
- "2026-04-28T01:23:00",
- "2026-04-28T01:24:00",
- "2026-04-28T01:25:00",
- "2026-04-28T01:26:00",
- "2026-04-28T01:27:00",
- "2026-04-28T01:28:00",
- "2026-04-28T01:29:00",
- "2026-04-28T01:30:00",
- "2026-04-28T01:31:00",
- "2026-04-28T01:32:00",
- "2026-04-28T01:33:00",
- "2026-04-28T01:34:00",
- "2026-04-28T01:35:00",
- "2026-04-28T01:36:00",
- "2026-04-28T01:37:00",
- "2026-04-28T01:38:00",
- "2026-04-28T01:39:00",
- "2026-04-28T01:40:00",
- "2026-04-28T01:41:00",
- "2026-04-28T01:42:00",
- "2026-04-28T01:43:00",
- "2026-04-28T01:44:00",
- "2026-04-28T01:45:00",
- "2026-04-28T01:46:00",
- "2026-04-28T01:47:00",
- "2026-04-28T01:48:00",
- "2026-04-28T01:49:00",
- "2026-04-28T01:50:00",
- "2026-04-28T01:51:00",
- "2026-04-28T01:52:00",
- "2026-04-28T01:53:00",
- "2026-04-28T01:54:00",
- "2026-04-28T01:55:00",
- "2026-04-28T01:56:00",
- "2026-04-28T01:57:00",
- "2026-04-28T01:58:00",
- "2026-04-28T01:59:00",
- "2026-04-28T02:00:00",
- "2026-04-28T02:01:00",
- "2026-04-28T02:02:00",
- "2026-04-28T02:03:00",
- "2026-04-28T02:04:00",
- "2026-04-28T02:05:00",
- "2026-04-28T02:06:00",
- "2026-04-28T02:07:00",
- "2026-04-28T02:08:00",
- "2026-04-28T02:09:00",
- "2026-04-28T02:10:00",
- "2026-04-28T02:11:00",
- "2026-04-28T02:12:00",
- "2026-04-28T02:13:00",
- "2026-04-28T02:14:00",
- "2026-04-28T02:15:00",
- "2026-04-28T02:16:00",
- "2026-04-28T02:17:00",
- "2026-04-28T02:18:00",
- "2026-04-28T02:19:00",
- "2026-04-28T02:20:00",
- "2026-04-28T02:21:00",
- "2026-04-28T02:22:00",
- "2026-04-28T02:23:00",
- "2026-04-28T02:24:00",
- "2026-04-28T02:25:00",
- "2026-04-28T02:26:00",
- "2026-04-28T02:27:00",
- "2026-04-28T02:28:00",
- "2026-04-28T02:29:00",
- "2026-04-28T02:30:00",
- "2026-04-28T02:31:00",
- "2026-04-28T02:32:00",
- "2026-04-28T02:33:00",
- "2026-04-28T02:34:00",
- "2026-04-28T02:35:00",
- "2026-04-28T02:36:00",
- "2026-04-28T02:37:00",
- "2026-04-28T02:38:00",
- "2026-04-28T02:39:00",
- "2026-04-28T02:40:00",
- "2026-04-28T02:41:00",
- "2026-04-28T02:42:00",
- "2026-04-28T02:43:00",
- "2026-04-28T02:44:00",
- "2026-04-28T02:45:00",
- "2026-04-28T02:46:00",
- "2026-04-28T02:47:00",
- "2026-04-28T02:48:00",
- "2026-04-28T02:49:00",
- "2026-04-28T02:50:00",
- "2026-04-28T02:51:00",
- "2026-04-28T02:52:00",
- "2026-04-28T02:53:00",
- "2026-04-28T02:54:00",
- "2026-04-28T02:55:00",
- "2026-04-28T02:56:00",
- "2026-04-28T02:57:00",
- "2026-04-28T02:58:00",
- "2026-04-28T02:59:00",
- "2026-04-28T03:00:00",
- "2026-04-28T03:01:00",
- "2026-04-28T03:02:00",
- "2026-04-28T03:03:00",
- "2026-04-28T03:04:00",
- "2026-04-28T03:05:00",
- "2026-04-28T03:06:00",
- "2026-04-28T03:07:00",
- "2026-04-28T03:08:00",
- "2026-04-28T03:09:00",
- "2026-04-28T03:10:00",
- "2026-04-28T03:11:00",
- "2026-04-28T03:12:00",
- "2026-04-28T03:13:00",
- "2026-04-28T03:14:00",
- "2026-04-28T03:15:00",
- "2026-04-28T03:16:00",
- "2026-04-28T03:17:00",
- "2026-04-28T03:18:00",
- "2026-04-28T03:19:00",
- "2026-04-28T03:20:00",
- "2026-04-28T03:21:00",
- "2026-04-28T03:22:00",
- "2026-04-28T03:23:00",
- "2026-04-28T03:24:00",
- "2026-04-28T03:25:00",
- "2026-04-28T03:26:00",
- "2026-04-28T03:27:00",
- "2026-04-28T03:28:00",
- "2026-04-28T03:29:00",
- "2026-04-28T03:30:00",
- "2026-04-28T03:31:00",
- "2026-04-28T03:32:00",
- "2026-04-28T03:33:00",
- "2026-04-28T03:34:00",
- "2026-04-28T03:35:00",
- "2026-04-28T03:36:00",
- "2026-04-28T03:37:00",
- "2026-04-28T03:38:00",
- "2026-04-28T03:39:00",
- "2026-04-28T03:40:00",
- "2026-04-28T03:41:00",
- "2026-04-28T03:42:00",
- "2026-04-28T03:43:00",
- "2026-04-28T03:44:00",
- "2026-04-28T03:45:00",
- "2026-04-28T03:46:00",
- "2026-04-28T03:47:00",
- "2026-04-28T03:48:00",
- "2026-04-28T03:49:00",
- "2026-04-28T03:50:00",
- "2026-04-28T03:51:00",
- "2026-04-28T03:52:00",
- "2026-04-28T03:53:00",
- "2026-04-28T03:54:00",
- "2026-04-28T03:55:00",
- "2026-04-28T03:56:00",
- "2026-04-28T03:57:00",
- "2026-04-28T03:58:00",
- "2026-04-28T03:59:00",
- "2026-04-28T04:00:00",
- "2026-04-28T04:01:00",
- "2026-04-28T04:02:00",
- "2026-04-28T04:03:00",
- "2026-04-28T04:04:00",
- "2026-04-28T04:05:00",
- "2026-04-28T04:06:00",
- "2026-04-28T04:07:00",
- "2026-04-28T04:08:00",
- "2026-04-28T04:09:00",
- "2026-04-28T04:10:00",
- "2026-04-28T04:11:00",
- "2026-04-28T04:12:00",
- "2026-04-28T04:13:00",
- "2026-04-28T04:14:00",
- "2026-04-28T04:15:00",
- "2026-04-28T04:16:00",
- "2026-04-28T04:17:00",
- "2026-04-28T04:18:00",
- "2026-04-28T04:19:00",
- "2026-04-28T04:20:00",
- "2026-04-28T04:21:00",
- "2026-04-28T04:22:00",
- "2026-04-28T04:23:00",
- "2026-04-28T04:24:00",
- "2026-04-28T04:25:00",
- "2026-04-28T04:26:00",
- "2026-04-28T04:27:00",
- "2026-04-28T04:28:00",
- "2026-04-28T04:29:00",
- "2026-04-28T04:30:00",
- "2026-04-28T04:31:00",
- "2026-04-28T04:32:00",
- "2026-04-28T04:33:00",
- "2026-04-28T04:34:00",
- "2026-04-28T04:35:00",
- "2026-04-28T04:36:00",
- "2026-04-28T04:37:00",
- "2026-04-28T04:38:00",
- "2026-04-28T04:39:00",
- "2026-04-28T04:40:00",
- "2026-04-28T04:41:00",
- "2026-04-28T04:42:00",
- "2026-04-28T04:43:00",
- "2026-04-28T04:44:00",
- "2026-04-28T04:45:00",
- "2026-04-28T04:46:00",
- "2026-04-28T04:47:00",
- "2026-04-28T04:48:00",
- "2026-04-28T04:49:00",
- "2026-04-28T04:50:00",
- "2026-04-28T04:51:00",
- "2026-04-28T04:52:00",
- "2026-04-28T04:53:00",
- "2026-04-28T04:54:00",
- "2026-04-28T04:55:00",
- "2026-04-28T04:56:00",
- "2026-04-28T04:57:00",
- "2026-04-28T04:58:00",
- "2026-04-28T04:59:00",
- "2026-04-28T05:00:00",
- "2026-04-28T05:01:00",
- "2026-04-28T05:02:00",
- "2026-04-28T05:03:00",
- "2026-04-28T05:04:00",
- "2026-04-28T05:05:00",
- "2026-04-28T05:06:00",
- "2026-04-28T05:07:00",
- "2026-04-28T05:08:00",
- "2026-04-28T05:09:00",
- "2026-04-28T05:10:00",
- "2026-04-28T05:11:00",
- "2026-04-28T05:12:00",
- "2026-04-28T05:13:00",
- "2026-04-28T05:14:00",
- "2026-04-28T05:15:00",
- "2026-04-28T05:16:00",
- "2026-04-28T05:17:00",
- "2026-04-28T05:18:00",
- "2026-04-28T05:19:00",
- "2026-04-28T05:20:00",
- "2026-04-28T05:21:00",
- "2026-04-28T05:22:00",
- "2026-04-28T05:23:00",
- "2026-04-28T05:24:00",
- "2026-04-28T05:25:00",
- "2026-04-28T05:26:00",
- "2026-04-28T05:27:00",
- "2026-04-28T05:28:00",
- "2026-04-28T05:29:00",
- "2026-04-28T05:30:00",
- "2026-04-28T05:31:00",
- "2026-04-28T05:32:00",
- "2026-04-28T05:33:00",
- "2026-04-28T05:34:00",
- "2026-04-28T05:35:00",
- "2026-04-28T05:36:00",
- "2026-04-28T05:37:00",
- "2026-04-28T05:38:00",
- "2026-04-28T05:39:00",
- "2026-04-28T05:40:00",
- "2026-04-28T05:41:00",
- "2026-04-28T05:42:00",
- "2026-04-28T05:43:00",
- "2026-04-28T05:44:00",
- "2026-04-28T05:45:00",
- "2026-04-28T05:46:00",
- "2026-04-28T05:47:00",
- "2026-04-28T05:48:00",
- "2026-04-28T05:49:00",
- "2026-04-28T05:50:00",
- "2026-04-28T05:51:00",
- "2026-04-28T05:52:00",
- "2026-04-28T05:53:00",
- "2026-04-28T05:54:00",
- "2026-04-28T05:55:00",
- "2026-04-28T05:56:00",
- "2026-04-28T05:57:00",
- "2026-04-28T05:58:00",
- "2026-04-28T05:59:00",
- "2026-04-28T06:00:00",
- "2026-04-28T06:01:00",
- "2026-04-28T06:02:00",
- "2026-04-28T06:03:00",
- "2026-04-28T06:04:00",
- "2026-04-28T06:05:00",
- "2026-04-28T06:06:00",
- "2026-04-28T06:07:00",
- "2026-04-28T06:08:00",
- "2026-04-28T06:09:00",
- "2026-04-28T06:10:00",
- "2026-04-28T06:11:00",
- "2026-04-28T06:12:00",
- "2026-04-28T06:13:00",
- "2026-04-28T06:14:00",
- "2026-04-28T06:15:00",
- "2026-04-28T06:16:00",
- "2026-04-28T06:17:00",
- "2026-04-28T06:18:00",
- "2026-04-28T06:19:00",
- "2026-04-28T06:20:00",
- "2026-04-28T06:21:00",
- "2026-04-28T06:22:00",
- "2026-04-28T06:23:00",
- "2026-04-28T06:24:00",
- "2026-04-28T06:25:00",
- "2026-04-28T06:26:00",
- "2026-04-28T06:27:00",
- "2026-04-28T06:28:00",
- "2026-04-28T06:29:00",
- "2026-04-28T06:30:00",
- "2026-04-28T06:31:00",
- "2026-04-28T06:32:00",
- "2026-04-28T06:33:00",
- "2026-04-28T06:34:00",
- "2026-04-28T06:35:00",
- "2026-04-28T06:36:00",
- "2026-04-28T06:37:00",
- "2026-04-28T06:38:00",
- "2026-04-28T06:39:00",
- "2026-04-28T06:40:00",
- "2026-04-28T06:41:00",
- "2026-04-28T06:42:00",
- "2026-04-28T06:43:00",
- "2026-04-28T06:44:00",
- "2026-04-28T06:45:00",
- "2026-04-28T06:46:00",
- "2026-04-28T06:47:00",
- "2026-04-28T06:48:00",
- "2026-04-28T06:49:00",
- "2026-04-28T06:50:00",
- "2026-04-28T06:51:00",
- "2026-04-28T06:52:00",
- "2026-04-28T06:53:00",
- "2026-04-28T06:54:00",
- "2026-04-28T06:55:00",
- "2026-04-28T06:56:00",
- "2026-04-28T06:57:00",
- "2026-04-28T06:58:00",
- "2026-04-28T06:59:00",
- "2026-04-28T07:00:00",
- "2026-04-28T07:01:00",
- "2026-04-28T07:02:00",
- "2026-04-28T07:03:00",
- "2026-04-28T07:04:00",
- "2026-04-28T07:05:00",
- "2026-04-28T07:06:00",
- "2026-04-28T07:07:00",
- "2026-04-28T07:08:00",
- "2026-04-28T07:09:00",
- "2026-04-28T07:10:00",
- "2026-04-28T07:11:00",
- "2026-04-28T07:12:00",
- "2026-04-28T07:13:00",
- "2026-04-28T07:14:00",
- "2026-04-28T07:15:00",
- "2026-04-28T07:16:00",
- "2026-04-28T07:17:00",
- "2026-04-28T07:18:00",
- "2026-04-28T07:19:00",
- "2026-04-28T07:20:00",
- "2026-04-28T07:21:00",
- "2026-04-28T07:22:00",
- "2026-04-28T07:23:00",
- "2026-04-28T07:24:00",
- "2026-04-28T07:25:00",
- "2026-04-28T07:26:00",
- "2026-04-28T07:27:00",
- "2026-04-28T07:28:00",
- "2026-04-28T07:29:00",
- "2026-04-28T07:30:00",
- "2026-04-28T07:31:00",
- "2026-04-28T07:32:00",
- "2026-04-28T07:33:00",
- "2026-04-28T07:34:00",
- "2026-04-28T07:35:00",
- "2026-04-28T07:36:00",
- "2026-04-28T07:37:00",
- "2026-04-28T07:38:00",
- "2026-04-28T07:39:00",
- "2026-04-28T07:40:00",
- "2026-04-28T07:41:00",
- "2026-04-28T07:42:00",
- "2026-04-28T07:43:00",
- "2026-04-28T07:44:00",
- "2026-04-28T07:45:00",
- "2026-04-28T07:46:00",
- "2026-04-28T07:47:00",
- "2026-04-28T07:48:00",
- "2026-04-28T07:49:00",
- "2026-04-28T07:50:00",
- "2026-04-28T07:51:00",
- "2026-04-28T07:52:00",
- "2026-04-28T07:53:00",
- "2026-04-28T07:54:00",
- "2026-04-28T07:55:00",
- "2026-04-28T07:56:00",
- "2026-04-28T07:57:00",
- "2026-04-28T07:58:00",
- "2026-04-28T07:59:00",
- "2026-04-28T08:00:00",
- "2026-04-28T08:01:00",
- "2026-04-28T08:02:00",
- "2026-04-28T08:03:00",
- "2026-04-28T08:04:00",
- "2026-04-28T08:05:00",
- "2026-04-28T08:06:00",
- "2026-04-28T08:07:00",
- "2026-04-28T08:08:00",
- "2026-04-28T08:09:00",
- "2026-04-28T08:10:00",
- "2026-04-28T08:11:00",
- "2026-04-28T08:12:00",
- "2026-04-28T08:13:00",
- "2026-04-28T08:14:00",
- "2026-04-28T08:15:00",
- "2026-04-28T08:16:00",
- "2026-04-28T08:17:00",
- "2026-04-28T08:18:00",
- "2026-04-28T08:19:00",
- "2026-04-28T08:20:00",
- "2026-04-28T08:21:00",
- "2026-04-28T08:22:00",
- "2026-04-28T08:23:00",
- "2026-04-28T08:24:00",
- "2026-04-28T08:25:00",
- "2026-04-28T08:26:00",
- "2026-04-28T08:27:00",
- "2026-04-28T08:28:00",
- "2026-04-28T08:29:00",
- "2026-04-28T08:30:00",
- "2026-04-28T08:31:00",
- "2026-04-28T08:32:00",
- "2026-04-28T08:33:00",
- "2026-04-28T08:34:00",
- "2026-04-28T08:35:00",
- "2026-04-28T08:36:00",
- "2026-04-28T08:37:00",
- "2026-04-28T08:38:00",
- "2026-04-28T08:39:00",
- "2026-04-28T08:40:00",
- "2026-04-28T08:41:00",
- "2026-04-28T08:42:00",
- "2026-04-28T08:43:00",
- "2026-04-28T08:44:00",
- "2026-04-28T08:45:00",
- "2026-04-28T08:46:00",
- "2026-04-28T08:47:00",
- "2026-04-28T08:48:00",
- "2026-04-28T08:49:00",
- "2026-04-28T08:50:00",
- "2026-04-28T08:51:00",
- "2026-04-28T08:52:00",
- "2026-04-28T08:53:00",
- "2026-04-28T08:54:00",
- "2026-04-28T08:55:00",
- "2026-04-28T08:56:00",
- "2026-04-28T08:57:00",
- "2026-04-28T08:58:00",
- "2026-04-28T08:59:00",
- "2026-04-28T09:00:00",
- "2026-04-28T09:01:00",
- "2026-04-28T09:02:00",
- "2026-04-28T09:03:00",
- "2026-04-28T09:04:00",
- "2026-04-28T09:05:00",
- "2026-04-28T09:06:00",
- "2026-04-28T09:07:00",
- "2026-04-28T09:08:00",
- "2026-04-28T09:09:00",
- "2026-04-28T09:10:00",
- "2026-04-28T09:11:00",
- "2026-04-28T09:12:00",
- "2026-04-28T09:13:00",
- "2026-04-28T09:14:00",
- "2026-04-28T09:15:00",
- "2026-04-28T09:16:00",
- "2026-04-28T09:17:00",
- "2026-04-28T09:18:00",
- "2026-04-28T09:19:00",
- "2026-04-28T09:20:00",
- "2026-04-28T09:21:00",
- "2026-04-28T09:22:00",
- "2026-04-28T09:23:00",
- "2026-04-28T09:24:00",
- "2026-04-28T09:25:00",
- "2026-04-28T09:26:00",
- "2026-04-28T09:27:00",
- "2026-04-28T09:28:00",
- "2026-04-28T09:29:00",
- "2026-04-28T09:30:00",
- "2026-04-28T09:31:00",
- "2026-04-28T09:32:00",
- "2026-04-28T09:33:00",
- "2026-04-28T09:34:00",
- "2026-04-28T09:35:00",
- "2026-04-28T09:36:00",
- "2026-04-28T09:37:00",
- "2026-04-28T09:38:00",
- "2026-04-28T09:39:00",
- "2026-04-28T09:40:00",
- "2026-04-28T09:41:00",
- "2026-04-28T09:42:00",
- "2026-04-28T09:43:00",
- "2026-04-28T09:44:00",
- "2026-04-28T09:45:00",
- "2026-04-28T09:46:00",
- "2026-04-28T09:47:00",
- "2026-04-28T09:48:00",
- "2026-04-28T09:49:00",
- "2026-04-28T09:50:00",
- "2026-04-28T09:51:00",
- "2026-04-28T09:52:00",
- "2026-04-28T09:53:00",
- "2026-04-28T09:54:00",
- "2026-04-28T09:55:00",
- "2026-04-28T09:56:00",
- "2026-04-28T09:57:00",
- "2026-04-28T09:58:00",
- "2026-04-28T09:59:00",
- "2026-04-28T10:00:00",
- "2026-04-28T10:01:00",
- "2026-04-28T10:02:00",
- "2026-04-28T10:03:00",
- "2026-04-28T10:04:00",
- "2026-04-28T10:05:00",
- "2026-04-28T10:06:00",
- "2026-04-28T10:07:00",
- "2026-04-28T10:08:00",
- "2026-04-28T10:09:00",
- "2026-04-28T10:10:00",
- "2026-04-28T10:11:00",
- "2026-04-28T10:12:00",
- "2026-04-28T10:13:00",
- "2026-04-28T10:14:00",
- "2026-04-28T10:15:00",
- "2026-04-28T10:16:00",
- "2026-04-28T10:17:00",
- "2026-04-28T10:18:00",
- "2026-04-28T10:19:00",
- "2026-04-28T10:20:00",
- "2026-04-28T10:21:00",
- "2026-04-28T10:22:00",
- "2026-04-28T10:23:00",
- "2026-04-28T10:24:00",
- "2026-04-28T10:25:00",
- "2026-04-28T10:26:00",
- "2026-04-28T10:27:00",
- "2026-04-28T10:28:00",
- "2026-04-28T10:29:00",
- "2026-04-28T10:30:00",
- "2026-04-28T10:31:00",
- "2026-04-28T10:32:00",
- "2026-04-28T10:33:00",
- "2026-04-28T10:34:00",
- "2026-04-28T10:35:00",
- "2026-04-28T10:36:00",
- "2026-04-28T10:37:00",
- "2026-04-28T10:38:00",
- "2026-04-28T10:39:00",
- "2026-04-28T10:40:00",
- "2026-04-28T10:41:00",
- "2026-04-28T10:42:00",
- "2026-04-28T10:43:00",
- "2026-04-28T10:44:00",
- "2026-04-28T10:45:00",
- "2026-04-28T10:46:00",
- "2026-04-28T10:47:00",
- "2026-04-28T10:48:00",
- "2026-04-28T10:49:00",
- "2026-04-28T10:50:00",
- "2026-04-28T10:51:00",
- "2026-04-28T10:52:00",
- "2026-04-28T10:53:00",
- "2026-04-28T10:54:00",
- "2026-04-28T10:55:00",
- "2026-04-28T10:56:00",
- "2026-04-28T10:57:00",
- "2026-04-28T10:58:00",
- "2026-04-28T10:59:00",
- "2026-04-28T11:00:00",
- "2026-04-28T11:01:00",
- "2026-04-28T11:02:00",
- "2026-04-28T11:03:00",
- "2026-04-28T11:04:00",
- "2026-04-28T11:05:00",
- "2026-04-28T11:06:00",
- "2026-04-28T11:07:00",
- "2026-04-28T11:08:00",
- "2026-04-28T11:09:00",
- "2026-04-28T11:10:00",
- "2026-04-28T11:11:00",
- "2026-04-28T11:12:00",
- "2026-04-28T11:13:00",
- "2026-04-28T11:14:00",
- "2026-04-28T11:15:00",
- "2026-04-28T11:16:00",
- "2026-04-28T11:17:00",
- "2026-04-28T11:18:00",
- "2026-04-28T11:19:00",
- "2026-04-28T11:20:00",
- "2026-04-28T11:21:00",
- "2026-04-28T11:22:00",
- "2026-04-28T11:23:00",
- "2026-04-28T11:24:00",
- "2026-04-28T11:25:00",
- "2026-04-28T11:26:00",
- "2026-04-28T11:27:00",
- "2026-04-28T11:28:00",
- "2026-04-28T11:29:00",
- "2026-04-28T11:30:00",
- "2026-04-28T11:31:00",
- "2026-04-28T11:32:00",
- "2026-04-28T11:33:00",
- "2026-04-28T11:34:00",
- "2026-04-28T11:35:00",
- "2026-04-28T11:36:00",
- "2026-04-28T11:37:00",
- "2026-04-28T11:38:00",
- "2026-04-28T11:39:00",
- "2026-04-28T11:40:00",
- "2026-04-28T11:41:00",
- "2026-04-28T11:42:00",
- "2026-04-28T11:43:00",
- "2026-04-28T11:44:00",
- "2026-04-28T11:45:00",
- "2026-04-28T11:46:00",
- "2026-04-28T11:47:00",
- "2026-04-28T11:48:00",
- "2026-04-28T11:49:00",
- "2026-04-28T11:50:00",
- "2026-04-28T11:51:00",
- "2026-04-28T11:52:00",
- "2026-04-28T11:53:00",
- "2026-04-28T11:54:00",
- "2026-04-28T11:55:00",
- "2026-04-28T11:56:00",
- "2026-04-28T11:57:00",
- "2026-04-28T11:58:00",
- "2026-04-28T11:59:00",
- "2026-04-28T12:00:00",
- "2026-04-28T12:01:00",
- "2026-04-28T12:02:00",
- "2026-04-28T12:03:00",
- "2026-04-28T12:04:00",
- "2026-04-28T12:05:00",
- "2026-04-28T12:06:00",
- "2026-04-28T12:07:00",
- "2026-04-28T12:08:00",
- "2026-04-28T12:09:00",
- "2026-04-28T12:10:00",
- "2026-04-28T12:11:00",
- "2026-04-28T12:12:00",
- "2026-04-28T12:13:00",
- "2026-04-28T12:14:00",
- "2026-04-28T12:15:00",
- "2026-04-28T12:16:00",
- "2026-04-28T12:17:00",
- "2026-04-28T12:18:00",
- "2026-04-28T12:19:00",
- "2026-04-28T12:20:00",
- "2026-04-28T12:21:00",
- "2026-04-28T12:22:00",
- "2026-04-28T12:23:00",
- "2026-04-28T12:24:00",
- "2026-04-28T12:25:00",
- "2026-04-28T12:26:00",
- "2026-04-28T12:27:00",
- "2026-04-28T12:28:00",
- "2026-04-28T12:29:00",
- "2026-04-28T12:30:00",
- "2026-04-28T12:31:00",
- "2026-04-28T12:32:00",
- "2026-04-28T12:33:00",
- "2026-04-28T12:34:00",
- "2026-04-28T12:35:00",
- "2026-04-28T12:36:00",
- "2026-04-28T12:37:00",
- "2026-04-28T12:38:00",
- "2026-04-28T12:39:00",
- "2026-04-28T12:40:00",
- "2026-04-28T12:41:00",
- "2026-04-28T12:42:00",
- "2026-04-28T12:43:00",
- "2026-04-28T12:44:00",
- "2026-04-28T12:45:00",
- "2026-04-28T12:46:00",
- "2026-04-28T12:47:00",
- "2026-04-28T12:48:00",
- "2026-04-28T12:49:00",
- "2026-04-28T12:50:00",
- "2026-04-28T12:51:00",
- "2026-04-28T12:52:00",
- "2026-04-28T12:53:00",
- "2026-04-28T12:54:00",
- "2026-04-28T12:55:00",
- "2026-04-28T12:56:00",
- "2026-04-28T12:57:00",
- "2026-04-28T12:58:00",
- "2026-04-28T12:59:00",
- "2026-04-28T13:00:00",
- "2026-04-28T13:01:00",
- "2026-04-28T13:02:00",
- "2026-04-28T13:03:00",
- "2026-04-28T13:04:00",
- "2026-04-28T13:05:00",
- "2026-04-28T13:06:00",
- "2026-04-28T13:07:00",
- "2026-04-28T13:08:00",
- "2026-04-28T13:09:00",
- "2026-04-28T13:10:00",
- "2026-04-28T13:11:00",
- "2026-04-28T13:12:00",
- "2026-04-28T13:13:00",
- "2026-04-28T13:14:00",
- "2026-04-28T13:15:00",
- "2026-04-28T13:16:00",
- "2026-04-28T13:17:00",
- "2026-04-28T13:18:00",
- "2026-04-28T13:19:00",
- "2026-04-28T13:20:00",
- "2026-04-28T13:21:00",
- "2026-04-28T13:22:00",
- "2026-04-28T13:23:00",
- "2026-04-28T13:24:00",
- "2026-04-28T13:25:00",
- "2026-04-28T13:26:00",
- "2026-04-28T13:27:00",
- "2026-04-28T13:28:00",
- "2026-04-28T13:29:00",
- "2026-04-28T13:30:00",
- "2026-04-28T13:31:00",
- "2026-04-28T13:32:00",
- "2026-04-28T13:33:00",
- "2026-04-28T13:34:00",
- "2026-04-28T13:35:00",
- "2026-04-28T13:36:00",
- "2026-04-28T13:37:00",
- "2026-04-28T13:38:00",
- "2026-04-28T13:39:00",
- "2026-04-28T13:40:00",
- "2026-04-28T13:41:00",
- "2026-04-28T13:42:00",
- "2026-04-28T13:43:00",
- "2026-04-28T13:44:00",
- "2026-04-28T13:45:00",
- "2026-04-28T13:46:00",
- "2026-04-28T13:47:00",
- "2026-04-28T13:48:00",
- "2026-04-28T13:49:00",
- "2026-04-28T13:50:00",
- "2026-04-28T13:51:00",
- "2026-04-28T13:52:00",
- "2026-04-28T13:53:00",
- "2026-04-28T13:54:00",
- "2026-04-28T13:55:00",
- "2026-04-28T13:56:00",
- "2026-04-28T13:57:00",
- "2026-04-28T13:58:00",
- "2026-04-28T13:59:00",
- "2026-04-28T14:00:00",
- "2026-04-28T14:01:00",
- "2026-04-28T14:02:00",
- "2026-04-28T14:03:00",
- "2026-04-28T14:04:00",
- "2026-04-28T14:05:00",
- "2026-04-28T14:06:00",
- "2026-04-28T14:07:00",
- "2026-04-28T14:08:00",
- "2026-04-28T14:09:00",
- "2026-04-28T14:10:00",
- "2026-04-28T14:11:00",
- "2026-04-28T14:12:00",
- "2026-04-28T14:13:00",
- "2026-04-28T14:14:00",
- "2026-04-28T14:15:00",
- "2026-04-28T14:16:00",
- "2026-04-28T14:17:00",
- "2026-04-28T14:18:00",
- "2026-04-28T14:19:00",
- "2026-04-28T14:20:00",
- "2026-04-28T14:21:00",
- "2026-04-28T14:22:00",
- "2026-04-28T14:23:00",
- "2026-04-28T14:24:00",
- "2026-04-28T14:25:00",
- "2026-04-28T14:26:00",
- "2026-04-28T14:27:00",
- "2026-04-28T14:28:00",
- "2026-04-28T14:29:00",
- "2026-04-28T14:30:00",
- "2026-04-28T14:31:00",
- "2026-04-28T14:32:00",
- "2026-04-28T14:33:00",
- "2026-04-28T14:34:00",
- "2026-04-28T14:35:00",
- "2026-04-28T14:36:00",
- "2026-04-28T14:37:00",
- "2026-04-28T14:38:00",
- "2026-04-28T14:39:00",
- "2026-04-28T14:40:00",
- "2026-04-28T14:41:00",
- "2026-04-28T14:42:00",
- "2026-04-28T14:43:00",
- "2026-04-28T14:44:00",
- "2026-04-28T14:45:00",
- "2026-04-28T14:46:00",
- "2026-04-28T14:47:00",
- "2026-04-28T14:48:00",
- "2026-04-28T14:49:00",
- "2026-04-28T14:50:00",
- "2026-04-28T14:51:00",
- "2026-04-28T14:52:00",
- "2026-04-28T14:53:00",
- "2026-04-28T14:54:00",
- "2026-04-28T14:55:00",
- "2026-04-28T14:56:00",
- "2026-04-28T14:57:00",
- "2026-04-28T14:58:00",
- "2026-04-28T14:59:00",
- "2026-04-28T15:00:00",
- "2026-04-28T15:01:00",
- "2026-04-28T15:02:00",
- "2026-04-28T15:03:00",
- "2026-04-28T15:04:00",
- "2026-04-28T15:05:00",
- "2026-04-28T15:06:00",
- "2026-04-28T15:07:00",
- "2026-04-28T15:08:00",
- "2026-04-28T15:09:00",
- "2026-04-28T15:10:00",
- "2026-04-28T15:11:00",
- "2026-04-28T15:12:00",
- "2026-04-28T15:13:00",
- "2026-04-28T15:14:00",
- "2026-04-28T15:15:00",
- "2026-04-28T15:16:00",
- "2026-04-28T15:17:00",
- "2026-04-28T15:18:00",
- "2026-04-28T15:19:00",
- "2026-04-28T15:20:00",
- "2026-04-28T15:21:00",
- "2026-04-28T15:22:00",
- "2026-04-28T15:23:00",
- "2026-04-28T15:24:00",
- "2026-04-28T15:25:00",
- "2026-04-28T15:26:00",
- "2026-04-28T15:27:00",
- "2026-04-28T15:28:00",
- "2026-04-28T15:29:00",
- "2026-04-28T15:30:00",
- "2026-04-28T15:31:00",
- "2026-04-28T15:32:00",
- "2026-04-28T15:33:00",
- "2026-04-28T15:34:00",
- "2026-04-28T15:35:00",
- "2026-04-28T15:36:00",
- "2026-04-28T15:37:00",
- "2026-04-28T15:38:00",
- "2026-04-28T15:39:00",
- "2026-04-28T15:40:00",
- "2026-04-28T15:41:00",
- "2026-04-28T15:42:00",
- "2026-04-28T15:43:00",
- "2026-04-28T15:44:00",
- "2026-04-28T15:45:00",
- "2026-04-28T15:46:00",
- "2026-04-28T15:47:00",
- "2026-04-28T15:48:00",
- "2026-04-28T15:49:00",
- "2026-04-28T15:50:00",
- "2026-04-28T15:51:00",
- "2026-04-28T15:52:00",
- "2026-04-28T15:53:00",
- "2026-04-28T15:54:00",
- "2026-04-28T15:55:00",
- "2026-04-28T15:56:00",
- "2026-04-28T15:57:00",
- "2026-04-28T15:58:00",
- "2026-04-28T15:59:00",
- "2026-04-28T16:00:00",
- "2026-04-28T16:01:00",
- "2026-04-28T16:02:00",
- "2026-04-28T16:03:00",
- "2026-04-28T16:04:00",
- "2026-04-28T16:05:00",
- "2026-04-28T16:06:00",
- "2026-04-28T16:07:00",
- "2026-04-28T16:08:00",
- "2026-04-28T16:09:00",
- "2026-04-28T16:10:00",
- "2026-04-28T16:11:00",
- "2026-04-28T16:12:00",
- "2026-04-28T16:13:00",
- "2026-04-28T16:14:00",
- "2026-04-28T16:15:00",
- "2026-04-28T16:16:00",
- "2026-04-28T16:17:00",
- "2026-04-28T16:18:00",
- "2026-04-28T16:19:00",
- "2026-04-28T16:20:00",
- "2026-04-28T16:21:00",
- "2026-04-28T16:22:00",
- "2026-04-28T16:23:00",
- "2026-04-28T16:24:00",
- "2026-04-28T16:25:00",
- "2026-04-28T16:26:00",
- "2026-04-28T16:27:00",
- "2026-04-28T16:28:00",
- "2026-04-28T16:29:00",
- "2026-04-28T16:30:00",
- "2026-04-28T16:31:00",
- "2026-04-28T16:32:00",
- "2026-04-28T16:33:00",
- "2026-04-28T16:34:00",
- "2026-04-28T16:35:00",
- "2026-04-28T16:36:00",
- "2026-04-28T16:37:00",
- "2026-04-28T16:38:00",
- "2026-04-28T16:39:00",
- "2026-04-28T16:40:00",
- "2026-04-28T16:41:00",
- "2026-04-28T16:42:00",
- "2026-04-28T16:43:00",
- "2026-04-28T16:44:00",
- "2026-04-28T16:45:00",
- "2026-04-28T16:46:00",
- "2026-04-28T16:47:00",
- "2026-04-28T16:48:00",
- "2026-04-28T16:49:00",
- "2026-04-28T16:50:00",
- "2026-04-28T16:51:00",
- "2026-04-28T16:52:00",
- "2026-04-28T16:53:00",
- "2026-04-28T16:54:00",
- "2026-04-28T16:55:00",
- "2026-04-28T16:56:00",
- "2026-04-28T16:57:00",
- "2026-04-28T16:58:00",
- "2026-04-28T16:59:00",
- "2026-04-28T17:00:00",
- "2026-04-28T17:01:00",
- "2026-04-28T17:02:00",
- "2026-04-28T17:03:00",
- "2026-04-28T17:04:00",
- "2026-04-28T17:05:00",
- "2026-04-28T17:06:00",
- "2026-04-28T17:07:00",
- "2026-04-28T17:08:00",
- "2026-04-28T17:09:00",
- "2026-04-28T17:10:00",
- "2026-04-28T17:11:00",
- "2026-04-28T17:12:00",
- "2026-04-28T17:13:00",
- "2026-04-28T17:14:00",
- "2026-04-28T17:15:00",
- "2026-04-28T17:16:00",
- "2026-04-28T17:17:00",
- "2026-04-28T17:18:00",
- "2026-04-28T17:19:00",
- "2026-04-28T17:20:00",
- "2026-04-28T17:21:00",
- "2026-04-28T17:22:00",
- "2026-04-28T17:23:00",
- "2026-04-28T17:24:00",
- "2026-04-28T17:25:00",
- "2026-04-28T17:26:00",
- "2026-04-28T17:27:00",
- "2026-04-28T17:28:00",
- "2026-04-28T17:29:00",
- "2026-04-28T17:30:00",
- "2026-04-28T17:31:00",
- "2026-04-28T17:32:00",
- "2026-04-28T17:33:00",
- "2026-04-28T17:34:00",
- "2026-04-28T17:35:00",
- "2026-04-28T17:36:00",
- "2026-04-28T17:37:00",
- "2026-04-28T17:38:00",
- "2026-04-28T17:39:00",
- "2026-04-28T17:40:00",
- "2026-04-28T17:41:00",
- "2026-04-28T17:42:00",
- "2026-04-28T17:43:00",
- "2026-04-28T17:44:00",
- "2026-04-28T17:45:00",
- "2026-04-28T17:46:00",
- "2026-04-28T17:47:00",
- "2026-04-28T17:48:00",
- "2026-04-28T17:49:00",
- "2026-04-28T17:50:00",
- "2026-04-28T17:51:00",
- "2026-04-28T17:52:00",
- "2026-04-28T17:53:00",
- "2026-04-28T17:54:00",
- "2026-04-28T17:55:00",
- "2026-04-28T17:56:00",
- "2026-04-28T17:57:00",
- "2026-04-28T17:58:00",
- "2026-04-28T17:59:00",
- "2026-04-28T18:00:00",
- "2026-04-28T18:01:00",
- "2026-04-28T18:02:00",
- "2026-04-28T18:03:00",
- "2026-04-28T18:04:00",
- "2026-04-28T18:05:00",
- "2026-04-28T18:06:00",
- "2026-04-28T18:07:00",
- "2026-04-28T18:08:00",
- "2026-04-28T18:09:00",
- "2026-04-28T18:10:00",
- "2026-04-28T18:11:00",
- "2026-04-28T18:12:00",
- "2026-04-28T18:13:00",
- "2026-04-28T18:14:00",
- "2026-04-28T18:15:00",
- "2026-04-28T18:16:00",
- "2026-04-28T18:17:00",
- "2026-04-28T18:18:00",
- "2026-04-28T18:19:00",
- "2026-04-28T18:20:00",
- "2026-04-28T18:21:00",
- "2026-04-28T18:22:00",
- "2026-04-28T18:23:00",
- "2026-04-28T18:24:00",
- "2026-04-28T18:25:00",
- "2026-04-28T18:26:00",
- "2026-04-28T18:27:00",
- "2026-04-28T18:28:00",
- "2026-04-28T18:29:00",
- "2026-04-28T18:30:00",
- "2026-04-28T18:31:00",
- "2026-04-28T18:32:00",
- "2026-04-28T18:33:00",
- "2026-04-28T18:34:00",
- "2026-04-28T18:35:00",
- "2026-04-28T18:36:00",
- "2026-04-28T18:37:00",
- "2026-04-28T18:38:00",
- "2026-04-28T18:39:00",
- "2026-04-28T18:40:00",
- "2026-04-28T18:41:00",
- "2026-04-28T18:42:00",
- "2026-04-28T18:43:00",
- "2026-04-28T18:44:00",
- "2026-04-28T18:45:00",
- "2026-04-28T18:46:00",
- "2026-04-28T18:47:00",
- "2026-04-28T18:48:00",
- "2026-04-28T18:49:00",
- "2026-04-28T18:50:00",
- "2026-04-28T18:51:00",
- "2026-04-28T18:52:00",
- "2026-04-28T18:53:00",
- "2026-04-28T18:54:00",
- "2026-04-28T18:55:00",
- "2026-04-28T18:56:00",
- "2026-04-28T18:57:00",
- "2026-04-28T18:58:00",
- "2026-04-28T18:59:00",
- "2026-04-28T19:00:00",
- "2026-04-28T19:01:00",
- "2026-04-28T19:02:00",
- "2026-04-28T19:03:00",
- "2026-04-28T19:04:00",
- "2026-04-28T19:05:00",
- "2026-04-28T19:06:00",
- "2026-04-28T19:07:00",
- "2026-04-28T19:08:00",
- "2026-04-28T19:09:00",
- "2026-04-28T19:10:00",
- "2026-04-28T19:11:00",
- "2026-04-28T19:12:00",
- "2026-04-28T19:13:00",
- "2026-04-28T19:14:00",
- "2026-04-28T19:15:00",
- "2026-04-28T19:16:00",
- "2026-04-28T19:17:00",
- "2026-04-28T19:18:00",
- "2026-04-28T19:19:00",
- "2026-04-28T19:20:00",
- "2026-04-28T19:21:00",
- "2026-04-28T19:22:00",
- "2026-04-28T19:23:00",
- "2026-04-28T19:24:00",
- "2026-04-28T19:25:00",
- "2026-04-28T19:26:00",
- "2026-04-28T19:27:00",
- "2026-04-28T19:28:00",
- "2026-04-28T19:29:00",
- "2026-04-28T19:30:00",
- "2026-04-28T19:31:00",
- "2026-04-28T19:32:00",
- "2026-04-28T19:33:00",
- "2026-04-28T19:34:00",
- "2026-04-28T19:35:00",
- "2026-04-28T19:36:00",
- "2026-04-28T19:37:00",
- "2026-04-28T19:38:00",
- "2026-04-28T19:39:00",
- "2026-04-28T19:40:00",
- "2026-04-28T19:41:00",
- "2026-04-28T19:42:00",
- "2026-04-28T19:43:00",
- "2026-04-28T19:44:00",
- "2026-04-28T19:45:00",
- "2026-04-28T19:46:00",
- "2026-04-28T19:47:00",
- "2026-04-28T19:48:00",
- "2026-04-28T19:49:00",
- "2026-04-28T19:50:00",
- "2026-04-28T19:51:00",
- "2026-04-28T19:52:00",
- "2026-04-28T19:53:00",
- "2026-04-28T19:54:00",
- "2026-04-28T19:55:00",
- "2026-04-28T19:56:00",
- "2026-04-28T19:57:00",
- "2026-04-28T19:58:00",
- "2026-04-28T19:59:00",
- "2026-04-28T20:00:00",
- "2026-04-28T20:01:00",
- "2026-04-28T20:02:00",
- "2026-04-28T20:03:00"
- ],
- "xaxis": "x",
- "y": {
- "bdata": "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",
- "dtype": "f8"
- },
- "yaxis": "y"
- }
- ],
- "layout": {
- "legend": {
- "tracegroupgap": 0
- },
- "margin": {
- "t": 60
- },
- "template": {
- "data": {
- "bar": [
- {
- "error_x": {
- "color": "#f2f5fa"
- },
- "error_y": {
- "color": "#f2f5fa"
- },
- "marker": {
- "line": {
- "color": "rgb(17,17,17)",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "bar"
- }
- ],
- "barpolar": [
- {
- "marker": {
- "line": {
- "color": "rgb(17,17,17)",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "barpolar"
- }
- ],
- "carpet": [
- {
- "aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
- },
- "baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
- },
- "type": "carpet"
- }
- ],
- "choropleth": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "choropleth"
- }
- ],
- "contour": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "contour"
- }
- ],
- "contourcarpet": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "contourcarpet"
- }
- ],
- "heatmap": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "heatmap"
- }
- ],
- "histogram": [
- {
- "marker": {
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "histogram"
- }
- ],
- "histogram2d": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "histogram2d"
- }
- ],
- "histogram2dcontour": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "histogram2dcontour"
- }
- ],
- "mesh3d": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "mesh3d"
- }
- ],
- "parcoords": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "parcoords"
- }
- ],
- "pie": [
- {
- "automargin": true,
- "type": "pie"
- }
- ],
- "scatter": [
- {
- "marker": {
- "line": {
- "color": "#283442"
- }
- },
- "type": "scatter"
- }
- ],
- "scatter3d": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scatter3d"
- }
- ],
- "scattercarpet": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scattercarpet"
- }
- ],
- "scattergeo": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scattergeo"
- }
- ],
- "scattergl": [
- {
- "marker": {
- "line": {
- "color": "#283442"
- }
- },
- "type": "scattergl"
- }
- ],
- "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": "#506784"
- },
- "line": {
- "color": "rgb(17,17,17)"
- }
- },
- "header": {
- "fill": {
- "color": "#2a3f5f"
- },
- "line": {
- "color": "rgb(17,17,17)"
- }
- },
- "type": "table"
- }
- ]
- },
- "layout": {
- "annotationdefaults": {
- "arrowcolor": "#f2f5fa",
- "arrowhead": 0,
- "arrowwidth": 1
- },
- "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": "#f2f5fa"
- },
- "geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
- "showlakes": true,
- "showland": true,
- "subunitcolor": "#506784"
- },
- "hoverlabel": {
- "align": "left"
- },
- "hovermode": "closest",
- "mapbox": {
- "style": "dark"
- },
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
- "polar": {
- "angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "bgcolor": "rgb(17,17,17)",
- "radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- }
- },
- "scene": {
- "xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- },
- "yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- },
- "zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- }
- },
- "shapedefaults": {
- "line": {
- "color": "#f2f5fa"
- }
- },
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
- "ternary": {
- "aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "bgcolor": "rgb(17,17,17)",
- "caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- }
- },
- "title": {
- "x": 0.05
- },
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
- "xaxis": {
- "automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
- "ticks": "",
- "title": {
- "standoff": 15
- },
- "zerolinecolor": "#283442",
- "zerolinewidth": 2
- },
- "yaxis": {
- "automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
- "ticks": "",
- "title": {
- "standoff": 15
- },
- "zerolinecolor": "#283442",
- "zerolinewidth": 2
- }
- }
- },
- "xaxis": {
- "anchor": "y",
- "domain": [
- 0,
- 1
- ],
- "title": {
- "text": "timestamp_trade_dt"
- }
- },
- "yaxis": {
- "anchor": "x",
- "domain": [
- 0,
- 1
- ],
- "title": {
- "text": "qty_sum"
- }
- }
- }
- }
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "px.line(df_aster_trades_by_sec_maker, y='qty_sum', template='plotly_dark')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "id": "b4de9867",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.plotly.v1+json": {
- "config": {
- "plotlyServerURL": "https://plot.ly"
- },
- "data": [
- {
- "hovertemplate": "timestamp_trade_dt=%{x}
qty_sum=%{y}",
- "legendgroup": "",
- "line": {
- "color": "#636efa",
- "dash": "solid"
- },
- "marker": {
- "symbol": "circle"
- },
- "mode": "lines",
- "name": "",
- "showlegend": false,
- "type": "scattergl",
- "x": [
- "2026-04-27T15:24:00",
- "2026-04-27T15:25:00",
- "2026-04-27T15:26:00",
- "2026-04-27T15:27:00",
- "2026-04-27T15:28:00",
- "2026-04-27T15:29:00",
- "2026-04-27T15:30:00",
- "2026-04-27T15:31:00",
- "2026-04-27T15:32:00",
- "2026-04-27T15:33:00",
- "2026-04-27T15:34:00",
- "2026-04-27T15:35:00",
- "2026-04-27T15:36:00",
- "2026-04-27T15:37:00",
- "2026-04-27T15:38:00",
- "2026-04-27T15:39:00",
- "2026-04-27T15:40:00",
- "2026-04-27T15:41:00",
- "2026-04-27T15:42:00",
- "2026-04-27T15:43:00",
- "2026-04-27T15:44:00",
- "2026-04-27T15:45:00",
- "2026-04-27T15:46:00",
- "2026-04-27T15:47:00",
- "2026-04-27T15:48:00",
- "2026-04-27T15:49:00",
- "2026-04-27T15:50:00",
- "2026-04-27T15:51:00",
- "2026-04-27T15:52:00",
- "2026-04-27T15:53:00",
- "2026-04-27T15:54:00",
- "2026-04-27T15:55:00",
- "2026-04-27T15:56:00",
- "2026-04-27T15:57:00",
- "2026-04-27T15:58:00",
- "2026-04-27T15:59:00",
- "2026-04-27T16:00:00",
- "2026-04-27T16:01:00",
- "2026-04-27T16:02:00",
- "2026-04-27T16:03:00",
- "2026-04-27T16:04:00",
- "2026-04-27T16:05:00",
- "2026-04-27T16:06:00",
- "2026-04-27T16:07:00",
- "2026-04-27T16:08:00",
- "2026-04-27T16:09:00",
- "2026-04-27T16:10:00",
- "2026-04-27T16:11:00",
- "2026-04-27T16:12:00",
- "2026-04-27T16:13:00",
- "2026-04-27T16:14:00",
- "2026-04-27T16:15:00",
- "2026-04-27T16:16:00",
- "2026-04-27T16:17:00",
- "2026-04-27T16:18:00",
- "2026-04-27T16:19:00",
- "2026-04-27T16:20:00",
- "2026-04-27T16:21:00",
- "2026-04-27T16:22:00",
- "2026-04-27T16:23:00",
- "2026-04-27T16:24:00",
- "2026-04-27T16:25:00",
- "2026-04-27T16:26:00",
- "2026-04-27T16:27:00",
- "2026-04-27T16:28:00",
- "2026-04-27T16:29:00",
- "2026-04-27T16:30:00",
- "2026-04-27T16:31:00",
- "2026-04-27T16:32:00",
- "2026-04-27T16:33:00",
- "2026-04-27T16:34:00",
- "2026-04-27T16:35:00",
- "2026-04-27T16:36:00",
- "2026-04-27T16:38:00",
- "2026-04-27T16:39:00",
- "2026-04-27T16:40:00",
- "2026-04-27T16:41:00",
- "2026-04-27T16:43:00",
- "2026-04-27T16:44:00",
- "2026-04-27T16:45:00",
- "2026-04-27T16:46:00",
- "2026-04-27T16:47:00",
- "2026-04-27T16:48:00",
- "2026-04-27T16:49:00",
- "2026-04-27T16:50:00",
- "2026-04-27T16:51:00",
- "2026-04-27T16:52:00",
- "2026-04-27T16:53:00",
- "2026-04-27T16:54:00",
- "2026-04-27T16:55:00",
- "2026-04-27T16:56:00",
- "2026-04-27T16:57:00",
- "2026-04-27T16:58:00",
- "2026-04-27T17:00:00",
- "2026-04-27T17:01:00",
- "2026-04-27T17:02:00",
- "2026-04-27T17:03:00",
- "2026-04-27T17:04:00",
- "2026-04-27T17:05:00",
- "2026-04-27T17:06:00",
- "2026-04-27T17:07:00",
- "2026-04-27T17:08:00",
- "2026-04-27T17:09:00",
- "2026-04-27T17:10:00",
- "2026-04-27T17:11:00",
- "2026-04-27T17:12:00",
- "2026-04-27T17:13:00",
- "2026-04-27T17:14:00",
- "2026-04-27T17:15:00",
- "2026-04-27T17:16:00",
- "2026-04-27T17:18:00",
- "2026-04-27T17:19:00",
- "2026-04-27T17:20:00",
- "2026-04-27T17:23:00",
- "2026-04-27T17:24:00",
- "2026-04-27T17:25:00",
- "2026-04-27T17:26:00",
- "2026-04-27T17:27:00",
- "2026-04-27T17:28:00",
- "2026-04-27T17:29:00",
- "2026-04-27T17:30:00",
- "2026-04-27T17:31:00",
- "2026-04-27T17:32:00",
- "2026-04-27T17:33:00",
- "2026-04-27T17:34:00",
- "2026-04-27T17:35:00",
- "2026-04-27T17:36:00",
- "2026-04-27T17:37:00",
- "2026-04-27T17:38:00",
- "2026-04-27T17:39:00",
- "2026-04-27T17:40:00",
- "2026-04-27T17:41:00",
- "2026-04-27T17:42:00",
- "2026-04-27T17:43:00",
- "2026-04-27T17:44:00",
- "2026-04-27T17:45:00",
- "2026-04-27T17:46:00",
- "2026-04-27T17:47:00",
- "2026-04-27T17:48:00",
- "2026-04-27T17:49:00",
- "2026-04-27T17:50:00",
- "2026-04-27T17:51:00",
- "2026-04-27T17:53:00",
- "2026-04-27T17:54:00",
- "2026-04-27T17:55:00",
- "2026-04-27T17:56:00",
- "2026-04-27T17:58:00",
- "2026-04-27T18:00:00",
- "2026-04-27T18:01:00",
- "2026-04-27T18:02:00",
- "2026-04-27T18:03:00",
- "2026-04-27T18:04:00",
- "2026-04-27T18:05:00",
- "2026-04-27T18:06:00",
- "2026-04-27T18:07:00",
- "2026-04-27T18:08:00",
- "2026-04-27T18:09:00",
- "2026-04-27T18:10:00",
- "2026-04-27T18:11:00",
- "2026-04-27T18:12:00",
- "2026-04-27T18:13:00",
- "2026-04-27T18:14:00",
- "2026-04-27T18:17:00",
- "2026-04-27T18:18:00",
- "2026-04-27T18:19:00",
- "2026-04-27T18:20:00",
- "2026-04-27T18:21:00",
- "2026-04-27T18:23:00",
- "2026-04-27T18:24:00",
- "2026-04-27T18:25:00",
- "2026-04-27T18:26:00",
- "2026-04-27T18:28:00",
- "2026-04-27T18:30:00",
- "2026-04-27T18:31:00",
- "2026-04-27T18:32:00",
- "2026-04-27T18:33:00",
- "2026-04-27T18:34:00",
- "2026-04-27T18:35:00",
- "2026-04-27T18:38:00",
- "2026-04-27T18:39:00",
- "2026-04-27T18:40:00",
- "2026-04-27T18:41:00",
- "2026-04-27T18:42:00",
- "2026-04-27T18:43:00",
- "2026-04-27T18:45:00",
- "2026-04-27T18:46:00",
- "2026-04-27T18:47:00",
- "2026-04-27T18:48:00",
- "2026-04-27T18:49:00",
- "2026-04-27T18:50:00",
- "2026-04-27T18:51:00",
- "2026-04-27T18:52:00",
- "2026-04-27T18:53:00",
- "2026-04-27T18:54:00",
- "2026-04-27T18:55:00",
- "2026-04-27T18:56:00",
- "2026-04-27T18:57:00",
- "2026-04-27T18:58:00",
- "2026-04-27T19:00:00",
- "2026-04-27T19:01:00",
- "2026-04-27T19:02:00",
- "2026-04-27T19:03:00",
- "2026-04-27T19:04:00",
- "2026-04-27T19:05:00",
- "2026-04-27T19:06:00",
- "2026-04-27T19:07:00",
- "2026-04-27T19:13:00",
- "2026-04-27T19:14:00",
- "2026-04-27T19:15:00",
- "2026-04-27T19:16:00",
- "2026-04-27T19:17:00",
- "2026-04-27T19:18:00",
- "2026-04-27T19:19:00",
- "2026-04-27T19:20:00",
- "2026-04-27T19:21:00",
- "2026-04-27T19:22:00",
- "2026-04-27T19:23:00",
- "2026-04-27T19:24:00",
- "2026-04-27T19:25:00",
- "2026-04-27T19:26:00",
- "2026-04-27T19:27:00",
- "2026-04-27T19:28:00",
- "2026-04-27T19:29:00",
- "2026-04-27T19:30:00",
- "2026-04-27T19:31:00",
- "2026-04-27T19:32:00",
- "2026-04-27T19:33:00",
- "2026-04-27T19:35:00",
- "2026-04-27T19:36:00",
- "2026-04-27T19:37:00",
- "2026-04-27T19:38:00",
- "2026-04-27T19:39:00",
- "2026-04-27T19:40:00",
- "2026-04-27T19:41:00",
- "2026-04-27T19:42:00",
- "2026-04-27T19:43:00",
- "2026-04-27T19:44:00",
- "2026-04-27T19:45:00",
- "2026-04-27T19:46:00",
- "2026-04-27T19:47:00",
- "2026-04-27T19:48:00",
- "2026-04-27T19:49:00",
- "2026-04-27T19:50:00",
- "2026-04-27T19:51:00",
- "2026-04-27T19:52:00",
- "2026-04-27T19:55:00",
- "2026-04-27T19:56:00",
- "2026-04-27T19:57:00",
- "2026-04-27T19:59:00",
- "2026-04-27T20:00:00",
- "2026-04-27T20:01:00",
- "2026-04-27T20:03:00",
- "2026-04-27T20:04:00",
- "2026-04-27T20:05:00",
- "2026-04-27T20:06:00",
- "2026-04-27T20:07:00",
- "2026-04-27T20:08:00",
- "2026-04-27T20:09:00",
- "2026-04-27T20:10:00",
- "2026-04-27T20:11:00",
- "2026-04-27T20:12:00",
- "2026-04-27T20:13:00",
- "2026-04-27T20:14:00",
- "2026-04-27T20:15:00",
- "2026-04-27T20:16:00",
- "2026-04-27T20:17:00",
- "2026-04-27T20:20:00",
- "2026-04-27T20:21:00",
- "2026-04-27T20:22:00",
- "2026-04-27T20:26:00",
- "2026-04-27T20:27:00",
- "2026-04-27T20:30:00",
- "2026-04-27T20:31:00",
- "2026-04-27T20:32:00",
- "2026-04-27T20:33:00",
- "2026-04-27T20:34:00",
- "2026-04-27T20:35:00",
- "2026-04-27T20:36:00",
- "2026-04-27T20:37:00",
- "2026-04-27T20:38:00",
- "2026-04-27T20:39:00",
- "2026-04-27T20:40:00",
- "2026-04-27T20:44:00",
- "2026-04-27T20:45:00",
- "2026-04-27T20:46:00",
- "2026-04-27T20:52:00",
- "2026-04-27T20:54:00",
- "2026-04-27T20:58:00",
- "2026-04-27T20:59:00",
- "2026-04-27T21:00:00",
- "2026-04-27T21:01:00",
- "2026-04-27T21:02:00",
- "2026-04-27T21:03:00",
- "2026-04-27T21:04:00",
- "2026-04-27T21:05:00",
- "2026-04-27T21:06:00",
- "2026-04-27T21:07:00",
- "2026-04-27T21:08:00",
- "2026-04-27T21:09:00",
- "2026-04-27T21:10:00",
- "2026-04-27T21:11:00",
- "2026-04-27T21:12:00",
- "2026-04-27T21:15:00",
- "2026-04-27T21:16:00",
- "2026-04-27T21:17:00",
- "2026-04-27T21:18:00",
- "2026-04-27T21:19:00",
- "2026-04-27T21:20:00",
- "2026-04-27T21:29:00",
- "2026-04-27T21:30:00",
- "2026-04-27T21:32:00",
- "2026-04-27T21:33:00",
- "2026-04-27T21:34:00",
- "2026-04-27T21:36:00",
- "2026-04-27T21:37:00",
- "2026-04-27T21:38:00",
- "2026-04-27T21:40:00",
- "2026-04-27T21:41:00",
- "2026-04-27T21:42:00",
- "2026-04-27T21:43:00",
- "2026-04-27T21:44:00",
- "2026-04-27T21:45:00",
- "2026-04-27T21:46:00",
- "2026-04-27T21:47:00",
- "2026-04-27T21:48:00",
- "2026-04-27T21:50:00",
- "2026-04-27T21:51:00",
- "2026-04-27T21:52:00",
- "2026-04-27T21:53:00",
- "2026-04-27T21:54:00",
- "2026-04-27T21:55:00",
- "2026-04-27T21:56:00",
- "2026-04-27T21:59:00",
- "2026-04-27T22:00:00",
- "2026-04-27T22:01:00",
- "2026-04-27T22:02:00",
- "2026-04-27T22:03:00",
- "2026-04-27T22:04:00",
- "2026-04-27T22:05:00",
- "2026-04-27T22:06:00",
- "2026-04-27T22:07:00",
- "2026-04-27T22:08:00",
- "2026-04-27T22:09:00",
- "2026-04-27T22:10:00",
- "2026-04-27T22:11:00",
- "2026-04-27T22:12:00",
- "2026-04-27T22:15:00",
- "2026-04-27T22:16:00",
- "2026-04-27T22:17:00",
- "2026-04-27T22:20:00",
- "2026-04-27T22:21:00",
- "2026-04-27T22:23:00",
- "2026-04-27T22:24:00",
- "2026-04-27T22:28:00",
- "2026-04-27T22:29:00",
- "2026-04-27T22:30:00",
- "2026-04-27T22:31:00",
- "2026-04-27T22:32:00",
- "2026-04-27T22:33:00",
- "2026-04-27T22:34:00",
- "2026-04-27T22:35:00",
- "2026-04-27T22:36:00",
- "2026-04-27T22:38:00",
- "2026-04-27T22:44:00",
- "2026-04-27T22:45:00",
- "2026-04-27T22:48:00",
- "2026-04-27T22:49:00",
- "2026-04-27T22:50:00",
- "2026-04-27T22:51:00",
- "2026-04-27T22:52:00",
- "2026-04-27T22:55:00",
- "2026-04-27T22:56:00",
- "2026-04-27T22:58:00",
- "2026-04-27T22:59:00",
- "2026-04-27T23:00:00",
- "2026-04-27T23:02:00",
- "2026-04-27T23:04:00",
- "2026-04-27T23:05:00",
- "2026-04-27T23:06:00",
- "2026-04-27T23:07:00",
- "2026-04-27T23:09:00",
- "2026-04-27T23:10:00",
- "2026-04-27T23:11:00",
- "2026-04-27T23:12:00",
- "2026-04-27T23:13:00",
- "2026-04-27T23:16:00",
- "2026-04-27T23:17:00",
- "2026-04-27T23:18:00",
- "2026-04-27T23:19:00",
- "2026-04-27T23:20:00",
- "2026-04-27T23:23:00",
- "2026-04-27T23:24:00",
- "2026-04-27T23:25:00",
- "2026-04-27T23:26:00",
- "2026-04-27T23:28:00",
- "2026-04-27T23:29:00",
- "2026-04-27T23:31:00",
- "2026-04-27T23:32:00",
- "2026-04-27T23:33:00",
- "2026-04-27T23:35:00",
- "2026-04-27T23:36:00",
- "2026-04-27T23:37:00",
- "2026-04-27T23:38:00",
- "2026-04-27T23:39:00",
- "2026-04-27T23:40:00",
- "2026-04-27T23:41:00",
- "2026-04-27T23:42:00",
- "2026-04-27T23:43:00",
- "2026-04-27T23:44:00",
- "2026-04-27T23:45:00",
- "2026-04-27T23:46:00",
- "2026-04-27T23:47:00",
- "2026-04-27T23:48:00",
- "2026-04-27T23:49:00",
- "2026-04-27T23:50:00",
- "2026-04-27T23:51:00",
- "2026-04-27T23:52:00",
- "2026-04-27T23:53:00",
- "2026-04-27T23:54:00",
- "2026-04-27T23:55:00",
- "2026-04-27T23:56:00",
- "2026-04-27T23:57:00",
- "2026-04-27T23:58:00",
- "2026-04-28T00:00:00",
- "2026-04-28T00:01:00",
- "2026-04-28T00:03:00",
- "2026-04-28T00:04:00",
- "2026-04-28T00:05:00",
- "2026-04-28T00:06:00",
- "2026-04-28T00:07:00",
- "2026-04-28T00:09:00",
- "2026-04-28T00:10:00",
- "2026-04-28T00:11:00",
- "2026-04-28T00:12:00",
- "2026-04-28T00:13:00",
- "2026-04-28T00:14:00",
- "2026-04-28T00:15:00",
- "2026-04-28T00:16:00",
- "2026-04-28T00:17:00",
- "2026-04-28T00:18:00",
- "2026-04-28T00:19:00",
- "2026-04-28T00:20:00",
- "2026-04-28T00:21:00",
- "2026-04-28T00:23:00",
- "2026-04-28T00:24:00",
- "2026-04-28T00:26:00",
- "2026-04-28T00:27:00",
- "2026-04-28T00:28:00",
- "2026-04-28T00:30:00",
- "2026-04-28T00:33:00",
- "2026-04-28T00:34:00",
- "2026-04-28T00:35:00",
- "2026-04-28T00:37:00",
- "2026-04-28T00:39:00",
- "2026-04-28T00:40:00",
- "2026-04-28T00:41:00",
- "2026-04-28T00:42:00",
- "2026-04-28T00:43:00",
- "2026-04-28T00:44:00",
- "2026-04-28T00:45:00",
- "2026-04-28T00:46:00",
- "2026-04-28T00:47:00",
- "2026-04-28T00:48:00",
- "2026-04-28T00:49:00",
- "2026-04-28T00:50:00",
- "2026-04-28T00:51:00",
- "2026-04-28T00:52:00",
- "2026-04-28T00:56:00",
- "2026-04-28T00:57:00",
- "2026-04-28T00:58:00",
- "2026-04-28T00:59:00",
- "2026-04-28T01:00:00",
- "2026-04-28T01:02:00",
- "2026-04-28T01:04:00",
- "2026-04-28T01:06:00",
- "2026-04-28T01:07:00",
- "2026-04-28T01:08:00",
- "2026-04-28T01:09:00",
- "2026-04-28T01:10:00",
- "2026-04-28T01:11:00",
- "2026-04-28T01:12:00",
- "2026-04-28T01:13:00",
- "2026-04-28T01:14:00",
- "2026-04-28T01:15:00",
- "2026-04-28T01:16:00",
- "2026-04-28T01:17:00",
- "2026-04-28T01:18:00",
- "2026-04-28T01:19:00",
- "2026-04-28T01:20:00",
- "2026-04-28T01:21:00",
- "2026-04-28T01:22:00",
- "2026-04-28T01:23:00",
- "2026-04-28T01:24:00",
- "2026-04-28T01:25:00",
- "2026-04-28T01:26:00",
- "2026-04-28T01:27:00",
- "2026-04-28T01:28:00",
- "2026-04-28T01:29:00",
- "2026-04-28T01:30:00",
- "2026-04-28T01:31:00",
- "2026-04-28T01:32:00",
- "2026-04-28T01:33:00",
- "2026-04-28T01:34:00",
- "2026-04-28T01:35:00",
- "2026-04-28T01:36:00",
- "2026-04-28T01:37:00",
- "2026-04-28T01:38:00",
- "2026-04-28T01:39:00",
- "2026-04-28T01:40:00",
- "2026-04-28T01:41:00",
- "2026-04-28T01:42:00",
- "2026-04-28T01:43:00",
- "2026-04-28T01:44:00",
- "2026-04-28T01:45:00",
- "2026-04-28T01:46:00",
- "2026-04-28T01:47:00",
- "2026-04-28T01:48:00",
- "2026-04-28T01:49:00",
- "2026-04-28T01:50:00",
- "2026-04-28T01:51:00",
- "2026-04-28T01:52:00",
- "2026-04-28T01:53:00",
- "2026-04-28T01:54:00",
- "2026-04-28T01:55:00",
- "2026-04-28T01:56:00",
- "2026-04-28T01:57:00",
- "2026-04-28T01:58:00",
- "2026-04-28T01:59:00",
- "2026-04-28T02:00:00",
- "2026-04-28T02:01:00",
- "2026-04-28T02:02:00",
- "2026-04-28T02:03:00",
- "2026-04-28T02:04:00",
- "2026-04-28T02:05:00",
- "2026-04-28T02:06:00",
- "2026-04-28T02:07:00",
- "2026-04-28T02:09:00",
- "2026-04-28T02:10:00",
- "2026-04-28T02:12:00",
- "2026-04-28T02:15:00",
- "2026-04-28T02:16:00",
- "2026-04-28T02:17:00",
- "2026-04-28T02:19:00",
- "2026-04-28T02:20:00",
- "2026-04-28T02:22:00",
- "2026-04-28T02:24:00",
- "2026-04-28T02:25:00",
- "2026-04-28T02:26:00",
- "2026-04-28T02:27:00",
- "2026-04-28T02:28:00",
- "2026-04-28T02:29:00",
- "2026-04-28T02:30:00",
- "2026-04-28T02:31:00",
- "2026-04-28T02:32:00",
- "2026-04-28T02:33:00",
- "2026-04-28T02:34:00",
- "2026-04-28T02:35:00",
- "2026-04-28T02:36:00",
- "2026-04-28T02:37:00",
- "2026-04-28T02:38:00",
- "2026-04-28T02:39:00",
- "2026-04-28T02:40:00",
- "2026-04-28T02:41:00",
- "2026-04-28T02:42:00",
- "2026-04-28T02:43:00",
- "2026-04-28T02:44:00",
- "2026-04-28T02:45:00",
- "2026-04-28T02:46:00",
- "2026-04-28T02:48:00",
- "2026-04-28T02:49:00",
- "2026-04-28T02:50:00",
- "2026-04-28T02:51:00",
- "2026-04-28T02:52:00",
- "2026-04-28T02:53:00",
- "2026-04-28T02:54:00",
- "2026-04-28T02:55:00",
- "2026-04-28T02:57:00",
- "2026-04-28T02:58:00",
- "2026-04-28T02:59:00",
- "2026-04-28T03:00:00",
- "2026-04-28T03:01:00",
- "2026-04-28T03:02:00",
- "2026-04-28T03:03:00",
- "2026-04-28T03:04:00",
- "2026-04-28T03:05:00",
- "2026-04-28T03:06:00",
- "2026-04-28T03:07:00",
- "2026-04-28T03:08:00",
- "2026-04-28T03:09:00",
- "2026-04-28T03:10:00",
- "2026-04-28T03:11:00",
- "2026-04-28T03:12:00",
- "2026-04-28T03:13:00",
- "2026-04-28T03:15:00",
- "2026-04-28T03:17:00",
- "2026-04-28T03:18:00",
- "2026-04-28T03:19:00",
- "2026-04-28T03:20:00",
- "2026-04-28T03:22:00",
- "2026-04-28T03:23:00",
- "2026-04-28T03:24:00",
- "2026-04-28T03:26:00",
- "2026-04-28T03:28:00",
- "2026-04-28T03:29:00",
- "2026-04-28T03:30:00",
- "2026-04-28T03:31:00",
- "2026-04-28T03:34:00",
- "2026-04-28T03:35:00",
- "2026-04-28T03:36:00",
- "2026-04-28T03:37:00",
- "2026-04-28T03:38:00",
- "2026-04-28T03:39:00",
- "2026-04-28T03:40:00",
- "2026-04-28T03:41:00",
- "2026-04-28T03:44:00",
- "2026-04-28T03:45:00",
- "2026-04-28T03:46:00",
- "2026-04-28T03:50:00",
- "2026-04-28T03:51:00",
- "2026-04-28T03:54:00",
- "2026-04-28T03:57:00",
- "2026-04-28T04:01:00",
- "2026-04-28T04:02:00",
- "2026-04-28T04:06:00",
- "2026-04-28T04:08:00",
- "2026-04-28T04:10:00",
- "2026-04-28T04:11:00",
- "2026-04-28T04:12:00",
- "2026-04-28T04:14:00",
- "2026-04-28T04:15:00",
- "2026-04-28T04:16:00",
- "2026-04-28T04:17:00",
- "2026-04-28T04:18:00",
- "2026-04-28T04:19:00",
- "2026-04-28T04:20:00",
- "2026-04-28T04:21:00",
- "2026-04-28T04:23:00",
- "2026-04-28T04:24:00",
- "2026-04-28T04:25:00",
- "2026-04-28T04:26:00",
- "2026-04-28T04:30:00",
- "2026-04-28T04:32:00",
- "2026-04-28T04:33:00",
- "2026-04-28T04:34:00",
- "2026-04-28T04:35:00",
- "2026-04-28T04:36:00",
- "2026-04-28T04:37:00",
- "2026-04-28T04:40:00",
- "2026-04-28T04:41:00",
- "2026-04-28T04:42:00",
- "2026-04-28T04:43:00",
- "2026-04-28T04:46:00",
- "2026-04-28T04:50:00",
- "2026-04-28T04:51:00",
- "2026-04-28T04:56:00",
- "2026-04-28T04:57:00",
- "2026-04-28T04:58:00",
- "2026-04-28T04:59:00",
- "2026-04-28T05:00:00",
- "2026-04-28T05:03:00",
- "2026-04-28T05:04:00",
- "2026-04-28T05:05:00",
- "2026-04-28T05:06:00",
- "2026-04-28T05:07:00",
- "2026-04-28T05:08:00",
- "2026-04-28T05:09:00",
- "2026-04-28T05:10:00",
- "2026-04-28T05:11:00",
- "2026-04-28T05:12:00",
- "2026-04-28T05:13:00",
- "2026-04-28T05:14:00",
- "2026-04-28T05:17:00",
- "2026-04-28T05:18:00",
- "2026-04-28T05:19:00",
- "2026-04-28T05:23:00",
- "2026-04-28T05:24:00",
- "2026-04-28T05:26:00",
- "2026-04-28T05:28:00",
- "2026-04-28T05:29:00",
- "2026-04-28T05:30:00",
- "2026-04-28T05:31:00",
- "2026-04-28T05:32:00",
- "2026-04-28T05:34:00",
- "2026-04-28T05:35:00",
- "2026-04-28T05:36:00",
- "2026-04-28T05:38:00",
- "2026-04-28T05:39:00",
- "2026-04-28T05:40:00",
- "2026-04-28T05:41:00",
- "2026-04-28T05:42:00",
- "2026-04-28T05:45:00",
- "2026-04-28T05:48:00",
- "2026-04-28T05:49:00",
- "2026-04-28T05:51:00",
- "2026-04-28T05:52:00",
- "2026-04-28T05:54:00",
- "2026-04-28T05:56:00",
- "2026-04-28T05:59:00",
- "2026-04-28T06:00:00",
- "2026-04-28T06:02:00",
- "2026-04-28T06:03:00",
- "2026-04-28T06:04:00",
- "2026-04-28T06:06:00",
- "2026-04-28T06:08:00",
- "2026-04-28T06:09:00",
- "2026-04-28T06:10:00",
- "2026-04-28T06:11:00",
- "2026-04-28T06:12:00",
- "2026-04-28T06:13:00",
- "2026-04-28T06:14:00",
- "2026-04-28T06:15:00",
- "2026-04-28T06:16:00",
- "2026-04-28T06:18:00",
- "2026-04-28T06:20:00",
- "2026-04-28T06:21:00",
- "2026-04-28T06:22:00",
- "2026-04-28T06:23:00",
- "2026-04-28T06:24:00",
- "2026-04-28T06:25:00",
- "2026-04-28T06:26:00",
- "2026-04-28T06:27:00",
- "2026-04-28T06:28:00",
- "2026-04-28T06:30:00",
- "2026-04-28T06:31:00",
- "2026-04-28T06:32:00",
- "2026-04-28T06:34:00",
- "2026-04-28T06:36:00",
- "2026-04-28T06:37:00",
- "2026-04-28T06:38:00",
- "2026-04-28T06:39:00",
- "2026-04-28T06:40:00",
- "2026-04-28T06:41:00",
- "2026-04-28T06:42:00",
- "2026-04-28T06:43:00",
- "2026-04-28T06:44:00",
- "2026-04-28T06:45:00",
- "2026-04-28T06:46:00",
- "2026-04-28T06:47:00",
- "2026-04-28T06:48:00",
- "2026-04-28T06:49:00",
- "2026-04-28T06:50:00",
- "2026-04-28T06:52:00",
- "2026-04-28T06:54:00",
- "2026-04-28T06:55:00",
- "2026-04-28T06:56:00",
- "2026-04-28T06:57:00",
- "2026-04-28T06:58:00",
- "2026-04-28T06:59:00",
- "2026-04-28T07:00:00",
- "2026-04-28T07:01:00",
- "2026-04-28T07:02:00",
- "2026-04-28T07:03:00",
- "2026-04-28T07:04:00",
- "2026-04-28T07:05:00",
- "2026-04-28T07:06:00",
- "2026-04-28T07:07:00",
- "2026-04-28T07:09:00",
- "2026-04-28T07:10:00",
- "2026-04-28T07:12:00",
- "2026-04-28T07:13:00",
- "2026-04-28T07:14:00",
- "2026-04-28T07:15:00",
- "2026-04-28T07:16:00",
- "2026-04-28T07:17:00",
- "2026-04-28T07:18:00",
- "2026-04-28T07:19:00",
- "2026-04-28T07:20:00",
- "2026-04-28T07:21:00",
- "2026-04-28T07:22:00",
- "2026-04-28T07:23:00",
- "2026-04-28T07:24:00",
- "2026-04-28T07:27:00",
- "2026-04-28T07:28:00",
- "2026-04-28T07:29:00",
- "2026-04-28T07:31:00",
- "2026-04-28T07:34:00",
- "2026-04-28T07:36:00",
- "2026-04-28T07:37:00",
- "2026-04-28T07:39:00",
- "2026-04-28T07:41:00",
- "2026-04-28T07:42:00",
- "2026-04-28T07:43:00",
- "2026-04-28T07:45:00",
- "2026-04-28T07:46:00",
- "2026-04-28T07:47:00",
- "2026-04-28T07:48:00",
- "2026-04-28T07:49:00",
- "2026-04-28T07:54:00",
- "2026-04-28T07:55:00",
- "2026-04-28T07:58:00",
- "2026-04-28T08:00:00",
- "2026-04-28T08:01:00",
- "2026-04-28T08:02:00",
- "2026-04-28T08:03:00",
- "2026-04-28T08:04:00",
- "2026-04-28T08:06:00",
- "2026-04-28T08:09:00",
- "2026-04-28T08:10:00",
- "2026-04-28T08:11:00",
- "2026-04-28T08:13:00",
- "2026-04-28T08:14:00",
- "2026-04-28T08:16:00",
- "2026-04-28T08:17:00",
- "2026-04-28T08:18:00",
- "2026-04-28T08:19:00",
- "2026-04-28T08:21:00",
- "2026-04-28T08:22:00",
- "2026-04-28T08:23:00",
- "2026-04-28T08:24:00",
- "2026-04-28T08:25:00",
- "2026-04-28T08:26:00",
- "2026-04-28T08:29:00",
- "2026-04-28T08:30:00",
- "2026-04-28T08:32:00",
- "2026-04-28T08:33:00",
- "2026-04-28T08:34:00",
- "2026-04-28T08:35:00",
- "2026-04-28T08:38:00",
- "2026-04-28T08:39:00",
- "2026-04-28T08:40:00",
- "2026-04-28T08:41:00",
- "2026-04-28T08:42:00",
- "2026-04-28T08:43:00",
- "2026-04-28T08:45:00",
- "2026-04-28T08:46:00",
- "2026-04-28T08:47:00",
- "2026-04-28T08:48:00",
- "2026-04-28T08:49:00",
- "2026-04-28T08:50:00",
- "2026-04-28T08:51:00",
- "2026-04-28T08:54:00",
- "2026-04-28T08:58:00",
- "2026-04-28T08:59:00",
- "2026-04-28T09:00:00",
- "2026-04-28T09:01:00",
- "2026-04-28T09:02:00",
- "2026-04-28T09:03:00",
- "2026-04-28T09:07:00",
- "2026-04-28T09:10:00",
- "2026-04-28T09:11:00",
- "2026-04-28T09:12:00",
- "2026-04-28T09:13:00",
- "2026-04-28T09:15:00",
- "2026-04-28T09:16:00",
- "2026-04-28T09:19:00",
- "2026-04-28T09:20:00",
- "2026-04-28T09:21:00",
- "2026-04-28T09:22:00",
- "2026-04-28T09:23:00",
- "2026-04-28T09:25:00",
- "2026-04-28T09:26:00",
- "2026-04-28T09:30:00",
- "2026-04-28T09:31:00",
- "2026-04-28T09:32:00",
- "2026-04-28T09:33:00",
- "2026-04-28T09:34:00",
- "2026-04-28T09:35:00",
- "2026-04-28T09:36:00",
- "2026-04-28T09:38:00",
- "2026-04-28T09:40:00",
- "2026-04-28T09:42:00",
- "2026-04-28T09:43:00",
- "2026-04-28T09:44:00",
- "2026-04-28T09:45:00",
- "2026-04-28T09:46:00",
- "2026-04-28T09:47:00",
- "2026-04-28T09:48:00",
- "2026-04-28T09:49:00",
- "2026-04-28T09:50:00",
- "2026-04-28T09:51:00",
- "2026-04-28T09:52:00",
- "2026-04-28T09:55:00",
- "2026-04-28T09:56:00",
- "2026-04-28T09:57:00",
- "2026-04-28T10:01:00",
- "2026-04-28T10:02:00",
- "2026-04-28T10:03:00",
- "2026-04-28T10:04:00",
- "2026-04-28T10:05:00",
- "2026-04-28T10:06:00",
- "2026-04-28T10:07:00",
- "2026-04-28T10:08:00",
- "2026-04-28T10:09:00",
- "2026-04-28T10:10:00",
- "2026-04-28T10:11:00",
- "2026-04-28T10:13:00",
- "2026-04-28T10:14:00",
- "2026-04-28T10:15:00",
- "2026-04-28T10:16:00",
- "2026-04-28T10:17:00",
- "2026-04-28T10:18:00",
- "2026-04-28T10:19:00",
- "2026-04-28T10:20:00",
- "2026-04-28T10:21:00",
- "2026-04-28T10:22:00",
- "2026-04-28T10:23:00",
- "2026-04-28T10:24:00",
- "2026-04-28T10:25:00",
- "2026-04-28T10:27:00",
- "2026-04-28T10:31:00",
- "2026-04-28T10:32:00",
- "2026-04-28T10:34:00",
- "2026-04-28T10:35:00",
- "2026-04-28T10:38:00",
- "2026-04-28T10:39:00",
- "2026-04-28T10:40:00",
- "2026-04-28T10:42:00",
- "2026-04-28T10:43:00",
- "2026-04-28T10:47:00",
- "2026-04-28T10:48:00",
- "2026-04-28T10:51:00",
- "2026-04-28T10:56:00",
- "2026-04-28T10:57:00",
- "2026-04-28T11:00:00",
- "2026-04-28T11:01:00",
- "2026-04-28T11:02:00",
- "2026-04-28T11:03:00",
- "2026-04-28T11:04:00",
- "2026-04-28T11:05:00",
- "2026-04-28T11:06:00",
- "2026-04-28T11:07:00",
- "2026-04-28T11:08:00",
- "2026-04-28T11:09:00",
- "2026-04-28T11:10:00",
- "2026-04-28T11:11:00",
- "2026-04-28T11:12:00",
- "2026-04-28T11:13:00",
- "2026-04-28T11:15:00",
- "2026-04-28T11:16:00",
- "2026-04-28T11:17:00",
- "2026-04-28T11:18:00",
- "2026-04-28T11:19:00",
- "2026-04-28T11:21:00",
- "2026-04-28T11:22:00",
- "2026-04-28T11:23:00",
- "2026-04-28T11:24:00",
- "2026-04-28T11:25:00",
- "2026-04-28T11:26:00",
- "2026-04-28T11:27:00",
- "2026-04-28T11:28:00",
- "2026-04-28T11:29:00",
- "2026-04-28T11:30:00",
- "2026-04-28T11:31:00",
- "2026-04-28T11:32:00",
- "2026-04-28T11:33:00",
- "2026-04-28T11:35:00",
- "2026-04-28T11:36:00",
- "2026-04-28T11:37:00",
- "2026-04-28T11:38:00",
- "2026-04-28T11:39:00",
- "2026-04-28T11:40:00",
- "2026-04-28T11:41:00",
- "2026-04-28T11:44:00",
- "2026-04-28T11:45:00",
- "2026-04-28T11:46:00",
- "2026-04-28T11:47:00",
- "2026-04-28T11:48:00",
- "2026-04-28T11:49:00",
- "2026-04-28T11:50:00",
- "2026-04-28T11:51:00",
- "2026-04-28T11:52:00",
- "2026-04-28T11:53:00",
- "2026-04-28T11:54:00",
- "2026-04-28T11:55:00",
- "2026-04-28T11:56:00",
- "2026-04-28T11:57:00",
- "2026-04-28T11:59:00",
- "2026-04-28T12:00:00",
- "2026-04-28T12:01:00",
- "2026-04-28T12:02:00",
- "2026-04-28T12:03:00",
- "2026-04-28T12:04:00",
- "2026-04-28T12:05:00",
- "2026-04-28T12:06:00",
- "2026-04-28T12:07:00",
- "2026-04-28T12:09:00",
- "2026-04-28T12:10:00",
- "2026-04-28T12:11:00",
- "2026-04-28T12:12:00",
- "2026-04-28T12:13:00",
- "2026-04-28T12:14:00",
- "2026-04-28T12:15:00",
- "2026-04-28T12:16:00",
- "2026-04-28T12:18:00",
- "2026-04-28T12:19:00",
- "2026-04-28T12:20:00",
- "2026-04-28T12:21:00",
- "2026-04-28T12:22:00",
- "2026-04-28T12:23:00",
- "2026-04-28T12:24:00",
- "2026-04-28T12:25:00",
- "2026-04-28T12:26:00",
- "2026-04-28T12:29:00",
- "2026-04-28T12:30:00",
- "2026-04-28T12:31:00",
- "2026-04-28T12:33:00",
- "2026-04-28T12:34:00",
- "2026-04-28T12:35:00",
- "2026-04-28T12:36:00",
- "2026-04-28T12:38:00",
- "2026-04-28T12:40:00",
- "2026-04-28T12:41:00",
- "2026-04-28T12:42:00",
- "2026-04-28T12:43:00",
- "2026-04-28T12:44:00",
- "2026-04-28T12:45:00",
- "2026-04-28T12:46:00",
- "2026-04-28T12:48:00",
- "2026-04-28T12:49:00",
- "2026-04-28T12:51:00",
- "2026-04-28T12:52:00",
- "2026-04-28T12:53:00",
- "2026-04-28T12:54:00",
- "2026-04-28T12:57:00",
- "2026-04-28T13:00:00",
- "2026-04-28T13:01:00",
- "2026-04-28T13:02:00",
- "2026-04-28T13:03:00",
- "2026-04-28T13:04:00",
- "2026-04-28T13:05:00",
- "2026-04-28T13:06:00",
- "2026-04-28T13:07:00",
- "2026-04-28T13:08:00",
- "2026-04-28T13:09:00",
- "2026-04-28T13:10:00",
- "2026-04-28T13:11:00",
- "2026-04-28T13:12:00",
- "2026-04-28T13:13:00",
- "2026-04-28T13:14:00",
- "2026-04-28T13:15:00",
- "2026-04-28T13:16:00",
- "2026-04-28T13:17:00",
- "2026-04-28T13:18:00",
- "2026-04-28T13:19:00",
- "2026-04-28T13:20:00",
- "2026-04-28T13:21:00",
- "2026-04-28T13:22:00",
- "2026-04-28T13:23:00",
- "2026-04-28T13:24:00",
- "2026-04-28T13:25:00",
- "2026-04-28T13:26:00",
- "2026-04-28T13:27:00",
- "2026-04-28T13:28:00",
- "2026-04-28T13:29:00",
- "2026-04-28T13:30:00",
- "2026-04-28T13:31:00",
- "2026-04-28T13:32:00",
- "2026-04-28T13:33:00",
- "2026-04-28T13:34:00",
- "2026-04-28T13:35:00",
- "2026-04-28T13:36:00",
- "2026-04-28T13:37:00",
- "2026-04-28T13:38:00",
- "2026-04-28T13:39:00",
- "2026-04-28T13:40:00",
- "2026-04-28T13:41:00",
- "2026-04-28T13:42:00",
- "2026-04-28T13:43:00",
- "2026-04-28T13:44:00",
- "2026-04-28T13:45:00",
- "2026-04-28T13:46:00",
- "2026-04-28T13:47:00",
- "2026-04-28T13:48:00",
- "2026-04-28T13:49:00",
- "2026-04-28T13:50:00",
- "2026-04-28T13:51:00",
- "2026-04-28T13:52:00",
- "2026-04-28T13:53:00",
- "2026-04-28T13:54:00",
- "2026-04-28T13:55:00",
- "2026-04-28T13:56:00",
- "2026-04-28T13:57:00",
- "2026-04-28T13:58:00",
- "2026-04-28T13:59:00",
- "2026-04-28T14:00:00",
- "2026-04-28T14:01:00",
- "2026-04-28T14:02:00",
- "2026-04-28T14:04:00",
- "2026-04-28T14:05:00",
- "2026-04-28T14:06:00",
- "2026-04-28T14:07:00",
- "2026-04-28T14:08:00",
- "2026-04-28T14:09:00",
- "2026-04-28T14:10:00",
- "2026-04-28T14:11:00",
- "2026-04-28T14:12:00",
- "2026-04-28T14:13:00",
- "2026-04-28T14:14:00",
- "2026-04-28T14:15:00",
- "2026-04-28T14:16:00",
- "2026-04-28T14:17:00",
- "2026-04-28T14:18:00",
- "2026-04-28T14:19:00",
- "2026-04-28T14:21:00",
- "2026-04-28T14:22:00",
- "2026-04-28T14:23:00",
- "2026-04-28T14:24:00",
- "2026-04-28T14:25:00",
- "2026-04-28T14:26:00",
- "2026-04-28T14:27:00",
- "2026-04-28T14:28:00",
- "2026-04-28T14:29:00",
- "2026-04-28T14:30:00",
- "2026-04-28T14:31:00",
- "2026-04-28T14:32:00",
- "2026-04-28T14:33:00",
- "2026-04-28T14:34:00",
- "2026-04-28T14:35:00",
- "2026-04-28T14:36:00",
- "2026-04-28T14:37:00",
- "2026-04-28T14:38:00",
- "2026-04-28T14:39:00",
- "2026-04-28T14:40:00",
- "2026-04-28T14:41:00",
- "2026-04-28T14:42:00",
- "2026-04-28T14:43:00",
- "2026-04-28T14:44:00",
- "2026-04-28T14:45:00",
- "2026-04-28T14:46:00",
- "2026-04-28T14:47:00",
- "2026-04-28T14:48:00",
- "2026-04-28T14:49:00",
- "2026-04-28T14:50:00",
- "2026-04-28T14:51:00",
- "2026-04-28T14:52:00",
- "2026-04-28T14:53:00",
- "2026-04-28T14:54:00",
- "2026-04-28T14:55:00",
- "2026-04-28T14:56:00",
- "2026-04-28T14:57:00",
- "2026-04-28T14:58:00",
- "2026-04-28T14:59:00",
- "2026-04-28T15:00:00",
- "2026-04-28T15:01:00",
- "2026-04-28T15:02:00",
- "2026-04-28T15:03:00",
- "2026-04-28T15:05:00",
- "2026-04-28T15:06:00",
- "2026-04-28T15:07:00",
- "2026-04-28T15:08:00",
- "2026-04-28T15:09:00",
- "2026-04-28T15:10:00",
- "2026-04-28T15:11:00",
- "2026-04-28T15:12:00",
- "2026-04-28T15:13:00",
- "2026-04-28T15:14:00",
- "2026-04-28T15:15:00",
- "2026-04-28T15:16:00",
- "2026-04-28T15:17:00",
- "2026-04-28T15:18:00",
- "2026-04-28T15:19:00",
- "2026-04-28T15:20:00",
- "2026-04-28T15:21:00",
- "2026-04-28T15:22:00",
- "2026-04-28T15:23:00",
- "2026-04-28T15:24:00",
- "2026-04-28T15:25:00",
- "2026-04-28T15:26:00",
- "2026-04-28T15:27:00",
- "2026-04-28T15:28:00",
- "2026-04-28T15:29:00",
- "2026-04-28T15:30:00",
- "2026-04-28T15:31:00",
- "2026-04-28T15:33:00",
- "2026-04-28T15:34:00",
- "2026-04-28T15:35:00",
- "2026-04-28T15:37:00",
- "2026-04-28T15:38:00",
- "2026-04-28T15:39:00",
- "2026-04-28T15:41:00",
- "2026-04-28T15:42:00",
- "2026-04-28T15:43:00",
- "2026-04-28T15:44:00",
- "2026-04-28T15:45:00",
- "2026-04-28T15:46:00",
- "2026-04-28T15:47:00",
- "2026-04-28T15:48:00",
- "2026-04-28T15:49:00",
- "2026-04-28T15:50:00",
- "2026-04-28T15:51:00",
- "2026-04-28T15:52:00",
- "2026-04-28T15:53:00",
- "2026-04-28T15:54:00",
- "2026-04-28T15:55:00",
- "2026-04-28T15:56:00",
- "2026-04-28T15:57:00",
- "2026-04-28T15:58:00",
- "2026-04-28T15:59:00",
- "2026-04-28T16:00:00",
- "2026-04-28T16:01:00",
- "2026-04-28T16:02:00",
- "2026-04-28T16:03:00",
- "2026-04-28T16:04:00",
- "2026-04-28T16:05:00",
- "2026-04-28T16:06:00",
- "2026-04-28T16:07:00",
- "2026-04-28T16:08:00",
- "2026-04-28T16:09:00",
- "2026-04-28T16:10:00",
- "2026-04-28T16:11:00",
- "2026-04-28T16:12:00",
- "2026-04-28T16:14:00",
- "2026-04-28T16:15:00",
- "2026-04-28T16:16:00",
- "2026-04-28T16:18:00",
- "2026-04-28T16:20:00",
- "2026-04-28T16:21:00",
- "2026-04-28T16:23:00",
- "2026-04-28T16:24:00",
- "2026-04-28T16:25:00",
- "2026-04-28T16:26:00",
- "2026-04-28T16:27:00",
- "2026-04-28T16:28:00",
- "2026-04-28T16:29:00",
- "2026-04-28T16:30:00",
- "2026-04-28T16:31:00",
- "2026-04-28T16:32:00",
- "2026-04-28T16:33:00",
- "2026-04-28T16:34:00",
- "2026-04-28T16:35:00",
- "2026-04-28T16:36:00",
- "2026-04-28T16:37:00",
- "2026-04-28T16:39:00",
- "2026-04-28T16:42:00",
- "2026-04-28T16:43:00",
- "2026-04-28T16:45:00",
- "2026-04-28T16:46:00",
- "2026-04-28T16:47:00",
- "2026-04-28T16:48:00",
- "2026-04-28T16:49:00",
- "2026-04-28T16:50:00",
- "2026-04-28T16:51:00",
- "2026-04-28T16:52:00",
- "2026-04-28T16:53:00",
- "2026-04-28T16:54:00",
- "2026-04-28T16:55:00",
- "2026-04-28T16:56:00",
- "2026-04-28T16:57:00",
- "2026-04-28T16:58:00",
- "2026-04-28T16:59:00",
- "2026-04-28T17:00:00",
- "2026-04-28T17:01:00",
- "2026-04-28T17:02:00",
- "2026-04-28T17:03:00",
- "2026-04-28T17:04:00",
- "2026-04-28T17:05:00",
- "2026-04-28T17:06:00",
- "2026-04-28T17:08:00",
- "2026-04-28T17:10:00",
- "2026-04-28T17:11:00",
- "2026-04-28T17:12:00",
- "2026-04-28T17:13:00",
- "2026-04-28T17:14:00",
- "2026-04-28T17:15:00",
- "2026-04-28T17:16:00",
- "2026-04-28T17:18:00",
- "2026-04-28T17:19:00",
- "2026-04-28T17:21:00",
- "2026-04-28T17:22:00",
- "2026-04-28T17:23:00",
- "2026-04-28T17:24:00",
- "2026-04-28T17:25:00",
- "2026-04-28T17:27:00",
- "2026-04-28T17:28:00",
- "2026-04-28T17:29:00",
- "2026-04-28T17:30:00",
- "2026-04-28T17:31:00",
- "2026-04-28T17:33:00",
- "2026-04-28T17:34:00",
- "2026-04-28T17:35:00",
- "2026-04-28T17:36:00",
- "2026-04-28T17:37:00",
- "2026-04-28T17:38:00",
- "2026-04-28T17:39:00",
- "2026-04-28T17:40:00",
- "2026-04-28T17:41:00",
- "2026-04-28T17:42:00",
- "2026-04-28T17:43:00",
- "2026-04-28T17:44:00",
- "2026-04-28T17:45:00",
- "2026-04-28T17:46:00",
- "2026-04-28T17:47:00",
- "2026-04-28T17:48:00",
- "2026-04-28T17:49:00",
- "2026-04-28T17:50:00",
- "2026-04-28T17:51:00",
- "2026-04-28T17:52:00",
- "2026-04-28T17:53:00",
- "2026-04-28T17:54:00",
- "2026-04-28T17:55:00",
- "2026-04-28T17:56:00",
- "2026-04-28T17:57:00",
- "2026-04-28T17:58:00",
- "2026-04-28T17:59:00",
- "2026-04-28T18:00:00",
- "2026-04-28T18:01:00",
- "2026-04-28T18:02:00",
- "2026-04-28T18:03:00",
- "2026-04-28T18:04:00",
- "2026-04-28T18:05:00",
- "2026-04-28T18:06:00",
- "2026-04-28T18:07:00",
- "2026-04-28T18:08:00",
- "2026-04-28T18:09:00",
- "2026-04-28T18:10:00",
- "2026-04-28T18:11:00",
- "2026-04-28T18:12:00",
- "2026-04-28T18:13:00",
- "2026-04-28T18:14:00",
- "2026-04-28T18:15:00",
- "2026-04-28T18:16:00",
- "2026-04-28T18:17:00",
- "2026-04-28T18:18:00",
- "2026-04-28T18:19:00",
- "2026-04-28T18:20:00",
- "2026-04-28T18:21:00",
- "2026-04-28T18:22:00",
- "2026-04-28T18:23:00",
- "2026-04-28T18:24:00",
- "2026-04-28T18:25:00",
- "2026-04-28T18:26:00",
- "2026-04-28T18:27:00",
- "2026-04-28T18:28:00",
- "2026-04-28T18:29:00",
- "2026-04-28T18:30:00",
- "2026-04-28T18:31:00",
- "2026-04-28T18:32:00",
- "2026-04-28T18:33:00",
- "2026-04-28T18:34:00",
- "2026-04-28T18:35:00",
- "2026-04-28T18:36:00",
- "2026-04-28T18:37:00",
- "2026-04-28T18:38:00",
- "2026-04-28T18:39:00",
- "2026-04-28T18:40:00",
- "2026-04-28T18:41:00",
- "2026-04-28T18:42:00",
- "2026-04-28T18:43:00",
- "2026-04-28T18:44:00",
- "2026-04-28T18:45:00",
- "2026-04-28T18:46:00",
- "2026-04-28T18:47:00",
- "2026-04-28T18:48:00",
- "2026-04-28T18:49:00",
- "2026-04-28T18:50:00",
- "2026-04-28T18:51:00",
- "2026-04-28T18:52:00",
- "2026-04-28T18:53:00",
- "2026-04-28T18:54:00",
- "2026-04-28T18:55:00",
- "2026-04-28T18:56:00",
- "2026-04-28T18:57:00",
- "2026-04-28T18:58:00",
- "2026-04-28T18:59:00",
- "2026-04-28T19:00:00",
- "2026-04-28T19:01:00",
- "2026-04-28T19:02:00",
- "2026-04-28T19:03:00",
- "2026-04-28T19:04:00",
- "2026-04-28T19:05:00",
- "2026-04-28T19:06:00",
- "2026-04-28T19:07:00",
- "2026-04-28T19:08:00",
- "2026-04-28T19:09:00",
- "2026-04-28T19:10:00",
- "2026-04-28T19:11:00",
- "2026-04-28T19:12:00",
- "2026-04-28T19:13:00",
- "2026-04-28T19:14:00",
- "2026-04-28T19:15:00",
- "2026-04-28T19:18:00",
- "2026-04-28T19:20:00",
- "2026-04-28T19:21:00",
- "2026-04-28T19:22:00",
- "2026-04-28T19:23:00",
- "2026-04-28T19:24:00",
- "2026-04-28T19:26:00",
- "2026-04-28T19:28:00",
- "2026-04-28T19:29:00",
- "2026-04-28T19:31:00",
- "2026-04-28T19:32:00",
- "2026-04-28T19:33:00",
- "2026-04-28T19:40:00",
- "2026-04-28T19:41:00",
- "2026-04-28T19:42:00",
- "2026-04-28T19:43:00",
- "2026-04-28T19:44:00",
- "2026-04-28T19:45:00",
- "2026-04-28T19:46:00",
- "2026-04-28T19:47:00",
- "2026-04-28T19:48:00",
- "2026-04-28T19:50:00",
- "2026-04-28T19:51:00",
- "2026-04-28T19:52:00",
- "2026-04-28T19:53:00",
- "2026-04-28T19:54:00",
- "2026-04-28T19:55:00",
- "2026-04-28T19:56:00",
- "2026-04-28T19:57:00",
- "2026-04-28T19:58:00",
- "2026-04-28T19:59:00",
- "2026-04-28T20:00:00",
- "2026-04-28T20:01:00",
- "2026-04-28T20:02:00",
- "2026-04-28T20:03:00"
- ],
- "xaxis": "x",
- "y": {
- "bdata": "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",
- "dtype": "f8"
- },
- "yaxis": "y"
- }
- ],
- "layout": {
- "legend": {
- "tracegroupgap": 0
- },
- "margin": {
- "t": 60
- },
- "template": {
- "data": {
- "bar": [
- {
- "error_x": {
- "color": "#f2f5fa"
- },
- "error_y": {
- "color": "#f2f5fa"
- },
- "marker": {
- "line": {
- "color": "rgb(17,17,17)",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "bar"
- }
- ],
- "barpolar": [
- {
- "marker": {
- "line": {
- "color": "rgb(17,17,17)",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "barpolar"
- }
- ],
- "carpet": [
- {
- "aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
- },
- "baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
- },
- "type": "carpet"
- }
- ],
- "choropleth": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "choropleth"
- }
- ],
- "contour": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "contour"
- }
- ],
- "contourcarpet": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "contourcarpet"
- }
- ],
- "heatmap": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "heatmap"
- }
- ],
- "histogram": [
- {
- "marker": {
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "histogram"
- }
- ],
- "histogram2d": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "histogram2d"
- }
- ],
- "histogram2dcontour": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "histogram2dcontour"
- }
- ],
- "mesh3d": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "mesh3d"
- }
- ],
- "parcoords": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "parcoords"
- }
- ],
- "pie": [
- {
- "automargin": true,
- "type": "pie"
- }
- ],
- "scatter": [
- {
- "marker": {
- "line": {
- "color": "#283442"
- }
- },
- "type": "scatter"
- }
- ],
- "scatter3d": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scatter3d"
- }
- ],
- "scattercarpet": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scattercarpet"
- }
- ],
- "scattergeo": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scattergeo"
- }
- ],
- "scattergl": [
- {
- "marker": {
- "line": {
- "color": "#283442"
- }
- },
- "type": "scattergl"
- }
- ],
- "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": "#506784"
- },
- "line": {
- "color": "rgb(17,17,17)"
- }
- },
- "header": {
- "fill": {
- "color": "#2a3f5f"
- },
- "line": {
- "color": "rgb(17,17,17)"
- }
- },
- "type": "table"
- }
- ]
- },
- "layout": {
- "annotationdefaults": {
- "arrowcolor": "#f2f5fa",
- "arrowhead": 0,
- "arrowwidth": 1
- },
- "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": "#f2f5fa"
- },
- "geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
- "showlakes": true,
- "showland": true,
- "subunitcolor": "#506784"
- },
- "hoverlabel": {
- "align": "left"
- },
- "hovermode": "closest",
- "mapbox": {
- "style": "dark"
- },
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
- "polar": {
- "angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "bgcolor": "rgb(17,17,17)",
- "radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- }
- },
- "scene": {
- "xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- },
- "yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- },
- "zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- }
- },
- "shapedefaults": {
- "line": {
- "color": "#f2f5fa"
- }
- },
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
- "ternary": {
- "aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "bgcolor": "rgb(17,17,17)",
- "caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- }
- },
- "title": {
- "x": 0.05
- },
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
- "xaxis": {
- "automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
- "ticks": "",
- "title": {
- "standoff": 15
- },
- "zerolinecolor": "#283442",
- "zerolinewidth": 2
- },
- "yaxis": {
- "automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
- "ticks": "",
- "title": {
- "standoff": 15
- },
- "zerolinecolor": "#283442",
- "zerolinewidth": 2
- }
- }
- },
- "xaxis": {
- "anchor": "y",
- "domain": [
- 0,
- 1
- ],
- "title": {
- "text": "timestamp_trade_dt"
- }
- },
- "yaxis": {
- "anchor": "x",
- "domain": [
- 0,
- 1
- ],
- "title": {
- "text": "qty_sum"
- }
- }
- }
- }
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "px.line(df_extend_trades_by_sec_maker, y='qty_sum', template='plotly_dark')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "id": "56f94403",
- "metadata": {},
- "outputs": [],
- "source": [
- "df_comb_trades_by_sec = df_aster_trades_by_sec_taker[['price_median']].merge(df_extend_trades_by_sec_maker[['price_median']], left_index=True, right_index=True, suffixes=('_aster','_extend'))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {},
- "outputs": [],
- "source": [
+ ")\n",
+ "\n",
+ "df_comb_trades_by_sec = df_aster_trades_by_sec_taker[['price_median']].merge(df_extend_trades_by_sec_maker[['price_median']], left_index=True, right_index=True, suffixes=('_aster','_extend'))\n",
"df_comb_trades_by_sec['ratio'] = df_comb_trades_by_sec['price_median_aster'] / df_comb_trades_by_sec['price_median_extend']"
]
},
{
"cell_type": "code",
- "execution_count": 13,
- "id": "663d036f",
- "metadata": {},
- "outputs": [],
- "source": [
- "# df_comb_trades_by_sec = df_comb_trades_by_sec.reset_index().groupby(pd.Grouper(key='timestamp_trade_dt', freq='h')).agg({'price_median_aster': 'median', 'price_median_extend': 'median', 'ratio': 'median'}) # Resting on the ask (seller is maker): BID [Taker] [Buyer] -- Crossed into --> ASK [Maker] [Seller]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
+ "execution_count": 103,
"id": "66c5a128",
"metadata": {},
"outputs": [
{
- "data": {
- "text/plain": [
- "0.6462633451957296"
- ]
- },
- "execution_count": 14,
- "metadata": {},
- "output_type": "execute_result"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Pct Trades w Ratio > 1: 0.6558171745152355\n",
+ " Pct Trades w Ratio <= 1: 0.34418282548476453\n",
+ "\n"
+ ]
}
],
"source": [
- "len(df_comb_trades_by_sec.loc[df_comb_trades_by_sec['ratio'] > 1]) / len(df_comb_trades_by_sec)"
+ "print(f'''\n",
+ " Pct Trades w Ratio > 1: {len(df_comb_trades_by_sec.loc[df_comb_trades_by_sec['ratio'] > 1]) / len(df_comb_trades_by_sec)}\n",
+ " Pct Trades w Ratio <= 1: {len(df_comb_trades_by_sec.loc[df_comb_trades_by_sec['ratio'] <= 1]) / len(df_comb_trades_by_sec)}\n",
+ "''')\n"
]
},
{
"cell_type": "code",
- "execution_count": 15,
- "id": "a454f3c4",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "0.35373665480427047"
- ]
- },
- "execution_count": 15,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "len(df_comb_trades_by_sec.loc[df_comb_trades_by_sec['ratio'] <= 1]) / len(df_comb_trades_by_sec)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "id": "bf9af769",
- "metadata": {},
- "outputs": [],
- "source": [
- "min_time = max([round(df_comb_trades_by_sec.index.min().timestamp()*1000), int(round(df_fr['timestamp'].min()))])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "id": "a0b4ab50",
+ "execution_count": 104,
+ "id": "ee0dc256",
"metadata": {},
"outputs": [],
"source": [
+ "min_time = max([round(df_comb_trades_by_sec.index.min().timestamp()*1000), int(round(df_fr['timestamp'].min()))])\n",
"df_comb_trades_by_sec_plot = df_comb_trades_by_sec.loc[df_comb_trades_by_sec.index.values.astype(np.int64) > min_time,:]\n",
- "df_fr_plot = df_fr.loc[df_fr['timestamp'] > min_time,:]"
+ "df_fr_plot = df_fr.loc[df_fr['timestamp'] > min_time,:]\n",
+ "df_fr_plot['funding_rate'] = df_fr_plot['funding_rate'].astype(float)"
]
},
{
"cell_type": "code",
- "execution_count": 18,
- "id": "0ed91c0e",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.microsoft.datawrangler.viewer.v0+json": {
- "columns": [
- {
- "name": "timestamp_trade_dt",
- "rawType": "datetime64[ms]",
- "type": "datetime"
- },
- {
- "name": "price_median_aster",
- "rawType": "float64",
- "type": "float"
- },
- {
- "name": "price_median_extend",
- "rawType": "float64",
- "type": "float"
- },
- {
- "name": "ratio",
- "rawType": "float64",
- "type": "float"
- }
- ],
- "ref": "b645141d-443a-4c1f-a3bd-0fd646aa3dab",
- "rows": [
- [
- "2026-04-27 15:25:00",
- "2267.3",
- "2267.25",
- "1.000022053148087"
- ],
- [
- "2026-04-27 15:26:00",
- "2268.3",
- "2267.6",
- "1.0003086964191217"
- ],
- [
- "2026-04-27 15:27:00",
- "2271.6099999999997",
- "2271.6",
- "1.0000044021834829"
- ],
- [
- "2026-04-27 15:28:00",
- "2271.225",
- "2270.7",
- "1.0002312062359626"
- ],
- [
- "2026-04-27 15:29:00",
- "2273.0950000000003",
- "2272.1",
- "1.0004379208661591"
- ],
- [
- "2026-04-27 15:30:00",
- "2276.0",
- "2275.4",
- "1.0002636899006767"
- ],
- [
- "2026-04-27 15:31:00",
- "2280.21",
- "2282.05",
- "0.9991937074121952"
- ],
- [
- "2026-04-27 15:32:00",
- "2280.6",
- "2281.6",
- "0.9995617110799438"
- ],
- [
- "2026-04-27 15:33:00",
- "2281.0699999999997",
- "2280.45",
- "1.000271876164792"
- ],
- [
- "2026-04-27 15:34:00",
- "2279.6",
- "2279.0",
- "1.0002632733655112"
- ],
- [
- "2026-04-27 15:35:00",
- "2280.2650000000003",
- "2280.9",
- "0.9997216011223641"
- ],
- [
- "2026-04-27 15:36:00",
- "2279.71",
- "2280.2",
- "0.9997851065695993"
- ],
- [
- "2026-04-27 15:37:00",
- "2279.7",
- "2280.1",
- "0.9998245690978466"
- ],
- [
- "2026-04-27 15:38:00",
- "2279.755",
- "2279.7",
- "1.0000241259814888"
- ],
- [
- "2026-04-27 15:39:00",
- "2280.58",
- "2280.8",
- "0.9999035426166256"
- ],
- [
- "2026-04-27 15:40:00",
- "2279.92",
- "2280.4",
- "0.9997895106121732"
- ],
- [
- "2026-04-27 15:41:00",
- "2281.54",
- "2281.0",
- "1.0002367382726873"
- ],
- [
- "2026-04-27 15:42:00",
- "2282.005",
- "2282.4",
- "0.9998269365580091"
- ],
- [
- "2026-04-27 15:43:00",
- "2281.395",
- "2281.1",
- "1.0001293235719608"
- ],
- [
- "2026-04-27 15:44:00",
- "2281.3",
- "2281.7",
- "0.999824692115528"
- ],
- [
- "2026-04-27 15:45:00",
- "2280.5",
- "2280.8",
- "0.9998684672044895"
- ],
- [
- "2026-04-27 15:46:00",
- "2279.125",
- "2280.0",
- "0.9996162280701755"
- ],
- [
- "2026-04-27 15:47:00",
- "2278.645",
- "2278.6",
- "1.000019748968665"
- ],
- [
- "2026-04-27 15:48:00",
- "2276.79",
- "2277.2",
- "0.9998199543298789"
- ],
- [
- "2026-04-27 15:49:00",
- "2275.48",
- "2274.75",
- "1.0003209143861962"
- ],
- [
- "2026-04-27 15:50:00",
- "2273.98",
- "2272.9",
- "1.0004751638875444"
- ],
- [
- "2026-04-27 15:51:00",
- "2274.7",
- "2274.0",
- "1.0003078276165347"
- ],
- [
- "2026-04-27 15:52:00",
- "2273.29",
- "2274.2",
- "0.9995998592911793"
- ],
- [
- "2026-04-27 15:53:00",
- "2273.5550000000003",
- "2273.1",
- "1.0002001671725838"
- ],
- [
- "2026-04-27 15:54:00",
- "2274.57",
- "2274.4",
- "1.000074744987689"
- ],
- [
- "2026-04-27 15:55:00",
- "2275.09",
- "2274.8",
- "1.0001274837348337"
- ],
- [
- "2026-04-27 15:56:00",
- "2273.525",
- "2274.3",
- "0.9996592358088202"
- ],
- [
- "2026-04-27 15:57:00",
- "2273.23",
- "2273.2",
- "1.000013197254971"
- ],
- [
- "2026-04-27 15:58:00",
- "2272.91",
- "2272.8",
- "1.0000483984512494"
- ],
- [
- "2026-04-27 15:59:00",
- "2273.245",
- "2272.8",
- "1.0001957937346004"
- ],
- [
- "2026-04-27 16:00:00",
- "2271.72",
- "2272.0",
- "0.9998767605633802"
- ],
- [
- "2026-04-27 16:01:00",
- "2270.8",
- "2270.7",
- "1.0000440392830405"
- ],
- [
- "2026-04-27 16:02:00",
- "2271.3900000000003",
- "2270.9",
- "1.0002157734818795"
- ],
- [
- "2026-04-27 16:03:00",
- "2270.2",
- "2269.8",
- "1.0001762269803505"
- ],
- [
- "2026-04-27 16:04:00",
- "2273.14",
- "2273.7",
- "0.9997537054140828"
- ],
- [
- "2026-04-27 16:05:00",
- "2273.21",
- "2273.0",
- "1.0000923889133304"
- ],
- [
- "2026-04-27 16:06:00",
- "2274.925",
- "2275.1499999999996",
- "0.9999011054216208"
- ],
- [
- "2026-04-27 16:07:00",
- "2275.58",
- "2275.2",
- "1.000167018284107"
- ],
- [
- "2026-04-27 16:08:00",
- "2273.68",
- "2273.6",
- "1.0000351864883885"
- ],
- [
- "2026-04-27 16:09:00",
- "2274.05",
- "2273.0",
- "1.000461944566652"
- ],
- [
- "2026-04-27 16:10:00",
- "2274.28",
- "2274.2",
- "1.0000351772051712"
- ],
- [
- "2026-04-27 16:11:00",
- "2275.0",
- "2274.55",
- "1.0001978413312522"
- ],
- [
- "2026-04-27 16:12:00",
- "2276.41",
- "2276.2",
- "1.0000922590282049"
- ],
- [
- "2026-04-27 16:13:00",
- "2276.855",
- "2276.45",
- "1.0001779085857367"
- ],
- [
- "2026-04-27 16:14:00",
- "2276.4",
- "2276.1",
- "1.0001318044022671"
- ]
- ],
- "shape": {
- "columns": 3,
- "rows": 1404
- }
- },
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " price_median_aster | \n",
- " price_median_extend | \n",
- " ratio | \n",
- "
\n",
- " \n",
- " | timestamp_trade_dt | \n",
- " | \n",
- " | \n",
- " | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 2026-04-27 15:25:00 | \n",
- " 2267.300 | \n",
- " 2267.25 | \n",
- " 1.000022 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:26:00 | \n",
- " 2268.300 | \n",
- " 2267.60 | \n",
- " 1.000309 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:27:00 | \n",
- " 2271.610 | \n",
- " 2271.60 | \n",
- " 1.000004 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:28:00 | \n",
- " 2271.225 | \n",
- " 2270.70 | \n",
- " 1.000231 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:29:00 | \n",
- " 2273.095 | \n",
- " 2272.10 | \n",
- " 1.000438 | \n",
- "
\n",
- " \n",
- " | ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " | 2026-04-28 19:59:00 | \n",
- " 2300.945 | \n",
- " 2301.20 | \n",
- " 0.999889 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 20:00:00 | \n",
- " 2301.480 | \n",
- " 2300.50 | \n",
- " 1.000426 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 20:01:00 | \n",
- " 2301.980 | \n",
- " 2300.90 | \n",
- " 1.000469 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 20:02:00 | \n",
- " 2301.975 | \n",
- " 2300.90 | \n",
- " 1.000467 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 20:03:00 | \n",
- " 2302.430 | \n",
- " 2301.60 | \n",
- " 1.000361 | \n",
- "
\n",
- " \n",
- "
\n",
- "
1404 rows × 3 columns
\n",
- "
"
- ],
- "text/plain": [
- " price_median_aster price_median_extend ratio\n",
- "timestamp_trade_dt \n",
- "2026-04-27 15:25:00 2267.300 2267.25 1.000022\n",
- "2026-04-27 15:26:00 2268.300 2267.60 1.000309\n",
- "2026-04-27 15:27:00 2271.610 2271.60 1.000004\n",
- "2026-04-27 15:28:00 2271.225 2270.70 1.000231\n",
- "2026-04-27 15:29:00 2273.095 2272.10 1.000438\n",
- "... ... ... ...\n",
- "2026-04-28 19:59:00 2300.945 2301.20 0.999889\n",
- "2026-04-28 20:00:00 2301.480 2300.50 1.000426\n",
- "2026-04-28 20:01:00 2301.980 2300.90 1.000469\n",
- "2026-04-28 20:02:00 2301.975 2300.90 1.000467\n",
- "2026-04-28 20:03:00 2302.430 2301.60 1.000361\n",
- "\n",
- "[1404 rows x 3 columns]"
- ]
- },
- "execution_count": 18,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_comb_trades_by_sec_plot"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 199,
- "id": "b724d368",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.microsoft.datawrangler.viewer.v0+json": {
- "columns": [
- {
- "name": "timestamp_trade_dt",
- "rawType": "datetime64[ms]",
- "type": "datetime"
- },
- {
- "name": "price_median_aster",
- "rawType": "float64",
- "type": "float"
- },
- {
- "name": "price_median_extend",
- "rawType": "float64",
- "type": "float"
- },
- {
- "name": "ratio",
- "rawType": "float64",
- "type": "float"
- }
- ],
- "ref": "a60cea97-0362-41f0-907b-6427d6400779",
- "rows": [
- [
- "2026-04-27 15:24:00",
- "2267.7",
- "2269.5",
- "0.9992068737607401"
- ],
- [
- "2026-04-27 15:25:00",
- "2267.3",
- "2267.25",
- "1.000022053148087"
- ],
- [
- "2026-04-27 15:26:00",
- "2268.3",
- "2267.6",
- "1.0003086964191217"
- ],
- [
- "2026-04-27 15:27:00",
- "2271.6099999999997",
- "2271.6",
- "1.0000044021834829"
- ],
- [
- "2026-04-27 15:28:00",
- "2271.225",
- "2270.7",
- "1.0002312062359626"
- ],
- [
- "2026-04-27 15:29:00",
- "2273.0950000000003",
- "2272.1",
- "1.0004379208661591"
- ],
- [
- "2026-04-27 15:30:00",
- "2276.0",
- "2275.4",
- "1.0002636899006767"
- ],
- [
- "2026-04-27 15:31:00",
- "2280.21",
- "2282.05",
- "0.9991937074121952"
- ],
- [
- "2026-04-27 15:32:00",
- "2280.6",
- "2281.6",
- "0.9995617110799438"
- ],
- [
- "2026-04-27 15:33:00",
- "2281.0699999999997",
- "2280.45",
- "1.000271876164792"
- ],
- [
- "2026-04-27 15:34:00",
- "2279.6",
- "2279.0",
- "1.0002632733655112"
- ],
- [
- "2026-04-27 15:35:00",
- "2280.2650000000003",
- "2280.9",
- "0.9997216011223641"
- ],
- [
- "2026-04-27 15:36:00",
- "2279.71",
- "2280.2",
- "0.9997851065695993"
- ],
- [
- "2026-04-27 15:37:00",
- "2279.7",
- "2280.1",
- "0.9998245690978466"
- ],
- [
- "2026-04-27 15:38:00",
- "2279.755",
- "2279.7",
- "1.0000241259814888"
- ],
- [
- "2026-04-27 15:39:00",
- "2280.58",
- "2280.8",
- "0.9999035426166256"
- ],
- [
- "2026-04-27 15:40:00",
- "2279.92",
- "2280.4",
- "0.9997895106121732"
- ],
- [
- "2026-04-27 15:41:00",
- "2281.54",
- "2281.0",
- "1.0002367382726873"
- ],
- [
- "2026-04-27 15:42:00",
- "2282.005",
- "2282.4",
- "0.9998269365580091"
- ],
- [
- "2026-04-27 15:43:00",
- "2281.395",
- "2281.1",
- "1.0001293235719608"
- ],
- [
- "2026-04-27 15:44:00",
- "2281.3",
- "2281.7",
- "0.999824692115528"
- ],
- [
- "2026-04-27 15:45:00",
- "2280.5",
- "2280.8",
- "0.9998684672044895"
- ],
- [
- "2026-04-27 15:46:00",
- "2279.125",
- "2280.0",
- "0.9996162280701755"
- ],
- [
- "2026-04-27 15:47:00",
- "2278.645",
- "2278.6",
- "1.000019748968665"
- ],
- [
- "2026-04-27 15:48:00",
- "2276.79",
- "2277.2",
- "0.9998199543298789"
- ],
- [
- "2026-04-27 15:49:00",
- "2275.48",
- "2274.75",
- "1.0003209143861962"
- ],
- [
- "2026-04-27 15:50:00",
- "2273.98",
- "2272.9",
- "1.0004751638875444"
- ],
- [
- "2026-04-27 15:51:00",
- "2274.7",
- "2274.0",
- "1.0003078276165347"
- ],
- [
- "2026-04-27 15:52:00",
- "2273.29",
- "2274.2",
- "0.9995998592911793"
- ],
- [
- "2026-04-27 15:53:00",
- "2273.5550000000003",
- "2273.1",
- "1.0002001671725838"
- ],
- [
- "2026-04-27 15:54:00",
- "2274.57",
- "2274.4",
- "1.000074744987689"
- ],
- [
- "2026-04-27 15:55:00",
- "2275.09",
- "2274.8",
- "1.0001274837348337"
- ],
- [
- "2026-04-27 15:56:00",
- "2273.525",
- "2274.3",
- "0.9996592358088202"
- ],
- [
- "2026-04-27 15:57:00",
- "2273.23",
- "2273.2",
- "1.000013197254971"
- ],
- [
- "2026-04-27 15:58:00",
- "2272.91",
- "2272.8",
- "1.0000483984512494"
- ],
- [
- "2026-04-27 15:59:00",
- "2273.245",
- "2272.8",
- "1.0001957937346004"
- ],
- [
- "2026-04-27 16:00:00",
- "2271.72",
- "2272.0",
- "0.9998767605633802"
- ],
- [
- "2026-04-27 16:01:00",
- "2270.8",
- "2270.7",
- "1.0000440392830405"
- ],
- [
- "2026-04-27 16:02:00",
- "2271.3900000000003",
- "2270.9",
- "1.0002157734818795"
- ],
- [
- "2026-04-27 16:03:00",
- "2270.2",
- "2269.8",
- "1.0001762269803505"
- ],
- [
- "2026-04-27 16:04:00",
- "2273.14",
- "2273.7",
- "0.9997537054140828"
- ],
- [
- "2026-04-27 16:05:00",
- "2273.21",
- "2273.0",
- "1.0000923889133304"
- ],
- [
- "2026-04-27 16:06:00",
- "2274.925",
- "2275.1499999999996",
- "0.9999011054216208"
- ],
- [
- "2026-04-27 16:07:00",
- "2275.58",
- "2275.2",
- "1.000167018284107"
- ],
- [
- "2026-04-27 16:08:00",
- "2273.68",
- "2273.6",
- "1.0000351864883885"
- ],
- [
- "2026-04-27 16:09:00",
- "2274.05",
- "2273.0",
- "1.000461944566652"
- ],
- [
- "2026-04-27 16:10:00",
- "2274.28",
- "2274.2",
- "1.0000351772051712"
- ],
- [
- "2026-04-27 16:11:00",
- "2275.0",
- "2274.55",
- "1.0001978413312522"
- ],
- [
- "2026-04-27 16:12:00",
- "2276.41",
- "2276.2",
- "1.0000922590282049"
- ],
- [
- "2026-04-27 16:13:00",
- "2276.855",
- "2276.45",
- "1.0001779085857367"
- ]
- ],
- "shape": {
- "columns": 3,
- "rows": 624
- }
- },
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " price_median_aster | \n",
- " price_median_extend | \n",
- " ratio | \n",
- "
\n",
- " \n",
- " | timestamp_trade_dt | \n",
- " | \n",
- " | \n",
- " | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 2026-04-27 15:24:00 | \n",
- " 2267.700 | \n",
- " 2269.50 | \n",
- " 0.999207 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:25:00 | \n",
- " 2267.300 | \n",
- " 2267.25 | \n",
- " 1.000022 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:26:00 | \n",
- " 2268.300 | \n",
- " 2267.60 | \n",
- " 1.000309 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:27:00 | \n",
- " 2271.610 | \n",
- " 2271.60 | \n",
- " 1.000004 | \n",
- "
\n",
- " \n",
- " | 2026-04-27 15:28:00 | \n",
- " 2271.225 | \n",
- " 2270.70 | \n",
- " 1.000231 | \n",
- "
\n",
- " \n",
- " | ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " | 2026-04-28 03:54:00 | \n",
- " 2287.500 | \n",
- " 2287.10 | \n",
- " 1.000175 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 03:57:00 | \n",
- " 2289.310 | \n",
- " 2288.60 | \n",
- " 1.000310 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 04:01:00 | \n",
- " 2288.115 | \n",
- " 2288.20 | \n",
- " 0.999963 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 04:02:00 | \n",
- " 2287.370 | \n",
- " 2287.40 | \n",
- " 0.999987 | \n",
- "
\n",
- " \n",
- " | 2026-04-28 04:06:00 | \n",
- " 2287.710 | \n",
- " 2287.10 | \n",
- " 1.000267 | \n",
- "
\n",
- " \n",
- "
\n",
- "
624 rows × 3 columns
\n",
- "
"
- ],
- "text/plain": [
- " price_median_aster price_median_extend ratio\n",
- "timestamp_trade_dt \n",
- "2026-04-27 15:24:00 2267.700 2269.50 0.999207\n",
- "2026-04-27 15:25:00 2267.300 2267.25 1.000022\n",
- "2026-04-27 15:26:00 2268.300 2267.60 1.000309\n",
- "2026-04-27 15:27:00 2271.610 2271.60 1.000004\n",
- "2026-04-27 15:28:00 2271.225 2270.70 1.000231\n",
- "... ... ... ...\n",
- "2026-04-28 03:54:00 2287.500 2287.10 1.000175\n",
- "2026-04-28 03:57:00 2289.310 2288.60 1.000310\n",
- "2026-04-28 04:01:00 2288.115 2288.20 0.999963\n",
- "2026-04-28 04:02:00 2287.370 2287.40 0.999987\n",
- "2026-04-28 04:06:00 2287.710 2287.10 1.000267\n",
- "\n",
- "[624 rows x 3 columns]"
- ]
- },
- "execution_count": 199,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_comb_trades_by_sec"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 214,
- "id": "d228c87c",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.microsoft.datawrangler.viewer.v0+json": {
- "columns": [
- {
- "name": "timestamp_trade_dt",
- "rawType": "datetime64[ms]",
- "type": "datetime"
- },
- {
- "name": "0",
- "rawType": "float64",
- "type": "float"
- }
- ],
- "ref": "0b4e93ac-9fd8-4666-9cc1-a60f9750af0a",
- "rows": [
- [
- "2026-04-27 15:24:00",
- "-0.39240000000003966"
- ],
- [
- "2026-04-27 15:25:00",
- "0.010900000000039654"
- ],
- [
- "2026-04-27 15:26:00",
- "0.1526000000000595"
- ],
- [
- "2026-04-27 15:27:00",
- "0.0021799999999484497"
- ],
- [
- "2026-04-27 15:28:00",
- "0.11445000000001983"
- ],
- [
- "2026-04-27 15:29:00",
- "0.21691000000007535"
- ],
- [
- "2026-04-27 15:30:00",
- "0.13079999999998018"
- ],
- [
- "2026-04-27 15:31:00",
- "-0.40112000000003173"
- ],
- [
- "2026-04-27 15:32:00",
- "-0.218"
- ],
- [
- "2026-04-27 15:33:00",
- "0.13515999999997622"
- ],
- [
- "2026-04-27 15:34:00",
- "0.13079999999998018"
- ],
- [
- "2026-04-27 15:35:00",
- "-0.13842999999994846"
- ],
- [
- "2026-04-27 15:36:00",
- "-0.10681999999995241"
- ],
- [
- "2026-04-27 15:37:00",
- "-0.08720000000001983"
- ],
- [
- "2026-04-27 15:38:00",
- "0.011990000000063446"
- ],
- [
- "2026-04-27 15:39:00",
- "-0.047960000000055514"
- ],
- [
- "2026-04-27 15:40:00",
- "-0.10464000000000397"
- ],
- [
- "2026-04-27 15:41:00",
- "0.11771999999999207"
- ],
- [
- "2026-04-27 15:42:00",
- "-0.08610999999999604"
- ],
- [
- "2026-04-27 15:43:00",
- "0.06431000000001585"
- ],
- [
- "2026-04-27 15:44:00",
- "-0.08719999999992069"
- ],
- [
- "2026-04-27 15:45:00",
- "-0.06540000000003965"
- ],
- [
- "2026-04-27 15:46:00",
- "-0.19075"
- ],
- [
- "2026-04-27 15:47:00",
- "0.009810000000015862"
- ],
- [
- "2026-04-27 15:48:00",
- "-0.08937999999996828"
- ],
- [
- "2026-04-27 15:49:00",
- "0.15914000000000397"
- ],
- [
- "2026-04-27 15:50:00",
- "0.23543999999998413"
- ],
- [
- "2026-04-27 15:51:00",
- "0.15259999999996035"
- ],
- [
- "2026-04-27 15:52:00",
- "-0.19837999999996828"
- ],
- [
- "2026-04-27 15:53:00",
- "0.09919000000008327"
- ],
- [
- "2026-04-27 15:54:00",
- "0.03706000000001586"
- ],
- [
- "2026-04-27 15:55:00",
- "0.06321999999999207"
- ],
- [
- "2026-04-27 15:56:00",
- "-0.16895000000001983"
- ],
- [
- "2026-04-27 15:57:00",
- "0.006540000000043619"
- ],
- [
- "2026-04-27 15:58:00",
- "0.023979999999928624"
- ],
- [
- "2026-04-27 15:59:00",
- "0.09700999999993655"
- ],
- [
- "2026-04-27 16:00:00",
- "-0.06104000000004362"
- ],
- [
- "2026-04-27 16:01:00",
- "0.021800000000079308"
- ],
- [
- "2026-04-27 16:02:00",
- "0.10682000000005155"
- ],
- [
- "2026-04-27 16:03:00",
- "0.08719999999992069"
- ],
- [
- "2026-04-27 16:04:00",
- "-0.1220799999999881"
- ],
- [
- "2026-04-27 16:05:00",
- "0.04578000000000793"
- ],
- [
- "2026-04-27 16:06:00",
- "-0.049049999999881036"
- ],
- [
- "2026-04-27 16:07:00",
- "0.0828400000000238"
- ],
- [
- "2026-04-27 16:08:00",
- "0.01743999999998414"
- ],
- [
- "2026-04-27 16:09:00",
- "0.22890000000003966"
- ],
- [
- "2026-04-27 16:10:00",
- "0.017440000000083274"
- ],
- [
- "2026-04-27 16:11:00",
- "0.09809999999996034"
- ],
- [
- "2026-04-27 16:12:00",
- "0.04578000000000793"
- ],
- [
- "2026-04-27 16:13:00",
- "0.08829000000004363"
- ]
- ],
- "shape": {
- "columns": 1,
- "rows": 624
- }
- },
- "text/plain": [
- "timestamp_trade_dt\n",
- "2026-04-27 15:24:00 -0.39240\n",
- "2026-04-27 15:25:00 0.01090\n",
- "2026-04-27 15:26:00 0.15260\n",
- "2026-04-27 15:27:00 0.00218\n",
- "2026-04-27 15:28:00 0.11445\n",
- " ... \n",
- "2026-04-28 03:54:00 0.08720\n",
- "2026-04-28 03:57:00 0.15478\n",
- "2026-04-28 04:01:00 -0.01853\n",
- "2026-04-28 04:02:00 -0.00654\n",
- "2026-04-28 04:06:00 0.13298\n",
- "Length: 624, dtype: float64"
- ]
- },
- "execution_count": 214,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "(df_comb_trades_by_sec['price_median_aster'] - df_comb_trades_by_sec['price_median_extend']) * 0.218"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 216,
- "id": "2b286bff",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "np.float64(0.9999956335684463)"
- ]
- },
- "execution_count": 216,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_comb_trades_by_sec['ratio'].median()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
+ "execution_count": 105,
"id": "615f6b20",
"metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.plotly.v1+json": {
- "config": {
- "plotlyServerURL": "https://plot.ly"
- },
- "data": [
- {
- "name": "Ratio",
- "type": "scatter",
- "x": [
- "2026-04-27T15:25:00",
- "2026-04-27T15:26:00",
- "2026-04-27T15:27:00",
- "2026-04-27T15:28:00",
- "2026-04-27T15:29:00",
- "2026-04-27T15:30:00",
- "2026-04-27T15:31:00",
- "2026-04-27T15:32:00",
- "2026-04-27T15:33:00",
- "2026-04-27T15:34:00",
- "2026-04-27T15:35:00",
- "2026-04-27T15:36:00",
- "2026-04-27T15:37:00",
- "2026-04-27T15:38:00",
- "2026-04-27T15:39:00",
- "2026-04-27T15:40:00",
- "2026-04-27T15:41:00",
- "2026-04-27T15:42:00",
- "2026-04-27T15:43:00",
- "2026-04-27T15:44:00",
- "2026-04-27T15:45:00",
- "2026-04-27T15:46:00",
- "2026-04-27T15:47:00",
- "2026-04-27T15:48:00",
- "2026-04-27T15:49:00",
- "2026-04-27T15:50:00",
- "2026-04-27T15:51:00",
- "2026-04-27T15:52:00",
- "2026-04-27T15:53:00",
- "2026-04-27T15:54:00",
- "2026-04-27T15:55:00",
- "2026-04-27T15:56:00",
- "2026-04-27T15:57:00",
- "2026-04-27T15:58:00",
- "2026-04-27T15:59:00",
- "2026-04-27T16:00:00",
- "2026-04-27T16:01:00",
- "2026-04-27T16:02:00",
- "2026-04-27T16:03:00",
- "2026-04-27T16:04:00",
- "2026-04-27T16:05:00",
- "2026-04-27T16:06:00",
- "2026-04-27T16:07:00",
- "2026-04-27T16:08:00",
- "2026-04-27T16:09:00",
- "2026-04-27T16:10:00",
- "2026-04-27T16:11:00",
- "2026-04-27T16:12:00",
- "2026-04-27T16:13:00",
- "2026-04-27T16:14:00",
- "2026-04-27T16:15:00",
- "2026-04-27T16:16:00",
- "2026-04-27T16:17:00",
- "2026-04-27T16:18:00",
- "2026-04-27T16:19:00",
- "2026-04-27T16:20:00",
- "2026-04-27T16:21:00",
- "2026-04-27T16:22:00",
- "2026-04-27T16:23:00",
- "2026-04-27T16:24:00",
- "2026-04-27T16:25:00",
- "2026-04-27T16:26:00",
- "2026-04-27T16:27:00",
- "2026-04-27T16:28:00",
- "2026-04-27T16:29:00",
- "2026-04-27T16:30:00",
- "2026-04-27T16:31:00",
- "2026-04-27T16:32:00",
- "2026-04-27T16:33:00",
- "2026-04-27T16:34:00",
- "2026-04-27T16:35:00",
- "2026-04-27T16:36:00",
- "2026-04-27T16:38:00",
- "2026-04-27T16:39:00",
- "2026-04-27T16:40:00",
- "2026-04-27T16:41:00",
- "2026-04-27T16:43:00",
- "2026-04-27T16:44:00",
- "2026-04-27T16:45:00",
- "2026-04-27T16:46:00",
- "2026-04-27T16:47:00",
- "2026-04-27T16:48:00",
- "2026-04-27T16:49:00",
- "2026-04-27T16:50:00",
- "2026-04-27T16:51:00",
- "2026-04-27T16:52:00",
- "2026-04-27T16:53:00",
- "2026-04-27T16:54:00",
- "2026-04-27T16:55:00",
- "2026-04-27T16:56:00",
- "2026-04-27T16:57:00",
- "2026-04-27T16:58:00",
- "2026-04-27T17:00:00",
- "2026-04-27T17:01:00",
- "2026-04-27T17:02:00",
- "2026-04-27T17:03:00",
- "2026-04-27T17:04:00",
- "2026-04-27T17:05:00",
- "2026-04-27T17:06:00",
- "2026-04-27T17:07:00",
- "2026-04-27T17:08:00",
- "2026-04-27T17:09:00",
- "2026-04-27T17:10:00",
- "2026-04-27T17:11:00",
- "2026-04-27T17:12:00",
- "2026-04-27T17:13:00",
- "2026-04-27T17:14:00",
- "2026-04-27T17:15:00",
- "2026-04-27T17:16:00",
- "2026-04-27T17:18:00",
- "2026-04-27T17:19:00",
- "2026-04-27T17:20:00",
- "2026-04-27T17:23:00",
- "2026-04-27T17:24:00",
- "2026-04-27T17:25:00",
- "2026-04-27T17:26:00",
- "2026-04-27T17:27:00",
- "2026-04-27T17:28:00",
- "2026-04-27T17:29:00",
- "2026-04-27T17:30:00",
- "2026-04-27T17:31:00",
- "2026-04-27T17:32:00",
- "2026-04-27T17:33:00",
- "2026-04-27T17:34:00",
- "2026-04-27T17:35:00",
- "2026-04-27T17:36:00",
- "2026-04-27T17:37:00",
- "2026-04-27T17:38:00",
- "2026-04-27T17:39:00",
- "2026-04-27T17:40:00",
- "2026-04-27T17:41:00",
- "2026-04-27T17:42:00",
- "2026-04-27T17:43:00",
- "2026-04-27T17:44:00",
- "2026-04-27T17:45:00",
- "2026-04-27T17:46:00",
- "2026-04-27T17:47:00",
- "2026-04-27T17:48:00",
- "2026-04-27T17:49:00",
- "2026-04-27T17:50:00",
- "2026-04-27T17:51:00",
- "2026-04-27T17:53:00",
- "2026-04-27T17:54:00",
- "2026-04-27T17:55:00",
- "2026-04-27T17:56:00",
- "2026-04-27T17:58:00",
- "2026-04-27T18:00:00",
- "2026-04-27T18:01:00",
- "2026-04-27T18:02:00",
- "2026-04-27T18:03:00",
- "2026-04-27T18:04:00",
- "2026-04-27T18:05:00",
- "2026-04-27T18:06:00",
- "2026-04-27T18:07:00",
- "2026-04-27T18:08:00",
- "2026-04-27T18:09:00",
- "2026-04-27T18:10:00",
- "2026-04-27T18:11:00",
- "2026-04-27T18:12:00",
- "2026-04-27T18:13:00",
- "2026-04-27T18:14:00",
- "2026-04-27T18:17:00",
- "2026-04-27T18:18:00",
- "2026-04-27T18:19:00",
- "2026-04-27T18:20:00",
- "2026-04-27T18:21:00",
- "2026-04-27T18:23:00",
- "2026-04-27T18:24:00",
- "2026-04-27T18:25:00",
- "2026-04-27T18:26:00",
- "2026-04-27T18:28:00",
- "2026-04-27T18:30:00",
- "2026-04-27T18:31:00",
- "2026-04-27T18:32:00",
- "2026-04-27T18:33:00",
- "2026-04-27T18:34:00",
- "2026-04-27T18:35:00",
- "2026-04-27T18:38:00",
- "2026-04-27T18:39:00",
- "2026-04-27T18:40:00",
- "2026-04-27T18:41:00",
- "2026-04-27T18:42:00",
- "2026-04-27T18:43:00",
- "2026-04-27T18:45:00",
- "2026-04-27T18:46:00",
- "2026-04-27T18:47:00",
- "2026-04-27T18:48:00",
- "2026-04-27T18:49:00",
- "2026-04-27T18:50:00",
- "2026-04-27T18:51:00",
- "2026-04-27T18:52:00",
- "2026-04-27T18:53:00",
- "2026-04-27T18:54:00",
- "2026-04-27T18:55:00",
- "2026-04-27T18:56:00",
- "2026-04-27T18:57:00",
- "2026-04-27T18:58:00",
- "2026-04-27T19:00:00",
- "2026-04-27T19:01:00",
- "2026-04-27T19:02:00",
- "2026-04-27T19:03:00",
- "2026-04-27T19:04:00",
- "2026-04-27T19:05:00",
- "2026-04-27T19:06:00",
- "2026-04-27T19:07:00",
- "2026-04-27T19:13:00",
- "2026-04-27T19:14:00",
- "2026-04-27T19:15:00",
- "2026-04-27T19:16:00",
- "2026-04-27T19:17:00",
- "2026-04-27T19:18:00",
- "2026-04-27T19:19:00",
- "2026-04-27T19:20:00",
- "2026-04-27T19:21:00",
- "2026-04-27T19:22:00",
- "2026-04-27T19:23:00",
- "2026-04-27T19:24:00",
- "2026-04-27T19:25:00",
- "2026-04-27T19:26:00",
- "2026-04-27T19:27:00",
- "2026-04-27T19:28:00",
- "2026-04-27T19:29:00",
- "2026-04-27T19:30:00",
- "2026-04-27T19:31:00",
- "2026-04-27T19:32:00",
- "2026-04-27T19:33:00",
- "2026-04-27T19:35:00",
- "2026-04-27T19:36:00",
- "2026-04-27T19:37:00",
- "2026-04-27T19:38:00",
- "2026-04-27T19:39:00",
- "2026-04-27T19:40:00",
- "2026-04-27T19:41:00",
- "2026-04-27T19:42:00",
- "2026-04-27T19:43:00",
- "2026-04-27T19:44:00",
- "2026-04-27T19:45:00",
- "2026-04-27T19:46:00",
- "2026-04-27T19:47:00",
- "2026-04-27T19:48:00",
- "2026-04-27T19:49:00",
- "2026-04-27T19:50:00",
- "2026-04-27T19:51:00",
- "2026-04-27T19:52:00",
- "2026-04-27T19:55:00",
- "2026-04-27T19:56:00",
- "2026-04-27T19:57:00",
- "2026-04-27T19:59:00",
- "2026-04-27T20:00:00",
- "2026-04-27T20:01:00",
- "2026-04-27T20:03:00",
- "2026-04-27T20:04:00",
- "2026-04-27T20:05:00",
- "2026-04-27T20:06:00",
- "2026-04-27T20:07:00",
- "2026-04-27T20:08:00",
- "2026-04-27T20:09:00",
- "2026-04-27T20:10:00",
- "2026-04-27T20:11:00",
- "2026-04-27T20:12:00",
- "2026-04-27T20:13:00",
- "2026-04-27T20:14:00",
- "2026-04-27T20:15:00",
- "2026-04-27T20:16:00",
- "2026-04-27T20:17:00",
- "2026-04-27T20:20:00",
- "2026-04-27T20:21:00",
- "2026-04-27T20:22:00",
- "2026-04-27T20:26:00",
- "2026-04-27T20:27:00",
- "2026-04-27T20:30:00",
- "2026-04-27T20:31:00",
- "2026-04-27T20:32:00",
- "2026-04-27T20:33:00",
- "2026-04-27T20:34:00",
- "2026-04-27T20:35:00",
- "2026-04-27T20:36:00",
- "2026-04-27T20:37:00",
- "2026-04-27T20:38:00",
- "2026-04-27T20:39:00",
- "2026-04-27T20:40:00",
- "2026-04-27T20:44:00",
- "2026-04-27T20:45:00",
- "2026-04-27T20:46:00",
- "2026-04-27T20:52:00",
- "2026-04-27T20:54:00",
- "2026-04-27T20:58:00",
- "2026-04-27T20:59:00",
- "2026-04-27T21:00:00",
- "2026-04-27T21:01:00",
- "2026-04-27T21:02:00",
- "2026-04-27T21:03:00",
- "2026-04-27T21:04:00",
- "2026-04-27T21:05:00",
- "2026-04-27T21:06:00",
- "2026-04-27T21:07:00",
- "2026-04-27T21:08:00",
- "2026-04-27T21:09:00",
- "2026-04-27T21:10:00",
- "2026-04-27T21:11:00",
- "2026-04-27T21:12:00",
- "2026-04-27T21:15:00",
- "2026-04-27T21:16:00",
- "2026-04-27T21:17:00",
- "2026-04-27T21:18:00",
- "2026-04-27T21:19:00",
- "2026-04-27T21:20:00",
- "2026-04-27T21:29:00",
- "2026-04-27T21:30:00",
- "2026-04-27T21:32:00",
- "2026-04-27T21:33:00",
- "2026-04-27T21:34:00",
- "2026-04-27T21:36:00",
- "2026-04-27T21:37:00",
- "2026-04-27T21:38:00",
- "2026-04-27T21:40:00",
- "2026-04-27T21:41:00",
- "2026-04-27T21:42:00",
- "2026-04-27T21:43:00",
- "2026-04-27T21:44:00",
- "2026-04-27T21:45:00",
- "2026-04-27T21:46:00",
- "2026-04-27T21:47:00",
- "2026-04-27T21:48:00",
- "2026-04-27T21:50:00",
- "2026-04-27T21:51:00",
- "2026-04-27T21:52:00",
- "2026-04-27T21:53:00",
- "2026-04-27T21:54:00",
- "2026-04-27T21:55:00",
- "2026-04-27T21:56:00",
- "2026-04-27T21:59:00",
- "2026-04-27T22:00:00",
- "2026-04-27T22:01:00",
- "2026-04-27T22:02:00",
- "2026-04-27T22:03:00",
- "2026-04-27T22:04:00",
- "2026-04-27T22:05:00",
- "2026-04-27T22:06:00",
- "2026-04-27T22:07:00",
- "2026-04-27T22:08:00",
- "2026-04-27T22:09:00",
- "2026-04-27T22:10:00",
- "2026-04-27T22:11:00",
- "2026-04-27T22:12:00",
- "2026-04-27T22:15:00",
- "2026-04-27T22:16:00",
- "2026-04-27T22:17:00",
- "2026-04-27T22:20:00",
- "2026-04-27T22:21:00",
- "2026-04-27T22:23:00",
- "2026-04-27T22:24:00",
- "2026-04-27T22:28:00",
- "2026-04-27T22:29:00",
- "2026-04-27T22:30:00",
- "2026-04-27T22:31:00",
- "2026-04-27T22:32:00",
- "2026-04-27T22:33:00",
- "2026-04-27T22:34:00",
- "2026-04-27T22:35:00",
- "2026-04-27T22:36:00",
- "2026-04-27T22:38:00",
- "2026-04-27T22:44:00",
- "2026-04-27T22:45:00",
- "2026-04-27T22:48:00",
- "2026-04-27T22:49:00",
- "2026-04-27T22:50:00",
- "2026-04-27T22:51:00",
- "2026-04-27T22:52:00",
- "2026-04-27T22:55:00",
- "2026-04-27T22:56:00",
- "2026-04-27T22:58:00",
- "2026-04-27T22:59:00",
- "2026-04-27T23:00:00",
- "2026-04-27T23:02:00",
- "2026-04-27T23:04:00",
- "2026-04-27T23:05:00",
- "2026-04-27T23:06:00",
- "2026-04-27T23:07:00",
- "2026-04-27T23:09:00",
- "2026-04-27T23:10:00",
- "2026-04-27T23:11:00",
- "2026-04-27T23:12:00",
- "2026-04-27T23:13:00",
- "2026-04-27T23:16:00",
- "2026-04-27T23:17:00",
- "2026-04-27T23:18:00",
- "2026-04-27T23:19:00",
- "2026-04-27T23:20:00",
- "2026-04-27T23:23:00",
- "2026-04-27T23:24:00",
- "2026-04-27T23:25:00",
- "2026-04-27T23:26:00",
- "2026-04-27T23:28:00",
- "2026-04-27T23:29:00",
- "2026-04-27T23:31:00",
- "2026-04-27T23:32:00",
- "2026-04-27T23:33:00",
- "2026-04-27T23:35:00",
- "2026-04-27T23:36:00",
- "2026-04-27T23:37:00",
- "2026-04-27T23:38:00",
- "2026-04-27T23:39:00",
- "2026-04-27T23:40:00",
- "2026-04-27T23:41:00",
- "2026-04-27T23:42:00",
- "2026-04-27T23:43:00",
- "2026-04-27T23:44:00",
- "2026-04-27T23:45:00",
- "2026-04-27T23:46:00",
- "2026-04-27T23:47:00",
- "2026-04-27T23:48:00",
- "2026-04-27T23:49:00",
- "2026-04-27T23:50:00",
- "2026-04-27T23:51:00",
- "2026-04-27T23:52:00",
- "2026-04-27T23:53:00",
- "2026-04-27T23:54:00",
- "2026-04-27T23:55:00",
- "2026-04-27T23:56:00",
- "2026-04-27T23:57:00",
- "2026-04-27T23:58:00",
- "2026-04-28T00:00:00",
- "2026-04-28T00:01:00",
- "2026-04-28T00:03:00",
- "2026-04-28T00:04:00",
- "2026-04-28T00:05:00",
- "2026-04-28T00:06:00",
- "2026-04-28T00:07:00",
- "2026-04-28T00:09:00",
- "2026-04-28T00:10:00",
- "2026-04-28T00:11:00",
- "2026-04-28T00:12:00",
- "2026-04-28T00:13:00",
- "2026-04-28T00:14:00",
- "2026-04-28T00:15:00",
- "2026-04-28T00:16:00",
- "2026-04-28T00:17:00",
- "2026-04-28T00:18:00",
- "2026-04-28T00:19:00",
- "2026-04-28T00:20:00",
- "2026-04-28T00:21:00",
- "2026-04-28T00:23:00",
- "2026-04-28T00:24:00",
- "2026-04-28T00:26:00",
- "2026-04-28T00:27:00",
- "2026-04-28T00:28:00",
- "2026-04-28T00:30:00",
- "2026-04-28T00:33:00",
- "2026-04-28T00:34:00",
- "2026-04-28T00:35:00",
- "2026-04-28T00:37:00",
- "2026-04-28T00:39:00",
- "2026-04-28T00:40:00",
- "2026-04-28T00:41:00",
- "2026-04-28T00:42:00",
- "2026-04-28T00:43:00",
- "2026-04-28T00:44:00",
- "2026-04-28T00:45:00",
- "2026-04-28T00:46:00",
- "2026-04-28T00:47:00",
- "2026-04-28T00:48:00",
- "2026-04-28T00:49:00",
- "2026-04-28T00:50:00",
- "2026-04-28T00:51:00",
- "2026-04-28T00:52:00",
- "2026-04-28T00:56:00",
- "2026-04-28T00:57:00",
- "2026-04-28T00:58:00",
- "2026-04-28T00:59:00",
- "2026-04-28T01:00:00",
- "2026-04-28T01:02:00",
- "2026-04-28T01:04:00",
- "2026-04-28T01:06:00",
- "2026-04-28T01:07:00",
- "2026-04-28T01:08:00",
- "2026-04-28T01:09:00",
- "2026-04-28T01:10:00",
- "2026-04-28T01:11:00",
- "2026-04-28T01:12:00",
- "2026-04-28T01:13:00",
- "2026-04-28T01:14:00",
- "2026-04-28T01:15:00",
- "2026-04-28T01:16:00",
- "2026-04-28T01:17:00",
- "2026-04-28T01:18:00",
- "2026-04-28T01:19:00",
- "2026-04-28T01:20:00",
- "2026-04-28T01:21:00",
- "2026-04-28T01:22:00",
- "2026-04-28T01:23:00",
- "2026-04-28T01:24:00",
- "2026-04-28T01:25:00",
- "2026-04-28T01:26:00",
- "2026-04-28T01:27:00",
- "2026-04-28T01:28:00",
- "2026-04-28T01:29:00",
- "2026-04-28T01:30:00",
- "2026-04-28T01:31:00",
- "2026-04-28T01:32:00",
- "2026-04-28T01:33:00",
- "2026-04-28T01:34:00",
- "2026-04-28T01:35:00",
- "2026-04-28T01:36:00",
- "2026-04-28T01:37:00",
- "2026-04-28T01:38:00",
- "2026-04-28T01:39:00",
- "2026-04-28T01:40:00",
- "2026-04-28T01:41:00",
- "2026-04-28T01:42:00",
- "2026-04-28T01:43:00",
- "2026-04-28T01:44:00",
- "2026-04-28T01:45:00",
- "2026-04-28T01:46:00",
- "2026-04-28T01:47:00",
- "2026-04-28T01:48:00",
- "2026-04-28T01:49:00",
- "2026-04-28T01:50:00",
- "2026-04-28T01:51:00",
- "2026-04-28T01:52:00",
- "2026-04-28T01:53:00",
- "2026-04-28T01:54:00",
- "2026-04-28T01:55:00",
- "2026-04-28T01:56:00",
- "2026-04-28T01:57:00",
- "2026-04-28T01:58:00",
- "2026-04-28T01:59:00",
- "2026-04-28T02:00:00",
- "2026-04-28T02:01:00",
- "2026-04-28T02:02:00",
- "2026-04-28T02:03:00",
- "2026-04-28T02:04:00",
- "2026-04-28T02:05:00",
- "2026-04-28T02:06:00",
- "2026-04-28T02:07:00",
- "2026-04-28T02:09:00",
- "2026-04-28T02:10:00",
- "2026-04-28T02:12:00",
- "2026-04-28T02:15:00",
- "2026-04-28T02:16:00",
- "2026-04-28T02:17:00",
- "2026-04-28T02:19:00",
- "2026-04-28T02:20:00",
- "2026-04-28T02:22:00",
- "2026-04-28T02:24:00",
- "2026-04-28T02:25:00",
- "2026-04-28T02:26:00",
- "2026-04-28T02:27:00",
- "2026-04-28T02:28:00",
- "2026-04-28T02:29:00",
- "2026-04-28T02:30:00",
- "2026-04-28T02:31:00",
- "2026-04-28T02:32:00",
- "2026-04-28T02:33:00",
- "2026-04-28T02:34:00",
- "2026-04-28T02:35:00",
- "2026-04-28T02:36:00",
- "2026-04-28T02:37:00",
- "2026-04-28T02:38:00",
- "2026-04-28T02:39:00",
- "2026-04-28T02:40:00",
- "2026-04-28T02:41:00",
- "2026-04-28T02:42:00",
- "2026-04-28T02:43:00",
- "2026-04-28T02:44:00",
- "2026-04-28T02:45:00",
- "2026-04-28T02:46:00",
- "2026-04-28T02:48:00",
- "2026-04-28T02:49:00",
- "2026-04-28T02:50:00",
- "2026-04-28T02:51:00",
- "2026-04-28T02:52:00",
- "2026-04-28T02:53:00",
- "2026-04-28T02:54:00",
- "2026-04-28T02:55:00",
- "2026-04-28T02:57:00",
- "2026-04-28T02:58:00",
- "2026-04-28T02:59:00",
- "2026-04-28T03:00:00",
- "2026-04-28T03:01:00",
- "2026-04-28T03:02:00",
- "2026-04-28T03:03:00",
- "2026-04-28T03:04:00",
- "2026-04-28T03:05:00",
- "2026-04-28T03:06:00",
- "2026-04-28T03:07:00",
- "2026-04-28T03:08:00",
- "2026-04-28T03:09:00",
- "2026-04-28T03:10:00",
- "2026-04-28T03:11:00",
- "2026-04-28T03:12:00",
- "2026-04-28T03:13:00",
- "2026-04-28T03:15:00",
- "2026-04-28T03:17:00",
- "2026-04-28T03:18:00",
- "2026-04-28T03:19:00",
- "2026-04-28T03:20:00",
- "2026-04-28T03:22:00",
- "2026-04-28T03:23:00",
- "2026-04-28T03:24:00",
- "2026-04-28T03:26:00",
- "2026-04-28T03:28:00",
- "2026-04-28T03:29:00",
- "2026-04-28T03:30:00",
- "2026-04-28T03:31:00",
- "2026-04-28T03:34:00",
- "2026-04-28T03:35:00",
- "2026-04-28T03:36:00",
- "2026-04-28T03:37:00",
- "2026-04-28T03:38:00",
- "2026-04-28T03:39:00",
- "2026-04-28T03:40:00",
- "2026-04-28T03:41:00",
- "2026-04-28T03:44:00",
- "2026-04-28T03:45:00",
- "2026-04-28T03:46:00",
- "2026-04-28T03:50:00",
- "2026-04-28T03:51:00",
- "2026-04-28T03:54:00",
- "2026-04-28T03:57:00",
- "2026-04-28T04:01:00",
- "2026-04-28T04:02:00",
- "2026-04-28T04:06:00",
- "2026-04-28T04:08:00",
- "2026-04-28T04:10:00",
- "2026-04-28T04:11:00",
- "2026-04-28T04:12:00",
- "2026-04-28T04:14:00",
- "2026-04-28T04:15:00",
- "2026-04-28T04:16:00",
- "2026-04-28T04:17:00",
- "2026-04-28T04:18:00",
- "2026-04-28T04:19:00",
- "2026-04-28T04:20:00",
- "2026-04-28T04:21:00",
- "2026-04-28T04:23:00",
- "2026-04-28T04:24:00",
- "2026-04-28T04:25:00",
- "2026-04-28T04:26:00",
- "2026-04-28T04:30:00",
- "2026-04-28T04:32:00",
- "2026-04-28T04:33:00",
- "2026-04-28T04:34:00",
- "2026-04-28T04:35:00",
- "2026-04-28T04:36:00",
- "2026-04-28T04:37:00",
- "2026-04-28T04:40:00",
- "2026-04-28T04:41:00",
- "2026-04-28T04:42:00",
- "2026-04-28T04:43:00",
- "2026-04-28T04:46:00",
- "2026-04-28T04:50:00",
- "2026-04-28T04:51:00",
- "2026-04-28T04:56:00",
- "2026-04-28T04:57:00",
- "2026-04-28T04:58:00",
- "2026-04-28T04:59:00",
- "2026-04-28T05:00:00",
- "2026-04-28T05:03:00",
- "2026-04-28T05:04:00",
- "2026-04-28T05:05:00",
- "2026-04-28T05:06:00",
- "2026-04-28T05:07:00",
- "2026-04-28T05:08:00",
- "2026-04-28T05:09:00",
- "2026-04-28T05:10:00",
- "2026-04-28T05:11:00",
- "2026-04-28T05:12:00",
- "2026-04-28T05:13:00",
- "2026-04-28T05:14:00",
- "2026-04-28T05:17:00",
- "2026-04-28T05:18:00",
- "2026-04-28T05:19:00",
- "2026-04-28T05:23:00",
- "2026-04-28T05:24:00",
- "2026-04-28T05:26:00",
- "2026-04-28T05:28:00",
- "2026-04-28T05:29:00",
- "2026-04-28T05:30:00",
- "2026-04-28T05:31:00",
- "2026-04-28T05:32:00",
- "2026-04-28T05:34:00",
- "2026-04-28T05:35:00",
- "2026-04-28T05:36:00",
- "2026-04-28T05:38:00",
- "2026-04-28T05:39:00",
- "2026-04-28T05:40:00",
- "2026-04-28T05:41:00",
- "2026-04-28T05:42:00",
- "2026-04-28T05:45:00",
- "2026-04-28T05:48:00",
- "2026-04-28T05:49:00",
- "2026-04-28T05:51:00",
- "2026-04-28T05:52:00",
- "2026-04-28T05:54:00",
- "2026-04-28T05:56:00",
- "2026-04-28T05:59:00",
- "2026-04-28T06:00:00",
- "2026-04-28T06:02:00",
- "2026-04-28T06:03:00",
- "2026-04-28T06:04:00",
- "2026-04-28T06:06:00",
- "2026-04-28T06:08:00",
- "2026-04-28T06:09:00",
- "2026-04-28T06:10:00",
- "2026-04-28T06:11:00",
- "2026-04-28T06:12:00",
- "2026-04-28T06:13:00",
- "2026-04-28T06:14:00",
- "2026-04-28T06:15:00",
- "2026-04-28T06:16:00",
- "2026-04-28T06:18:00",
- "2026-04-28T06:20:00",
- "2026-04-28T06:21:00",
- "2026-04-28T06:22:00",
- "2026-04-28T06:23:00",
- "2026-04-28T06:24:00",
- "2026-04-28T06:25:00",
- "2026-04-28T06:26:00",
- "2026-04-28T06:27:00",
- "2026-04-28T06:28:00",
- "2026-04-28T06:30:00",
- "2026-04-28T06:31:00",
- "2026-04-28T06:32:00",
- "2026-04-28T06:34:00",
- "2026-04-28T06:36:00",
- "2026-04-28T06:37:00",
- "2026-04-28T06:38:00",
- "2026-04-28T06:39:00",
- "2026-04-28T06:40:00",
- "2026-04-28T06:41:00",
- "2026-04-28T06:42:00",
- "2026-04-28T06:43:00",
- "2026-04-28T06:44:00",
- "2026-04-28T06:45:00",
- "2026-04-28T06:46:00",
- "2026-04-28T06:47:00",
- "2026-04-28T06:48:00",
- "2026-04-28T06:49:00",
- "2026-04-28T06:50:00",
- "2026-04-28T06:52:00",
- "2026-04-28T06:54:00",
- "2026-04-28T06:55:00",
- "2026-04-28T06:56:00",
- "2026-04-28T06:57:00",
- "2026-04-28T06:58:00",
- "2026-04-28T06:59:00",
- "2026-04-28T07:00:00",
- "2026-04-28T07:01:00",
- "2026-04-28T07:02:00",
- "2026-04-28T07:03:00",
- "2026-04-28T07:04:00",
- "2026-04-28T07:05:00",
- "2026-04-28T07:06:00",
- "2026-04-28T07:07:00",
- "2026-04-28T07:09:00",
- "2026-04-28T07:10:00",
- "2026-04-28T07:12:00",
- "2026-04-28T07:13:00",
- "2026-04-28T07:14:00",
- "2026-04-28T07:15:00",
- "2026-04-28T07:16:00",
- "2026-04-28T07:17:00",
- "2026-04-28T07:18:00",
- "2026-04-28T07:19:00",
- "2026-04-28T07:20:00",
- "2026-04-28T07:21:00",
- "2026-04-28T07:22:00",
- "2026-04-28T07:23:00",
- "2026-04-28T07:24:00",
- "2026-04-28T07:27:00",
- "2026-04-28T07:28:00",
- "2026-04-28T07:29:00",
- "2026-04-28T07:31:00",
- "2026-04-28T07:34:00",
- "2026-04-28T07:36:00",
- "2026-04-28T07:37:00",
- "2026-04-28T07:39:00",
- "2026-04-28T07:41:00",
- "2026-04-28T07:42:00",
- "2026-04-28T07:43:00",
- "2026-04-28T07:45:00",
- "2026-04-28T07:46:00",
- "2026-04-28T07:47:00",
- "2026-04-28T07:48:00",
- "2026-04-28T07:49:00",
- "2026-04-28T07:54:00",
- "2026-04-28T07:55:00",
- "2026-04-28T07:58:00",
- "2026-04-28T08:00:00",
- "2026-04-28T08:01:00",
- "2026-04-28T08:02:00",
- "2026-04-28T08:03:00",
- "2026-04-28T08:04:00",
- "2026-04-28T08:06:00",
- "2026-04-28T08:09:00",
- "2026-04-28T08:10:00",
- "2026-04-28T08:11:00",
- "2026-04-28T08:13:00",
- "2026-04-28T08:14:00",
- "2026-04-28T08:16:00",
- "2026-04-28T08:17:00",
- "2026-04-28T08:18:00",
- "2026-04-28T08:19:00",
- "2026-04-28T08:21:00",
- "2026-04-28T08:22:00",
- "2026-04-28T08:23:00",
- "2026-04-28T08:24:00",
- "2026-04-28T08:25:00",
- "2026-04-28T08:26:00",
- "2026-04-28T08:29:00",
- "2026-04-28T08:30:00",
- "2026-04-28T08:32:00",
- "2026-04-28T08:33:00",
- "2026-04-28T08:34:00",
- "2026-04-28T08:35:00",
- "2026-04-28T08:38:00",
- "2026-04-28T08:39:00",
- "2026-04-28T08:40:00",
- "2026-04-28T08:41:00",
- "2026-04-28T08:42:00",
- "2026-04-28T08:43:00",
- "2026-04-28T08:45:00",
- "2026-04-28T08:46:00",
- "2026-04-28T08:47:00",
- "2026-04-28T08:48:00",
- "2026-04-28T08:49:00",
- "2026-04-28T08:50:00",
- "2026-04-28T08:51:00",
- "2026-04-28T08:54:00",
- "2026-04-28T08:58:00",
- "2026-04-28T08:59:00",
- "2026-04-28T09:00:00",
- "2026-04-28T09:01:00",
- "2026-04-28T09:02:00",
- "2026-04-28T09:03:00",
- "2026-04-28T09:07:00",
- "2026-04-28T09:10:00",
- "2026-04-28T09:11:00",
- "2026-04-28T09:12:00",
- "2026-04-28T09:13:00",
- "2026-04-28T09:15:00",
- "2026-04-28T09:16:00",
- "2026-04-28T09:19:00",
- "2026-04-28T09:20:00",
- "2026-04-28T09:21:00",
- "2026-04-28T09:22:00",
- "2026-04-28T09:23:00",
- "2026-04-28T09:25:00",
- "2026-04-28T09:26:00",
- "2026-04-28T09:30:00",
- "2026-04-28T09:31:00",
- "2026-04-28T09:32:00",
- "2026-04-28T09:33:00",
- "2026-04-28T09:34:00",
- "2026-04-28T09:35:00",
- "2026-04-28T09:36:00",
- "2026-04-28T09:38:00",
- "2026-04-28T09:40:00",
- "2026-04-28T09:42:00",
- "2026-04-28T09:43:00",
- "2026-04-28T09:44:00",
- "2026-04-28T09:45:00",
- "2026-04-28T09:46:00",
- "2026-04-28T09:47:00",
- "2026-04-28T09:48:00",
- "2026-04-28T09:49:00",
- "2026-04-28T09:50:00",
- "2026-04-28T09:51:00",
- "2026-04-28T09:52:00",
- "2026-04-28T09:55:00",
- "2026-04-28T09:56:00",
- "2026-04-28T09:57:00",
- "2026-04-28T10:01:00",
- "2026-04-28T10:02:00",
- "2026-04-28T10:03:00",
- "2026-04-28T10:04:00",
- "2026-04-28T10:05:00",
- "2026-04-28T10:06:00",
- "2026-04-28T10:07:00",
- "2026-04-28T10:08:00",
- "2026-04-28T10:09:00",
- "2026-04-28T10:10:00",
- "2026-04-28T10:11:00",
- "2026-04-28T10:13:00",
- "2026-04-28T10:14:00",
- "2026-04-28T10:15:00",
- "2026-04-28T10:16:00",
- "2026-04-28T10:17:00",
- "2026-04-28T10:18:00",
- "2026-04-28T10:19:00",
- "2026-04-28T10:20:00",
- "2026-04-28T10:21:00",
- "2026-04-28T10:22:00",
- "2026-04-28T10:23:00",
- "2026-04-28T10:24:00",
- "2026-04-28T10:25:00",
- "2026-04-28T10:27:00",
- "2026-04-28T10:31:00",
- "2026-04-28T10:32:00",
- "2026-04-28T10:34:00",
- "2026-04-28T10:35:00",
- "2026-04-28T10:38:00",
- "2026-04-28T10:39:00",
- "2026-04-28T10:40:00",
- "2026-04-28T10:42:00",
- "2026-04-28T10:43:00",
- "2026-04-28T10:47:00",
- "2026-04-28T10:48:00",
- "2026-04-28T10:51:00",
- "2026-04-28T10:56:00",
- "2026-04-28T10:57:00",
- "2026-04-28T11:00:00",
- "2026-04-28T11:01:00",
- "2026-04-28T11:02:00",
- "2026-04-28T11:03:00",
- "2026-04-28T11:04:00",
- "2026-04-28T11:05:00",
- "2026-04-28T11:06:00",
- "2026-04-28T11:07:00",
- "2026-04-28T11:08:00",
- "2026-04-28T11:09:00",
- "2026-04-28T11:10:00",
- "2026-04-28T11:11:00",
- "2026-04-28T11:12:00",
- "2026-04-28T11:13:00",
- "2026-04-28T11:15:00",
- "2026-04-28T11:16:00",
- "2026-04-28T11:17:00",
- "2026-04-28T11:18:00",
- "2026-04-28T11:19:00",
- "2026-04-28T11:21:00",
- "2026-04-28T11:22:00",
- "2026-04-28T11:23:00",
- "2026-04-28T11:24:00",
- "2026-04-28T11:25:00",
- "2026-04-28T11:26:00",
- "2026-04-28T11:27:00",
- "2026-04-28T11:28:00",
- "2026-04-28T11:29:00",
- "2026-04-28T11:30:00",
- "2026-04-28T11:31:00",
- "2026-04-28T11:32:00",
- "2026-04-28T11:33:00",
- "2026-04-28T11:35:00",
- "2026-04-28T11:36:00",
- "2026-04-28T11:37:00",
- "2026-04-28T11:38:00",
- "2026-04-28T11:39:00",
- "2026-04-28T11:40:00",
- "2026-04-28T11:41:00",
- "2026-04-28T11:44:00",
- "2026-04-28T11:45:00",
- "2026-04-28T11:46:00",
- "2026-04-28T11:47:00",
- "2026-04-28T11:48:00",
- "2026-04-28T11:49:00",
- "2026-04-28T11:50:00",
- "2026-04-28T11:51:00",
- "2026-04-28T11:52:00",
- "2026-04-28T11:53:00",
- "2026-04-28T11:54:00",
- "2026-04-28T11:55:00",
- "2026-04-28T11:56:00",
- "2026-04-28T11:57:00",
- "2026-04-28T11:59:00",
- "2026-04-28T12:00:00",
- "2026-04-28T12:01:00",
- "2026-04-28T12:02:00",
- "2026-04-28T12:03:00",
- "2026-04-28T12:04:00",
- "2026-04-28T12:05:00",
- "2026-04-28T12:06:00",
- "2026-04-28T12:07:00",
- "2026-04-28T12:09:00",
- "2026-04-28T12:10:00",
- "2026-04-28T12:11:00",
- "2026-04-28T12:12:00",
- "2026-04-28T12:13:00",
- "2026-04-28T12:14:00",
- "2026-04-28T12:15:00",
- "2026-04-28T12:16:00",
- "2026-04-28T12:18:00",
- "2026-04-28T12:19:00",
- "2026-04-28T12:20:00",
- "2026-04-28T12:21:00",
- "2026-04-28T12:22:00",
- "2026-04-28T12:23:00",
- "2026-04-28T12:24:00",
- "2026-04-28T12:25:00",
- "2026-04-28T12:26:00",
- "2026-04-28T12:29:00",
- "2026-04-28T12:30:00",
- "2026-04-28T12:31:00",
- "2026-04-28T12:33:00",
- "2026-04-28T12:34:00",
- "2026-04-28T12:35:00",
- "2026-04-28T12:36:00",
- "2026-04-28T12:38:00",
- "2026-04-28T12:40:00",
- "2026-04-28T12:41:00",
- "2026-04-28T12:42:00",
- "2026-04-28T12:43:00",
- "2026-04-28T12:44:00",
- "2026-04-28T12:45:00",
- "2026-04-28T12:46:00",
- "2026-04-28T12:48:00",
- "2026-04-28T12:49:00",
- "2026-04-28T12:51:00",
- "2026-04-28T12:52:00",
- "2026-04-28T12:53:00",
- "2026-04-28T12:54:00",
- "2026-04-28T12:57:00",
- "2026-04-28T13:00:00",
- "2026-04-28T13:01:00",
- "2026-04-28T13:02:00",
- "2026-04-28T13:03:00",
- "2026-04-28T13:04:00",
- "2026-04-28T13:05:00",
- "2026-04-28T13:06:00",
- "2026-04-28T13:07:00",
- "2026-04-28T13:08:00",
- "2026-04-28T13:09:00",
- "2026-04-28T13:10:00",
- "2026-04-28T13:11:00",
- "2026-04-28T13:12:00",
- "2026-04-28T13:13:00",
- "2026-04-28T13:14:00",
- "2026-04-28T13:15:00",
- "2026-04-28T13:16:00",
- "2026-04-28T13:17:00",
- "2026-04-28T13:18:00",
- "2026-04-28T13:19:00",
- "2026-04-28T13:20:00",
- "2026-04-28T13:21:00",
- "2026-04-28T13:22:00",
- "2026-04-28T13:23:00",
- "2026-04-28T13:24:00",
- "2026-04-28T13:25:00",
- "2026-04-28T13:26:00",
- "2026-04-28T13:27:00",
- "2026-04-28T13:28:00",
- "2026-04-28T13:29:00",
- "2026-04-28T13:30:00",
- "2026-04-28T13:31:00",
- "2026-04-28T13:32:00",
- "2026-04-28T13:33:00",
- "2026-04-28T13:34:00",
- "2026-04-28T13:35:00",
- "2026-04-28T13:36:00",
- "2026-04-28T13:37:00",
- "2026-04-28T13:38:00",
- "2026-04-28T13:39:00",
- "2026-04-28T13:40:00",
- "2026-04-28T13:41:00",
- "2026-04-28T13:42:00",
- "2026-04-28T13:43:00",
- "2026-04-28T13:44:00",
- "2026-04-28T13:45:00",
- "2026-04-28T13:46:00",
- "2026-04-28T13:47:00",
- "2026-04-28T13:48:00",
- "2026-04-28T13:49:00",
- "2026-04-28T13:50:00",
- "2026-04-28T13:51:00",
- "2026-04-28T13:52:00",
- "2026-04-28T13:53:00",
- "2026-04-28T13:54:00",
- "2026-04-28T13:55:00",
- "2026-04-28T13:56:00",
- "2026-04-28T13:57:00",
- "2026-04-28T13:58:00",
- "2026-04-28T13:59:00",
- "2026-04-28T14:00:00",
- "2026-04-28T14:01:00",
- "2026-04-28T14:02:00",
- "2026-04-28T14:04:00",
- "2026-04-28T14:05:00",
- "2026-04-28T14:06:00",
- "2026-04-28T14:07:00",
- "2026-04-28T14:08:00",
- "2026-04-28T14:09:00",
- "2026-04-28T14:10:00",
- "2026-04-28T14:11:00",
- "2026-04-28T14:12:00",
- "2026-04-28T14:13:00",
- "2026-04-28T14:14:00",
- "2026-04-28T14:15:00",
- "2026-04-28T14:16:00",
- "2026-04-28T14:17:00",
- "2026-04-28T14:18:00",
- "2026-04-28T14:19:00",
- "2026-04-28T14:21:00",
- "2026-04-28T14:22:00",
- "2026-04-28T14:23:00",
- "2026-04-28T14:24:00",
- "2026-04-28T14:25:00",
- "2026-04-28T14:26:00",
- "2026-04-28T14:27:00",
- "2026-04-28T14:28:00",
- "2026-04-28T14:29:00",
- "2026-04-28T14:30:00",
- "2026-04-28T14:31:00",
- "2026-04-28T14:32:00",
- "2026-04-28T14:33:00",
- "2026-04-28T14:34:00",
- "2026-04-28T14:35:00",
- "2026-04-28T14:36:00",
- "2026-04-28T14:37:00",
- "2026-04-28T14:38:00",
- "2026-04-28T14:39:00",
- "2026-04-28T14:40:00",
- "2026-04-28T14:41:00",
- "2026-04-28T14:42:00",
- "2026-04-28T14:43:00",
- "2026-04-28T14:44:00",
- "2026-04-28T14:45:00",
- "2026-04-28T14:46:00",
- "2026-04-28T14:47:00",
- "2026-04-28T14:48:00",
- "2026-04-28T14:49:00",
- "2026-04-28T14:50:00",
- "2026-04-28T14:51:00",
- "2026-04-28T14:52:00",
- "2026-04-28T14:53:00",
- "2026-04-28T14:54:00",
- "2026-04-28T14:55:00",
- "2026-04-28T14:56:00",
- "2026-04-28T14:57:00",
- "2026-04-28T14:58:00",
- "2026-04-28T14:59:00",
- "2026-04-28T15:00:00",
- "2026-04-28T15:01:00",
- "2026-04-28T15:02:00",
- "2026-04-28T15:03:00",
- "2026-04-28T15:05:00",
- "2026-04-28T15:06:00",
- "2026-04-28T15:07:00",
- "2026-04-28T15:08:00",
- "2026-04-28T15:09:00",
- "2026-04-28T15:10:00",
- "2026-04-28T15:11:00",
- "2026-04-28T15:12:00",
- "2026-04-28T15:13:00",
- "2026-04-28T15:14:00",
- "2026-04-28T15:15:00",
- "2026-04-28T15:16:00",
- "2026-04-28T15:17:00",
- "2026-04-28T15:18:00",
- "2026-04-28T15:19:00",
- "2026-04-28T15:20:00",
- "2026-04-28T15:21:00",
- "2026-04-28T15:22:00",
- "2026-04-28T15:23:00",
- "2026-04-28T15:24:00",
- "2026-04-28T15:25:00",
- "2026-04-28T15:26:00",
- "2026-04-28T15:27:00",
- "2026-04-28T15:28:00",
- "2026-04-28T15:29:00",
- "2026-04-28T15:30:00",
- "2026-04-28T15:31:00",
- "2026-04-28T15:33:00",
- "2026-04-28T15:34:00",
- "2026-04-28T15:35:00",
- "2026-04-28T15:37:00",
- "2026-04-28T15:38:00",
- "2026-04-28T15:39:00",
- "2026-04-28T15:41:00",
- "2026-04-28T15:42:00",
- "2026-04-28T15:43:00",
- "2026-04-28T15:44:00",
- "2026-04-28T15:45:00",
- "2026-04-28T15:46:00",
- "2026-04-28T15:47:00",
- "2026-04-28T15:48:00",
- "2026-04-28T15:49:00",
- "2026-04-28T15:50:00",
- "2026-04-28T15:51:00",
- "2026-04-28T15:52:00",
- "2026-04-28T15:53:00",
- "2026-04-28T15:54:00",
- "2026-04-28T15:55:00",
- "2026-04-28T15:56:00",
- "2026-04-28T15:57:00",
- "2026-04-28T15:58:00",
- "2026-04-28T15:59:00",
- "2026-04-28T16:00:00",
- "2026-04-28T16:01:00",
- "2026-04-28T16:02:00",
- "2026-04-28T16:03:00",
- "2026-04-28T16:04:00",
- "2026-04-28T16:05:00",
- "2026-04-28T16:06:00",
- "2026-04-28T16:07:00",
- "2026-04-28T16:08:00",
- "2026-04-28T16:09:00",
- "2026-04-28T16:10:00",
- "2026-04-28T16:11:00",
- "2026-04-28T16:12:00",
- "2026-04-28T16:14:00",
- "2026-04-28T16:15:00",
- "2026-04-28T16:16:00",
- "2026-04-28T16:18:00",
- "2026-04-28T16:20:00",
- "2026-04-28T16:21:00",
- "2026-04-28T16:23:00",
- "2026-04-28T16:24:00",
- "2026-04-28T16:25:00",
- "2026-04-28T16:26:00",
- "2026-04-28T16:27:00",
- "2026-04-28T16:28:00",
- "2026-04-28T16:29:00",
- "2026-04-28T16:30:00",
- "2026-04-28T16:31:00",
- "2026-04-28T16:32:00",
- "2026-04-28T16:33:00",
- "2026-04-28T16:34:00",
- "2026-04-28T16:35:00",
- "2026-04-28T16:36:00",
- "2026-04-28T16:37:00",
- "2026-04-28T16:39:00",
- "2026-04-28T16:42:00",
- "2026-04-28T16:43:00",
- "2026-04-28T16:45:00",
- "2026-04-28T16:46:00",
- "2026-04-28T16:47:00",
- "2026-04-28T16:48:00",
- "2026-04-28T16:49:00",
- "2026-04-28T16:50:00",
- "2026-04-28T16:51:00",
- "2026-04-28T16:52:00",
- "2026-04-28T16:53:00",
- "2026-04-28T16:54:00",
- "2026-04-28T16:55:00",
- "2026-04-28T16:56:00",
- "2026-04-28T16:57:00",
- "2026-04-28T16:58:00",
- "2026-04-28T16:59:00",
- "2026-04-28T17:00:00",
- "2026-04-28T17:01:00",
- "2026-04-28T17:02:00",
- "2026-04-28T17:03:00",
- "2026-04-28T17:04:00",
- "2026-04-28T17:05:00",
- "2026-04-28T17:06:00",
- "2026-04-28T17:08:00",
- "2026-04-28T17:10:00",
- "2026-04-28T17:11:00",
- "2026-04-28T17:12:00",
- "2026-04-28T17:13:00",
- "2026-04-28T17:14:00",
- "2026-04-28T17:15:00",
- "2026-04-28T17:16:00",
- "2026-04-28T17:18:00",
- "2026-04-28T17:19:00",
- "2026-04-28T17:21:00",
- "2026-04-28T17:22:00",
- "2026-04-28T17:23:00",
- "2026-04-28T17:24:00",
- "2026-04-28T17:25:00",
- "2026-04-28T17:27:00",
- "2026-04-28T17:28:00",
- "2026-04-28T17:29:00",
- "2026-04-28T17:30:00",
- "2026-04-28T17:31:00",
- "2026-04-28T17:33:00",
- "2026-04-28T17:34:00",
- "2026-04-28T17:35:00",
- "2026-04-28T17:36:00",
- "2026-04-28T17:37:00",
- "2026-04-28T17:38:00",
- "2026-04-28T17:39:00",
- "2026-04-28T17:40:00",
- "2026-04-28T17:41:00",
- "2026-04-28T17:42:00",
- "2026-04-28T17:43:00",
- "2026-04-28T17:44:00",
- "2026-04-28T17:45:00",
- "2026-04-28T17:46:00",
- "2026-04-28T17:47:00",
- "2026-04-28T17:48:00",
- "2026-04-28T17:49:00",
- "2026-04-28T17:50:00",
- "2026-04-28T17:51:00",
- "2026-04-28T17:52:00",
- "2026-04-28T17:53:00",
- "2026-04-28T17:54:00",
- "2026-04-28T17:55:00",
- "2026-04-28T17:56:00",
- "2026-04-28T17:57:00",
- "2026-04-28T17:58:00",
- "2026-04-28T17:59:00",
- "2026-04-28T18:00:00",
- "2026-04-28T18:01:00",
- "2026-04-28T18:02:00",
- "2026-04-28T18:03:00",
- "2026-04-28T18:04:00",
- "2026-04-28T18:05:00",
- "2026-04-28T18:06:00",
- "2026-04-28T18:07:00",
- "2026-04-28T18:08:00",
- "2026-04-28T18:09:00",
- "2026-04-28T18:10:00",
- "2026-04-28T18:11:00",
- "2026-04-28T18:12:00",
- "2026-04-28T18:13:00",
- "2026-04-28T18:14:00",
- "2026-04-28T18:15:00",
- "2026-04-28T18:16:00",
- "2026-04-28T18:17:00",
- "2026-04-28T18:18:00",
- "2026-04-28T18:19:00",
- "2026-04-28T18:20:00",
- "2026-04-28T18:21:00",
- "2026-04-28T18:22:00",
- "2026-04-28T18:23:00",
- "2026-04-28T18:24:00",
- "2026-04-28T18:25:00",
- "2026-04-28T18:26:00",
- "2026-04-28T18:27:00",
- "2026-04-28T18:28:00",
- "2026-04-28T18:29:00",
- "2026-04-28T18:30:00",
- "2026-04-28T18:31:00",
- "2026-04-28T18:32:00",
- "2026-04-28T18:33:00",
- "2026-04-28T18:34:00",
- "2026-04-28T18:35:00",
- "2026-04-28T18:36:00",
- "2026-04-28T18:37:00",
- "2026-04-28T18:38:00",
- "2026-04-28T18:39:00",
- "2026-04-28T18:40:00",
- "2026-04-28T18:41:00",
- "2026-04-28T18:42:00",
- "2026-04-28T18:43:00",
- "2026-04-28T18:44:00",
- "2026-04-28T18:45:00",
- "2026-04-28T18:46:00",
- "2026-04-28T18:47:00",
- "2026-04-28T18:48:00",
- "2026-04-28T18:49:00",
- "2026-04-28T18:50:00",
- "2026-04-28T18:51:00",
- "2026-04-28T18:52:00",
- "2026-04-28T18:53:00",
- "2026-04-28T18:54:00",
- "2026-04-28T18:55:00",
- "2026-04-28T18:56:00",
- "2026-04-28T18:57:00",
- "2026-04-28T18:58:00",
- "2026-04-28T18:59:00",
- "2026-04-28T19:00:00",
- "2026-04-28T19:01:00",
- "2026-04-28T19:02:00",
- "2026-04-28T19:03:00",
- "2026-04-28T19:04:00",
- "2026-04-28T19:05:00",
- "2026-04-28T19:06:00",
- "2026-04-28T19:07:00",
- "2026-04-28T19:08:00",
- "2026-04-28T19:09:00",
- "2026-04-28T19:10:00",
- "2026-04-28T19:11:00",
- "2026-04-28T19:12:00",
- "2026-04-28T19:13:00",
- "2026-04-28T19:14:00",
- "2026-04-28T19:15:00",
- "2026-04-28T19:18:00",
- "2026-04-28T19:20:00",
- "2026-04-28T19:21:00",
- "2026-04-28T19:22:00",
- "2026-04-28T19:23:00",
- "2026-04-28T19:24:00",
- "2026-04-28T19:26:00",
- "2026-04-28T19:28:00",
- "2026-04-28T19:29:00",
- "2026-04-28T19:31:00",
- "2026-04-28T19:32:00",
- "2026-04-28T19:33:00",
- "2026-04-28T19:40:00",
- "2026-04-28T19:41:00",
- "2026-04-28T19:42:00",
- "2026-04-28T19:43:00",
- "2026-04-28T19:44:00",
- "2026-04-28T19:45:00",
- "2026-04-28T19:46:00",
- "2026-04-28T19:47:00",
- "2026-04-28T19:48:00",
- "2026-04-28T19:50:00",
- "2026-04-28T19:51:00",
- "2026-04-28T19:52:00",
- "2026-04-28T19:53:00",
- "2026-04-28T19:54:00",
- "2026-04-28T19:55:00",
- "2026-04-28T19:56:00",
- "2026-04-28T19:57:00",
- "2026-04-28T19:58:00",
- "2026-04-28T19:59:00",
- "2026-04-28T20:00:00",
- "2026-04-28T20:01:00",
- "2026-04-28T20:02:00",
- "2026-04-28T20:03:00"
- ],
- "y": {
- "bdata": "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",
- "dtype": "f8"
- }
- },
- {
- "name": "FR",
- "type": "scatter",
- "x": [
- "2026-04-28T20:00:01.015000",
- "2026-04-28T19:00:01.022000",
- "2026-04-28T18:00:00.794000",
- "2026-04-28T17:00:01.104000",
- "2026-04-28T16:00:00.740000",
- "2026-04-28T15:00:01.229000",
- "2026-04-28T14:00:01.023000",
- "2026-04-28T13:00:00.343000",
- "2026-04-28T12:00:01.027000",
- "2026-04-28T11:00:00.342000",
- "2026-04-28T10:00:00.342000",
- "2026-04-28T09:00:00.343000",
- "2026-04-28T08:00:00.675000",
- "2026-04-28T07:00:01.013000",
- "2026-04-28T06:00:00.343000",
- "2026-04-28T05:00:01.013000",
- "2026-04-28T04:00:01.028000",
- "2026-04-28T03:00:01.018000",
- "2026-04-28T02:00:01.019000",
- "2026-04-28T01:00:01.032000",
- "2026-04-28T00:00:01.026000",
- "2026-04-27T23:00:01.011000",
- "2026-04-27T22:00:00.342000",
- "2026-04-27T21:00:00.342000",
- "2026-04-27T20:00:00.722000",
- "2026-04-27T19:00:00.934000",
- "2026-04-27T18:00:01.025000",
- "2026-04-27T17:00:01.012000",
- "2026-04-27T16:00:00.343000"
- ],
- "y": {
- "bdata": "je21oPfG0D7xaOOItfjkPrdfPlkxXN0+VOQQcXMqyT6N7bWg98bAvo3ttaD3xrC+P6vMlNbf4r7xaOOItfjUvlTkEHFzKtk+VOQQcXMq2T4/q8yU1t/iPlTkEHFzKtm+t18+WTFc7b5U5BBxcyrJvo3ttaD3xtA+8WjjiLX41L57hQX3Ax74vo3ttaD3xsC+VOQQcXMqyT6N7bWg98awvqIm+nyUEec+AAAAAAAAAAAFoidlUkPrPlTkEHFzKsm+AAAAAAAAAABU5BBxcyrJPmkdVU0Qde++t18+WTFc3b4FoidlUkPrPg==",
- "dtype": "f8"
- },
- "yaxis": "y2"
- }
- ],
- "layout": {
- "shapes": [
- {
- "label": {
- "font": {
- "color": "white",
- "size": 16
- },
- "text": "^ Ratio_Buy",
- "textposition": "end"
- },
- "line": {
- "color": "white",
- "dash": "dot"
- },
- "type": "line",
- "x0": 0,
- "x1": 1,
- "xref": "x domain",
- "y0": 1,
- "y1": 1,
- "yref": "y"
- }
- ],
- "template": {
- "data": {
- "bar": [
- {
- "error_x": {
- "color": "#f2f5fa"
- },
- "error_y": {
- "color": "#f2f5fa"
- },
- "marker": {
- "line": {
- "color": "rgb(17,17,17)",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "bar"
- }
- ],
- "barpolar": [
- {
- "marker": {
- "line": {
- "color": "rgb(17,17,17)",
- "width": 0.5
- },
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "barpolar"
- }
- ],
- "carpet": [
- {
- "aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
- },
- "baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
- },
- "type": "carpet"
- }
- ],
- "choropleth": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "choropleth"
- }
- ],
- "contour": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "contour"
- }
- ],
- "contourcarpet": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "contourcarpet"
- }
- ],
- "heatmap": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "heatmap"
- }
- ],
- "histogram": [
- {
- "marker": {
- "pattern": {
- "fillmode": "overlay",
- "size": 10,
- "solidity": 0.2
- }
- },
- "type": "histogram"
- }
- ],
- "histogram2d": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "histogram2d"
- }
- ],
- "histogram2dcontour": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "colorscale": [
- [
- 0,
- "#0d0887"
- ],
- [
- 0.1111111111111111,
- "#46039f"
- ],
- [
- 0.2222222222222222,
- "#7201a8"
- ],
- [
- 0.3333333333333333,
- "#9c179e"
- ],
- [
- 0.4444444444444444,
- "#bd3786"
- ],
- [
- 0.5555555555555556,
- "#d8576b"
- ],
- [
- 0.6666666666666666,
- "#ed7953"
- ],
- [
- 0.7777777777777778,
- "#fb9f3a"
- ],
- [
- 0.8888888888888888,
- "#fdca26"
- ],
- [
- 1,
- "#f0f921"
- ]
- ],
- "type": "histogram2dcontour"
- }
- ],
- "mesh3d": [
- {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- },
- "type": "mesh3d"
- }
- ],
- "parcoords": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "parcoords"
- }
- ],
- "pie": [
- {
- "automargin": true,
- "type": "pie"
- }
- ],
- "scatter": [
- {
- "marker": {
- "line": {
- "color": "#283442"
- }
- },
- "type": "scatter"
- }
- ],
- "scatter3d": [
- {
- "line": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scatter3d"
- }
- ],
- "scattercarpet": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scattercarpet"
- }
- ],
- "scattergeo": [
- {
- "marker": {
- "colorbar": {
- "outlinewidth": 0,
- "ticks": ""
- }
- },
- "type": "scattergeo"
- }
- ],
- "scattergl": [
- {
- "marker": {
- "line": {
- "color": "#283442"
- }
- },
- "type": "scattergl"
- }
- ],
- "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": "#506784"
- },
- "line": {
- "color": "rgb(17,17,17)"
- }
- },
- "header": {
- "fill": {
- "color": "#2a3f5f"
- },
- "line": {
- "color": "rgb(17,17,17)"
- }
- },
- "type": "table"
- }
- ]
- },
- "layout": {
- "annotationdefaults": {
- "arrowcolor": "#f2f5fa",
- "arrowhead": 0,
- "arrowwidth": 1
- },
- "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": "#f2f5fa"
- },
- "geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
- "showlakes": true,
- "showland": true,
- "subunitcolor": "#506784"
- },
- "hoverlabel": {
- "align": "left"
- },
- "hovermode": "closest",
- "mapbox": {
- "style": "dark"
- },
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
- "polar": {
- "angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "bgcolor": "rgb(17,17,17)",
- "radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- }
- },
- "scene": {
- "xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- },
- "yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- },
- "zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
- "gridwidth": 2,
- "linecolor": "#506784",
- "showbackground": true,
- "ticks": "",
- "zerolinecolor": "#C8D4E3"
- }
- },
- "shapedefaults": {
- "line": {
- "color": "#f2f5fa"
- }
- },
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
- "ternary": {
- "aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- },
- "bgcolor": "rgb(17,17,17)",
- "caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "ticks": ""
- }
- },
- "title": {
- "x": 0.05
- },
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
- "xaxis": {
- "automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
- "ticks": "",
- "title": {
- "standoff": 15
- },
- "zerolinecolor": "#283442",
- "zerolinewidth": 2
- },
- "yaxis": {
- "automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
- "ticks": "",
- "title": {
- "standoff": 15
- },
- "zerolinecolor": "#283442",
- "zerolinewidth": 2
- }
- }
- },
- "yaxis": {
- "side": "right",
- "title": {
- "text": "Ratio"
- }
- },
- "yaxis2": {
- "overlaying": "y",
- "side": "left",
- "title": {
- "text": "Funding Rate"
- }
- }
- }
- }
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"fig = go.Figure()\n",
"\n",
@@ -8615,79 +210,12 @@
" ), \n",
" opacity=1\n",
" )\n",
- "fig.show()\n"
+ "# fig.show()\n"
]
},
{
"cell_type": "code",
- "execution_count": 28,
- "id": "60c8cfcd",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "application/vnd.microsoft.datawrangler.viewer.v0+json": {
- "columns": [
- {
- "name": "index",
- "rawType": "str",
- "type": "string"
- },
- {
- "name": "0",
- "rawType": "object",
- "type": "unknown"
- }
- ],
- "ref": "acd41228-c29d-4a4e-a511-ba90fa1ab09a",
- "rows": [
- [
- "price_median_aster",
- "float64"
- ],
- [
- "price_median_extend",
- "float64"
- ],
- [
- "ratio",
- "float64"
- ]
- ],
- "shape": {
- "columns": 1,
- "rows": 3
- }
- },
- "text/plain": [
- "price_median_aster float64\n",
- "price_median_extend float64\n",
- "ratio float64\n",
- "dtype: object"
- ]
- },
- "execution_count": 28,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_comb_trades_by_sec_plot.dtypes"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "id": "03c1cbbd",
- "metadata": {},
- "outputs": [],
- "source": [
- "df_fr_plot['funding_rate'] = df_fr_plot['funding_rate'].astype(float)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 43,
+ "execution_count": 106,
"metadata": {},
"outputs": [
{
@@ -10104,10 +1632,49 @@
"2026-04-28T20:00:00",
"2026-04-28T20:01:00",
"2026-04-28T20:02:00",
- "2026-04-28T20:03:00"
+ "2026-04-28T20:03:00",
+ "2026-04-28T20:04:00",
+ "2026-04-28T20:05:00",
+ "2026-04-28T20:06:00",
+ "2026-04-28T20:08:00",
+ "2026-04-28T20:09:00",
+ "2026-04-28T20:12:00",
+ "2026-04-28T20:13:00",
+ "2026-04-28T20:16:00",
+ "2026-04-28T20:17:00",
+ "2026-04-28T20:18:00",
+ "2026-04-28T20:19:00",
+ "2026-04-28T20:20:00",
+ "2026-04-28T20:22:00",
+ "2026-04-28T20:23:00",
+ "2026-04-28T20:24:00",
+ "2026-04-28T20:25:00",
+ "2026-04-28T20:26:00",
+ "2026-04-28T20:27:00",
+ "2026-04-28T20:30:00",
+ "2026-04-28T20:34:00",
+ "2026-04-28T20:35:00",
+ "2026-04-28T20:36:00",
+ "2026-04-28T20:37:00",
+ "2026-04-28T20:38:00",
+ "2026-04-28T20:40:00",
+ "2026-04-28T20:42:00",
+ "2026-04-28T20:43:00",
+ "2026-04-28T20:44:00",
+ "2026-04-28T20:46:00",
+ "2026-04-28T20:47:00",
+ "2026-04-28T20:50:00",
+ "2026-04-28T20:52:00",
+ "2026-04-28T20:53:00",
+ "2026-04-28T20:54:00",
+ "2026-04-28T20:55:00",
+ "2026-04-28T20:57:00",
+ "2026-04-28T20:58:00",
+ "2026-04-28T20:59:00",
+ "2026-04-28T21:00:00"
],
"y": {
- "bdata": "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",
+ "bdata": "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",
"dtype": "f8"
}
},
@@ -11518,18 +3085,59 @@
"2026-04-28T20:00:00",
"2026-04-28T20:01:00",
"2026-04-28T20:02:00",
- "2026-04-28T20:03:00"
+ "2026-04-28T20:03:00",
+ "2026-04-28T20:04:00",
+ "2026-04-28T20:05:00",
+ "2026-04-28T20:06:00",
+ "2026-04-28T20:08:00",
+ "2026-04-28T20:09:00",
+ "2026-04-28T20:12:00",
+ "2026-04-28T20:13:00",
+ "2026-04-28T20:16:00",
+ "2026-04-28T20:17:00",
+ "2026-04-28T20:18:00",
+ "2026-04-28T20:19:00",
+ "2026-04-28T20:20:00",
+ "2026-04-28T20:22:00",
+ "2026-04-28T20:23:00",
+ "2026-04-28T20:24:00",
+ "2026-04-28T20:25:00",
+ "2026-04-28T20:26:00",
+ "2026-04-28T20:27:00",
+ "2026-04-28T20:30:00",
+ "2026-04-28T20:34:00",
+ "2026-04-28T20:35:00",
+ "2026-04-28T20:36:00",
+ "2026-04-28T20:37:00",
+ "2026-04-28T20:38:00",
+ "2026-04-28T20:40:00",
+ "2026-04-28T20:42:00",
+ "2026-04-28T20:43:00",
+ "2026-04-28T20:44:00",
+ "2026-04-28T20:46:00",
+ "2026-04-28T20:47:00",
+ "2026-04-28T20:50:00",
+ "2026-04-28T20:52:00",
+ "2026-04-28T20:53:00",
+ "2026-04-28T20:54:00",
+ "2026-04-28T20:55:00",
+ "2026-04-28T20:57:00",
+ "2026-04-28T20:58:00",
+ "2026-04-28T20:59:00",
+ "2026-04-28T21:00:00"
],
"y": {
- "bdata": "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",
+ "bdata": "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",
"dtype": "f8"
},
"yaxis": "y"
},
{
+ "mode": "lines+markers",
"name": "FR",
"type": "scatter",
"x": [
+ "2026-04-28T21:00:01.019000",
"2026-04-28T20:00:01.015000",
"2026-04-28T19:00:01.022000",
"2026-04-28T18:00:00.794000",
@@ -11561,7 +3169,7 @@
"2026-04-27T16:00:00.343000"
],
"y": {
- "bdata": "je21oPfG0D7xaOOItfjkPrdfPlkxXN0+VOQQcXMqyT6N7bWg98bAvo3ttaD3xrC+P6vMlNbf4r7xaOOItfjUvlTkEHFzKtk+VOQQcXMq2T4/q8yU1t/iPlTkEHFzKtm+t18+WTFc7b5U5BBxcyrJvo3ttaD3xtA+8WjjiLX41L57hQX3Ax74vo3ttaD3xsC+VOQQcXMqyT6N7bWg98awvqIm+nyUEec+AAAAAAAAAAAFoidlUkPrPlTkEHFzKsm+AAAAAAAAAABU5BBxcyrJPmkdVU0Qde++t18+WTFc3b4FoidlUkPrPg==",
+ "bdata": "VOQQcXMq6T6N7bWg98bQPvFo44i1+OQ+t18+WTFc3T5U5BBxcyrJPo3ttaD3xsC+je21oPfGsL4/q8yU1t/ivvFo44i1+NS+VOQQcXMq2T5U5BBxcyrZPj+rzJTW3+I+VOQQcXMq2b63Xz5ZMVztvlTkEHFzKsm+je21oPfG0D7xaOOItfjUvnuFBfcDHvi+je21oPfGwL5U5BBxcyrJPo3ttaD3xrC+oib6fJQR5z4AAAAAAAAAAAWiJ2VSQ+s+VOQQcXMqyb4AAAAAAAAAAFTkEHFzKsk+aR1VTRB17763Xz5ZMVzdvgWiJ2VSQ+s+",
"dtype": "f8"
},
"yaxis": "y2"
@@ -12973,16 +4581,70 @@
"2026-04-28T20:00:00",
"2026-04-28T20:01:00",
"2026-04-28T20:02:00",
- "2026-04-28T20:03:00"
+ "2026-04-28T20:03:00",
+ "2026-04-28T20:04:00",
+ "2026-04-28T20:05:00",
+ "2026-04-28T20:06:00",
+ "2026-04-28T20:08:00",
+ "2026-04-28T20:09:00",
+ "2026-04-28T20:12:00",
+ "2026-04-28T20:13:00",
+ "2026-04-28T20:16:00",
+ "2026-04-28T20:17:00",
+ "2026-04-28T20:18:00",
+ "2026-04-28T20:19:00",
+ "2026-04-28T20:20:00",
+ "2026-04-28T20:22:00",
+ "2026-04-28T20:23:00",
+ "2026-04-28T20:24:00",
+ "2026-04-28T20:25:00",
+ "2026-04-28T20:26:00",
+ "2026-04-28T20:27:00",
+ "2026-04-28T20:30:00",
+ "2026-04-28T20:34:00",
+ "2026-04-28T20:35:00",
+ "2026-04-28T20:36:00",
+ "2026-04-28T20:37:00",
+ "2026-04-28T20:38:00",
+ "2026-04-28T20:40:00",
+ "2026-04-28T20:42:00",
+ "2026-04-28T20:43:00",
+ "2026-04-28T20:44:00",
+ "2026-04-28T20:46:00",
+ "2026-04-28T20:47:00",
+ "2026-04-28T20:50:00",
+ "2026-04-28T20:52:00",
+ "2026-04-28T20:53:00",
+ "2026-04-28T20:54:00",
+ "2026-04-28T20:55:00",
+ "2026-04-28T20:57:00",
+ "2026-04-28T20:58:00",
+ "2026-04-28T20:59:00",
+ "2026-04-28T21:00:00"
],
"y": {
- "bdata": "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",
+ "bdata": "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",
"dtype": "f8"
},
"yaxis": "y3"
}
],
"layout": {
+ "shapes": [
+ {
+ "line": {
+ "color": "pink",
+ "dash": "dash"
+ },
+ "type": "line",
+ "x0": 1,
+ "x1": 0,
+ "xref": "paper",
+ "y0": 1,
+ "y1": 1,
+ "yref": "y3"
+ }
+ ],
"template": {
"data": {
"bar": [
@@ -13801,10 +5463,10 @@
"fig = go.Figure()\n",
"\n",
"# Add traces bound to different Y-axes\n",
- "fig.add_trace(go.Scatter(x=df_comb_trades_by_sec_plot.index, y=df_comb_trades_by_sec_plot['price_median_aster'], name=\"Aster_Mid\")) # Funding Rate\n",
- "fig.add_trace(go.Scatter(x=df_comb_trades_by_sec_plot.index, y=df_comb_trades_by_sec_plot['price_median_extend'], name=\"Extend\", yaxis='y1')) # Ratio\n",
- "fig.add_trace(go.Scatter(x=df_fr_plot['timestamp_dt'], y=df_fr_plot['funding_rate'], name=\"FR\", yaxis='y2')) # Ratio\n",
- "fig.add_trace(go.Scatter(x=df_comb_trades_by_sec_plot.index, y=df_comb_trades_by_sec_plot['ratio'], name=\"Ratio\", yaxis='y3')) # Funding Rate\n",
+ "fig.add_trace(go.Scatter(x=df_comb_trades_by_sec_plot.index, y=df_comb_trades_by_sec_plot['price_median_aster'], name=\"Aster_Mid\")) \n",
+ "fig.add_trace(go.Scatter(x=df_comb_trades_by_sec_plot.index, y=df_comb_trades_by_sec_plot['price_median_extend'], name=\"Extend\", yaxis='y1'))\n",
+ "fig.add_trace(go.Scatter(x=df_fr_plot['timestamp_dt'], y=df_fr_plot['funding_rate'], name=\"FR\", yaxis='y2', mode='lines+markers'))\n",
+ "fig.add_trace(go.Scatter(x=df_comb_trades_by_sec_plot.index, y=df_comb_trades_by_sec_plot['ratio'], name=\"Ratio\", yaxis='y3'))\n",
"# fig.add_trace(go.Scatter(x=[1, 2, 3], y=[400, 500, 600], name=\"Y3\", yaxis='y3')) # \n",
"\n",
"fig.update_layout(\n",
@@ -13825,17 +5487,17 @@
"# )\n",
"# )\n",
"\n",
- "# fig.add_shape(\n",
- "# type=\"line\",\n",
- "# x0=0, x1=1,\n",
- "# y0=0, y1=0,\n",
- "# xref=\"paper\",\n",
- "# yref=\"y2\",\n",
- "# line=dict(\n",
- "# color=\"red\",\n",
- "# dash=\"dash\"\n",
- "# )\n",
- "# )\n",
+ "fig.add_shape(\n",
+ " type=\"line\",\n",
+ " x0=1, x1=0,\n",
+ " y0=1, y1=1,\n",
+ " xref=\"paper\",\n",
+ " yref=\"y3\",\n",
+ " line=dict(\n",
+ " color=\"pink\",\n",
+ " dash=\"dash\"\n",
+ " )\n",
+ ")\n",
"\n",
"# Create a range of hours\n",
"start_time = int(min_time)\n",
diff --git a/extended.ipynb b/extended.ipynb
index f3810ea..66ca28b 100644
--- a/extended.ipynb
+++ b/extended.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 9,
"id": "6c70a8c3",
"metadata": {},
"outputs": [],
@@ -27,7 +27,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 12,
"id": "ff971ca9",
"metadata": {},
"outputs": [],
@@ -42,50 +42,46 @@
"CONFIG = MAINNET_CONFIG\n",
"\n",
"ORDER_MARKET = \"ETH-USD\"\n",
- "ORDER_SIDE = OrderSide.BUY\n",
"ORDER_QTY = Decimal(\"0.01\")\n",
- "ORDER_PRICE = Decimal(\"2200.1\")"
+ "ORDER_PRICE = Decimal(\"2300.1\")\n",
+ "ORDER_SIDE = OrderSide.BUY"
]
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 13,
"id": "fc2c6d2b",
"metadata": {},
- "outputs": [],
- "source": [
- "client, trading_client = await extend_auth.create_auth_account_and_trading_client()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "c366706f",
- "metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
- "Error response from https://api.starknet.extended.exchange/api/v1/user/order: {\"status\":\"ERROR\",\"error\":{\"code\":1125,\"message\":\"Invalid price precision\"}}\n"
- ]
- },
- {
- "ename": "ValueError",
- "evalue": "Error response from https://api.starknet.extended.exchange/api/v1/user/order: code 400 - {\"status\":\"ERROR\",\"error\":{\"code\":1125,\"message\":\"Invalid price precision\"}}",
- "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[4]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m placed_order = await trading_client.place_order(\n\u001b[32m 2\u001b[39m market_name=ORDER_MARKET,\n\u001b[32m 3\u001b[39m amount_of_synthetic=ORDER_QTY,\n\u001b[32m 4\u001b[39m price=ORDER_PRICE,\n",
- "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/x10/perpetual/trading_client/trading_client.py:101\u001b[39m, in \u001b[36mPerpetualTradingClient.place_order\u001b[39m\u001b[34m(self, market_name, amount_of_synthetic, price, side, taker_fee, post_only, previous_order_id, expire_time, time_in_force, self_trade_protection_level, external_id, builder_fee, builder_id, reduce_only, tp_sl_type, take_profit, stop_loss)\u001b[39m\n\u001b[32m 78\u001b[39m expire_time = utc_now() + timedelta(hours=\u001b[32m1\u001b[39m)\n\u001b[32m 80\u001b[39m order = create_order_object(\n\u001b[32m 81\u001b[39m account=\u001b[38;5;28mself\u001b[39m.__stark_account,\n\u001b[32m 82\u001b[39m market=market,\n\u001b[32m (...)\u001b[39m\u001b[32m 99\u001b[39m stop_loss=stop_loss,\n\u001b[32m 100\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m101\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m \u001b[38;5;28mself\u001b[39m.__order_management_module.place_order(order)\n",
- "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/x10/perpetual/trading_client/order_management_module.py:31\u001b[39m, in \u001b[36mOrderManagementModule.place_order\u001b[39m\u001b[34m(self, order)\u001b[39m\n\u001b[32m 28\u001b[39m LOGGER.debug(\u001b[33m\"\u001b[39m\u001b[33mPlacing an order: id=\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[33m\"\u001b[39m, order.id)\n\u001b[32m 30\u001b[39m url = \u001b[38;5;28mself\u001b[39m._get_url(\u001b[33m\"\u001b[39m\u001b[33m/user/order\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m---> \u001b[39m\u001b[32m31\u001b[39m response = \u001b[38;5;28;01mawait\u001b[39;00m send_post_request(\n\u001b[32m 32\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m \u001b[38;5;28mself\u001b[39m.get_session(),\n\u001b[32m 33\u001b[39m url,\n\u001b[32m 34\u001b[39m PlacedOrderModel,\n\u001b[32m 35\u001b[39m json=order.to_api_request_json(exclude_none=\u001b[38;5;28;01mTrue\u001b[39;00m),\n\u001b[32m 36\u001b[39m api_key=\u001b[38;5;28mself\u001b[39m._get_api_key(),\n\u001b[32m 37\u001b[39m )\n\u001b[32m 38\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m response\n",
- "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/x10/utils/http.py:173\u001b[39m, in \u001b[36msend_post_request\u001b[39m\u001b[34m(session, url, model_class, json, api_key, request_headers, response_code_to_exception)\u001b[39m\n\u001b[32m 171\u001b[39m \u001b[38;5;28;01masync\u001b[39;00m \u001b[38;5;28;01mwith\u001b[39;00m session.post(url, json=json, headers=headers) \u001b[38;5;28;01mas\u001b[39;00m response:\n\u001b[32m 172\u001b[39m response_text = \u001b[38;5;28;01mawait\u001b[39;00m response.text()\n\u001b[32m--> \u001b[39m\u001b[32m173\u001b[39m \u001b[30;43mhandle_known_errors\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43murl\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mresponse_code_to_exception\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mresponse\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43mresponse_text\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 174\u001b[39m response_model = parse_response_to_model(response_text, model_class)\n\u001b[32m 176\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m (response_model.status != ResponseStatus.OK) \u001b[38;5;129;01mor\u001b[39;00m (response_model.error \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m):\n",
- "\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/py_313/lib/python3.13/site-packages/x10/utils/http.py:243\u001b[39m, in \u001b[36mhandle_known_errors\u001b[39m\u001b[34m(url, response_code_handler, response, response_text)\u001b[39m\n\u001b[32m 241\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m response.status > \u001b[32m299\u001b[39m:\n\u001b[32m 242\u001b[39m LOGGER.error(\u001b[33m\"\u001b[39m\u001b[33mError response from \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[33m: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[33m\"\u001b[39m, url, response_text)\n\u001b[32m--> \u001b[39m\u001b[32m243\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mError response from \u001b[39m\u001b[38;5;132;01m{\u001b[39;00murl\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: code \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mresponse.status\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m - \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mresponse_text\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m)\n",
- "\u001b[31mValueError\u001b[39m: Error response from https://api.starknet.extended.exchange/api/v1/user/order: code 400 - {\"status\":\"ERROR\",\"error\":{\"code\":1125,\"message\":\"Invalid price precision\"}}"
+ "Unclosed client session\n",
+ "client_session: \n"
]
}
],
+ "source": [
+ "client, trading_client = await extend_auth.create_auth_account_and_trading_client()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "07887649",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "### Figure out how to flatten small residuals - market order with reduce only?)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "c366706f",
+ "metadata": {},
+ "outputs": [],
"source": [
"placed_order = await trading_client.place_order(\n",
" market_name=ORDER_MARKET,\n",
@@ -98,6 +94,27 @@
")"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "ba85f1e9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "WrappedApiResponse[PlacedOrderModel](status='OK', data=PlacedOrderModel(id=2049239831434784768, external_id='359148168147219671570709517544221313286652228166698232409514334035033828578'), error=None, pagination=None)"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "placed_order"
+ ]
+ },
{
"cell_type": "code",
"execution_count": 5,
diff --git a/main.py b/main.py
index 5fd1402..ee42aa8 100644
--- a/main.py
+++ b/main.py
@@ -5,7 +5,6 @@ import math
import os
import time
import traceback
-from dataclasses import asdict, dataclass, field
from datetime import datetime, timezone
from decimal import ROUND_DOWN, Decimal
from typing import AsyncContextManager
@@ -37,24 +36,30 @@ load_dotenv()
LOG_FILEPATH: str = os.getenv("LOGS_PATH") + '/Fund_Rate_Algo.log'
### Algo Config ###
-ALGO_CONFIG: structs.Algo_Config = None
+ALGO_CONFIG: structs.Algo_Config | None = None
MIN_TIME_TO_FUNDING: int
-### CONSTANTS ###
+### EXCHANGES ###
ASTER = structs.Perpetual_Exchange(
mult = 150,
lh_asset = 'ETH',
rh_asset = 'USDT',
symbol_asset_separator = '',
)
-
-EXTEND_LH_ASSET: str = 'ETH'
-EXTEND_RH_ASSET: str = 'USD'
-EXTEND_TICKER: str = EXTEND_LH_ASSET + '-' + EXTEND_RH_ASSET
+EXTEND = structs.Perpetual_Exchange(
+ mult = 50,
+ lh_asset = 'ETH',
+ rh_asset = 'USD',
+ symbol_asset_separator = '-',
+)
### GLOBALS ###
-ASTER_MULT = 150
-EXTEND_MULT = 50
+Last_Aster_Fill_Time_Ts: float = 0.00
+Just_Rejected_Or_Expired: bool = False
+Best_Symbol_by_Exchange: dict = {}
+
+# ASTER_MULT = 150
+# EXTEND_MULT = 50
ASTER_MIN_ORDER_QTY = 0.001
EXTEND_MIN_ORDER_QTY = 0.01
@@ -121,7 +126,7 @@ async def get_aster_notional_position(resp: dict | None = None):
global ASTER_NOTIONAL_OBJ
global ASTER_NOTIONAL_POSITION
global ASTER_UNREALIZED_PNL
- global ASTER_MULT
+ global ASTER
previous_notional_obj = ASTER_NOTIONAL_OBJ
@@ -159,32 +164,31 @@ async def get_aster_notional_position(resp: dict | None = None):
previous_notional_position = ASTER_NOTIONAL_POSITION
# if not resp: # this can never evaluate
- # ASTER_MULT = float(d['leverage'])
- # if abs(ASTER_NOTIONAL_POSITION) > ALGO_CONFIG.Max_Target_Notional*1.01:
- if abs(ASTER_NOTIONAL_POSITION) > ALGO_CONFIG.Max_Target_Notional*2.01:
- logging.info(f'BAD NOTIONAL - ASTER CHANGE: {previous_notional_position} -> {ASTER_NOTIONAL_POSITION}; UR PNL: {ASTER_UNREALIZED_PNL}; MULT: {ASTER_MULT}; d: {d}; resp: {resp}')
+ # ASTER.mult = float(d['leverage'])
+ if abs(ASTER_NOTIONAL_POSITION) > ALGO_CONFIG.Config.Max_Target_Notional*ALGO_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}; d: {d}; resp: {resp}')
await kill_algo()
# if ASTER_NOTIONAL_POSITION != previous_notional_position:
- logging.info(f'ASTER NOTIONAL CHANGE: {previous_notional_position:.2f} -> {ASTER_NOTIONAL_POSITION:.2f}; UR PNL: {ASTER_UNREALIZED_PNL:.2f}; MULT: {ASTER_MULT:.0f}; resp: {bool(resp)}')
+ logging.info(f'ASTER NOTIONAL CHANGE: {previous_notional_position:.2f} -> {ASTER_NOTIONAL_POSITION:.2f}; UR PNL: {ASTER_UNREALIZED_PNL:.2f}; MULT: {ASTER.mult:.0f}; resp: {bool(resp)}')
async def get_extend_collateral():
global EXTEND_AVAIL_COLLATERAL
get_bals = dict(dict(await EXTEND_CLIENT.account.get_balance()).get('data', {}))
- EXTEND_AVAIL_COLLATERAL = get_bals.get('available_for_trade', 0) if get_bals.get('collateral_name', None)==EXTEND_RH_ASSET else 0
+ EXTEND_AVAIL_COLLATERAL = get_bals.get('available_for_trade', 0) if get_bals.get('collateral_name', None)==EXTEND.rh_asset else 0
async def get_extend_notional(resp: dict | None = None):
global EXTEND_NOTIONAL_OBJ
global EXTEND_NOTIONAL_POSITION
global EXTEND_UNREALIZED_PNL
- global EXTEND_MULT
+ global EXTEND
previous_notional_obj = EXTEND_NOTIONAL_OBJ
previous_notional_position = EXTEND_NOTIONAL_POSITION
if not resp:
resp = dict(await EXTEND_CLIENT.account.get_positions()).get('data', [])
- pos_dict = [dict(d) for d in resp if dict(d).get('market') == EXTEND_TICKER]
+ pos_dict = [dict(d) for d in resp if dict(d).get('market') == EXTEND.symbol]
if pos_dict:
pos_dict = pos_dict[0]
else:
@@ -195,7 +199,7 @@ async def get_extend_notional(resp: dict | None = None):
pos_dict['timestamp_arrival'] = round(datetime.now().timestamp()*1000)
else:
- pos_dict = [dict(d) for d in resp if dict(d).get('market') == EXTEND_TICKER]
+ pos_dict = [dict(d) for d in resp if dict(d).get('market') == EXTEND.symbol]
if pos_dict:
pos_dict = pos_dict[0]
else:
@@ -223,12 +227,12 @@ async def get_extend_notional(resp: dict | None = None):
logging.info(f'EXTEND BAD SIDE ON POSITION UPDATE: {pos_dict}')
EXTEND_NOTIONAL_POSITION = notional_pos_sided - float(EXTEND_UNREALIZED_PNL)
- EXTEND_MULT = pos_dict.get('leverage', EXTEND_MULT)
- if abs(EXTEND_NOTIONAL_POSITION) > ALGO_CONFIG.Max_Target_Notional*2.01:
- logging.info(f'BAD NOTIONAL - EXTEND CHANGE: {previous_notional_position} -> {EXTEND_NOTIONAL_POSITION}; UR PNL: {EXTEND_UNREALIZED_PNL}; MULT: {EXTEND_MULT}; d: {pos_dict}; resp: {resp}')
+ EXTEND.mult = pos_dict.get('leverage', EXTEND)
+ if abs(EXTEND_NOTIONAL_POSITION) > ALGO_CONFIG.Config.Max_Target_Notional*ALGO_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}; d: {pos_dict}; resp: {resp}')
await kill_algo()
if EXTEND_NOTIONAL_POSITION != previous_notional_position:
- logging.info(f'EXTEND NOTIONAL CHANGE: {previous_notional_position} -> {EXTEND_NOTIONAL_POSITION:.2f}; UR PNL: {EXTEND_UNREALIZED_PNL:.2f}; MULT: {EXTEND_MULT:.0f}; resp: {bool(resp)}')
+ logging.info(f'EXTEND NOTIONAL CHANGE: {previous_notional_position} -> {EXTEND_NOTIONAL_POSITION:.2f}; UR PNL: {EXTEND_UNREALIZED_PNL:.2f}; MULT: {EXTEND.mult:.0f}; resp: {bool(resp)}')
### EXCHANGE INFO ###
async def get_aster_exch_info():
@@ -264,7 +268,7 @@ async def aster_cancel_all_orders():
logging.info(f'ASTER CANCEL ALL OPEN ORDERS RESP: {r}')
async def extend_cancel_all_orders():
- r = await EXTEND_CLIENT.orders.mass_cancel(markets=[EXTEND_TICKER])
+ r = await EXTEND_CLIENT.orders.mass_cancel(markets=[EXTEND.symbol])
logging.info(f'EXTEND CANCEL ALL OPEN ORDERS RESP: {r}')
### KILL ALGO ###
@@ -277,29 +281,39 @@ async def kill_algo():
### ALGO LOOP ###
async def run_algo():
+ global ASTER
+ global EXTEND
+
global ALGO_CONFIG
global MIN_TIME_TO_FUNDING
global ASTER_OPEN_ORDERS
global EXTEND_OPEN_ORDERS
+ global Last_Aster_Fill_Time_Ts
+ global Just_Rejected_Or_Expired
+ global Best_Symbol_by_Exchange
try:
while True:
loop_start = time.time()
# print('__________Start___________')
### ALGO CONIFG ###
- ALGO_CONFIG = json.loads(VAL_KEY.get('fr_orchestrator_output'), object_hook=lambda d: structs.Algo_Config(**d))
- ALGO_CONFIG.Max_Target_Notional = float(min([ASTER_MULT, EXTEND_MULT]) * ALGO_CONFIG.Target_Open_Cash_Position)
+
+ ALGO_CONFIG = json.loads(VAL_KEY.get('fr_orchestrator_output'))
+ ALGO_CONFIG = structs.Algo_Config(**ALGO_CONFIG)
+ ALGO_CONFIG.Config.Max_Target_Notional = float(min([ASTER.mult, EXTEND.mult]) * ALGO_CONFIG.Config.Target_Open_Cash_Position)
- MIN_TIME_TO_FUNDING = ALGO_CONFIG.Min_Time_To_Funding_Minutes * 60 * 1000
+ MIN_TIME_TO_FUNDING = ALGO_CONFIG.Config.Min_Time_To_Funding_Minutes * 60 * 1000
### Load Data from Feedhandlers ###
+ Best_Symbol_by_Exchange = json.loads(VAL_KEY.get('fr_engine_best_fund_rate_output'))
+
ASTER_FUND_RATE_DICT = json.loads(VAL_KEY.get('fund_rate_aster'))
EXTENDED_FUND_RATE_DICT = json.loads(VAL_KEY.get('fund_rate_extended'))
ASTER_FUND_RATE = float(ASTER_FUND_RATE_DICT.get('funding_rate', 0))
EXTEND_FUND_RATE = float(EXTENDED_FUND_RATE_DICT.get('funding_rate', 0))
- if ALGO_CONFIG.Flip_Side_For_Testing:
+ if ALGO_CONFIG.Overrides.Flip_Side_For_Testing:
ASTER_FUND_RATE = ASTER_FUND_RATE * -1
EXTEND_FUND_RATE = EXTEND_FUND_RATE * -1
@@ -370,16 +384,20 @@ async def run_algo():
if order_update_status in ['CANCELED','EXPIRED']:
logging.info(f'ASTER ORDER CANCELLED or EXPIRED: {order_id}')
ASTER_OPEN_ORDERS.pop(idx)
+ Just_Rejected_Or_Expired = True
+ utils.send_tg_alert(f'FR_ALGO - ASTER REJECTED ({order_id})')
elif order_update_status in ['PARTIALLY_FILLED']:
logging.info(f'ASTER ORDER PARTIALLY FILLED: {order_id}')
- await get_aster_collateral()
- await get_aster_notional_position()
+ # await get_aster_collateral()
+ await get_aster_notional_position(resp=ASTER_WS_POS_UPDATES)
+ Last_Aster_Fill_Time_Ts = datetime.now().timestamp()*1000
utils.send_tg_alert(f'FR_ALGO - ASTER PARTIALLY FILLED ({order_id})')
elif order_update_status in ['FILLED']:
logging.info(f'ASTER ORDER FILLED: {order_id}')
ASTER_OPEN_ORDERS.pop(idx)
- await get_aster_collateral()
- await get_aster_notional_position()
+ # await get_aster_collateral()
+ await get_aster_notional_position(resp=ASTER_WS_POS_UPDATES)
+ Last_Aster_Fill_Time_Ts = datetime.now().timestamp()*1000
utils.send_tg_alert(f'FR_ALGO - ASTER FILLED ({order_id})')
else:
logging.critical(f'EXTEND ORDER STATUS CHG TO UNEXPECTED VALUE, KILLING... ({order_id}): {order_orig_status} -> {order_update_status}')
@@ -401,6 +419,8 @@ async def run_algo():
if order_update_status in ['CANCELLED','EXPIRED','REJECTED']:
logging.info(f'EXTEND ORDER CANCELLED, REJECTED or EXPIRED: {order_id}')
EXTEND_OPEN_ORDERS.pop(idx)
+ Just_Rejected_Or_Expired = True
+ utils.send_tg_alert(f'FR_ALGO - EXTEND REJECTED ({order_id})')
elif order_update_status in ['PARTIALLY_FILLED']:
logging.info(f'EXTEND ORDER PARTIALLY FILLED: {order_id}')
await get_extend_collateral()
@@ -416,10 +436,20 @@ async def run_algo():
logging.critical(f'EXTEND ORDER STATUS CHG TO UNEXPECTED VALUE, KILLING... ({order_id}): {order_orig_status} -> {order_update_status}')
+ # if Best_Symbol_by_Exchange['symbol_aster'] != ASTER.symbol:
+ # if abs( ASTER_NOTIONAL_POSITION ) > 0 or abs( EXTEND_NOTIONAL_POSITION ) > 0:
+ # print('Symbol switch - Flattening Positions')
+ # ALGO_CONFIG.Overrides.Flatten_Open_Positions = True
+ # else:
+ # print(f'Balances Flattened - Updating to Trade New Symbol: ASTER.symbol -> {Best_Symbol_by_Exchange['symbol_aster']}')
+ # # ASTER.symbol = Best_Symbol_by_Exchange['symbol_aster']
+ # # EXTEND.symbol = Best_Symbol_by_Exchange['symbol_extended']
+
+
+
min_between_fundings = round((abs(ASTER_FUND_RATE_TIME - EXTEND_FUND_RATE_TIME) / 1000 / 60))
FUNDINGS_AT_SAME_TIME_NEXT_HR = min_between_fundings < 5
-
if ( abs(ASTER_FUND_RATE) > abs(EXTEND_FUND_RATE) ) and FUNDINGS_AT_SAME_TIME_NEXT_HR:
ALPHA_EXCH = 'ASTER'
ALPHA_FUND_RATE = ASTER_FUND_RATE
@@ -429,20 +459,20 @@ async def run_algo():
if ALPHA_FUND_RATE < 0:
ALPHA_CARRY_SIDE = 'BUY'
- ALPHA_TGT_NOTIONAL = ALGO_CONFIG.Max_Target_Notional
+ ALPHA_TGT_NOTIONAL = ALGO_CONFIG.Config.Max_Target_Notional
else:
ALPHA_CARRY_SIDE = 'SELL'
- ALPHA_TGT_NOTIONAL = ALGO_CONFIG.Max_Target_Notional*-1
+ ALPHA_TGT_NOTIONAL = ALGO_CONFIG.Config.Max_Target_Notional*-1
def calc_next_net_fund_rate(FUNDINGS_AT_SAME_TIME_NEXT_HR: bool) -> float:
if FUNDINGS_AT_SAME_TIME_NEXT_HR:
- return ASTER_FUND_RATE + EXTEND_FUND_RATE
+ return max([ASTER_FUND_RATE, EXTEND_FUND_RATE]) - min([ASTER_FUND_RATE, EXTEND_FUND_RATE])
else:
return EXTEND_FUND_RATE
NEXT_NET_FUNDING_RATE = calc_next_net_fund_rate(FUNDINGS_AT_SAME_TIME_NEXT_HR)
- Flags.NET_FUNDING_IS_ZERO = ( NEXT_NET_FUNDING_RATE >= ( (ALGO_CONFIG.Min_Fund_Rate_Pct_To_Trade*-1) / 100) ) and ( NEXT_NET_FUNDING_RATE <= ( ALGO_CONFIG.Min_Fund_Rate_Pct_To_Trade / 100 ) )
- if Flags.NET_FUNDING_IS_ZERO or ALGO_CONFIG.Flatten_Open_Positions:
+ Flags.NET_FUNDING_IS_ZERO = ( NEXT_NET_FUNDING_RATE >= ( (ALGO_CONFIG.Config.Min_Fund_Rate_Pct_To_Trade*-1) / 100) ) and ( NEXT_NET_FUNDING_RATE <= ( ALGO_CONFIG.Config.Min_Fund_Rate_Pct_To_Trade / 100 ) )
+ if Flags.NET_FUNDING_IS_ZERO or ALGO_CONFIG.Overrides.Flatten_Open_Positions:
ALPHA_TGT_NOTIONAL = 0.00
# if ASTER_OPEN_ORDERS or EXTEND_OPEN_ORDERS:
# logging.info('NET FUNDING = 0.00; Cancelling Open Orders! then Waiting...')
@@ -507,26 +537,26 @@ async def run_algo():
ASTER_TGT_TAIL_ORDERABLE = abs(ASTER_TGT_TAIL_BASE_QTY) >= MAX_MIN_ORDER_QTY
EXTEND_TGT_TAIL_ORDERABLE = abs(EXTEND_TGT_TAIL_BASE_QTY) >= MAX_MIN_ORDER_QTY
- Hedge_Ratio = abs(( abs( max([abs(float(EXTEND_NOTIONAL_POSITION)), 0.01]) / max([abs(float(ASTER_NOTIONAL_POSITION)), 0.01]) ) - 1 ) * 100)
+ # Hedge_Ratio = abs(( abs( max([abs(float(EXTEND_NOTIONAL_POSITION)), 0.01]) / max([abs(float(ASTER_NOTIONAL_POSITION)), 0.01]) ) - 1 ) * 100)
+ Hedge_Ratio = abs( ( EXTEND_NOTIONAL_POSITION + ASTER_NOTIONAL_POSITION ) / ASTER_NOTIONAL_POSITION ) * 100
Currently_Hedged = Hedge_Ratio < 1.00
def print_summary(use_logging: bool = False):
OUT: print | logging.info = logging.info if use_logging else print
OUT(f'''
- LOOP SLEEP (SEC): {ALGO_CONFIG.Loop_Sleep_Sec}
- FLIP SIDES FOR TESTING?: {ALGO_CONFIG.Flip_Side_For_Testing}; ASTER ORDER ENABLED? {ALGO_CONFIG.Allow_Ordering_Aster}; EXTEND ORDER ENABLED? {ALGO_CONFIG.Allow_Ordering_Extend}
+ LOOP SLEEP (SEC): {ALGO_CONFIG.Config.Loop_Sleep_Sec}
+ FLIP SIDES FOR TESTING?: {ALGO_CONFIG.Overrides.Flip_Side_For_Testing}; ASTER ORDER ENABLED? {ALGO_CONFIG.Overrides.Allow_Ordering_Aster}; EXTEND ORDER ENABLED? {ALGO_CONFIG.Overrides.Allow_Ordering_Extend}
{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()):})
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: [ Available Collateral: {ASTER_AVAIL_COLLATERAL:.4f} ] | EXTEND: [ Available Collateral: {EXTEND_AVAIL_COLLATERAL:.4f} ]
ASTER: [ Notional Position $ : {ASTER_NOTIONAL_POSITION:.4f} ] | EXTEND: [ Notional Position $ : {EXTEND_NOTIONAL_POSITION:.4f} ]
SAME TIME? : {FUNDINGS_AT_SAME_TIME_NEXT_HR} [ Minutes Between Fundings: {min_between_fundings} ]
- NET FUNDING : {NEXT_NET_FUNDING_RATE:.6%} [{NEXT_NET_FUNDING_RATE*10_000:.2f}bps] [{NEXT_NET_FUNDING_RATE*1_000_000:.0f}pips]; Is Zero?: {Flags.NET_FUNDING_IS_ZERO} [Min: {ALGO_CONFIG.Min_Fund_Rate_Pct_To_Trade}]
+ NET FUNDING : {NEXT_NET_FUNDING_RATE:.6%} [{NEXT_NET_FUNDING_RATE*10_000:.2f}bps] [{NEXT_NET_FUNDING_RATE*1_000_000:.0f}pips]; Is Zero?: {Flags.NET_FUNDING_IS_ZERO} [Min: {ALGO_CONFIG.Config.Min_Fund_Rate_Pct_To_Trade}]
ALPHA SIDE : {ALPHA_EXCH} [{ALPHA_CARRY_SIDE}]
- TGT NOTIONAL: $ {abs(ALPHA_TGT_NOTIONAL):.2f}; Flatten Open Positions Flag? {ALGO_CONFIG.Flatten_Open_Positions}
+ TGT NOTIONAL: $ {abs(ALPHA_TGT_NOTIONAL):.2f}; Flatten Open Positions Flag? {ALGO_CONFIG.Overrides.Flatten_Open_Positions}
ASTER: {ASTER_NOTIONAL_POSITION:.4f} -> {ASTER_TGT_NOTIONAL:.2f} [ Remain: {ASTER_TGT_TAIL:.4f} ] | EXTEND: {EXTEND_NOTIONAL_POSITION:.4f} -> {EXTEND_TGT_NOTIONAL:.2f} [ Remain: {EXTEND_TGT_TAIL:.4f} ]
ASTER: {ASTER_TGT_NOTIONAL:.2f} - {ASTER_NOTIONAL_POSITION:.2f} + {ASTER_UNREALIZED_PNL:.2f} = {ASTER_TGT_TAIL:2f} | EXTEND: {EXTEND_TGT_NOTIONAL:.2f} - {EXTEND_NOTIONAL_POSITION:.2f} + {EXTEND_UNREALIZED_PNL:.2f} = {EXTEND_TGT_TAIL:2f}
@@ -543,35 +573,38 @@ async def run_algo():
--- EXTEND OPEN ORDERS ---
{EXTEND_OPEN_ORDERS}
''')
+ # ASTER: [ Available Collateral: {ASTER_AVAIL_COLLATERAL:.4f} ] | EXTEND: [ Available Collateral: {EXTEND_AVAIL_COLLATERAL:.4f} ]
# Try Making Hedge Order Contingent on Alpha Order Fills (Basically Hedge has to wait for sig Diff in Balance to order.) would improve when extended is thin (Overnight).
- if ALGO_CONFIG.Log_Summary_Each_Loop:
+ if ALGO_CONFIG.Logging.Log_Summary_Each_Loop:
print_summary(use_logging=True)
- if ALGO_CONFIG.Print_Summary_Each_Loop:
+ if ALGO_CONFIG.Logging.Print_Summary_Each_Loop:
print_summary(use_logging=False)
# print_summary()
+
### ROUTES ###
# MIN_EXPECTED_ALPHA_TO_TRADE = 0.0001
MIN_EXPECTED_ALPHA_TO_TRADE = -0.000001
# ALPHA RATIO CHECK
- if not( ( Expected_Alpha_w_Taker > MIN_EXPECTED_ALPHA_TO_TRADE ) or ( ASTER_OPEN_ORDERS or EXTEND_OPEN_ORDERS ) or ALGO_CONFIG.Flatten_Open_Positions ):
- # logging.info(f'Alpha Ratio too low ({ALPHA_RATIO:.8f}) and no Open Orders...')
+ if not( ( Expected_Alpha_Net_FR_w_Taker > MIN_EXPECTED_ALPHA_TO_TRADE ) or ( ASTER_OPEN_ORDERS or EXTEND_OPEN_ORDERS or Just_Rejected_Or_Expired or ALGO_CONFIG.Overrides.Flatten_Open_Positions) ):
+ if ALGO_CONFIG.Logging.Print_Summary_Each_Loop:
+ print(f'Alpha Ratio too low ({ALPHA_RATIO:.8f}) and no Open Orders...')
pass
- elif ( Expected_Alpha_w_Taker <= MIN_EXPECTED_ALPHA_TO_TRADE ) and ( ASTER_OPEN_ORDERS or EXTEND_OPEN_ORDERS ) and Currently_Hedged:
+ elif ( Expected_Alpha_Net_FR_w_Taker <= MIN_EXPECTED_ALPHA_TO_TRADE ) and ( ASTER_OPEN_ORDERS or EXTEND_OPEN_ORDERS ) and Currently_Hedged:
await aster_cancel_all_orders()
await extend_cancel_all_orders()
logging.info('Expected_Alpha went away with open orders...cancelling since we are currently hedged...')
- time.sleep( (1/1000)*100 ) # 100ms wait for ws cancel response
+ # time.sleep( (1/1000)*100 ) # 100ms wait for ws cancel response
else:
# logging.info(f'*** Alpha Ratio HIT - LETS ORDER: {ALPHA_RATIO:.8f}')
# ASTER
- if ASTER_TGT_TAIL_ORDERABLE and ALGO_CONFIG.Allow_Ordering_Aster:
+ if ASTER_TGT_TAIL_ORDERABLE and ALGO_CONFIG.Overrides.Allow_Ordering_Aster:
symbol = ASTER.symbol
side = 'BUY' if ASTER_TGT_TAIL_BASE_QTY > 0.00 else 'SELL'
qty = str(abs(ASTER_TGT_TAIL_BASE_QTY))
- price = ASTER_TOB_PX - ALGO_CONFIG.Price_Worsener_Aster if side == 'BUY' else ASTER_TOB_PX + ALGO_CONFIG.Price_Worsener_Aster
+ price = ASTER_TOB_PX - ALGO_CONFIG.Config.Price_Worsener_Aster if side == 'BUY' else ASTER_TOB_PX + ALGO_CONFIG.Config.Price_Worsener_Aster
- if abs( ( float(ASTER_TGT_TAIL_BASE_QTY)*float(price) ) + ASTER_NOTIONAL_POSITION ) > ALGO_CONFIG.Max_Target_Notional*1.01:
+ if abs( ( float(ASTER_TGT_TAIL_BASE_QTY)*float(price) ) + ASTER_NOTIONAL_POSITION ) > ALGO_CONFIG.Config.Max_Target_Notional*ALGO_CONFIG.Config.Max_Order_Over_Notional_Ratio:
logging.info(f'TRYING TO ORDER OVER MAX NOTIOANL - ASTER: {ASTER_NOTIONAL_POSITION} + {float(ASTER_TGT_TAIL_BASE_QTY)*float(price)} (qty: {float(ASTER_TGT_TAIL_BASE_QTY):.2f}; px: {float(price):.2f})')
await kill_algo()
if ASTER_OPEN_ORDERS:
@@ -622,6 +655,7 @@ async def run_algo():
order_resp['original_price'] = price
order_resp['order_status'] = order_resp['status']
ASTER_OPEN_ORDERS.append(order_resp)
+ Just_Rejected_Or_Expired = False
utils.send_tg_alert(f'FR_ALGO - ASTER Order ({order_resp['orderId']}). Start_$: {ASTER_NOTIONAL_POSITION:.2f}; Value: {float(ASTER_TGT_TAIL_BASE_QTY)*float(price):.2f}; Price: {float(price):.2f}')
logging.info(f'ASTER ORDER PLACED SUCCESS: {order_resp}')
print_summary(use_logging=True)
@@ -634,13 +668,20 @@ async def run_algo():
await aster_cancel_all_orders()
# EXTEND
- if EXTEND_TGT_TAIL_ORDERABLE and ALGO_CONFIG.Allow_Ordering_Extend:
- symbol = EXTEND_TICKER
+ if EXTEND_TGT_TAIL_ORDERABLE and ALGO_CONFIG.Overrides.Allow_Ordering_Extend:
+ Time_Since_Last_Aster_Fill_ms = ( datetime.now().timestamp()*1000 ) - Last_Aster_Fill_Time_Ts
+ if Time_Since_Last_Aster_Fill_ms > ( 1000 * ALGO_CONFIG.Config.Switch_To_Taker_Seconds ): # Change to allow taker orders if its been more than x seconds
+ post_only = False
+ price = EXTEND_TOB_PX - ALGO_CONFIG.Config.Price_Worsener_Extend if side == 'BUY' else EXTEND_TOB_PX + ALGO_CONFIG.Config.Price_Worsener_Extend
+ else:
+ post_only = True
+ price = EXTEND_TOB_PX
+
+ symbol = EXTEND.symbol
side = OrderSide.BUY if EXTEND_TGT_TAIL_BASE_QTY > 0.00 else OrderSide.SELL
qty = Decimal(str(abs(EXTEND_TGT_TAIL_BASE_QTY)))
- price = EXTEND_TOB_PX - ALGO_CONFIG.Price_Worsener_Extend if side == 'BUY' else EXTEND_TOB_PX + ALGO_CONFIG.Price_Worsener_Extend
- if abs( ( float(EXTEND_TGT_TAIL_BASE_QTY)*float(price) ) + EXTEND_NOTIONAL_POSITION ) > ALGO_CONFIG.Max_Target_Notional*1.01:
+ if abs( ( float(EXTEND_TGT_TAIL_BASE_QTY)*float(price) ) + EXTEND_NOTIONAL_POSITION ) > ALGO_CONFIG.Config.Max_Target_Notional*ALGO_CONFIG.Config.Max_Order_Over_Notional_Ratio:
logging.info(f'TRYING TO ORDER OVER MAX NOTIOANL - EXTEND: {EXTEND_NOTIONAL_POSITION:.2f} + {float(EXTEND_TGT_TAIL_BASE_QTY)*float(price):.2f} (qty: {float(EXTEND_TGT_TAIL_BASE_QTY):.2f}; px: {float(price):.2f})')
await kill_algo()
if EXTEND_OPEN_ORDERS:
@@ -667,17 +708,20 @@ async def run_algo():
logging.info('EXTEND OPEN ORDER NO PX CHG; SKIPPING')
else:
try:
+ taker_fee = taker_fee=Decimal("0.00000") if post_only else Decimal("0.00025")
order_resp = await EXTEND_CLIENT.place_order(
market_name=symbol,
amount_of_synthetic=qty,
price=price,
side=side,
- taker_fee=Decimal("0.00025"),
+ taker_fee=taker_fee,
previous_order_id=open_order_id,
+ post_only=post_only,
)
except Exception as e:
logging.error(f'EXTEND ORDER PLACEMENT FAILED - RESP: {order_resp}')
logging.error(f'EXTEND ORDER PLACEMENT FAILED: {e}')
+ logging.error(f'EXTEND ORDER PLACEMENT FAILED - POSTED: market_name:{symbol}, amount_of_synthetic:{qty}, price:{price}, side:{side},taker_fee:{taker_fee}, previous_order_id:{open_order_id}, post_only:{post_only}')
logging.error(traceback.format_exc())
order_resp_dict = dict(order_resp)
@@ -694,6 +738,7 @@ async def run_algo():
order_dict['side'] = str(side)
EXTEND_OPEN_ORDERS.append(order_dict)
+ Just_Rejected_Or_Expired = False
utils.send_tg_alert(f'FR_ALGO - EXTEND Order ({order_dict.get('id', None)}). Start_$: {EXTEND_NOTIONAL_POSITION:.2f}; Value: {float(EXTEND_TGT_TAIL_BASE_QTY)*float(price):.2f}; Price: {float(price):.2f}')
logging.info(f'EXTEND ORDER PLACED SUCCESS: {order_dict}')
print_summary(use_logging=True)
@@ -710,8 +755,8 @@ async def run_algo():
if ASTER_OPEN_ORDERS or EXTEND_OPEN_ORDERS:
continue
else:
- time.sleep(ALGO_CONFIG.Loop_Sleep_Sec)
- # print(f'_____ End No Open Orders _____ (Algo Engine ms: {(time.time() - loop_start)*1000:.2f}); Sleeping for sec: {ALGO_CONFIG.Loop_Sleep_Sec:.0f}')
+ time.sleep(ALGO_CONFIG.Config.Loop_Sleep_Sec)
+ # print(f'_____ End No Open Orders _____ (Algo Engine ms: {(time.time() - loop_start)*1000:.2f}); Sleeping for sec: {ALGO_CONFIG.Config.Loop_Sleep_Sec:.0f}')
except KeyboardInterrupt:
logging.info('CANCELLING OPEN ORDERS')
@@ -736,10 +781,15 @@ async def main():
engine = create_async_engine('mysql+asyncmy://root:pwd@localhost/fund_rate')
with open('algo_config.json', 'r', encoding='utf-8') as file:
- ALGO_CONFIG = json.load(file, object_hook=lambda d: structs.Algo_Config(**d))
- ALGO_CONFIG.Max_Target_Notional = float(min([ASTER_MULT, EXTEND_MULT]) * ALGO_CONFIG.Target_Open_Cash_Position)
+ ALGO_CONFIG = json.load(file)
+ ALGO_CONFIG = structs.Algo_Config(**ALGO_CONFIG)
- VAL_KEY.set('fr_orchestrator_output', json.dumps(asdict(ALGO_CONFIG)))
+ # with open('algo_config.json', 'r', encoding='utf-8') as file:
+ # ALGO_CONFIG = json.load(file, object_hook=lambda d: structs.Algo_Config(**d))
+
+ ALGO_CONFIG.Config.Max_Target_Notional = float(min([ASTER.mult, EXTEND.mult]) * ALGO_CONFIG.Config.Target_Open_Cash_Position)
+
+ VAL_KEY.set('fr_orchestrator_output', json.dumps(ALGO_CONFIG.model_dump()))
async with engine.connect() as CON:
### ASTER SETUP ###
diff --git a/modules/structs.py b/modules/structs.py
index d2bf0b3..88d31d1 100644
--- a/modules/structs.py
+++ b/modules/structs.py
@@ -3,25 +3,39 @@ from dataclasses import dataclass, field
from typing import Any
import valkey
+from pydantic import BaseModel
-
-@dataclass(kw_only=True)
-class Algo_Config:
- Config_Updated_Timestamp: int
+# @dataclass(kw_only=True)
+class Algo_Config_Overrides(BaseModel):
Allow_Ordering_Aster: bool
Allow_Ordering_Extend: bool
+ Flatten_Open_Positions: bool
+ Flip_Side_For_Testing: bool
+
+# @dataclass(kw_only=True)
+class Algo_Config_Config(BaseModel):
Loop_Sleep_Sec: int
+ Max_Order_Over_Notional_Ratio: float
Max_Target_Notional: float
Min_Time_To_Funding_Minutes: int
Min_Fund_Rate_Pct_To_Trade: float
Price_Worsener_Aster: float
Price_Worsener_Extend: float
+ Switch_To_Taker_Seconds: int
Target_Open_Cash_Position: int
-
- Log_Summary_Each_Loop: bool = False
- Print_Summary_Each_Loop: bool = False
- Flatten_Open_Positions: bool = False
- Flip_Side_For_Testing: bool = False
+
+# @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
+ Logging: Algo_Config_Logging
+ Overrides: Algo_Config_Overrides
+
@dataclass(kw_only=True)
class Flags:
diff --git a/requirements.txt b/requirements.txt
index 4a4d001..b44e6de 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -22,4 +22,5 @@ nicegui
# grpcio-tools==1.76.0
x10-python-trading-starknet
eth-keys
-eth-account
\ No newline at end of file
+eth-account
+pydantic
\ No newline at end of file
diff --git a/ws_aster_fund_rate_all.py b/ws_aster_fund_rate_all.py
new file mode 100644
index 0000000..023a4cc
--- /dev/null
+++ b/ws_aster_fund_rate_all.py
@@ -0,0 +1,110 @@
+import asyncio
+import json
+import logging
+import socket
+import traceback
+from datetime import datetime, timezone
+from typing import AsyncContextManager
+import math
+
+import numpy as np
+import pandas as pd
+import requests.packages.urllib3.util.connection as urllib3_cn # type: ignore
+from sqlalchemy import text
+import websockets
+from sqlalchemy.ext.asyncio import create_async_engine
+import valkey
+import os
+from dotenv import load_dotenv
+import modules.utils as utils
+
+### Allow only ipv4 ###
+def allowed_gai_family():
+ return socket.AF_INET
+urllib3_cn.allowed_gai_family = allowed_gai_family
+
+### Database ###
+USE_DB: bool = False
+USE_VK: bool = True
+VK_FUND_RATE_ALL = 'fund_rate_aster_all'
+
+CON: AsyncContextManager | None = None
+VAL_KEY = None
+
+### Logging ###
+load_dotenv()
+LOG_FILEPATH: str = os.getenv("LOGS_PATH") + '/Fund_Rate_Aster_FR_ALL.log'
+
+### Globals ###
+WSS_URL = "wss://fstream.asterdex.com/ws/!markPrice@arr"
+
+
+### Websocket ###
+async def ws_stream():
+ async for websocket in websockets.connect(WSS_URL):
+ logging.info(f"Connected to {WSS_URL}")
+ try:
+ async for message in websocket:
+ if isinstance(message, str):
+ try:
+ data = json.loads(message)
+ if data:
+ VAL_KEY.set(VK_FUND_RATE_ALL, json.dumps(data))
+ # print(f'VK_SAVED: {len(data)}')
+ continue
+ else:
+ logging.info(f'Initial or unexpected data struct, skipping: {data}')
+ continue
+ except (json.JSONDecodeError, ValueError):
+ logging.warning(f'Message not in JSON format, skipping: {message}')
+ continue
+ else:
+ raise ValueError(f'Type: {type(data)} not expected: {message}')
+ except websockets.ConnectionClosed as e:
+ logging.error(f'Connection closed: {e}')
+ logging.error(traceback.format_exc())
+ continue
+ except Exception as e:
+ logging.error(f'Connection closed: {e}')
+ logging.error(traceback.format_exc())
+
+### Startup ###
+async def main():
+ global VAL_KEY
+ global CON
+
+ 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")
+
+ if USE_DB:
+ engine = create_async_engine('mysql+asyncmy://root:pwd@localhost/fund_rate')
+ async with engine.connect() as CON:
+ # 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()
+
+
+if __name__ == '__main__':
+ START_TIME = round(datetime.now().timestamp()*1000)
+
+ logging.info(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(f"STARTED: {START_TIME}")
+
+ try:
+ asyncio.run(main())
+ except KeyboardInterrupt:
+ logging.info("Stream stopped")
\ No newline at end of file
diff --git a/ws_extended_fund_rate_all.py b/ws_extended_fund_rate_all.py
new file mode 100644
index 0000000..8e7a369
--- /dev/null
+++ b/ws_extended_fund_rate_all.py
@@ -0,0 +1,133 @@
+import asyncio
+import json
+import logging
+import socket
+import traceback
+from datetime import datetime, timezone
+from typing import AsyncContextManager
+import math
+
+import numpy as np
+import pandas as pd
+import requests.packages.urllib3.util.connection as urllib3_cn # type: ignore
+from sqlalchemy import text
+import websockets
+from sqlalchemy.ext.asyncio import create_async_engine
+import valkey
+import os
+from dotenv import load_dotenv
+import modules.utils as utils
+
+### Allow only ipv4 ###
+def allowed_gai_family():
+ return socket.AF_INET
+urllib3_cn.allowed_gai_family = allowed_gai_family
+
+### Database ###
+USE_DB: bool = False
+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
+
+### Logging ###
+load_dotenv()
+LOG_FILEPATH: str = os.getenv("LOGS_PATH") + '/Fund_Rate_Extended_FR_ALL.log'
+
+### Globals ###
+WSS_URL = "wss://api.starknet.extended.exchange/stream.extended.exchange/v1/funding/"
+LOCAL_FUNDING_RATES = []
+
+def time_round_down(dt, interval_mins=5) -> int: # returns timestamp in seconds
+ interval_secs = interval_mins * 60
+ seconds = dt.timestamp()
+ rounded_seconds = math.floor(seconds / interval_secs) * interval_secs
+
+ return rounded_seconds
+
+### Websocket ###
+async def ws_stream():
+ global LOCAL_FUNDING_RATES
+
+ async for websocket in websockets.connect(WSS_URL):
+ logging.info(f"Connected to {WSS_URL}")
+ try:
+ async for message in websocket:
+ 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}')
+ # fr_next_update_ts = (time_round_down(dt=datetime.now(timezone.utc), interval_mins=60)+(60*60))*1000
+ fr_update = {
+ 'sequence_id': data['seq'],
+ 'timestamp_arrival': ts_arrival,
+ 'timestamp_msg': data['ts'],
+ 'symbol': data['data']['m'],
+ 'funding_rate': float(data['data']['f']),
+ 'funding_rate_updated_ts_ms': data['data']['T'],
+ # 'next_funding_time_ts_ms': fr_next_update_ts,
+ }
+ LOCAL_FUNDING_RATES = utils.upsert_list_of_dicts_by_id(LOCAL_FUNDING_RATES, fr_update, id='symbol', seq_check_field='sequence_id')
+ VAL_KEY.set(VK_FUND_RATE_ALL, json.dumps(LOCAL_FUNDING_RATES))
+ # print(f'VK_SAVED: {data}')
+ continue
+ else:
+ logging.info(f'Initial or unexpected data struct, skipping: {data}')
+ continue
+ except (json.JSONDecodeError, ValueError):
+ logging.warning(f'Message not in JSON format, skipping: {message}')
+ continue
+ else:
+ raise ValueError(f'Type: {type(data)} not expected: {message}')
+ except websockets.ConnectionClosed as e:
+ logging.error(f'Connection closed: {e}')
+ logging.error(traceback.format_exc())
+ continue
+ except Exception as e:
+ logging.error(f'Connection closed: {e}')
+ logging.error(traceback.format_exc())
+
+### Startup ###
+async def main():
+ global VAL_KEY
+ global CON
+
+ 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")
+
+ if USE_DB:
+ engine = create_async_engine('mysql+asyncmy://root:pwd@localhost/fund_rate')
+ async with engine.connect() as CON:
+ # 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()
+
+
+if __name__ == '__main__':
+ START_TIME = round(datetime.now().timestamp()*1000)
+
+ logging.info(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(f"STARTED: {START_TIME}")
+
+ try:
+ asyncio.run(main())
+ except KeyboardInterrupt:
+ logging.info("Stream stopped")
\ No newline at end of file