- common/sqlx_test.rs: the entire module was a single /* ... */ block behind a TODO because the identifier types (`OrderId`, `TradeId`, `Symbol`, `AccountId`, `OrderSide`) do not derive `sqlx::Type`. The file has been a dead placeholder behind `#[cfg(all(test, feature=\"database\"))]` for a long time; delete it and drop the `mod sqlx_test;` declaration. - data/brokers/mod.rs: re-enable the `pub type BrokerAdapter = Box<dyn BrokerClient>;` alias — the trait is already implemented by `InteractiveBrokersAdapter` and re-exported from the module. Delete the commented-out `BrokerFactory::create_client` block: it referenced `ICMarketsClient`, which does not exist in this crate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
data
Market data ingestion, broker integration, and feature extraction.
Providers
- Databento — historical and real-time market data via DBN format
- Benzinga — news and fundamentals feed
Broker Integrations
- IB TWS — Interactive Brokers TWS/Gateway socket connection
- ICMarkets — FIX 4.4 protocol integration
Key Modules
brokers— broker adapters (IB TWS, ICMarkets FIX)providers— data provider clients (Databento, Benzinga)parquet_persistence— Parquet read/write for tick and bar datareplay— market data replay for backtestingtraining_pipeline— data preparation for ML model trainingfeatures— technical indicator and feature computationvalidation— data quality checks and schema validation
Cargo Features
| Feature | Default | Description |
|---|---|---|
databento |
yes | Databento provider support |
benzinga |
yes | Benzinga provider support |
icmarkets |
yes | ICMarkets FIX 4.4 integration |
redis-cache |
no | Redis caching layer |
ib |
no | Interactive Brokers adapter |
mock |
no | Mock providers for testing |