← Back to Learn
IV ExpertWeek 17 • Lesson 51Duration: 45 min

XAS Cross-Asset Signals

What gold, bonds, and the VIX can tell you about your FX trades

Learning Objectives

  • Identify meaningful cross-asset relationships for FX trading
  • Distinguish real lead-lag effects from spurious correlation
  • Implement and validate cross-asset features
  • Know which cross-asset signals survive out-of-sample testing

Explain Like I'm 5

Markets are connected. Bond yields affect currencies, equity risk sentiment spills into FX, and commodity prices lead economic data. Cross-asset signals use these connections as early warning systems.

Think of It This Way

Markets are like a row of dominoes. If you can see which domino falls first, you have a head start on predicting which ones fall next. Cross-asset signals are about watching those leading dominoes.

1Key Cross-Asset Relationships

Five cross-asset relationships that have proven useful for FX trading: 1. Interest rate differentials -> FX. The classic carry trade. Higher-yielding currencies tend to appreciate (Fama, 1984 — the forward premium puzzle). 2-year rate differentials are the strongest predictor, but the relationship is time-varying. 2. Equity risk sentiment -> FX. When equities sell off, safe-haven currencies (USD, JPY, CHF) appreciate while risk-sensitive currencies (AUD, NZD, emerging markets) depreciate. VIX is the standard proxy. 3. Commodities -> Commodity FX. Oil leads CAD, iron ore leads AUD, dairy leads NZD. These are among the most reliable cross-asset relationships because the economic mechanism is direct. 4. Credit spreads -> Everything. Widening credit spreads signal risk aversion. They lead equity declines by 1-3 weeks and lead FX carry unwinds by similar margins (Longstaff et al., 2005). 5. Bond term structure -> FX trends. Yield curve flattening/inversion tends to precede currency weakness for that country. The 10Y-2Y spread is the standard measure. Not all of these are equally useful. The most robust for short-term FX trading: VIX, rate differentials, and commodity links for commodity currencies.

2Lead-Lag Effects

The value of cross-asset signals comes from temporal lead-lag relationships. If asset A moves, and asset B moves 1-4 hours later, asset A's move is a predictive signal for B. Empirically observed lead-lag patterns in FX: | Leader | Follower | Typical Lag | Strength | |--------|----------|-------------|----------| | S&P 500 futures | AUD/USD | 15-60 min | Moderate | | VIX change | USD/JPY | 1-4 hours | Strong | | Oil (WTI) | USD/CAD | Same day | Strong | | US 2Y yield | EUR/USD | 1-2 days | Moderate | | Credit (CDX) | FX carry basket | 1-5 days | Variable | Why do lead-lag relationships exist? Three mechanisms: Market structure. Some markets trade or react faster than others due to participant mix, liquidity, and information flow. Institutional constraints. Many FX hedgers rebalance on a schedule (end of day, end of week), creating predictable delayed reactions. Information processing speed. Some assets reflect economic information faster than others. Futures markets generally lead spot markets.

3The Spurious Correlation Trap

Cross-asset work is a minefield of spurious correlations. With thousands of potential cross-asset pairs and multiple lags to test, the chance of finding false positives is enormous. Data mining in cross-asset analysis is particularly dangerous for three reasons: Multiple testing. If you test 50 cross-asset pairs at 10 different lags, you're running 500 hypothesis tests. At the 5% significance level, you'd expect 25 "significant" results by pure chance. Non-stationarity. Cross-asset correlations change over time. A correlation that was 0.6 from 2010-2015 might be 0.1 from 2016-2020. Confounders. Two assets might appear correlated because they both respond to a third factor (e.g., global risk appetite), not because one causes the other. Defenses against spurious correlation: 1. Economic mechanism required. Only use cross-asset signals where you can articulate why the relationship should exist. 2. Out-of-sample validation. Train on one period, test on a completely separate period. No peeking. 3. Rolling stability. Compute the correlation in every 12-month window. If it's not consistently in the same direction, it's noise. 4. Granger causality test. Statistical test for whether lagged values of X predict Y beyond Y's own lags.

