apple-quant-algorithmic 0.3.0

Apple Quant's algorithmic library.
use super::DirectionalIntent;

#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum AggressorSide {
	Ask,
	Bid,
}

impl AggressorSide {
	pub fn flip(
		self,
	) -> Self {
		match self {
			Self::Ask => Self::Bid,
			Self::Bid => Self::Ask,
		}
	}

	pub fn as_directional_intent(
		&self,
	) -> DirectionalIntent {
		(*self).into()
	}
}

#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum RestingSide {
	Ask,
	Bid,
}

impl RestingSide {
	pub fn flip(
		self,
	) -> Self {
		match self {
			Self::Ask => Self::Bid,
			Self::Bid => Self::Ask,
		}
	}

	pub fn as_directional_intent(
		&self,
	) -> DirectionalIntent {
		(*self).into()
	}
}