Expand description
Data provider integrations
Source-specific adapters for fetching and processing tick/trade data.
§Supported Providers
binance- Binance spot and futures markets
§Design Principles
- Adapter pattern: Convert provider format → Tick (core format)
- Error propagation: Raise immediately, no silent failures
- Stateless where possible: Cache externally, not in provider
- Documented edge cases: Timezone handling, decimal factors, etc.
- Out-of-box dependencies: Use standard crates (zip, csv, chrono)
§Quick Start
Top-level re-exports allow shorter import paths:
ⓘ
use opendeviationbar_providers::{HistoricalDataLoader, get_tier1_symbols};Re-exports§
pub use binance::AdaptiveRateLimiter;pub use binance::BinanceWebSocketStream;pub use binance::CsvTick;pub use binance::HistoricalDataLoader;pub use binance::HistoricalError;pub use binance::IntraDayChunkIterator;pub use binance::RateLimitError;pub use binance::TIER1_SYMBOLS;pub use binance::WebSocketError;pub use binance::detect_csv_headers;pub use binance::fetch_aggtrades_parallel;pub use binance::get_tier1_symbols;pub use binance::get_tier1_usdt_pairs;pub use binance::is_tier1_symbol;pub use binance::python_bool;
Modules§
- binance
- Binance data provider
- serde_
helpers - Binance sends price and quantity as JSON strings (e.g.,
"112070.01000000"). Instead of deserializing toStringthen parsing, these helpers deserialize directly toFixedPoint— eliminating per-trade String allocations (~4000/sec on WS).