|
|
@@ -180,7 +180,6 @@ impl AvellanedaStoikov {
|
|
|
} else {
|
|
|
let last_trade = self.trade_vec.get(self.trade_vec.len() - 1).unwrap();
|
|
|
|
|
|
- let mut first_trade = last_trade;
|
|
|
let mut volatility_total = Decimal::ZERO;
|
|
|
for index in (0..self.trade_vec.len()).rev() {
|
|
|
if index == self.trade_vec.len() - 1 {
|
|
|
@@ -192,7 +191,6 @@ impl AvellanedaStoikov {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- first_trade = trade;
|
|
|
let prev_trade = self.trade_vec.get(index + 1).unwrap();
|
|
|
let volatility = (trade.price - prev_trade.price).abs();
|
|
|
volatility_total += volatility;
|
|
|
@@ -205,11 +203,7 @@ impl AvellanedaStoikov {
|
|
|
}
|
|
|
|
|
|
pub fn update_gamma(&mut self) {
|
|
|
- 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).sqrt().unwrap() * self.inventory.abs() / Decimal::TEN
|
|
|
- };
|
|
|
+ self.gamma = Decimal::ONE + Self::IRA * (self.spread_max / self.spread_min).sqrt().unwrap() / Decimal::TEN;
|
|
|
self.gamma.rescale(8);
|
|
|
}
|
|
|
|