Point at a file
S3, GCS, SFTP, a vendor feed or a local folder. CSV, Parquet, gz — schema is detected for you.
Market data infrastructure for quants
Map the columns, choose who reads and writes — MD Store lands, normalizes, documents and secures your market data. No pipelines to build, no infra to babysit.
Point at your data
✓ Parquet · 38.1M rows · 5 columns detected
| ts_ms | px | qty | sym | side |
|---|---|---|---|---|
| 1709251200123 | 61234.5 | 0.012 | BTCUSDT | b |
| 1709251200131 | 61234.4 | 0.300 | BTCUSDT | s |
Map columns to the MD Store schema
Dataset
Readers
@quant-research@pm-desk+ add
Writers
@data-eng+ add
Landing…
Dataset ready — md.load("trades.binance.spot")
How it works
S3, GCS, SFTP, a vendor feed or a local folder. CSV, Parquet, gz — schema is detected for you.
Match source columns to one canonical schema. Units, timezones and symbols convert on the fly.
Pick readers and writers. Permissions are applied everywhere the data lands.
Raw kept immutable, clean layer validated, docs and lineage generated, access granted.
Why MD Store
No pipelines, no infra, no cleaning scripts.
Storage, schemas, schedules and permissions are provisioned for you.
UTC timestamps, one symbol convention, aligned units and sides.
Every dataset searchable by market, frequency, coverage and owner. Find it before you rebuild it.
Every dataset explains itself.
A data card per dataset: schema, coverage, owner and the idea behind it.
Trace any feature back to its files and transforms. Reproduce any backtest.
Clean data, one line away.
Raw data and research features live apart, not in one pile on a shared disk.
import mdstore as md
df = md.load("trades.binance.spot",
start="2024-03-01")Load any dataset into pandas or polars in one line. No paths, no credentials juggling.
trades.binance.spot38.1M rows
| timestamp | price | size | side |
|---|---|---|---|
| 14:00:00.123 | 61234.50 | 0.012 | buy |
| 14:00:00.131 | 61234.40 | 0.300 | sell |
Browse schema, sample rows and stats right on the site, before writing any code.
Coverage, gaps and distributions, ready in the viewer or via md.plot() in Jupyter.
Join the waitlist for early access.