20 个稳定版本
2.5.3 | 2024 年 6 月 23 日 |
---|---|
2.5.2 | 2023 年 10 月 19 日 |
2.2.1 | 2023 年 9 月 25 日 |
1.0.6 | 2023 年 9 月 2 日 |
1.0.5 | 2023 年 8 月 31 日 |
#43 在 金融
108 每月下载量
用于 rust_pie_ob
23KB
403 行
rust_ob
用于 Rust 的订单簿库
特性
- 标准价格-时间优先级
- 执行限价和市价订单
- 支持负价格
用法
use rust_decimal::Decimal;
use rust_ob::{errors, OrderBook, Side};
fn main() {
// create orderbook
let mut ob = OrderBook::new();
// process limit order
{
let result = ob.process_limit_order(1, Side::Buy, Decimal::from(10), Decimal::from(10));
use errors::ProcessLimitOrder as E;
let order_match_vec = match result {
Ok(v) => v,
Err(E::OrderAlreadyExists) => {
// handle error
panic!()
}
Err(E::NonPositiveQuantity) => {
// handle error
panic!()
}
};
for order_match in order_match_vec {
// handle matches
// more information about order_match_vec can be found in documentation for OrderBook::process_limit_order
}
}
// cancel order
{
let result = ob.cancel_order(1);
use errors::CancelOrder as E;
match result {
Ok(()) => {}
Err(E::OrderNotFound) => {
// handle error
panic!()
}
}
}
}
依赖项
~0.6–1MB
~19K SLoC