Browse Source

计算修复了,可以上线观察一下了。

skyffire 1 year ago
parent
commit
78f9aa8bd1
1 changed files with 8 additions and 4 deletions
  1. 8 4
      kappa/data_processing.py

+ 8 - 4
kappa/data_processing.py

@@ -41,11 +41,15 @@ def on_message(_ws, message):
 
 def get_tick_size_from_prices(ask_price, bid_price):
     # 获取价格的小数位数
-    ask_decimal_places = len(str(ask_price).split('.')[1])
-    bid_decimal_places = len(str(bid_price).split('.')[1])
+    # 获取 Decimal 的 tuple 表示
+    ask_decimal_tuple = ask_price.as_tuple()
+    bid_decimal_tuple = bid_price.as_tuple()
+
+    # 计算小数位数
+    places = max(abs(ask_decimal_tuple.exponent), abs(bid_decimal_tuple.exponent))
 
     # 确定最小变动单元
-    tick_size = 10 ** -max(ask_decimal_places, bid_decimal_places)
+    tick_size = 10 ** -places
 
     return tick_size
 
@@ -257,4 +261,4 @@ 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}")
+    logger.info(f"δ^a + δ^b: {delta_sum}")