BANGER
Product status: Banger’s public beta is paper-only. References to live execution are future-looking. Venue rules and legal claims can change; verify current primary sources for your jurisdiction.
2026-07-10 · 3 min read · reviewed 2026-10-14

Pairs Trading in Prediction Markets

Two event-contract prices may move together, yet their difference need not revert before either contract settles. Pairs research asks whether a specified relationship is useful under observable costs and rules. Calling a pair market neutral does not remove outcome risk, execution risk or the possibility that the relationship was fitted after seeing the answer.

Distinguish logic from statistics

A logical relationship comes from settlement definitions. For example, one precisely defined event may imply another. Verify that implication against the full rules, payout amounts, deadlines and exceptional cases. Related names alone do not prove it. Mutually exclusive outcomes also need to be collectively exhaustive before their final payouts can be assumed to sum to a fixed amount.

A statistical relationship comes from observations. Correlated quotes can share news without maintaining a stable spread. Prices collected at different times can create a relationship or apparent discrepancy that never existed at an executable instant. Cross-venue research adds separate funding, fees, access and settlement procedures.

Describe the proposed spread explicitly

One reference definition is A minus beta times B minus an intercept. State the coefficient and intercept, the data window used to choose them, and the time that choice was frozen. An estimated coefficient is not automatically an executable contract ratio or a hedge against every outcome.

The helper below computes a standardized deviation using earlier paired observations only. It is an illustrative feature calculation, not a cointegration test, a fit, an order-sizing rule or proof that a spread returns to its mean. Inputs are dimensionless prices for two specified one-dollar payout instruments, with a caller-supplied coefficient and intercept.

from decimal import Decimal

def paired_deviation(history, latest, beta="1", intercept="0"):
    def finite(value):
        value = Decimal(str(value))
        if not value.is_finite():
            raise ValueError("finite values required")
        return value
    b, c = finite(beta), finite(intercept)
    def spread(pair):
        if len(pair) != 2:
            raise ValueError("two aligned prices required")
        a, d = map(finite, pair)
        if not (0 <= a <= 1 and 0 <= d <= 1):
            raise ValueError("prices must be in [0, 1]")
        return a - b * d - c
    past = [spread(pair) for pair in history]
    current = spread(latest)
    if len(past) < 3:
        return None
    mean = sum(past) / len(past)
    variance = sum((x - mean) ** 2 for x in past) / len(past)
    if variance == 0:
        return None
    return (current - mean) / variance.sqrt()

# Hypothetical aligned observations; latest is excluded from history.
sample = [(".50", ".40"), (".52", ".40"), (".48", ".40")]
assert paired_deviation(sample, (".56", ".40")) > 0

The caller must establish alignment, quote side, clocks and contract identity. A standard deviation from three observations is only enough to demonstrate the arithmetic. It is not a recommended research sample size or a significance threshold.

Do not turn a statistical test into a guarantee

The statsmodels cointegration test documents a null of no cointegration and assumptions about integrated input series. Its regression specification matters. Bounded event prices approaching a finite settlement require particular care; a generic stock-pair recipe is not automatically appropriate. Rejecting a null does not guarantee timely reversion, tradability or profit.

Choose evaluation windows without later observations influencing earlier decisions. Record every candidate pair and parameter variant considered. Include pairs that disappeared, settled, lacked data or failed to meet the proposed relationship. A relationship selected from successful examples has a different evidential status from one specified in advance.

Model both legs and their limits

A planned two-leg action can become a one-leg holding when one quote moves, an order is rejected or size is unavailable. Fees, bid-ask spreads and partial fills can exceed a small reference discrepancy. Capital may remain committed until settlement or a possible early sale; neither venue is obliged to offer the exit the model assumed.

Banger can support paper investigations, but its public simulated fills do not prove synchronized real execution or queue priority. Preserve each instrument's identity and the hypothesis in the experiment record. Treat the observed spread, simulated result and eventual payout as different measurements, and report unresolved positions and unsuccessful attempts rather than calling the pair risk free.

Sources

Keep reading

Run your first strategy free

Paper-trade on Polymarket and Kalshi market data without venue keys.

Start free