Sfoglia il codice sorgente

一些参数的调整。

skyfffire 1 anno fa
parent
commit
c589e0bcaa
1 ha cambiato i file con 6 aggiunte e 6 eliminazioni
  1. 6 6
      strategy/src/avellaneda_stoikov.rs

+ 6 - 6
strategy/src/avellaneda_stoikov.rs

@@ -52,7 +52,7 @@ pub struct AvellanedaStoikov {
 
 impl AvellanedaStoikov {
     // 时间窗口大小(微秒)
-    const MAX_TIME_RANGE_MICROS: i64 = 5 * 60_000_000;
+    const MAX_TIME_RANGE_MICROS: i64 = 1 * 60_000_000;
     // const ONE_MILLION: Decimal = dec!(1_000_000);
     // const TWENTY_THOUSAND: Decimal = dec!(20_000);
     const IRA: Decimal = dec!(1);
@@ -233,7 +233,7 @@ impl AvellanedaStoikov {
 
     pub fn update_delta(&mut self) {
         if self.gamma != Decimal::ZERO {
-            self.base_delta = (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln() * dec!(0.8);
+            self.base_delta = (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln() * dec!(0.732);
             self.ratio_edge = (self.flow_ratio * self.base_delta) * Decimal::TWO;
 
             self.bid_delta = self.base_delta;
@@ -242,11 +242,11 @@ impl AvellanedaStoikov {
             if self.inventory > Decimal::ZERO {
                 let pos_edge = ((Decimal::ONE + Decimal::TWO * self.inventory) / Decimal::TWO) * (self.gamma * self.sigma_square) * self.t_diff;
 
-                self.bid_delta += pos_edge * dec!(0.1);
+                self.bid_delta += pos_edge * dec!(0.5);
             } else if self.inventory < Decimal::ZERO {
                 let pos_edge = ((Decimal::ONE - Decimal::TWO * self.inventory) / Decimal::TWO) * (self.gamma * self.sigma_square) * self.t_diff;
 
-                self.ask_delta += pos_edge * dec!(0.1);
+                self.ask_delta += pos_edge * dec!(0.5);
             }
             if self.ratio_edge < Decimal::ZERO {
                 self.bid_delta += self.ratio_edge.abs()
@@ -303,11 +303,11 @@ impl AvellanedaStoikov {
             return;
         }
 
-        if self.depth_vec.len() < 20 {
+        if self.depth_vec.len() < 200 {
             return;
         }
 
-        if self.trade_vec.len() < 20 {
+        if self.trade_vec.len() < 200 {
             return;
         }