Pair Trading Lab closes on 1 October 2026. We built it in 2011, ran it for
fifteen years, and the same company, Quantverse OÜ, is building what comes
next. This post is for the people who used it: who searched the pair
database, argued with the backtester, kept portfolios of ratio and Kalman
strategies, and ran PTL Trader against an Interactive Brokers account through
more than one bad month.

If you are one of them, you already know most of what this post is about.
Everything we are building now came out of watching what a pair does over
time.

## What a pair is, mechanically

Strip a pair trade down and it is a portfolio of two positions with one
number tying them together. You estimate a hedge ratio on a window of
history, form the spread, and trade its z-score against entry and exit
thresholds. The ratio model did this with a moving average and a standard
deviation. The residual model did it with a regression. The Kalman-grid model
stopped asking you to pick a window at all: it ran a grid of Kalman filters
side by side, ranked them with a learned model, and re-estimated the hedge
ratio every day.

That last step is worth noticing. Kalman-grid was already the platform
admitting that the hard part of pair trading is not finding a pair. It is
keeping the relationship estimated correctly while it drifts, and knowing
when to stop.

## Where pairs break

Anyone who ran pairs for more than a year met the same three failure modes.

**The relationship goes away and the spread does not come back.** A pair
that tested as cointegrated on two years of data is a statement about those
two years. When one company is acquired, changes its business, or simply
stops moving with the other, the spread walks off and the model keeps adding
to the position because the z-score says it is cheap. With two names there is
nothing else in the trade to absorb that.

**Two names is not diversification.** Every pair carried the full
idiosyncratic risk of both legs. One earnings miss on the short leg was a
full-position loss with no offset, and market neutrality at the pair level
said nothing about the net exposure of ten such pairs held together. The
portfolio tool let you hold them side by side, but it sized them one at a
time and never showed you what the whole book was long and short of.

**A database of ten million pairs is a multiple-testing machine.** Screen
enough pairs and some will pass a cointegration test by chance. The
backtester could tell you how a pair would have done in-sample. It could not
tell you how many pairs you had looked at to find it, and that count is what
decides whether the result means anything.

None of these is a bug in Pair Trading Lab; they are properties of the
two-name unit, and the fix is to change the unit.

## What changes

In Quantverse, the unit of work is the whole market-neutral portfolio. A
long basket against a short basket, sized together, with the net beta and
factor exposures of the entire book measured and neutralized rather than
assumed from pairwise construction. The things you used to do by hand map
onto pieces of the platform:

| You did this on Pair Trading Lab | The platform does this |
|---|---|
| Search ten million pairs for cointegration | Build daily co-movement clusters across the whole universe, so related names are grouped, not paired |
| Estimate one hedge ratio per pair | Beta-neutralize a long book against a short basket at the portfolio level |
| Set a margin usage target per portfolio | Size positions with fractional Kelly, a volatility target and a turnover penalty |
| Run one backtest on the pair's history | Walk-forward validation with purging and embargo, so the test period never leaks into training |
| Notice a regime change after the drawdown | Tag periods by realized volatility, dispersion, breadth and factor crowding, and attribute drawdowns to factor, idiosyncratic and regime components |
| Pick the pairs yourself | An agent proposes a portfolio, runs the validation and writes the research note; you approve or reject |

The identifier data behind this is live today; the clusters, features and
labels open through the beta, and the [data page](/data) shows which is which.

The data underneath is point-in-time. Every universe is built as it stood on
the start date, including the companies that were later delisted or acquired,
and identifiers are resolved as of each day rather than by today's ticker.
We wrote about why that matters in the
[introduction to Quantverse](/blog/introducing-quantverse). For a former pair
trader the short version is that the names that ruined a pair are exactly the
names that a survivorship-biased backtest cannot see.

## What an agent run looks like

You give the platform a research brief in plain language, such as "market-neutral
mean reversion in the Russell 2000 over the last three years". An
agent builds the point-in-time universe, computes features under the same
as-of discipline, runs the walk-forward folds, and produces a markdown note
with the equity curve, the regime split and the drawdown attribution. You read
it the way you used to read a backtest report, and then you decide.

The constraints are the part we care most about, because a pair trader knows
how easy it is to fool yourself with a search.

- Every query resolves through the point-in-time engine, so lookahead is not
  something the agent could do even if asked.
- Universe size, feature width and fold counts are capped. The agent cannot
  widen the search until something looks good, which is the ten-million-pairs
  problem with the lid on.
- Compute has hard per-run and per-day cutoffs.
- Anything touching a brokerage or order flow requires a human to sign off.
- Every skill call is signed and hashed, so a result can be reproduced from
  its record.

The full skill list is on the [agents page](/agents).

## What does not carry over

We want to be plain about this. Quantverse is not Pair Trading Lab version
two.

- There is no pair database, no pair backtester and no pair models. Your
  saved backtests and portfolios do not migrate, because the successor has no
  object to migrate them into.
- Until 1 October 2026 the site works as before, so anything you want to
  keep from your backtests and portfolios should be saved before then.
- PTL Trader is open source under GPLv3, and on 30 August we announced a new
  version that runs without the website and API. If you want to keep trading
  pairs through Interactive Brokers, that is the path, and it stays free.
- Quantverse is entering open beta soon with a small group of funds and
  independent researchers. If you want a seat, subscribe to the newsletter on
  the [home page](/) or write to
  [info@quantverse.com](mailto:info@quantverse.com) and tell us you came from
  Pair Trading Lab.

## The hedge ratio, one more time

A pair was a portfolio of two names and one hedge ratio, and fifteen years of
running it taught us that the ratio was never the hard part. The hard part
was everything around it: the search that found the pair, the regime that
broke it, the ten other pairs in the same book, and the data that quietly
forgot the companies that had disappeared. Quantverse is built around those
four things, with the pair generalized to a book and the searching handed to
an agent that has to show its work.

Thank you for fifteen years. The forum thread with the announcement is
[here](https://forum.pairtradinglab.com/index.php?topic=286.0), and we read
the replies.
