Pārlūkot izejas kodu

资金流应用3

skyfffire 1 gadu atpakaļ
vecāks
revīzija
c7ca51efc7
2 mainītis faili ar 6 papildinājumiem un 6 dzēšanām
  1. 5 5
      strategy/src/avellaneda_stoikov.rs
  2. 1 1
      strategy/src/core.rs

+ 5 - 5
strategy/src/avellaneda_stoikov.rs

@@ -235,7 +235,7 @@ impl AvellanedaStoikov {
             let pos_edge = self.gamma * self.sigma_square * self.inventory.abs().powd(Decimal::TWO) * self.t_diff / Decimal::TWO;
 
             self.base_delta = self.gamma * self.sigma_square * self.t_diff / Decimal::TWO + (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln();
-            self.ratio_edge = (self.flow_ratio * self.gamma * self.sigma_square * self.t_diff) * dec!(5);
+            self.ratio_edge = self.flow_ratio * self.gamma * self.sigma_square * self.t_diff;
 
             self.bid_delta = self.base_delta;
             self.ask_delta = self.base_delta;
@@ -247,11 +247,11 @@ impl AvellanedaStoikov {
             }
 
             if self.ratio_edge > Decimal::ZERO {
-                self.ask_delta -= self.ratio_edge.abs();
-                self.bid_delta += self.ratio_edge.abs();
+                self.ask_delta -= self.ratio_edge.abs() * dec!(5);
+                self.bid_delta += self.ratio_edge.abs() * dec!(20);
             } else if self.ratio_edge < Decimal::ZERO {
-                self.ask_delta += self.ratio_edge.abs();
-                self.bid_delta -= self.ratio_edge.abs();
+                self.ask_delta += self.ratio_edge.abs() * dec!(20);
+                self.bid_delta -= self.ratio_edge.abs() * dec!(5);
             }
 
             if self.init_delta_plus.is_zero() {

+ 1 - 1
strategy/src/core.rs

@@ -1497,7 +1497,7 @@ impl Core {
             self.strategy.tick_size = self.strategy.tick_size.trunc();
         }
         // 获取最小下单价值
-        self.strategy.min_amount_value = self.market.min_notional * dec!(4);
+        self.strategy.min_amount_value = self.market.min_notional;
 
         if self.strategy.step_size.is_zero() || self.strategy.tick_size.is_zero() || self.strategy.min_amount_value.is_zero() {
             self.exit_msg = format!("交易精度未正常获取 step_size:{}, tick_size:{}, min_amount_value:{}", self.strategy.step_size, self.strategy.tick_size, self.strategy.min_amount_value);