Getting Started
ThetaDataDx is a Rust SDK for ThetaData's MDDS (historical, gRPC) and FPSS (real-time, TCP) servers. The data path — gRPC, protobuf parsing, zstd decompression, FIT decoding, Greeks math — runs inside the thetadatadx Rust crate and is exposed in four language surfaces: Rust, Python, TypeScript/Node.js, and C++. Go consumers can build a thin cgo wrapper against the unchanged C ABI in ffi/.
What's on this page
- Quick Start — install, authenticate, first historical call, first streaming call, tabbed across all four SDKs
- Installation — install for your language
- Authentication — credentials file, environment variables, token lifecycle
- First query — one historical call in every language
- Streaming (FPSS) — SPKI pinning, callback / polling models, lock-free ring, reconnect policy
- Greeks calculator — 22 local Greeks + IV solver, no server round-trip
- DataFrames — Arrow / Polars / Pandas output with the zero-copy scope
- Error handling —
ThetaDataErrorhierarchy, retry policy, session refresh
Prerequisites
| Requirement | Details |
|---|---|
| ThetaData account | Email and password from thetadata.us |
| Rust toolchain | Required for the C++ SDK (builds the FFI library); not required for Rust/Python/TypeScript on supported platforms |
| Python 3.9+ | For the Python SDK; pre-built abi3 wheels provided |
| Node.js 18+ | For the TypeScript/Node.js SDK |
| C++17 compiler + CMake 3.16+ | For the C++ SDK |
TIP
The Python SDK ships pre-built abi3 wheels for common platforms. You do not need a Rust toolchain unless you are building from source or using the C++ SDK.
Subscription tiers
Some endpoints require a paid ThetaData tier. See the subscription tier matrix for which endpoints are available on which plan.
ThetaData documentation
For ThetaData's documentation on data coverage, exchange fees, and account management, visit docs.thetadata.us.