Crate nautilus_dydx

Crate nautilus_dydx 

Source
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 with python).

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.