1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! Execution module for exchange connectivity and order management.
//!
//! This module provides traits and types for exchange interaction, enabling
//! multiple venue support and facilitating testing through mock implementations.
//!
//! # Overview
//!
//! The execution module defines:
//!
//! - **Order types**: `OrderRequest`, `OrderResponse`, `OrderStatus`
//! - **Market data types**: `BookLevel`, `OrderBookSnapshot`, `Fill`
//! - **Connector traits**: `ExchangeConnector`, `MarketDataStream`
//! - **Mock implementation**: `MockExchangeConnector` for testing
//! - **Order management**: `OrderManager`, `ManagedOrder` for order lifecycle
//! - **Latency tracking**: `LatencyTracker`, `LatencyStats` for performance monitoring
//!
//! # Example
//!
//! ```rust
//! use market_maker_rs::execution::{
//! OrderRequest, Side, OrderType, TimeInForce, ExchangeConnector
//! };
//! use market_maker_rs::dec;
//!
//! // Create an order request
//! let request = OrderRequest::new(
//! "BTC-USD",
//! Side::Buy,
//! OrderType::Limit,
//! Some(dec!(50000.0)),
//! dec!(0.1),
//! );
//!
//! // In practice, you would use a real exchange connector
//! // let response = connector.submit_order(request).await?;
//! ```
/// Exchange connector trait and types.
/// Mock exchange connector for testing.
/// Order management system.
/// Latency tracking and metrics.
pub use ;
pub use ;
pub use ;
pub use ;