Ver código fonte

一些校准参数。

skyffire 1 ano atrás
pai
commit
80402632ac
1 arquivos alterados com 5 adições e 6 exclusões
  1. 5 6
      strategy/src/avellaneda_stoikov.rs

+ 5 - 6
strategy/src/avellaneda_stoikov.rs

@@ -158,7 +158,7 @@ impl AvellanedaStoikov {
             let first_trade = self.trade_vec.get(0).unwrap();
             let last_trade = self.trade_vec.get(self.trade_vec.len() - 1).unwrap();
 
-            let time_diff = (last_trade.time - first_trade.time) / (dec!(60) * Decimal::ONE_THOUSAND);
+            let time_diff = (last_trade.time - first_trade.time) / (Decimal::ONE_THOUSAND);
             let mut vol_square_total = Decimal::ZERO;
             for (index, trade) in self.trade_vec.deque.iter().enumerate() {
                 if index == 0 {
@@ -166,7 +166,7 @@ impl AvellanedaStoikov {
                 }
 
                 let prev_trade = self.trade_vec.get(index - 1).unwrap();
-                let vol_square = (Decimal::ONE_HUNDRED * ((trade.price - prev_trade.price) / trade.price)).powd(Decimal::TWO);
+                let vol_square = (trade.price - prev_trade.price).powd(Decimal::TWO);
                 vol_square_total += vol_square;
             }
 
@@ -199,9 +199,9 @@ impl AvellanedaStoikov {
             temp.rescale(6);
 
             self.kappa = if temp <= Decimal::ZERO {
-                Decimal::ONE
+                Decimal::TEN
             } else if temp >= Decimal::TEN {
-                Decimal::ONE
+                Decimal::TEN
             } else {
                 self.gamma / (temp.exp() - Decimal::ONE)
             };
@@ -232,8 +232,7 @@ impl AvellanedaStoikov {
     pub fn update_t_diff(&mut self) {
         let time_diff_decimal = Decimal::from_i64(Utc::now().timestamp_micros() - self.prev_trade_time).unwrap();
         self.t_diff = time_diff_decimal / Decimal::from_i64(Self::MAX_TIME_RANGE_MICROS).unwrap();
-
-        self.t_diff = min(self.t_diff, Decimal::ONE)
+        self.t_diff = min(self.t_diff, Decimal::ONE);
     }
 
     pub fn check_ready(&mut self) {