Expand description
NautilusTrader adapter for the dYdX decentralized derivatives exchange.
The nautilus-dydx crate provides client bindings (HTTP & WebSocket), data
models, and helper utilities that wrap the official dYdX v4 API.
The official dYdX v4 documentation can be found at https://docs.dydx.trade/. All public links inside this crate reference the official documentation.
§Platform
NautilusTrader is an open-source, high-performance, production-grade algorithmic trading platform, providing quantitative traders with the ability to backtest portfolios of automated trading strategies on historical data with an event-driven engine, and also deploy those same strategies live, with no code changes.
NautilusTrader’s design, architecture, and implementation philosophy prioritizes software correctness and safety at the highest level, with the aim of supporting mission-critical trading system backtesting and live deployment workloads.
§Feature flags
This crate provides feature flags to control source code inclusion during compilation, depending on the intended use case, i.e. whether to provide Python bindings for the nautilus_trader Python package, or as part of a Rust only build.
python: Enables Python bindings from PyO3.extension-module: Builds as a Python extension module (used withpython).
Re-exports§
pub use crate::common::enums::DydxCandleResolution;pub use crate::common::enums::DydxMarketStatus;pub use crate::common::enums::DydxOrderSide;pub use crate::common::enums::DydxOrderStatus;pub use crate::common::enums::DydxOrderType;pub use crate::common::enums::DydxTickerType;pub use crate::common::enums::DydxTimeInForce;pub use crate::common::models::DydxAccount;pub use crate::data::DydxDataClient;pub use crate::error::DydxError;pub use crate::http::client::DydxHttpClient;pub use crate::http::error::DydxHttpError;pub use crate::http::models::MarketsResponse;pub use crate::http::models::PerpetualMarket;pub use crate::types::DydxOraclePrice;pub use crate::websocket::client::DydxWebSocketClient;pub use crate::websocket::enums::DydxWsChannel;pub use crate::websocket::enums::DydxWsOperation;pub use crate::websocket::error::DydxWsError;
Modules§
- common
- Common functionality shared across the dYdX adapter.
- config
- Configuration structures for the dYdX adapter.
- data
- Live market data client implementation for the dYdX adapter.
- error
- Error handling for the dYdX adapter.
- execution
- Live execution client implementation for the dYdX adapter.
- grpc
- gRPC client implementation for the dYdX v4 protocol.
- http
- HTTP/REST client implementation for the dYdX v4 Indexer API.
- python
- Python bindings from
pyo3. - schemas
- Schema definitions for dYdX API messages.
- types
- Custom data types specific to the dYdX adapter.
- websocket
- WebSocket client implementation for the dYdX v4 API.