Guide
Cross-market correlation in Polymarket crypto data
BTC and ETH markets on Polymarket often move together, but not always identically. This guide covers cross-market correlation analysis, lead-lag relationships, and correlation-based signals.
What this guide covers
- BTC and ETH markets show high positive correlation during normal conditions
- Lead-lag relationships emerge during volatile periods
- Correlation-based signals can identify relative value opportunities
- Cross-market analysis requires aligned timestamps across slugs
Understanding cross-market correlation
Cross-market correlation measures how two markets move relative to each other. On Polymarket, BTC and ETH markets often show positive correlation.
Correlation is computed on the price series (midpoint prices) from two markets over a rolling window. A correlation of 1.0 means perfect co-movement; 0.0 means no relationship.
Correlation is not constant. During normal conditions, BTC and ETH markets may show 0.7 to 0.9 correlation. During volatile events, correlation can spike or break down temporarily.
Understanding the correlation structure helps you diversify (low-correlation markets) or amplify signals (high-correlation markets).
Lead-lag relationships
A lead-lag relationship exists when one market price movement consistently precedes another. If BTC markets tend to move 5 to 10 seconds before ETH markets, BTC is the leader.
Lead-lag relationships arise from market microstructure. BTC markets are typically more liquid and have more participants, so new information is incorporated into BTC prices faster.
To detect lead-lag, compute the cross-correlation between two price series at different time offsets. The offset that maximizes correlation reveals the lead-lag structure.
Lead-lag relationships are strongest during volatile periods when information arrives rapidly.
Cross-market signals
A divergence signal: when BTC and ETH markets normally move together but one diverges, it may indicate a relative value opportunity.
A momentum signal: when BTC leads and ETH lags, buying ETH after a BTC move can capture the delayed reaction.
A spread signal: track the spread between correlated markets. When the spread deviates from its historical mean, it may revert. This is a pairs-trading approach.
All correlation-based signals require careful validation. Correlation can break down during regime changes.
Building a correlation analysis
Pull aligned price series for two or more markets. Use the same resolution (1s or 5s) and ensure timestamps align. Join by timestamp in a DataFrame.
Compute rolling correlation using pandas: df["corr"] = df["btc_price"].rolling(60).corr(df["eth_price"]).
Visualize with a dual-axis chart: BTC price on the left axis, ETH price on the right axis. Overlay the rolling correlation as a third series.
For strategy development, use correlation as a filter rather than a primary signal. Only take trades when correlation is above a threshold.
To compute rolling correlations between BTC and ETH markets, pull the price series for both slugs at the same resolution and merge on timestamp. A 60-second rolling window works well for 5-minute markets: it is long enough to produce a stable estimate but short enough to capture regime shifts. In pandas, this is a single line with .rolling(60).corr(), and the resulting series tells you how tightly coupled the two markets were at each point in the market lifecycle.
Correlation data is directly useful for portfolio diversification across prediction markets. If you hold positions in multiple markets, low-correlated positions reduce your overall risk. For example, a BTC 5-minute market and an ETH 1-hour market may show lower intra-day correlation than two BTC 5-minute markets resolving at different times. Mapping the correlation matrix across your active positions helps you avoid concentration risk.
One important caveat: correlation changes over time, especially near market resolution. During the final minute of a 5-minute market, individual market factors (the specific price level relative to the opening price) dominate, and BTC-to-ETH correlation can drop sharply. Build your correlation analysis on the steady-state portion of the market lifecycle rather than the full window to get a more reliable signal for trading decisions.
Code examples
import numpy as np
btc_prices = df["btc"].values
eth_prices = df["eth"].values
for lag in range(-10, 11):
if lag > 0:
corr = np.corrcoef(btc_prices[lag:], eth_prices[:-lag])[0, 1]
elif lag < 0:
corr = np.corrcoef(btc_prices[:lag], eth_prices[-lag:])[0, 1]
else:
corr = np.corrcoef(btc_prices, eth_prices)[0, 1]
print(f"Lag {lag:+d}s: correlation={corr:.3f}")Free tier
The Starter plan is free, includes order books, prices, and metrics at 1-second resolution, with 3 days of history, 60 requests/min, 1,000/day, 1 free AI backtest, and 3 strategy backtests. No credit card required.
Paid data windows from $19/mo extend history to 30–120 days at higher throughput. Backtest AI add-on is +$19/mo or standalone at $29/mo.
FAQ
Are BTC and ETH markets correlated on Polymarket?
Yes, typically 0.7 to 0.9 during normal conditions. The correlation reflects the underlying relationship between Bitcoin and Ethereum prices.
Can I trade correlation directly?
You can trade relative value by going long one market and short the correlated market when the spread deviates from its mean. This is a pairs-trading approach.
How do I detect lead-lag relationships?
Compute cross-correlation between two price series at different time offsets. BTC typically leads ETH during volatile periods.
Does correlation persist across market lifecycles?
Correlation is strongest during steady-state trading. It can break down near resolution when individual market factors dominate.