|
|
@@ -278,37 +278,39 @@ impl AvellanedaStoikov {
|
|
|
let pos_edge = self.gamma * self.sigma_square * self.inventory * self.t_diff;
|
|
|
|
|
|
self.base_delta = self.sigma_square;
|
|
|
- self.ratio_edge = self.flow_ratio_mfi * self.sigma_square;
|
|
|
+ // self.ratio_edge = self.flow_ratio_mfi * self.sigma_square;
|
|
|
|
|
|
self.bid_delta = self.base_delta;
|
|
|
self.ask_delta = self.base_delta;
|
|
|
|
|
|
if self.inventory > Decimal::ZERO {
|
|
|
- self.bid_delta += pos_edge;
|
|
|
+ self.bid_delta += pos_edge * Decimal::TEN;
|
|
|
+ self.ask_delta = Decimal::ZERO;
|
|
|
} else if self.inventory < Decimal::ZERO {
|
|
|
- self.ask_delta += pos_edge;
|
|
|
- }
|
|
|
-
|
|
|
- if (self.ratio_edge > Decimal::ZERO) || (self.money_flow_index > dec!(60) && self.inventory > Decimal::ZERO) {
|
|
|
- if self.inventory > Decimal::ZERO {
|
|
|
- self.ask_delta = Decimal::ZERO;
|
|
|
- self.bid_delta += self.sigma_square.abs() * dec!(5);
|
|
|
- } else {
|
|
|
- self.ask_delta = self.base_delta;
|
|
|
- self.bid_delta += self.sigma_square.abs() * dec!(5);
|
|
|
- }
|
|
|
- } else if (self.ratio_edge < Decimal::ZERO) || (self.money_flow_index < dec!(40) && self.inventory < Decimal::ZERO) {
|
|
|
- if self.inventory < Decimal::ZERO {
|
|
|
- self.ask_delta += self.sigma_square.abs() * dec!(5);
|
|
|
- self.bid_delta = Decimal::ZERO;
|
|
|
- } else {
|
|
|
- self.ask_delta += self.sigma_square.abs() * dec!(5);
|
|
|
- self.bid_delta = self.base_delta;
|
|
|
- }
|
|
|
- } else if self.ratio_edge == Decimal::ZERO {
|
|
|
- self.ask_delta += self.base_delta.abs() * dec!(5);
|
|
|
- self.bid_delta += self.base_delta.abs() * dec!(5);
|
|
|
+ self.bid_delta = Decimal::ZERO;
|
|
|
+ self.ask_delta += pos_edge * Decimal::TEN;
|
|
|
}
|
|
|
+ //
|
|
|
+ // if (self.ratio_edge > Decimal::ZERO) || (self.money_flow_index > dec!(60) && self.inventory > Decimal::ZERO) {
|
|
|
+ // if self.inventory > Decimal::ZERO {
|
|
|
+ // self.ask_delta = Decimal::ZERO;
|
|
|
+ // self.bid_delta += self.sigma_square.abs() * dec!(5);
|
|
|
+ // } else {
|
|
|
+ // self.ask_delta = self.base_delta;
|
|
|
+ // self.bid_delta += self.sigma_square.abs() * dec!(5);
|
|
|
+ // }
|
|
|
+ // } else if (self.ratio_edge < Decimal::ZERO) || (self.money_flow_index < dec!(40) && self.inventory < Decimal::ZERO) {
|
|
|
+ // if self.inventory < Decimal::ZERO {
|
|
|
+ // self.ask_delta += self.sigma_square.abs() * dec!(5);
|
|
|
+ // self.bid_delta = Decimal::ZERO;
|
|
|
+ // } else {
|
|
|
+ // self.ask_delta += self.sigma_square.abs() * dec!(5);
|
|
|
+ // self.bid_delta = self.base_delta;
|
|
|
+ // }
|
|
|
+ // } else if self.ratio_edge == Decimal::ZERO {
|
|
|
+ // self.ask_delta += self.base_delta.abs() * dec!(5);
|
|
|
+ // self.bid_delta += self.base_delta.abs() * dec!(5);
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
|