4Practical Cross-Asset Features

For a production system, these cross-asset features have proven most durable: Immediate (current bar): - VIX level and 1-day change - DXY (Dollar Index) return - US 10Y yield level - Gold return (risk sentiment proxy) Short-term (1-5 bar lag): - Equity index return (SPX for USD, DAX for EUR) - Rate differential change (2Y for the currency pair) - Commodity returns for relevant commodity currencies - Credit spread change (CDX IG for general risk) Medium-term (5-20 bar lag): - Yield curve slope change - Equity sector rotation patterns - Global capital flow proxies Some cross-asset features capture level information, others capture change information. In practice, changes (first differences) are more useful for short-term prediction because levels are dominated by slow-moving macro trends.

5Implementation Notes

Practical considerations for cross-asset features in a live system: Data availability. You need real-time feeds for multiple asset classes. FX and equity futures data is readily available; credit spreads and bond yield data may require additional data sources. Yahoo Finance, FRED, and proprietary APIs are common sources. Timezone alignment. A 1-hour lag in VIX vs. EUR/USD means different things depending on the time of day. Be precise about timestamps. Feature engineering. Raw cross-asset returns are rarely useful. Transform them: - Z-score relative to rolling window (standardize) - Compute percentile rank (robust to outliers) - Use rate of change rather than level - Lag appropriately based on your bar frequency Correlation monitoring. Cross-asset relationships are NOT constant. Implement rolling correlation tracking and flag when relationships break down. A VIX-JPY correlation that drops from 0.6 to 0.1 is a signal in itself — it means the usual playbook may not work. A good cross-asset framework doesn't just add features — it adds conditional information that makes your primary signals more reliable when cross-asset confirmation is present and less trusted when it's absent.

Key Formulas

Cross-Correlation at Lag k

Measures the correlation between asset X at time t and asset Y at time t+k, capturing lead-lag effects

Hands-On Code

Cross-Asset Feature Construction

python
import numpy as np

def cross_asset_features(leader_returns, follower_returns, lags=[1, 4, 8, 24], window=60):
    """Build cross-asset features from a leader-follower pair."""
    n = len(follower_returns)
    features = {}
    
    for lag in lags:
        if lag >= n:
            continue
        
        # Lagged leader return as a feature
        lagged_leader = np.zeros(n)
        lagged_leader[lag:] = leader_returns[:-lag] if lag > 0 else leader_returns
        
        # Z-score the lagged feature using rolling window
        z_scored = np.zeros(n)
        for i in range(window + lag, n):
            window_vals = lagged_leader[i - window:i]
            mean = np.mean(window_vals)
            std = np.std(window_vals)
            z_scored[i] = (lagged_leader[i] - mean) / std if std > 0 else 0
        
        features[f'leader_lag_{lag}_zscore'] = z_scored
    
    # Rolling cross-correlation (stability monitor)
    rolling_corr = np.zeros(n)
    for i in range(window, n):
        x = leader_returns[i - window:i]
        y = follower_returns[i - window:i]
        corr = np.corrcoef(x, y)[0, 1]
        rolling_corr[i] = corr
    features['rolling_correlation'] = rolling_corr
    
    return features

Constructs cross-asset features by computing lagged cross-correlations and building z-scored, lagged features from a leader asset for use as predictors.

Knowledge Check

Q1.Why are "changes" generally more predictive than "levels" for short-term cross-asset signals?

Q2.Testing 50 cross-asset pairs at 10 lags at the 5% significance level, you would expect about how many false positive "significant" results?

Assignment

Pick a commodity currency pair (e.g., AUD/USD or USD/CAD). Identify the corresponding commodity (iron ore, oil). Compute the cross-correlation at lags 0 through 24 hours. Plot the correlograms. Is there a statistically significant lead-lag? Build a simple cross-asset feature and test its IC for FX return prediction.