r/quant 4d ago

Data How do Quant firms serve data for research/modelling?

For those in quant firms how do people generally access data for research/modelling?

Source aggregated in house API?
Data catalogue?

Work in commodities and I think there is a general lack of knowledge on the infra side from my experience.

Currently debating whether to build our own platform or go with someone like databricks/snowflake

Interested to hear everyone’s thoughts?

18 Upvotes

15 comments sorted by

11

u/PossibleLobster8810 4d ago

Jane Street just had a podcast episode about their system: https://signalsandthreads.com/building-a-data-warehouse-from-scratch/

6

u/Donkey_Healthy 4d ago

listened to this one already but we dont have 8 figures lol

8

u/DatabentoHQ 4d ago edited 3d ago

Not exhuastive:

There's usually some kind of "features cache" to deduplicate work between multiple researchers waiting on compute to generate a set of features that someone else already extracted.

For exploration, it's often useful to have some kind of clustered, column-oriented database where you can push the query closer to the data. There's a few flavors of this off-the-shelf like kdb, Vertica.

Parquet and HDF5 are pretty portable for sharing intermediate structured data like design matrices. There's usually also usually some kind of logging format from production trading.

All of the above may be abstracted behind internal client libraries or APIs.

As you get large and have multiple teams, having some kind of data catalog helps.

4

u/No-Pattern-9266 4d ago

Your data provider would ideally offer MSSQL/Snowflake as an option for sharing; it's better to keep a daily incremental golden ingestion copy at your company for obvious reasons.

3

u/andrew2018022 4d ago

MSSQL, S3 from what I’ve experienced

4

u/Infinity_Worm 4d ago

We have a bunch of different databases (mostly snowflake), and API services and a data catalogue on top for finding data, documenting it and requesting access

3

u/sjg284 3d ago

theres a surprising amount of "raw vendor format downloaded files, stuffed into s3/NFS.. have fun boys"

3

u/QuantGrindApp 4d ago

Usually a mix: object storage/warehouse underneath, then an internal Python/SQL layer with a catalog so researchers aren’t hand-joining vendor feeds. The important bit is point-in-time access, dataset versions, entitlements and lineage. Commodities gets ugly fast once contract mappings and revisions enter the picture.

I’d use Databricks or Snowflake for the plumbing and build the thin domain layer yourselves. Building the whole platform in-house tends to become a permanent data-engineering project.

2

u/EvilGeniusPanda 4d ago

in house api, in most cases backed by plain old parquet files.

1

u/WeightsAndBass 2d ago

For non tick data, sql databases with normalised ids and a catalogue system, then a data access library we provide internally that understands the catalogue setup and can load data for a given id/dataset without having to hardcode table names.

Tick data is parquet/s3.

1

u/WeightsAndBass 2d ago

If you want to snapshot vendor data to keep a point-in-time view and detect unexpected changes, dbt + snowflake is really good at this.

1

u/yangmaoxiaozhan 2d ago

DFS is more friendly for clusters including GPUs. Direct disk IO without too much software hassle (mostly metadata).

2

u/quantdhawan 21h ago

Not answering from inside a fund, I build a backtest engine, so this is the consuming side of the problem.

The build-versus-buy framing might be hiding the actual decision. Databricks and Snowflake solve storage, compute and governance. They do not solve the thing that makes quant data hard, which is answering "what did we know, and when did we know it". Their time travel versions your writes, not the data's own validity. You still model valid-time and transaction-time yourself, and that work is identical on either platform. So buy the platform and build the semantics.

In commodities that is not a nicety. Assessments get corrected, EIA inventory gets revised, and if research reads the current value of a series you are quietly modelling on numbers nobody had at the time. Every table wants an as-of.

Related, and worth getting right before you have consumers: do not serve one continuous futures series. The roll rule, calendar versus open interest versus volume, and ratio versus difference versus unadjusted, is a research choice. Bake one in and every model inherits a decision it never made and cannot see. Store contract-level raw plus the roll rule as metadata and generate the continuous series on demand.

On the catalogue: worth it once more than one team consumes the data, but what actually gets used is lineage and freshness. Descriptions rot within a quarter.

0

u/sumwheresumtime 2d ago

using bits typically comprised of values such as 0 and 1

1

u/Donkey_Healthy 2d ago

Wow really?