Market Correlation Trading
Measure time-varying co-movement and test whether a hedge, factor exposure, or stationary spread exists. Divergence can reflect a regime change; correlation alone does not imply convergence, causation, or lead-lag.
Measurement
- Align exchange calendars, timestamps, currencies, and return intervals; do not correlate price levels.
- Compute rolling Pearson and rank correlation over predeclared short and long windows, with confidence intervals and enough observations.
- Estimate rolling beta or a multi-factor model when the objective is hedging.
- Require an economically linked, stationary spread and out-of-sample half-life before proposing convergence.
- Test lead-lag with lagged returns while controlling common factors and multiple comparisons.
Divergence Signals
| Scenario |
Signal |
| BTC rallies but Nasdaq flat/down |
BTC overextended, watch for pullback |
| Gold falls but real yields also fall |
Gold undervalued, potential buy |
| Oil rises but energy stocks lag |
Energy stocks may catch up |
| VIX rises but S&P holds |
Hedging without selling, watch for resolution |
Use 20/60 bars only as example windows. Calibrate the windows and breakdown threshold in training data, then report estimates, uncertainty, and observation count.
Lead-Lag Hypotheses
For every proposed leader/follower pair, state the economic mechanism, data clock, lags tried, common-factor controls, and held-out result. Never copy a fixed lag table into a trade.
Regime-Dependent Correlations
| Regime |
Correlation Behavior |
| Risk-on (normal) |
Traditional correlations hold |
| Risk-off (crisis) |
Everything correlates -- stocks, crypto, commodities drop; only USD/treasuries/gold rise |
| Inflation |
Stocks and bonds fall together (atypical positive correlation) |
| Deflation |
Stocks fall, bonds rise (traditional inverse) |
Workflow
1. Check Related Assets
get_candles(symbol="SPY", exchange=<exchange>, interval="1D", count=250)
get_candles(symbol="QQQ", exchange=<exchange>, interval="1D", count=250)
get_candles(symbol="TLT", exchange=<exchange>, interval="1D", count=250)
get_candles(symbol="GLD", exchange=<exchange>, interval="1D", count=250)
Compare recent performance (1W, 1M, 3M) across correlated pairs.
2. Research Macro Context
get_financial_news(topic="correlation stocks bonds regime shift <current year>", max_results=10)
get_economics_calendar(from_date=<start>, to_date=<end>, impact="high")
Determine whether current correlations are driven by Fed policy, inflation, or event-specific factors. High-impact macro events can trigger regime shifts.
3. Identify and Report Divergences
Report return definition, windows, estimates/uncertainty, beta/factor exposures, divergence z-score, stationarity result, costs, and hedge, watch, or no trade. Do not call an asset mispriced from correlation alone.
Evidence and Validation
- Treat the setup as a testable hypothesis, not a prediction. Define thresholds, entry, invalidation, and exit before evaluating outcomes.
- Calibrate on the same instrument, venue, session, and timeframe. Use closed candles and a held-out or walk-forward sample; record every variant tried.
- Include spread, fees, slippage, borrow or funding, partial fills, and latency. Reject the setup when net expectancy is not positive or depends on one narrow parameter.
- Return observed inputs, missing data, cost assumptions, entry, invalidation, exit, and a valid, watch, or no-trade status.
- Research basis: Ang & Bekaert finds correlations and volatilities vary by regime and often rise in bad times; a static correlation table is not a trading signal.
Key Rules
- Never assume correlations are permanent; show rolling estimates and adverse stresses toward +1 or -1.
- Include macro/factor regime and stress correlations; diversification can weaken without every asset moving together.
- Aggregate positions with shared beta/factor/scenario risk rather than relying on one pair correlation.
- Correlation is not causation or convergence; control for common drivers where possible.
- When a historical relationship changes, test for a regime break before proposing convergence.
Related Skills
- sector-rotation -- Sector correlations reveal rotation opportunities
- economic-calendar-trading -- Macro events drive correlation regime shifts
1---2name: market-correlation-trading3description: Measure time-varying cross-asset correlation, beta, lead-lag, and spread stationarity. Use when evaluating hedges, common factors, regime breaks, divergences, or convergence hypotheses.4license: Apache-2.05---67# Market Correlation Trading89Measure time-varying co-movement and test whether a hedge, factor exposure, or stationary spread exists. Divergence can reflect a regime change; correlation alone does not imply convergence, causation, or lead-lag.1011## Measurement1213- Align exchange calendars, timestamps, currencies, and return intervals; do not correlate price levels.14- Compute rolling Pearson and rank correlation over predeclared short and long windows, with confidence intervals and enough observations.15- Estimate rolling beta or a multi-factor model when the objective is hedging.16- Require an economically linked, stationary spread and out-of-sample half-life before proposing convergence.17- Test lead-lag with lagged returns while controlling common factors and multiple comparisons.1819## Divergence Signals2021| Scenario | Signal |22| --- | --- |23| BTC rallies but Nasdaq flat/down | BTC overextended, watch for pullback |24| Gold falls but real yields also fall | Gold undervalued, potential buy |25| Oil rises but energy stocks lag | Energy stocks may catch up |26| VIX rises but S&P holds | Hedging without selling, watch for resolution |2728Use 20/60 bars only as example windows. Calibrate the windows and breakdown threshold in training data, then report estimates, uncertainty, and observation count.2930## Lead-Lag Hypotheses3132For every proposed leader/follower pair, state the economic mechanism, data clock, lags tried, common-factor controls, and held-out result. Never copy a fixed lag table into a trade.3334## Regime-Dependent Correlations3536| Regime | Correlation Behavior |37| --- | --- |38| Risk-on (normal) | Traditional correlations hold |39| Risk-off (crisis) | Everything correlates -- stocks, crypto, commodities drop; only USD/treasuries/gold rise |40| Inflation | Stocks and bonds fall together (atypical positive correlation) |41| Deflation | Stocks fall, bonds rise (traditional inverse) |4243## Workflow4445### 1. Check Related Assets4647```48get_candles(symbol="SPY", exchange=<exchange>, interval="1D", count=250)49get_candles(symbol="QQQ", exchange=<exchange>, interval="1D", count=250)50get_candles(symbol="TLT", exchange=<exchange>, interval="1D", count=250)51get_candles(symbol="GLD", exchange=<exchange>, interval="1D", count=250)52```5354Compare recent performance (1W, 1M, 3M) across correlated pairs.5556### 2. Research Macro Context5758```59get_financial_news(topic="correlation stocks bonds regime shift <current year>", max_results=10)60get_economics_calendar(from_date=<start>, to_date=<end>, impact="high")61```6263Determine whether current correlations are driven by Fed policy, inflation, or event-specific factors. High-impact macro events can trigger regime shifts.6465### 3. Identify and Report Divergences6667Report return definition, windows, estimates/uncertainty, beta/factor exposures, divergence z-score, stationarity result, costs, and `hedge`, `watch`, or `no trade`. Do not call an asset mispriced from correlation alone.6869## Evidence and Validation7071- Treat the setup as a testable hypothesis, not a prediction. Define thresholds, entry, invalidation, and exit before evaluating outcomes.72- Calibrate on the same instrument, venue, session, and timeframe. Use closed candles and a held-out or walk-forward sample; record every variant tried.73- Include spread, fees, slippage, borrow or funding, partial fills, and latency. Reject the setup when net expectancy is not positive or depends on one narrow parameter.74- Return observed inputs, missing data, cost assumptions, entry, invalidation, exit, and a valid, watch, or no-trade status.75- Research basis: [Ang & Bekaert](https://www.nber.org/papers/w7056) finds correlations and volatilities vary by regime and often rise in bad times; a static correlation table is not a trading signal.7677## Key Rules7879- Never assume correlations are permanent; show rolling estimates and adverse stresses toward +1 or -1.80- Include macro/factor regime and stress correlations; diversification can weaken without every asset moving together.81- Aggregate positions with shared beta/factor/scenario risk rather than relying on one pair correlation.82- Correlation is not causation or convergence; control for common drivers where possible.83- When a historical relationship changes, test for a regime break before proposing convergence.8485## Related Skills8687- **sector-rotation** -- Sector correlations reveal rotation opportunities88- **economic-calendar-trading** -- Macro events drive correlation regime shifts