Back to Projects

2026 · Markets & Quant

Adaptive Pairs Research

Kalman- and wavelet-based hedge estimation on Visa and Mastercard: how much of it survives realistic evaluation?

Project Summary

Research question: once evaluation is chronological and trading assumptions are explicit, does wavelet-denoised return estimation offer a real advantage over simpler hedge estimates?

The economic similarity of Visa and Mastercard motivates the choice of pair; it is not treated as proof of cointegration or of a tradable mean-reverting relationship. The study makes no claim of a profitable strategy. The goal is to see which improvements survive data, accounting and validation checks.

Models and Data

  • Kalman price-level model: V_t = α_t + β_t · MA_t + ε_t. The hedge ratio updates with every new observation.
  • Wavelet-denoised log-return regression.
  • Signals come from standardized deviations; orders fill on the next bar and costs are charged on both legs.
  • 485,613 aligned one-minute observations from January 2021 to March 2026 (about 1.04 million rows before filtering); the data file is recorded in a manifest by SHA-256.

Methodology Review (September 2026)

I reviewed my own code and demonstrated two future-data dependencies with small synthetic counterexamples:

  • Position sizing was normalised by the full-period volatility median, so later data could change the size of already-closed trades. It now uses an expanding median of data available strictly before each bar.
  • Automatic data cleaning looked at the next observation before deleting one. That cleaning is now off by default and explicitly labelled as retrospective diagnostics.
  • I wrote seven regression tests to lock these cases down: the old code failed four of them, the revised code passes all seven.
  • Archived pre-review results were highly sensitive to the slippage assumption: a positive return at 1 basis point turned negative at 2–3 basis points. Those outputs are kept as historical records, not as validated performance.

Next Experiment

A walk-forward protocol with pre-frozen parameters that compares a fixed hedge, rolling OLS and the wavelet regression on identical data and identical position accounting. Uncertainty will be measured with a dependence-aware block bootstrap, and a genuinely untouched future period is reserved for confirmation. Negative results will be part of the report.

Technologies Used

PythonpandasNumPyPyWaveletsKalman filterWavelet transformunittest
Back to Projects