|
|
@@ -248,27 +248,17 @@ impl AvellanedaStoikov {
|
|
|
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 temp_delta_bid = {
|
|
|
+ self.delta_bid = {
|
|
|
let b = (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln();
|
|
|
|
|
|
a + b
|
|
|
};
|
|
|
- self.delta_bid = if self.delta_bid == Decimal::ZERO || temp_delta_bid > self.delta_bid {
|
|
|
- temp_delta_bid
|
|
|
- } else {
|
|
|
- self.delta_bid * dec!(0.9) + temp_delta_bid * dec!(0.1)
|
|
|
- };
|
|
|
|
|
|
- let temp_delta_ask = {
|
|
|
+ self.delta_ask = {
|
|
|
let b = (Decimal::ONE / self.gamma) * (Decimal::ONE + self.gamma / self.kappa).ln();
|
|
|
|
|
|
a + b
|
|
|
};
|
|
|
- self.delta_ask = if self.delta_ask == Decimal::ZERO || temp_delta_ask > self.delta_ask {
|
|
|
- temp_delta_ask
|
|
|
- } else {
|
|
|
- self.delta_ask * dec!(0.9) + temp_delta_ask * dec!(0.1)
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
|