|
|
@@ -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) {
|