skyffire пре 1 година
родитељ
комит
1abe5197e0
1 измењених фајлова са 6 додато и 14 уклоњено
  1. 6 14
      strategy/src/avellaneda_stoikov.rs

+ 6 - 14
strategy/src/avellaneda_stoikov.rs

@@ -208,7 +208,7 @@ impl AvellanedaStoikov {
         self.gamma = if self.sigma_square == Decimal::ZERO || self.inventory == Decimal::ZERO {
             Decimal::ONE
         } else {
-            Decimal::ONE + Self::IRA * (self.spread_max / self.spread_min) * self.inventory.abs() / Decimal::TEN
+            Decimal::ONE + Self::IRA * (self.spread_max / self.spread_min).sqrt().unwrap() * self.inventory.abs() / Decimal::TEN
         };
         self.gamma.rescale(8);
     }
@@ -246,16 +246,12 @@ impl AvellanedaStoikov {
     pub fn update_delta(&mut self) {
         if self.gamma != Decimal::ZERO {
             let a = (self.gamma * self.sigma_square * self.t_diff) / Decimal::TWO;
-            let edge = (self.flow_ratio_diff_log.abs() / dec!(0.0003)) * self.gamma * self.sigma_square * self.t_diff;
+            // let edge = (self.flow_ratio_diff_log.abs() / dec!(0.0003)) * self.gamma * self.sigma_square * self.t_diff;
 
             let temp_delta_bid = {
                 let b = (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln();
 
-                if self.flow_ratio_diff_log > Decimal::ZERO {
-                    a + b
-                } else {
-                    a + b + edge
-                }
+                a + b
             };
             self.delta_bid = if self.delta_bid == Decimal::ZERO || temp_delta_bid > self.delta_bid {
                 temp_delta_bid
@@ -266,11 +262,7 @@ impl AvellanedaStoikov {
             let temp_delta_ask = {
                 let b = (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln();
 
-                if self.flow_ratio_diff_log < Decimal::ZERO {
-                    a + b
-                } else {
-                    a + b + edge
-                }
+                a + b
             };
             self.delta_ask = if self.delta_ask == Decimal::ZERO || temp_delta_ask > self.delta_ask {
                 temp_delta_ask
@@ -403,8 +395,8 @@ impl AvellanedaStoikov {
 
             inventory: self.inventory,
             sigma_square: self.sigma_square,
-            gamma: self.delta_ask,
-            kappa: self.delta_bid,
+            gamma: self.gamma,
+            kappa: self.kappa,
 
             flow_ratio: self.flow_ratio_diff_log,
             ref_price: self.ref_price,