EquationDB

Blog

Articles from the EquationDB team: how the data is built, how to use the language, and what we learn running it.

Why we built EquationDB

2 October 2026 · EquationDB team · company, engineering, performance

General-purpose databases make multi-symbol market questions slow: screens, cross-sectional ranks, event studies and point-in-time joins take seconds to minutes. We wanted a database that answers them in milliseconds, and one that can think. Here is what we built and why.

SQL over market data: windows, SAMPLE BY and indicators as columns

2 October 2026 · EquationDB team · sql, history, tutorial

EquationDB speaks SQL on the same engine as its market language, and any indicator or fundamental is a column. A tour of finance aggregates, SAMPLE BY candles, named windows, QUALIFY, and CTEs and joins across symbols.

Who moves with whom: the relationship graph and lead-lag

2 October 2026 · EquationDB team · graph, correlation, risk

Every night EquationDB builds a graph of how the 500 largest US stocks and the reference ETFs move together: correlations, betas and intraday lead-lag. GRAPH finds true peers, leaders, clusters and the spread of a hypothetical shock, and flags relationships that break.

Searching for edges without fooling yourself

2 October 2026 · EquationDB team · search, research, statistics

SEARCH lets EquationDB look for trading edges on its own, with guardrails that are always on: a train, validate and test split, Benjamini-Hochberg false-discovery control over every candidate tried, and stability checks across years and symbols.

Event studies in one line: EVENTS and OUTCOMES

2 October 2026 · EquationDB team · events, outcomes, research

EVENTS tells you what just happened, with rarity against each stock's own history. OUTCOMES tells you what usually happened next, against a same-period baseline, with a t-statistic. Here is how to run a proper event study in two statements, and the traps they are built to avoid.

Rebuilding 253M bars from one source

2 October 2026 · EquationDB team · data, engineering

We rebuilt every price in EquationDB from a single market data provider: about 70,000 symbols and 253 million daily bars, full history per symbol, checked against what we had before. Here is how, and what keeps it correct every night.

Writing your first screen in EquationDB

30 September 2026 · EquationDB team · tutorial, screening

A screen is one line in EquationDB. This walk-through builds one step by step, from a simple filter to a ranked, sector-aware list, and then checks whether the setup has historically worked.

Why we store split-adjusted prices and apply dividends at read time

28 September 2026 · EquationDB team · data, adjustments

EquationDB never rewrites stored history when a split or dividend happens. Splits are applied as factors when bars are read; dividends are kept as per-bar factors and applied only when you ask for total return. Here is why.