Aditya Jain
← Back to work

Cardinal

Machine learning for systematic stock selection.

Cardinal ranks S&P 500 stocks using fundamental, sentiment, and technical signals, with a longer-term goal of real-time recommendations informed by historical and current data.

Co-Founder, Engineering LeadJune 2026 - Present

Why point-in-time data matters

A backtest is only honest if it uses the same information that was actually available at the time. Testing against today's S&P 500 membership, correcting prices after the fact, or evaluating only companies that still exist all introduce look-ahead bias, survivorship bias, and historically incorrect constituent membership. Cardinal avoids this by reconstructing a point-in-time S&P 500 universe, with constituents and prices as they were actually known on each date, back to January 1, 2000.

Incorrect historical test

Today's S&P 500 applied backward in time

Point-in-time test

Constituents and prices as they were actually known on each date

System & pipeline

FundamentalSentimentTechnical
01

Point-in-time universe

S&P 500 constituents and prices as they were known on each historical date, back to January 2000

02

16 market signals

Fundamental, sentiment, and technical factors, scored for every stock

03

Cross-sectional ranking

Each stock scored relative to the rest of the universe at every point in time

04

Walk-forward evaluation

Rolling, out-of-sample testing across historical time windows

05

Benchmark comparison

Rankings measured against a momentum baseline

06

Factor diagnostics

Factor-exposure analysis checks whether results reflect genuine signal

Each of the three signal families feeds a single cross-sectional score: a relative rank for every stock in the universe at every point in time.

Evaluation methodology

Rankings are tested with walk-forward backtesting: train on a historical window, evaluate the next period out-of-sample, then roll forward and repeat.

Window 1Window 2Window 3repeat, rolling forward
Historical window (train)Out-of-sample evaluation

Momentum baseline

Rankings are benchmarked against a momentum strategy, not judged in isolation.

Factor-exposure diagnostics

Checks whether results come from genuine signal or from unintended factor tilts.

Engineering & data challenges

The model is only as trustworthy as the historical data it sees.

Index membership changes over time, testing only against companies that exist today skews results, and prices have to reflect what was actually known on each historical date. Cardinal's data pipeline resolves company and ticker identity across history and reconstructs constituents and prices back to January 1, 2000 to keep that history honest.

Index membership changes

S&P 500 constituents added and removed over time

Survivorship bias

Testing only against companies that exist today skews results

Identity & data-quality resolution

Company and ticker identity tracked correctly across history

Historically correct pricing

Prices as known on each date, back to January 2000