pub struct Orderbook { /* private fields */ }
Implementations§
Source§impl Orderbook
impl Orderbook
Sourcepub fn new(tick_size: f64) -> Self
pub fn new(tick_size: f64) -> Self
Examples found in repository?
examples/hello_world.rs (line 6)
3fn main() {
4 let mut reader = csv::Reader::from_path("./data/norm_book_data_300k.csv").unwrap();
5 let tick_size = 0.01;
6 let mut ob = Orderbook::new(tick_size);
7
8 let mut rdr = reader.deserialize::<Event>();
9
10 while let Some(Ok(event)) = rdr.next() {
11 ob.process(event);
12
13 // or if its a raw event
14 // ob.process_raw(
15 // event.timestamp,
16 // event.seq,
17 // event.is_trade,
18 // event.is_buy,
19 // event.price,
20 // event.size,
21 // );
22
23 println!(
24 "{:?} -- {:?} -- {:?}",
25 ob.best_bid(),
26 ob.midprice(),
27 ob.best_ask()
28 );
29 }
30}
pub fn process_raw( &mut self, timestamp: u64, seq: u64, is_trade: bool, is_buy: bool, price: f64, size: f64, )
pub fn process_stream_bbo_raw( &mut self, timestamp: u64, seq: u64, is_trade: bool, is_buy: bool, price: f64, size: f64, ) -> Option<(Option<Level>, Option<Level>)>
Sourcepub fn process(&mut self, event: Event)
pub fn process(&mut self, event: Event)
Examples found in repository?
examples/hello_world.rs (line 11)
3fn main() {
4 let mut reader = csv::Reader::from_path("./data/norm_book_data_300k.csv").unwrap();
5 let tick_size = 0.01;
6 let mut ob = Orderbook::new(tick_size);
7
8 let mut rdr = reader.deserialize::<Event>();
9
10 while let Some(Ok(event)) = rdr.next() {
11 ob.process(event);
12
13 // or if its a raw event
14 // ob.process_raw(
15 // event.timestamp,
16 // event.seq,
17 // event.is_trade,
18 // event.is_buy,
19 // event.price,
20 // event.size,
21 // );
22
23 println!(
24 "{:?} -- {:?} -- {:?}",
25 ob.best_bid(),
26 ob.midprice(),
27 ob.best_ask()
28 );
29 }
30}
pub fn process_stream_bbo( &mut self, event: Event, ) -> Option<(Option<Level>, Option<Level>)>
Sourcepub fn best_bid(&self) -> Option<Level>
pub fn best_bid(&self) -> Option<Level>
Examples found in repository?
examples/hello_world.rs (line 25)
3fn main() {
4 let mut reader = csv::Reader::from_path("./data/norm_book_data_300k.csv").unwrap();
5 let tick_size = 0.01;
6 let mut ob = Orderbook::new(tick_size);
7
8 let mut rdr = reader.deserialize::<Event>();
9
10 while let Some(Ok(event)) = rdr.next() {
11 ob.process(event);
12
13 // or if its a raw event
14 // ob.process_raw(
15 // event.timestamp,
16 // event.seq,
17 // event.is_trade,
18 // event.is_buy,
19 // event.price,
20 // event.size,
21 // );
22
23 println!(
24 "{:?} -- {:?} -- {:?}",
25 ob.best_bid(),
26 ob.midprice(),
27 ob.best_ask()
28 );
29 }
30}
Sourcepub fn best_ask(&self) -> Option<Level>
pub fn best_ask(&self) -> Option<Level>
Examples found in repository?
examples/hello_world.rs (line 27)
3fn main() {
4 let mut reader = csv::Reader::from_path("./data/norm_book_data_300k.csv").unwrap();
5 let tick_size = 0.01;
6 let mut ob = Orderbook::new(tick_size);
7
8 let mut rdr = reader.deserialize::<Event>();
9
10 while let Some(Ok(event)) = rdr.next() {
11 ob.process(event);
12
13 // or if its a raw event
14 // ob.process_raw(
15 // event.timestamp,
16 // event.seq,
17 // event.is_trade,
18 // event.is_buy,
19 // event.price,
20 // event.size,
21 // );
22
23 println!(
24 "{:?} -- {:?} -- {:?}",
25 ob.best_bid(),
26 ob.midprice(),
27 ob.best_ask()
28 );
29 }
30}
pub fn top_bids(&self, n: usize) -> Vec<Level>
pub fn top_asks(&self, n: usize) -> Vec<Level>
Sourcepub fn midprice(&self) -> Option<f64>
pub fn midprice(&self) -> Option<f64>
Examples found in repository?
examples/hello_world.rs (line 26)
3fn main() {
4 let mut reader = csv::Reader::from_path("./data/norm_book_data_300k.csv").unwrap();
5 let tick_size = 0.01;
6 let mut ob = Orderbook::new(tick_size);
7
8 let mut rdr = reader.deserialize::<Event>();
9
10 while let Some(Ok(event)) = rdr.next() {
11 ob.process(event);
12
13 // or if its a raw event
14 // ob.process_raw(
15 // event.timestamp,
16 // event.seq,
17 // event.is_trade,
18 // event.is_buy,
19 // event.price,
20 // event.size,
21 // );
22
23 println!(
24 "{:?} -- {:?} -- {:?}",
25 ob.best_bid(),
26 ob.midprice(),
27 ob.best_ask()
28 );
29 }
30}
pub fn weighted_midprice(&self) -> Option<f64>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Orderbook
impl RefUnwindSafe for Orderbook
impl Send for Orderbook
impl Sync for Orderbook
impl Unpin for Orderbook
impl UnwindSafe for Orderbook
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more