|
|
@@ -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}")
|