INT64_MAX undefined-price sentinel silently contaminating weeks of order flow aggregations across several scripts.
Market data · Backtesting
I build the part of a trading system that tells you when the data is lying.
Ingestion, validation, order flow indicators, and the statistics that stop you fooling yourself. Futures and equities — CME through Databento, and whatever else the job needs.
Available for contract work
Recent findings
0.09% taker fees exceeded the typical gross move in a 60–240s holding window.
Writing
Nine exchanges, nine prices
56 minutes of BTC order books across nine venues. The clock hypothesis explains 3% of the dispersion — book imbalance agrees across venues 7% of the time.
The break-even win rate was 132%
A short-horizon crypto strategy that backtested fine, ended by three lines of arithmetic I should have run first.
The $9,223,372,036 trade that never happened
A sentinel value in DBN market data doesn't crash anything — and it hides better the more careful you were about outliers.
Next: normalising depth across venues that disagree on what a book snapshot is — fixed distance from mid instead of fixed level count.
What I work on
Most of my work sits upstream of the strategy, in the place where quiet errors turn into confident wrong answers.
- Ingestion and validation — vendor feeds, sentinel handling, schema drift, the checks that fail loudly instead of silently.
- Order flow tooling — book imbalance, concentration, spoofing and rotation indicators over MBP and MBO data.
- Backtest hygiene — multiple-comparison correction, pseudo-replication, cost modelling, and telling you when the result isn't real.