Generated: January 29, 2026 Models: V2 (fixed training: BatchNorm, Dropout, proper 'both' spread) Universe: S&P 500 stock pairs
These pairs appear in 2+ models with p>0.70 and cointegration confirmed:
| Pair | Models | Avg Prob | Z-Score | Action |
|---|---|---|---|---|
| AVB/EQR | 2 | 0.771 | -2.24 | BUY SPREAD (Long AVB, Short EQR) |
| BEN/RJF | 2 | 0.754 | 1.82 | Consider entry |
| BK/C | 2 | 0.880 | -0.36 | MONITOR (wait for |
| BRO/MRSH | 2 | 0.711 | -0.74 | MONITOR (wait for |
| CDNS/UBER | 2 | 0.746 | 1.99 | Consider entry |
| CPB/GIS | 2 | 0.732 | -1.36 | MONITOR (wait for |
| EFX/VRSK | 2 | 0.792 | -1.31 | MONITOR (wait for |
| EQR/UDR | 2 | 0.747 | -3.18 | BUY SPREAD (Long EQR, Short UDR) |
| ERIE/MRSH | 2 | 0.805 | -0.73 | MONITOR (wait for |
| FITB/KEY | 2 | 0.843 | -0.54 | MONITOR (wait for |
| Pair | Model | Prob | Z-Score | Trade |
|---|---|---|---|---|
| ROP/TYL | both_50ep | 0.771 | -3.52 | Long ROP, Short TYL |
| ROP/TYL | both_100ep | 0.730 | -3.52 | Long ROP, Short TYL |
| EQR/UDR | coint_10ep | 0.735 | -3.18 | Long EQR, Short UDR |
| EQR/UDR | coint_25ep | 0.758 | -3.18 | Long EQR, Short UDR |
| GEHC/RVTY | coint_10ep | 0.708 | -2.89 | Long GEHC, Short RVTY |
| GEHC/RVTY | coint_25ep | 0.787 | -2.89 | Long GEHC, Short RVTY |
| AVB/EQR | log_75ep | 0.790 | -2.24 | Long AVB, Short EQR |
| AVB/EQR | log_50ep | 0.752 | -2.24 | Long AVB, Short EQR |
| ETN/GNRC | coint_25ep | 0.704 | -2.08 | Long ETN, Short GNRC |
| CMS/CNP | both_50ep | 0.743 | -2.05 | Long CMS, Short CNP |
| Pair | Model | Prob | Z-Score | Trade |
|---|---|---|---|---|
| NTRS/TROW | both_50ep | 0.785 | 2.28 | Short NTRS, Long TROW |
| NTRS/TROW | both_100ep | 0.718 | 2.28 | Short NTRS, Long TROW |
| BEN/TROW | both_50ep | 0.761 | 2.25 | Short BEN, Long TROW |
| OTIS/XYL | both_50ep | 0.748 | 2.18 | Short OTIS, Long XYL |
| CDNS/UBER | both_100ep | 0.754 | 1.99 | Short CDNS, Long UBER |
| CDNS/UBER | both_50ep | 0.737 | 1.99 | Short CDNS, Long UBER |
| PNR/XYL | both_100ep | 0.777 | 1.85 | Short PNR, Long XYL |
| BEN/RJF | both_100ep | 0.778 | 1.82 | Short BEN, Long RJF |
| BEN/RJF | both_50ep | 0.731 | 1.82 | Short BEN, Long RJF |
| DG/DLTR | log_75ep | 0.734 | 1.69 | Short DG, Long DLTR |
| Model | Cointegrated Pairs | Prob Range |
|---|---|---|
| both_50ep_v2 | 17 | 0.71-0.91 |
| both_100ep_v2 | 13 | 0.70-0.88 |
| log_50ep_v2 | 6 | 0.71-0.78 |
| log_75ep_v2 | 4 | 0.71-0.79 |
| coint_10ep_v2 | 3 | 0.71-0.74 |
| coint_25ep_v2 | 3 | 0.70-0.79 |
| Column | What It Means | How to Use It |
|---|---|---|
| ticker_a / ticker_b | The two stocks in the pair | Trade both simultaneously |
| spread_zscore | How far apart (standard deviations) | < -2: A is cheap, > +2: A is expensive |
| compression_probability | ML confidence spread will narrow | > 0.70 = actionable signal (V2) |
| is_cointegrated | Statistical confirmation they move together | True = much safer to trade |
| hedge_ratio | Shares of B per share of A | Use for position sizing |
Z-Score Interpretation Action
─────────────────────────────────────────────────
-3.0 Extremely oversold STRONG BUY spread
-2.0 Significantly oversold BUY spread
-1.5 Entry threshold Consider entry
0.0 Normal EXIT position
+1.5 Entry threshold Consider entry
+2.0 Significantly overbought SELL spread
+3.0 Extremely overbought STRONG SELL spread
-
is_cointegrated = True -
compression_probability > 0.70(V2 threshold) -
|spread_zscore| > 1.5(meaningful divergence) - Sector makes sense (same industry preferred)
- Profit exit: Z-score crosses 0 (spread normalized)
- Time exit: 20 trading days max hold
- Stop loss: |Z-score| > 4.0 (relationship breakdown)
- Max 5% of portfolio per pair
- Use hedge_ratio for dollar-neutral positioning
- Never more than 3 pairs from same sector
KatanaEquities is built on KatanaDNN, a proprietary 5-layer neural network originally developed for fixed income markets.
Background:
- Originated from Katana Labs (ING spinout, 2019)
- Analyzed 200M+ bond pairs with 91% accuracy
- Integrated on Bloomberg Terminal (325K+ users)
- IP acquired in 2022, adapted for equity markets
Architecture: 90→90→90→90→90→2 (or 180→90→... for 'both' spread type)
You can't vibe code a 5-layer DNN - this represents production-grade ML infrastructure, not weekend prompt engineering.
- Pairs Trading Parameter Optimization (arXiv) - Optimal entry 1.42, exit 0.37
- Cointegration vs Distance Methods - Cointegration provides stable returns
- Neural Networks for Pairs Trading
Generated by KatanaEquities V2 - Properly trained models with BatchNorm + Dropout