Skip to content

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 handlingThetaDataError hierarchy, retry policy, session refresh

Prerequisites

RequirementDetails
ThetaData accountEmail and password from thetadata.us
Rust toolchainRequired 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.

Released under the Apache-2.0 License.