Bläddra i källkod

log(∫ φ(k, ξ) dξ)计算完毕。

skyffire 1 år sedan
förälder
incheckning
fb565f6f70
2 ändrade filer med 8 tillägg och 9 borttagningar
  1. 7 8
      kappa/data_processing.py
  2. 1 1
      kappa/ws_client.py

+ 7 - 8
kappa/data_processing.py

@@ -55,21 +55,18 @@ def calculate_phi(prices, k, S0):
     return phi
 
 
-def calculate_integral_phi(prices, k, S0, delta_T):
+def calculate_integral_phi(prices, k, S0, time_points):
     """
-    计算 ∫ φ(k, ξ) dξ 的值
+    计算 ∫ φ(k, ξ) dξ 的值,越大说明波动率也越大(价格波动)。
     :param prices: 时间序列的价格数据
     :param k: 参数 k
     :param S0: 初始价格
-    :param delta_T: 积分的上限
+    :param time_points: 时间点数组
     :return: ∫ φ(k, ξ) dξ 的值
     """
     # 计算每个时间点的 φ(k, ξ) 值
     phi_values = [calculate_phi(prices[:i + 1], k, S0) for i in range(len(prices))]
 
-    # 创建时间点数组
-    time_points = np.linspace(0, delta_T, len(phi_values))
-
     # 使用梯形法计算积分
     integral_phi = trapz(phi_values, time_points)
 
@@ -83,10 +80,12 @@ def process_depth_data(order_book_snapshots):
     if S0 < 0:
         S0 = S_values[0]
 
-    delta_T = len(S_values) - 1  # 假设每个时间点间隔为1
+    # 提取时间戳并计算时间间隔
+    timestamps = [snapshot['timestamp'] for snapshot in order_book_snapshots]
+    time_points = [(timestamp - timestamps[0]).total_seconds() for timestamp in timestamps]
 
     # 计算 ∫ φ(k, ξ) dξ
-    integral_phi_value = calculate_integral_phi(S_values, k_initial, S0, delta_T)
+    integral_phi_value = calculate_integral_phi(S_values, k_initial, S0, time_points)
 
     # 计算 log(∫ φ(k, ξ) dξ)
     log_integral_phi_value = np.log(integral_phi_value)

+ 1 - 1
kappa/ws_client.py

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