skyffire 1 жил өмнө
parent
commit
af492a64bf

+ 11 - 4
kappa/data_processing.py

@@ -12,9 +12,9 @@ from logger_config import logger
 getcontext().prec = 28
 
 # 假设我们有一个数据流,订单簿和成交数据
-order_book_snapshots = deque(maxlen=60)        # 存储过去60个订单簿快照
-spread_delta_snapshots = deque(maxlen=60)     # 存储过去60个价差数据(最小变动价格的倍数)
-trade_snapshots = deque(maxlen=600)            # 存储过去600个成交数据
+order_book_snapshots = deque(maxlen=100)        # 存储订单簿快照
+spread_delta_snapshots = deque(maxlen=100)     # 存储价差数据(最小变动价格的倍数)
+trade_snapshots = deque(maxlen=1000)            # 存储成交数据
 
 stop_event = threading.Event()
 
@@ -29,6 +29,10 @@ bounds = [(10, 1000.0),             # A 的范围
 # 假设S0是初始的参考价格
 S0 = -1
 
+# 记录最大挂单距离,并实时刷新
+max_delta_sum = 0
+
+
 def get_tick_size_from_prices(ask_price, bid_price):
     # 获取价格的小数位数
     ask_decimal_places = len(str(ask_price).split('.')[1])
@@ -172,6 +176,7 @@ def calculate_sigma_squared(prices, timestamps):
 def process_depth_data():
     global order_book_snapshots, trade_snapshots, spread_delta_snapshots
     global k_initial, A_initial, S0
+    global max_delta_sum
 
     # 数据预热,至少3条深度数据以及10条成交数据才能用于计算
     if len(order_book_snapshots) < 3 or len(trade_snapshots) < 10:
@@ -225,4 +230,6 @@ def process_depth_data():
     gamma = 1.0
     T_minus_t = 1.0
     delta_sum = calculate_delta_sum(gamma, sigma_squared, T_minus_t, k_initial)
-    logger.info(f"δ^a + δ^b: {delta_sum}, k: {k_initial}, dm: {delta_max}, λ(δ): {lambda_hat}, ∫ φ(k, ξ) dξ: {integral_phi_value}")
+    if delta_sum > max_delta_sum and len(trade_snapshots) > 70:
+        logger.info(f"δ^a + δ^b: {delta_sum}, k: {k_initial}, dm: {delta_max}, λ(δ): {lambda_hat}, ∫ φ(k, ξ) dξ: {integral_phi_value}")
+        max_delta_sum = delta_sum

+ 1 - 1
kappa/ws_client.py

@@ -7,7 +7,7 @@ from logger_config import logger
 from data_processing import on_message_depth, on_message_trade, stop_event
 
 # Binance WebSocket API URL
-SYMBOL = "btc" + "usdt"
+SYMBOL = "1000sats" + "usdt"
 SOCKET_TRADE = "wss://fstream.binance.com/stream?streams=" + SYMBOL + "@trade"
 SOCKET_DEPTH = "wss://fstream.binance.com/stream?streams=" + SYMBOL + "@depth20@100ms"