Files
Funding_Rate/engine_best_funding_rate.ipynb

2069 lines
63 KiB
Plaintext
Raw Normal View History

2026-04-28 22:40:35 +00:00
{
"cells": [
{
"cell_type": "code",
2026-04-30 04:32:49 +00:00
"execution_count": 1,
2026-04-28 22:40:35 +00:00
"id": "0b5ca901",
"metadata": {},
"outputs": [],
"source": [
"import requests\n",
"import pandas as pd\n",
"import numpy as np\n",
"from datetime import datetime\n",
"import time\n",
"import json\n",
"import valkey\n",
2026-04-30 04:32:49 +00:00
"from dataclasses import dataclass, field, asdict\n",
"import modules.structs as structs\n",
"\n",
2026-04-30 04:32:49 +00:00
"import modules.manual_leverage as leverage\n",
"VAL_KEY = valkey.Valkey(host='localhost', port=6379, db=0, decode_responses=True)\n",
"\n",
"df_leverage_by_exch = pd.DataFrame(data=leverage.LEVERAGE_BY_EXCH)"
2026-04-28 22:40:35 +00:00
]
},
{
"cell_type": "code",
2026-04-30 04:32:49 +00:00
"execution_count": 2,
"id": "20665e82",
2026-04-28 22:40:35 +00:00
"metadata": {},
"outputs": [],
"source": [
"### ********** TODO: ADD IN VOLUME DATA TO FILTER MKTS ###"
2026-04-28 22:40:35 +00:00
]
},
{
"cell_type": "code",
2026-04-30 04:32:49 +00:00
"execution_count": 3,
2026-04-28 22:40:35 +00:00
"id": "53647b40",
"metadata": {},
"outputs": [],
"source": [
"# ### ASTER Historical FR ###\n",
"# params = {\n",
"# 'limit': 1000,\n",
"# }\n",
"# r = json.loads(requests.get('https://fapi.asterdex.com/fapi/v3/fundingRate', params=params).text)\n",
"# df_aster_hist_fr = pd.DataFrame(r)\n",
"# df_aster_hist_fr['funding_rate_ts_dt'] = pd.to_datetime(df_aster_hist_fr['fundingTime'], unit='ms')\n",
"# df_aster_hist_fr = df_aster_hist_fr.sort_values(by='fundingTime', ascending=True).drop_duplicates(subset=['symbol'], keep='last')"
]
},
{
"cell_type": "code",
2026-04-30 04:32:49 +00:00
"execution_count": 4,
2026-04-28 22:40:35 +00:00
"id": "1f3b65ee",
"metadata": {},
"outputs": [],
"source": [
"# ### ASTER Current FR ###\n",
"# r = json.loads(requests.get('https://fapi.asterdex.com/fapi/v3/fundingInfo').text)\n",
"# df_aster_current_fr = pd.DataFrame(r)\n",
"# df_aster_current_fr['funding_rate_ts_dt'] = pd.to_datetime(df_aster_current_fr['time'], unit='ms')\n",
"# df_aster_current_fr['funding_rate'] = df_aster_current_fr['interestRate']\n"
]
},
{
"cell_type": "code",
2026-04-30 04:32:49 +00:00
"execution_count": 5,
"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",
2026-04-30 04:32:49 +00:00
"execution_count": 6,
2026-04-28 22:40:35 +00:00
"id": "62815940",
"metadata": {},
"outputs": [],
"source": [
"### ASTER Current FR from Mark Price Req ###\n",
"# 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)"
2026-04-28 22:40:35 +00:00
]
},
{
"cell_type": "code",
2026-04-30 04:32:49 +00:00
"execution_count": null,
"id": "271a67c1",
"metadata": {},
"outputs": [],
"source": [
"### ASTER CURRENT FR - WS ###\n",
2026-04-30 04:32:49 +00:00
"df_aster_current_fr = pd.DataFrame(json.loads(VAL_KEY.get('fund_rate_aster_all'))) # ty:ignore[invalid-argument-type]\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",
2026-04-30 04:32:49 +00:00
"execution_count": null,
2026-04-28 22:40:35 +00:00
"id": "1ce2fde4",
"metadata": {},
"outputs": [],
"source": [
"### EXTEND CURRENT FR - WS ###\n",
2026-04-30 04:32:49 +00:00
"df_extended_current_fr = pd.DataFrame(json.loads(VAL_KEY.get('fund_rate_extended_all'))) # ty:ignore[invalid-argument-type]\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",
2026-04-30 04:32:49 +00:00
"execution_count": 13,
"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",
2026-04-30 04:32:49 +00:00
"execution_count": 14,
"id": "2a57ff44",
2026-04-28 22:40:35 +00:00
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
"columns": [
{
"name": "index",
"rawType": "int64",
"type": "integer"
},
{
"name": "symbol_ext",
2026-04-28 22:40:35 +00:00
"rawType": "str",
"type": "string"
},
{
2026-04-30 04:32:49 +00:00
"name": "funding_rate_updated_ts_ms_ext",
"rawType": "int64",
"type": "integer"
2026-04-28 22:40:35 +00:00
},
{
2026-04-30 04:32:49 +00:00
"name": "funding_rate_ext",
"rawType": "float64",
"type": "float"
2026-04-28 22:40:35 +00:00
},
{
2026-04-30 04:32:49 +00:00
"name": "funding_rate_updated_dt_ext",
"rawType": "datetime64[ms]",
"type": "datetime"
},
{
"name": "assetName",
"rawType": "str",
"type": "string"
},
{
"name": "status",
"rawType": "str",
"type": "string"
},
{
"name": "next_funding_ts_ext",
"rawType": "float64",
"type": "float"
2026-04-28 22:40:35 +00:00
},
{
2026-04-30 04:32:49 +00:00
"name": "USDT_Symbol",
"rawType": "str",
"type": "string"
},
{
"name": "time_delta_to_next_funding_ext",
"rawType": "timedelta64[us]",
"type": "unknown"
},
{
"name": "symbol_ast",
"rawType": "str",
"type": "string"
},
{
"name": "funding_rate_updated_ts_ms_ast",
"rawType": "int64",
"type": "integer"
},
{
"name": "funding_rate_ast",
"rawType": "float64",
"type": "float"
2026-04-28 22:40:35 +00:00
},
2026-04-30 04:32:49 +00:00
{
"name": "next_funding_ts_ast",
"rawType": "int64",
"type": "integer"
},
{
"name": "funding_rate_updated_dt_ast",
"rawType": "datetime64[ms]",
"type": "datetime"
},
{
"name": "time_delta_to_next_funding_ast",
"rawType": "timedelta64[us]",
"type": "unknown"
},
2026-04-28 22:40:35 +00:00
{
"name": "next_funding_at_same_time",
"rawType": "bool",
"type": "boolean"
2026-04-28 22:40:35 +00:00
},
{
2026-04-30 04:32:49 +00:00
"name": "net_funding_rate",
"rawType": "float64",
"type": "float"
},
{
"name": "net_funding_rate_abs",
"rawType": "float64",
"type": "float"
},
{
"name": "exchange_ext",
"rawType": "str",
"type": "string"
},
{
"name": "lh_asset_ext",
"rawType": "str",
"type": "string"
},
{
"name": "rh_asset_ext",
"rawType": "str",
"type": "string"
},
{
"name": "max_leverage_ext",
"rawType": "int64",
"type": "integer"
},
{
"name": "max_notional_ext",
"rawType": "int64",
"type": "integer"
},
{
"name": "exchange_ast",
"rawType": "str",
"type": "string"
},
{
"name": "lh_asset_ast",
"rawType": "str",
"type": "string"
},
{
"name": "rh_asset_ast",
"rawType": "str",
"type": "string"
},
{
"name": "max_leverage_ast",
"rawType": "int64",
"type": "integer"
},
{
"name": "max_notional_ast",
"rawType": "int64",
"type": "integer"
},
{
"name": "net_mult",
"rawType": "float64",
"type": "float"
},
{
"name": "net_mult_x_net_fr_abs",
"rawType": "float64",
"type": "float"
2026-04-28 22:40:35 +00:00
}
],
2026-04-30 04:32:49 +00:00
"ref": "828df49a-a9ee-4c48-b86a-3cead015814c",
2026-04-28 22:40:35 +00:00
"rows": [
[
"0",
2026-04-30 04:32:49 +00:00
"BTC-USD",
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"BTC",
"ACTIVE",
"1777496400000.0",
"BTCUSDT",
"0 days 00:56:57.938774",
"BTCUSDT",
"1777491132000",
"3.866e-05",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"BTC",
"USD",
"50",
"4000000",
"ASTER",
"BTC",
"USDT",
"150",
"300000",
"75.0",
"0.000975"
2026-04-28 22:40:35 +00:00
],
[
"1",
2026-04-30 04:32:49 +00:00
"ETH-USD",
"1777438379597",
"1.3e-05",
2026-04-30 04:32:49 +00:00
"2026-04-29 04:52:59.597000",
"ETH",
"ACTIVE",
"1777496400000.0",
"ETHUSDT",
"0 days 00:56:57.938774",
"ETHUSDT",
"1777491132000",
"8.26e-06",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"ETH",
"USD",
"50",
"4000000",
"ASTER",
"ETH",
"USDT",
"150",
"300000",
"75.0",
"0.000975"
2026-04-28 22:40:35 +00:00
],
[
"2",
2026-04-30 04:32:49 +00:00
"SOL-USD",
"1777438379597",
"-5e-06",
"2026-04-29 04:52:59.597000",
"SOL",
"ACTIVE",
"1777496400000.0",
"SOLUSDT",
"0 days 00:56:57.938774",
"SOLUSDT",
"1777491132000",
"-0.00010428",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"-5e-06",
"5e-06",
"EXTEND",
"SOL",
"USD",
"50",
"1000000",
"ASTER",
"SOL",
"USDT",
"100",
"50000",
"66.67",
"0.00033335000000000005"
2026-04-28 22:40:35 +00:00
],
[
"3",
2026-04-30 04:32:49 +00:00
"DOGE-USD",
"1777438379597",
"1.3e-05",
2026-04-30 04:32:49 +00:00
"2026-04-29 04:52:59.597000",
"DOGE",
"ACTIVE",
"1777496400000.0",
"DOGEUSDT",
"0 days 00:56:57.938774",
"DOGEUSDT",
"1777491132000",
"7.854e-05",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"DOGE",
"USD",
"50",
"500000",
"ASTER",
"DOGE",
"USDT",
"75",
"80000",
"60.0",
"0.00078"
2026-04-28 22:40:35 +00:00
],
[
"4",
"BNB-USD",
2026-04-30 04:32:49 +00:00
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"BNB",
"ACTIVE",
"1777496400000.0",
"BNBUSDT",
2026-04-30 04:32:49 +00:00
"0 days 00:56:57.938774",
"BNBUSDT",
"1777491132000",
"0.0",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
"1.3e-05",
"1.3e-05",
2026-04-30 04:32:49 +00:00
"EXTEND",
"BNB",
"USD",
"50",
"500000",
"ASTER",
"BNB",
"USDT",
"100",
"10000",
"66.67",
"0.0008667099999999999"
2026-04-28 22:40:35 +00:00
],
[
"5",
2026-04-30 04:32:49 +00:00
"XRP-USD",
"1777438379597",
"2e-06",
"2026-04-29 04:52:59.597000",
"XRP",
"ACTIVE",
"1777496400000.0",
"XRPUSDT",
"0 days 00:56:57.938774",
"XRPUSDT",
"1777491132000",
"-7.617e-05",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"2e-06",
"2e-06",
"EXTEND",
"XRP",
"USD",
"50",
"500000",
"ASTER",
"XRP",
"USDT",
"100",
"40000",
"66.67",
"0.00013334"
2026-04-28 22:40:35 +00:00
],
[
"6",
2026-04-30 04:32:49 +00:00
"SUI-USD",
"1777438379597",
"-9e-06",
"2026-04-29 04:52:59.597000",
"SUI",
"ACTIVE",
"1777496400000.0",
"SUIUSDT",
"0 days 00:56:57.938774",
"SUIUSDT",
"1777491132000",
"2.932e-05",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"-9e-06",
"9e-06",
"EXTEND",
"SUI",
"USD",
"50",
"500000",
"ASTER",
"SUI",
"USDT",
"75",
"5416",
"60.0",
"0.00054"
2026-04-28 22:40:35 +00:00
],
[
"7",
2026-04-30 04:32:49 +00:00
"HYPE-USD",
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"HYPE",
"ACTIVE",
"1777496400000.0",
"HYPEUSDT",
"0 days 00:56:57.938774",
"HYPEUSDT",
"1777491132000",
"5e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"HYPE",
"USD",
"50",
"1000000",
"ASTER",
"HYPE",
"USDT",
"300",
"1000",
"85.71",
"0.00111423"
2026-04-28 22:40:35 +00:00
],
[
"8",
2026-04-30 04:32:49 +00:00
"ENA-USD",
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"ENA",
"ACTIVE",
"1777496400000.0",
"ENAUSDT",
"0 days 00:56:57.938774",
"ENAUSDT",
"1777491132000",
"0.0001",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"ENA",
"USD",
"50",
"500000",
"ASTER",
"ENA",
"USDT",
"25",
"30473",
"33.33",
"0.00043328999999999997"
2026-04-28 22:40:35 +00:00
],
[
"9",
2026-04-30 04:32:49 +00:00
"AAVE-USD",
"1777438379597",
"6e-06",
"2026-04-29 04:52:59.597000",
"AAVE",
"ACTIVE",
"1777496400000.0",
"AAVEUSDT",
"0 days 00:56:57.938774",
"AAVEUSDT",
"1777491132000",
"0.0001",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"6e-06",
"6e-06",
"EXTEND",
"AAVE",
"USD",
"50",
"500000",
"ASTER",
"AAVE",
"USDT",
"10",
"115290",
"16.67",
"0.00010002000000000001"
2026-04-28 22:40:35 +00:00
],
[
"10",
2026-04-30 04:32:49 +00:00
"TRUMP-USD",
"1777438379597",
"-1e-06",
"2026-04-29 04:52:59.597000",
"TRUMP",
"ACTIVE",
"1777496400000.0",
"TRUMPUSDT",
"0 days 00:56:57.938774",
"TRUMPUSDT",
"1777491132000",
"5e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"-1e-06",
"1e-06",
"EXTEND",
"TRUMP",
"USD",
"25",
"400000",
"ASTER",
"TRUMP",
"USDT",
"50",
"5567",
"33.33",
"3.3329999999999994e-05"
2026-04-28 22:40:35 +00:00
],
[
"11",
2026-04-30 04:32:49 +00:00
"INIT-USD",
"1777438379597",
"1.3e-05",
2026-04-30 04:32:49 +00:00
"2026-04-29 04:52:59.597000",
"INIT",
"ACTIVE",
"1777496400000.0",
"INITUSDT",
"0 days 00:56:57.938774",
"INITUSDT",
"1777491132000",
"1.25e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"INIT",
"USD",
"5",
"100000",
"ASTER",
"INIT",
"USDT",
"50",
"5000",
"9.09",
"0.00011816999999999999"
2026-04-28 22:40:35 +00:00
],
[
"12",
2026-04-30 04:32:49 +00:00
"XAU-USD",
"1777438379597",
"2.3e-05",
"2026-04-29 04:52:59.597000",
"XAU",
"ACTIVE",
"1777496400000.0",
"XAUUSDT",
"0 days 00:56:57.938774",
"XAUUSDT",
"1777491132000",
"0.00013741",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"2.3e-05",
"2.3e-05",
"EXTEND",
"XAU",
"USD",
"25",
"2000000",
"ASTER",
"XAU",
"USDT",
"75",
"2500",
"37.5",
"0.0008625"
2026-04-28 22:40:35 +00:00
],
[
"13",
2026-04-30 04:32:49 +00:00
"XAG-USD",
"1777438379597",
"3e-06",
"2026-04-29 04:52:59.597000",
"XAG",
"ACTIVE",
"1777496400000.0",
"XAGUSDT",
"0 days 00:56:57.938774",
"XAGUSDT",
"1777491132000",
"0.0002762",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"3e-06",
"3e-06",
"EXTEND",
"XAG",
"USD",
"10",
"1000000",
"ASTER",
"XAG",
"USDT",
"100",
"50000",
"18.18",
"5.454e-05"
2026-04-28 22:40:35 +00:00
],
[
"14",
2026-04-30 04:32:49 +00:00
"ZORA-USD",
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"ZORA",
"ACTIVE",
"1777496400000.0",
"ZORAUSDT",
"0 days 00:56:57.938774",
"ZORAUSDT",
"1777491132000",
"5e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"ZORA",
"USD",
"5",
"100000",
"ASTER",
"ZORA",
"USDT",
"5",
"100000",
"5.0",
"6.5e-05"
2026-04-28 22:40:35 +00:00
],
[
"15",
"WLFI-USD",
2026-04-30 04:32:49 +00:00
"1777438379597",
"-1.3e-05",
2026-04-30 04:32:49 +00:00
"2026-04-29 04:52:59.597000",
"WLFI",
"ACTIVE",
"1777496400000.0",
"WLFIUSDT",
"0 days 00:56:57.938774",
"WLFIUSDT",
"1777491132000",
"5e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"-1.3e-05",
"1.3e-05",
"EXTEND",
"WLFI",
"USD",
"10",
"250000",
"ASTER",
"WLFI",
"USDT",
"25",
"104869",
"14.29",
"0.00018576999999999998"
2026-04-28 22:40:35 +00:00
],
[
"16",
2026-04-30 04:32:49 +00:00
"ASTER-USD",
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"ASTER",
"ACTIVE",
"1777496400000.0",
"ASTERUSDT",
"0 days 00:56:57.938774",
"ASTERUSDT",
"1777491132000",
"5e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"ASTER",
"USD",
"25",
"400000",
"ASTER",
"ASTER",
"USDT",
"75",
"20000",
"37.5",
"0.0004875"
2026-04-28 22:40:35 +00:00
],
[
"17",
2026-04-30 04:32:49 +00:00
"ZEC-USD",
"1777438379597",
"-2.2e-05",
"2026-04-29 04:52:59.597000",
"ZEC",
"ACTIVE",
"1777496400000.0",
"ZECUSDT",
"0 days 00:56:57.938774",
"ZECUSDT",
"1777491132000",
"7.86e-06",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"-2.2e-05",
"2.2e-05",
"EXTEND",
"ZEC",
"USD",
"10",
"250000",
"ASTER",
"ZEC",
"USDT",
"75",
"6250",
"17.65",
"0.00038829999999999995"
2026-04-28 22:40:35 +00:00
],
[
"18",
"4-USD",
2026-04-30 04:32:49 +00:00
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"4",
"ACTIVE",
"1777496400000.0",
"4USDT",
2026-04-30 04:32:49 +00:00
"0 days 00:56:57.938774",
"4USDT",
"1777491132000",
"1.25e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
"1.3e-05",
"1.3e-05",
2026-04-30 04:32:49 +00:00
"EXTEND",
"4",
"USD",
"5",
"100000",
"ASTER",
"4",
"USDT",
"50",
"5000",
"9.09",
"0.00011816999999999999"
2026-04-28 22:40:35 +00:00
],
[
"19",
2026-04-30 04:32:49 +00:00
"LIT-USD",
"1777438379597",
"1.3e-05",
"2026-04-29 04:52:59.597000",
"LIT",
"ACTIVE",
"1777496400000.0",
"LITUSDT",
"0 days 00:56:57.938774",
"LITUSDT",
"1777491132000",
"1.25e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"1.3e-05",
"1.3e-05",
"EXTEND",
"LIT",
"USD",
"25",
"400000",
"ASTER",
"LIT",
"USDT",
"50",
"2500",
"33.33",
"0.00043328999999999997"
2026-04-28 22:40:35 +00:00
],
[
"20",
2026-04-30 04:32:49 +00:00
"XMR-USD",
"1777438379597",
"2.2e-05",
"2026-04-29 04:52:59.597000",
"XMR",
"ACTIVE",
"1777496400000.0",
"XMRUSDT",
"0 days 00:56:57.938774",
"XMRUSDT",
"1777491132000",
"1.25e-05",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"2.2e-05",
"2.2e-05",
"EXTEND",
"XMR",
"USD",
"25",
"400000",
"ASTER",
"XMR",
"USDT",
"50",
"10000",
"33.33",
"0.0007332599999999999"
2026-04-28 22:40:35 +00:00
],
[
"21",
2026-04-30 04:32:49 +00:00
"XPT-USD",
"1777438379597",
"0.000168",
"2026-04-29 04:52:59.597000",
"XPT",
"ACTIVE",
"1777496400000.0",
"XPTUSDT",
"0 days 00:56:57.938774",
"XPTUSDT",
"1777491132000",
"0.00059244",
"1777507200000",
"2026-04-29 19:32:12",
"0 days 03:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"0.000168",
"0.000168",
"EXTEND",
"XPT",
"USD",
"5",
"1000000",
"ASTER",
"XPT",
"USDT",
"3",
"30000",
"3.75",
"0.0006299999999999999"
2026-04-28 22:40:35 +00:00
],
[
"22",
2026-04-30 04:32:49 +00:00
"CHIP-USD",
"1777438379597",
"-0.000388",
"2026-04-29 04:52:59.597000",
"CHIP",
"ACTIVE",
"1777496400000.0",
"CHIPUSDT",
"0 days 00:56:57.938774",
"CHIPUSDT",
"1777491132000",
"-0.00031985",
"1777492800000",
"2026-04-29 19:32:12",
"-1 days +23:56:58.188791",
"False",
2026-04-30 04:32:49 +00:00
"-0.000388",
"0.000388",
"EXTEND",
"CHIP",
"USD",
"5",
"100000",
"ASTER",
"CHIP",
"USDT",
"50",
"5000",
"9.09",
"0.00352692"
2026-04-28 22:40:35 +00:00
]
],
"shape": {
2026-04-30 04:32:49 +00:00
"columns": 30,
"rows": 23
2026-04-28 22:40:35 +00:00
}
},
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>symbol_ext</th>\n",
2026-04-30 04:32:49 +00:00
" <th>funding_rate_updated_ts_ms_ext</th>\n",
" <th>funding_rate_ext</th>\n",
" <th>funding_rate_updated_dt_ext</th>\n",
" <th>assetName</th>\n",
" <th>status</th>\n",
" <th>next_funding_ts_ext</th>\n",
" <th>USDT_Symbol</th>\n",
" <th>time_delta_to_next_funding_ext</th>\n",
" <th>symbol_ast</th>\n",
2026-04-30 04:32:49 +00:00
" <th>...</th>\n",
" <th>rh_asset_ext</th>\n",
" <th>max_leverage_ext</th>\n",
" <th>max_notional_ext</th>\n",
" <th>exchange_ast</th>\n",
" <th>lh_asset_ast</th>\n",
" <th>rh_asset_ast</th>\n",
" <th>max_leverage_ast</th>\n",
" <th>max_notional_ast</th>\n",
" <th>net_mult</th>\n",
" <th>net_mult_x_net_fr_abs</th>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
2026-04-30 04:32:49 +00:00
" <td>BTC-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>BTC</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>BTCUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>BTCUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>4000000</td>\n",
" <td>ASTER</td>\n",
" <td>BTC</td>\n",
" <td>USDT</td>\n",
" <td>150</td>\n",
" <td>300000</td>\n",
" <td>75.00</td>\n",
" <td>0.000975</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
2026-04-30 04:32:49 +00:00
" <td>ETH-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
2026-04-30 04:32:49 +00:00
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>ETH</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>ETHUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>ETHUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>4000000</td>\n",
" <td>ASTER</td>\n",
" <td>ETH</td>\n",
" <td>USDT</td>\n",
" <td>150</td>\n",
" <td>300000</td>\n",
" <td>75.00</td>\n",
" <td>0.000975</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
2026-04-30 04:32:49 +00:00
" <td>SOL-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>-0.000005</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>SOL</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>SOLUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>SOLUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>1000000</td>\n",
" <td>ASTER</td>\n",
" <td>SOL</td>\n",
" <td>USDT</td>\n",
" <td>100</td>\n",
" <td>50000</td>\n",
" <td>66.67</td>\n",
" <td>0.000333</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
2026-04-30 04:32:49 +00:00
" <td>DOGE-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
2026-04-30 04:32:49 +00:00
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>DOGE</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>DOGEUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>DOGEUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>500000</td>\n",
" <td>ASTER</td>\n",
" <td>DOGE</td>\n",
" <td>USDT</td>\n",
" <td>75</td>\n",
" <td>80000</td>\n",
" <td>60.00</td>\n",
" <td>0.000780</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>BNB-USD</td>\n",
2026-04-30 04:32:49 +00:00
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>BNB</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>BNBUSDT</td>\n",
2026-04-30 04:32:49 +00:00
" <td>0 days 00:56:57.938774</td>\n",
" <td>BNBUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>500000</td>\n",
" <td>ASTER</td>\n",
" <td>BNB</td>\n",
" <td>USDT</td>\n",
" <td>100</td>\n",
" <td>10000</td>\n",
" <td>66.67</td>\n",
" <td>0.000867</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
2026-04-30 04:32:49 +00:00
" <td>XRP-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000002</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>XRP</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>XRPUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>XRPUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>500000</td>\n",
" <td>ASTER</td>\n",
" <td>XRP</td>\n",
" <td>USDT</td>\n",
" <td>100</td>\n",
" <td>40000</td>\n",
" <td>66.67</td>\n",
" <td>0.000133</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
2026-04-30 04:32:49 +00:00
" <td>SUI-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>-0.000009</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>SUI</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>SUIUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>SUIUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>500000</td>\n",
" <td>ASTER</td>\n",
" <td>SUI</td>\n",
" <td>USDT</td>\n",
" <td>75</td>\n",
" <td>5416</td>\n",
" <td>60.00</td>\n",
" <td>0.000540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
2026-04-30 04:32:49 +00:00
" <td>HYPE-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>HYPE</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>HYPEUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>HYPEUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>1000000</td>\n",
" <td>ASTER</td>\n",
" <td>HYPE</td>\n",
" <td>USDT</td>\n",
" <td>300</td>\n",
" <td>1000</td>\n",
" <td>85.71</td>\n",
" <td>0.001114</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
2026-04-30 04:32:49 +00:00
" <td>ENA-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>ENA</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>ENAUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>ENAUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>500000</td>\n",
" <td>ASTER</td>\n",
" <td>ENA</td>\n",
" <td>USDT</td>\n",
" <td>25</td>\n",
" <td>30473</td>\n",
" <td>33.33</td>\n",
" <td>0.000433</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
2026-04-30 04:32:49 +00:00
" <td>AAVE-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000006</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>AAVE</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>AAVEUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>AAVEUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>50</td>\n",
" <td>500000</td>\n",
" <td>ASTER</td>\n",
" <td>AAVE</td>\n",
" <td>USDT</td>\n",
" <td>10</td>\n",
" <td>115290</td>\n",
" <td>16.67</td>\n",
" <td>0.000100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
2026-04-30 04:32:49 +00:00
" <td>TRUMP-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>-0.000001</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>TRUMP</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>TRUMPUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>TRUMPUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>25</td>\n",
" <td>400000</td>\n",
" <td>ASTER</td>\n",
" <td>TRUMP</td>\n",
" <td>USDT</td>\n",
" <td>50</td>\n",
" <td>5567</td>\n",
" <td>33.33</td>\n",
" <td>0.000033</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
2026-04-30 04:32:49 +00:00
" <td>INIT-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
2026-04-30 04:32:49 +00:00
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>INIT</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>INITUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>INITUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>5</td>\n",
" <td>100000</td>\n",
" <td>ASTER</td>\n",
" <td>INIT</td>\n",
" <td>USDT</td>\n",
" <td>50</td>\n",
" <td>5000</td>\n",
" <td>9.09</td>\n",
" <td>0.000118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
2026-04-30 04:32:49 +00:00
" <td>XAU-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000023</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>XAU</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>XAUUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>XAUUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>25</td>\n",
" <td>2000000</td>\n",
" <td>ASTER</td>\n",
" <td>XAU</td>\n",
" <td>USDT</td>\n",
" <td>75</td>\n",
" <td>2500</td>\n",
" <td>37.50</td>\n",
" <td>0.000862</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
2026-04-30 04:32:49 +00:00
" <td>XAG-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000003</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>XAG</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>XAGUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>XAGUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>10</td>\n",
" <td>1000000</td>\n",
" <td>ASTER</td>\n",
" <td>XAG</td>\n",
" <td>USDT</td>\n",
" <td>100</td>\n",
" <td>50000</td>\n",
" <td>18.18</td>\n",
" <td>0.000055</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
2026-04-30 04:32:49 +00:00
" <td>ZORA-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>ZORA</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>ZORAUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>ZORAUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>5</td>\n",
" <td>100000</td>\n",
" <td>ASTER</td>\n",
" <td>ZORA</td>\n",
" <td>USDT</td>\n",
" <td>5</td>\n",
" <td>100000</td>\n",
" <td>5.00</td>\n",
" <td>0.000065</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>WLFI-USD</td>\n",
2026-04-30 04:32:49 +00:00
" <td>1777438379597</td>\n",
" <td>-0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>WLFI</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>WLFIUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>WLFIUSDT</td>\n",
2026-04-30 04:32:49 +00:00
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>10</td>\n",
" <td>250000</td>\n",
" <td>ASTER</td>\n",
" <td>WLFI</td>\n",
" <td>USDT</td>\n",
" <td>25</td>\n",
" <td>104869</td>\n",
" <td>14.29</td>\n",
" <td>0.000186</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
2026-04-30 04:32:49 +00:00
" <td>ASTER-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>ASTER</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>ASTERUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>ASTERUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>25</td>\n",
" <td>400000</td>\n",
" <td>ASTER</td>\n",
" <td>ASTER</td>\n",
" <td>USDT</td>\n",
" <td>75</td>\n",
" <td>20000</td>\n",
" <td>37.50</td>\n",
" <td>0.000487</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
2026-04-30 04:32:49 +00:00
" <td>ZEC-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>-0.000022</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>ZEC</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>ZECUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>ZECUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>10</td>\n",
" <td>250000</td>\n",
" <td>ASTER</td>\n",
" <td>ZEC</td>\n",
" <td>USDT</td>\n",
" <td>75</td>\n",
" <td>6250</td>\n",
" <td>17.65</td>\n",
" <td>0.000388</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>4-USD</td>\n",
2026-04-30 04:32:49 +00:00
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>4</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>4USDT</td>\n",
2026-04-30 04:32:49 +00:00
" <td>0 days 00:56:57.938774</td>\n",
" <td>4USDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>5</td>\n",
" <td>100000</td>\n",
" <td>ASTER</td>\n",
" <td>4</td>\n",
" <td>USDT</td>\n",
" <td>50</td>\n",
" <td>5000</td>\n",
" <td>9.09</td>\n",
" <td>0.000118</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
2026-04-30 04:32:49 +00:00
" <td>LIT-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000013</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>LIT</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>LITUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>LITUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>25</td>\n",
" <td>400000</td>\n",
" <td>ASTER</td>\n",
" <td>LIT</td>\n",
" <td>USDT</td>\n",
" <td>50</td>\n",
" <td>2500</td>\n",
" <td>33.33</td>\n",
" <td>0.000433</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
2026-04-30 04:32:49 +00:00
" <td>XMR-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000022</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>XMR</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>XMRUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>XMRUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>25</td>\n",
" <td>400000</td>\n",
" <td>ASTER</td>\n",
" <td>XMR</td>\n",
" <td>USDT</td>\n",
" <td>50</td>\n",
" <td>10000</td>\n",
" <td>33.33</td>\n",
" <td>0.000733</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
2026-04-30 04:32:49 +00:00
" <td>XPT-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>0.000168</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>XPT</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>XPTUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>XPTUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>5</td>\n",
" <td>1000000</td>\n",
" <td>ASTER</td>\n",
" <td>XPT</td>\n",
" <td>USDT</td>\n",
" <td>3</td>\n",
" <td>30000</td>\n",
" <td>3.75</td>\n",
" <td>0.000630</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
2026-04-30 04:32:49 +00:00
" <td>CHIP-USD</td>\n",
" <td>1777438379597</td>\n",
" <td>-0.000388</td>\n",
" <td>2026-04-29 04:52:59.597</td>\n",
" <td>CHIP</td>\n",
" <td>ACTIVE</td>\n",
" <td>1.777496e+12</td>\n",
" <td>CHIPUSDT</td>\n",
" <td>0 days 00:56:57.938774</td>\n",
" <td>CHIPUSDT</td>\n",
" <td>...</td>\n",
" <td>USD</td>\n",
" <td>5</td>\n",
" <td>100000</td>\n",
" <td>ASTER</td>\n",
" <td>CHIP</td>\n",
" <td>USDT</td>\n",
" <td>50</td>\n",
" <td>5000</td>\n",
" <td>9.09</td>\n",
" <td>0.003527</td>\n",
2026-04-28 22:40:35 +00:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
2026-04-30 04:32:49 +00:00
"<p>23 rows × 30 columns</p>\n",
2026-04-28 22:40:35 +00:00
"</div>"
],
"text/plain": [
2026-04-30 04:32:49 +00:00
" symbol_ext funding_rate_updated_ts_ms_ext funding_rate_ext \\\n",
"0 BTC-USD 1777438379597 0.000013 \n",
"1 ETH-USD 1777438379597 0.000013 \n",
"2 SOL-USD 1777438379597 -0.000005 \n",
"3 DOGE-USD 1777438379597 0.000013 \n",
"4 BNB-USD 1777438379597 0.000013 \n",
"5 XRP-USD 1777438379597 0.000002 \n",
"6 SUI-USD 1777438379597 -0.000009 \n",
"7 HYPE-USD 1777438379597 0.000013 \n",
"8 ENA-USD 1777438379597 0.000013 \n",
"9 AAVE-USD 1777438379597 0.000006 \n",
"10 TRUMP-USD 1777438379597 -0.000001 \n",
"11 INIT-USD 1777438379597 0.000013 \n",
"12 XAU-USD 1777438379597 0.000023 \n",
"13 XAG-USD 1777438379597 0.000003 \n",
"14 ZORA-USD 1777438379597 0.000013 \n",
"15 WLFI-USD 1777438379597 -0.000013 \n",
"16 ASTER-USD 1777438379597 0.000013 \n",
"17 ZEC-USD 1777438379597 -0.000022 \n",
"18 4-USD 1777438379597 0.000013 \n",
"19 LIT-USD 1777438379597 0.000013 \n",
"20 XMR-USD 1777438379597 0.000022 \n",
"21 XPT-USD 1777438379597 0.000168 \n",
"22 CHIP-USD 1777438379597 -0.000388 \n",
"\n",
" funding_rate_updated_dt_ext assetName status next_funding_ts_ext \\\n",
"0 2026-04-29 04:52:59.597 BTC ACTIVE 1.777496e+12 \n",
"1 2026-04-29 04:52:59.597 ETH ACTIVE 1.777496e+12 \n",
"2 2026-04-29 04:52:59.597 SOL ACTIVE 1.777496e+12 \n",
"3 2026-04-29 04:52:59.597 DOGE ACTIVE 1.777496e+12 \n",
"4 2026-04-29 04:52:59.597 BNB ACTIVE 1.777496e+12 \n",
"5 2026-04-29 04:52:59.597 XRP ACTIVE 1.777496e+12 \n",
"6 2026-04-29 04:52:59.597 SUI ACTIVE 1.777496e+12 \n",
"7 2026-04-29 04:52:59.597 HYPE ACTIVE 1.777496e+12 \n",
"8 2026-04-29 04:52:59.597 ENA ACTIVE 1.777496e+12 \n",
"9 2026-04-29 04:52:59.597 AAVE ACTIVE 1.777496e+12 \n",
"10 2026-04-29 04:52:59.597 TRUMP ACTIVE 1.777496e+12 \n",
"11 2026-04-29 04:52:59.597 INIT ACTIVE 1.777496e+12 \n",
"12 2026-04-29 04:52:59.597 XAU ACTIVE 1.777496e+12 \n",
"13 2026-04-29 04:52:59.597 XAG ACTIVE 1.777496e+12 \n",
"14 2026-04-29 04:52:59.597 ZORA ACTIVE 1.777496e+12 \n",
"15 2026-04-29 04:52:59.597 WLFI ACTIVE 1.777496e+12 \n",
"16 2026-04-29 04:52:59.597 ASTER ACTIVE 1.777496e+12 \n",
"17 2026-04-29 04:52:59.597 ZEC ACTIVE 1.777496e+12 \n",
"18 2026-04-29 04:52:59.597 4 ACTIVE 1.777496e+12 \n",
"19 2026-04-29 04:52:59.597 LIT ACTIVE 1.777496e+12 \n",
"20 2026-04-29 04:52:59.597 XMR ACTIVE 1.777496e+12 \n",
"21 2026-04-29 04:52:59.597 XPT ACTIVE 1.777496e+12 \n",
"22 2026-04-29 04:52:59.597 CHIP ACTIVE 1.777496e+12 \n",
2026-04-28 22:40:35 +00:00
"\n",
2026-04-30 04:32:49 +00:00
" USDT_Symbol time_delta_to_next_funding_ext symbol_ast ... rh_asset_ext \\\n",
"0 BTCUSDT 0 days 00:56:57.938774 BTCUSDT ... USD \n",
"1 ETHUSDT 0 days 00:56:57.938774 ETHUSDT ... USD \n",
"2 SOLUSDT 0 days 00:56:57.938774 SOLUSDT ... USD \n",
"3 DOGEUSDT 0 days 00:56:57.938774 DOGEUSDT ... USD \n",
"4 BNBUSDT 0 days 00:56:57.938774 BNBUSDT ... USD \n",
"5 XRPUSDT 0 days 00:56:57.938774 XRPUSDT ... USD \n",
"6 SUIUSDT 0 days 00:56:57.938774 SUIUSDT ... USD \n",
"7 HYPEUSDT 0 days 00:56:57.938774 HYPEUSDT ... USD \n",
"8 ENAUSDT 0 days 00:56:57.938774 ENAUSDT ... USD \n",
"9 AAVEUSDT 0 days 00:56:57.938774 AAVEUSDT ... USD \n",
"10 TRUMPUSDT 0 days 00:56:57.938774 TRUMPUSDT ... USD \n",
"11 INITUSDT 0 days 00:56:57.938774 INITUSDT ... USD \n",
"12 XAUUSDT 0 days 00:56:57.938774 XAUUSDT ... USD \n",
"13 XAGUSDT 0 days 00:56:57.938774 XAGUSDT ... USD \n",
"14 ZORAUSDT 0 days 00:56:57.938774 ZORAUSDT ... USD \n",
"15 WLFIUSDT 0 days 00:56:57.938774 WLFIUSDT ... USD \n",
"16 ASTERUSDT 0 days 00:56:57.938774 ASTERUSDT ... USD \n",
"17 ZECUSDT 0 days 00:56:57.938774 ZECUSDT ... USD \n",
"18 4USDT 0 days 00:56:57.938774 4USDT ... USD \n",
"19 LITUSDT 0 days 00:56:57.938774 LITUSDT ... USD \n",
"20 XMRUSDT 0 days 00:56:57.938774 XMRUSDT ... USD \n",
"21 XPTUSDT 0 days 00:56:57.938774 XPTUSDT ... USD \n",
"22 CHIPUSDT 0 days 00:56:57.938774 CHIPUSDT ... USD \n",
"\n",
" max_leverage_ext max_notional_ext exchange_ast lh_asset_ast \\\n",
"0 50 4000000 ASTER BTC \n",
"1 50 4000000 ASTER ETH \n",
"2 50 1000000 ASTER SOL \n",
"3 50 500000 ASTER DOGE \n",
"4 50 500000 ASTER BNB \n",
"5 50 500000 ASTER XRP \n",
"6 50 500000 ASTER SUI \n",
"7 50 1000000 ASTER HYPE \n",
"8 50 500000 ASTER ENA \n",
"9 50 500000 ASTER AAVE \n",
"10 25 400000 ASTER TRUMP \n",
"11 5 100000 ASTER INIT \n",
"12 25 2000000 ASTER XAU \n",
"13 10 1000000 ASTER XAG \n",
"14 5 100000 ASTER ZORA \n",
"15 10 250000 ASTER WLFI \n",
"16 25 400000 ASTER ASTER \n",
"17 10 250000 ASTER ZEC \n",
"18 5 100000 ASTER 4 \n",
"19 25 400000 ASTER LIT \n",
"20 25 400000 ASTER XMR \n",
"21 5 1000000 ASTER XPT \n",
"22 5 100000 ASTER CHIP \n",
"\n",
" rh_asset_ast max_leverage_ast max_notional_ast net_mult \\\n",
"0 USDT 150 300000 75.00 \n",
"1 USDT 150 300000 75.00 \n",
"2 USDT 100 50000 66.67 \n",
"3 USDT 75 80000 60.00 \n",
"4 USDT 100 10000 66.67 \n",
"5 USDT 100 40000 66.67 \n",
"6 USDT 75 5416 60.00 \n",
"7 USDT 300 1000 85.71 \n",
"8 USDT 25 30473 33.33 \n",
"9 USDT 10 115290 16.67 \n",
"10 USDT 50 5567 33.33 \n",
"11 USDT 50 5000 9.09 \n",
"12 USDT 75 2500 37.50 \n",
"13 USDT 100 50000 18.18 \n",
"14 USDT 5 100000 5.00 \n",
"15 USDT 25 104869 14.29 \n",
"16 USDT 75 20000 37.50 \n",
"17 USDT 75 6250 17.65 \n",
"18 USDT 50 5000 9.09 \n",
"19 USDT 50 2500 33.33 \n",
"20 USDT 50 10000 33.33 \n",
"21 USDT 3 30000 3.75 \n",
"22 USDT 50 5000 9.09 \n",
"\n",
" net_mult_x_net_fr_abs \n",
"0 0.000975 \n",
"1 0.000975 \n",
"2 0.000333 \n",
"3 0.000780 \n",
"4 0.000867 \n",
"5 0.000133 \n",
"6 0.000540 \n",
"7 0.001114 \n",
"8 0.000433 \n",
"9 0.000100 \n",
"10 0.000033 \n",
"11 0.000118 \n",
"12 0.000862 \n",
"13 0.000055 \n",
"14 0.000065 \n",
"15 0.000186 \n",
"16 0.000487 \n",
"17 0.000388 \n",
"18 0.000118 \n",
"19 0.000433 \n",
"20 0.000733 \n",
"21 0.000630 \n",
"22 0.003527 \n",
"\n",
"[23 rows x 30 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_comb_current_fr"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "f5ade993",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'symbol_ast': 'CHIPUSDT', 'symbol_extended': 'CHIP-USD'}"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_best_fr_rate = df_comb_current_fr[['symbol_ext','symbol_ast','max_leverage_ext','max_leverage_ast','lh_asset_ext','lh_asset_ast','rh_asset_ext','rh_asset_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": 11,
"id": "6f893d09",
"metadata": {},
"outputs": [],
"source": [
"ASTER = structs.Perpetual_Exchange(\n",
" mult = int(df_best_fr_rate['max_leverage_ast'][0]),\n",
" lh_asset = df_best_fr_rate['lh_asset_ast'][0],\n",
" rh_asset = df_best_fr_rate['rh_asset_ast'][0],\n",
" symbol_asset_separator = '',\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'mult': 50,\n",
" 'lh_asset': 'CHIP',\n",
" 'rh_asset': 'USDT',\n",
" 'symbol_asset_separator': ''}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"asdict(obj=ASTER)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4e40e668",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 32,
"id": "1925a6e5",
"metadata": {},
"outputs": [],
"source": [
"config_update = {\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': True,\n",
" # 'Print_Summary_Each_Loop': False,\n",
" },\n",
" 'Overrides': {\n",
" # 'Allow_Ordering_Aster': True,\n",
" # 'Allow_Ordering_Extend': True,\n",
" 'Allow_Symbol_Change': True,\n",
" # 'Flip_Side_For_Testing': False,\n",
" # 'Flatten_Open_Positions': False,\n",
" },\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"with open(file='algo_config.json', mode='r', encoding='utf-8') as f: \n",
" Algo_Config: dict = json.load(fp=f)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "1d52bea1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'Updated_Timestamp': 1777494015477,\n",
" 'Config': {'Loop_Sleep_Sec': 0.0,\n",
" 'Max_Order_Over_Notional_Ratio': 1.05,\n",
" 'Max_Target_Notional': 0.0,\n",
" 'Min_Time_To_Funding_Minutes': 60,\n",
" 'Min_Fund_Rate_Pct_To_Trade': 0.0,\n",
" 'Price_Worsener_Aster': 0.0,\n",
" 'Price_Worsener_Extend': -0.1,\n",
" 'Switch_To_Taker_Seconds': 1,\n",
" 'Target_Open_Cash_Position': 10},\n",
" 'Logging': {'Log_Summary_Each_Loop': False, 'Print_Summary_Each_Loop': False},\n",
" 'Overrides': {'Allow_Symbol_Change': False}}"
2026-04-28 22:40:35 +00:00
]
},
2026-04-30 04:32:49 +00:00
"execution_count": 34,
2026-04-28 22:40:35 +00:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2026-04-30 04:32:49 +00:00
"Algo_Config"
2026-04-28 22:40:35 +00:00
]
},
{
"cell_type": "code",
"execution_count": null,
2026-04-30 04:32:49 +00:00
"id": "a54cf89f",
2026-04-28 22:40:35 +00:00
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
2026-04-30 04:32:49 +00:00
"id": "04c38156",
2026-04-28 22:40:35 +00:00
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "125ee5ed",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "cdcda9a8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "py_313",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}