Skip to main content

apple_quant_algorithmic/price/
ladder.rs

1use crate::{
2	instrument::InstrumentSpec,
3	volume::{DirectionlessVolume, RestingVolume},
4};
5
6use super::AbsolutePrice;
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
9pub struct PriceVolumeLevel<IS: InstrumentSpec> {
10	pub price: AbsolutePrice<IS>,
11	pub resting_volume: RestingVolume<IS>,
12}
13
14#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
15pub struct BidPriceVolumeLevel<IS: InstrumentSpec> {
16	pub price: AbsolutePrice<IS>,
17
18	/// Total volume as transactions.
19	pub directionless_volume: DirectionlessVolume<IS>,
20}
21
22#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
23pub struct AskPriceVolumeLevel<IS: InstrumentSpec> {
24	pub price: AbsolutePrice<IS>,
25
26	/// Total volume as transactions.
27	pub directionless_volume: DirectionlessVolume<IS>,
28}
29
30#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31pub struct BidAskPriceSpread<IS: InstrumentSpec> {
32	pub bid_price: AbsolutePrice<IS>,
33	pub ask_price: AbsolutePrice<IS>,
34}