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(
11		self,
12	) -> Self {
13		match self {
14			Self::Ask => Self::Bid,
15			Self::Bid => Self::Ask,
16		}
17	}
18
19	pub fn as_directional_intent(
20		&self,
21	) -> DirectionalIntent {
22		(*self).into()
23	}
24}
25
26#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
27pub enum RestingSide {
28	Ask,
29	Bid,
30}
31
32impl RestingSide {
33	pub fn flip(
34		self,
35	) -> Self {
36		match self {
37			Self::Ask => Self::Bid,
38			Self::Bid => Self::Ask,
39		}
40	}
41
42	pub fn as_directional_intent(
43		&self,
44	) -> DirectionalIntent {
45		(*self).into()
46	}
47}