Skip to main content

apple_quant_algorithmic/volume/
side.rs

1use super::DirectionalIntent;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
4pub enum AggressorSide {
5	Ask,
6	Bid,
7}
8
9impl AggressorSide {
10	pub fn flip(self) -> Self {
11		match self {
12			Self::Ask => Self::Bid,
13			Self::Bid => Self::Ask,
14		}
15	}
16
17	pub fn as_directional_intent(&self) -> DirectionalIntent {
18		(*self).into()
19	}
20}
21
22#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
23pub enum RestingSide {
24	Ask,
25	Bid,
26}
27
28impl RestingSide {
29	pub fn flip(self) -> Self {
30		match self {
31			Self::Ask => Self::Bid,
32			Self::Bid => Self::Ask,
33		}
34	}
35
36	pub fn as_directional_intent(&self) -> DirectionalIntent {
37		(*self).into()
38	}
39}