Skip to content
All strategies

Strategies

Digital Gold vs Gold: Equal-Risk BTC/XAU Relative-Momentum Rotation, Long-Short (BTCUSD_PERP.BINANCE_CM inverse perp vs XAUUSD.SPOTMETAL, daily decision at the 17:00 NY gold close)

Outcome: Verifying

BtcXauEqualRiskRelativeMomentumLS

Digital Gold vs Gold: Equal-Risk BTC/XAU Relative-Momentum Rotation, Long-Short (BTCUSD_PERP.BINANCE_CM inverse perp vs XAUUSD.SPOTMETAL, daily decision at the 17:00 NY gold close)

Hypothesis

Cross-venue pair trade between Bitcoin, traded as the COIN-M inverse perpetual BTCUSD_PERP.BINANCE_CM, and spot gold, XAUUSD.SPOTMETAL. The two legs are sized to carry equal risk. Both assets compete for the same 'store of value' hedging flow, and allocators rotate between them in waves that last for weeks. The hypothesis is that a volatility-normalised relative-momentum score predicts the spread's return over the next few weeks. Gold notional = BTC notional x sigma_btc/sigma_xau, which makes this a real spread……Show moreShow less

Cross-venue pair trade between Bitcoin, traded as the COIN-M inverse perpetual BTCUSD_PERP.BINANCE_CM, and spot gold, XAUUSD.SPOTMETAL. The two legs are sized to carry equal risk. Both assets compete for the same 'store of value' hedging flow, and allocators rotate between them in waves that last for weeks. The hypothesis is that a volatility-normalised relative-momentum score predicts the spread's return over the next few weeks. Gold notional = BTC notional x sigma_btc/sigma_xau, which makes this a real spread and not BTC trend-following with a hedge. Decision clock: once per gold trading day, on the XAUUSD.SPOTMETAL 1-DAY bar close (17:00 New York). BTC is sampled from 1-HOUR bars at the last bar that closes at or before the gold close, so there is no lookahead. Execution: the gold order fills at the next session open (18:00 NY reopen, next_open_fill). The BTC order is a market order at the 17:00 NY bar close; on a 24/7 venue that price is the next bar's open (use_equivalent substitution, named here). The resulting 1-hour gap between the two legs' fills is accepted. Rough gross calibration on BTC CM vs a PAXG gold proxy, 2020-2026, before carry and fees: about 25-45 position switches, Sharpe about 0.8-0.9, about 2-3.5% per round trip, and 2023 as a losing year. Carry is modeled: long gold pays fed funds + 2.5%/yr and short gold receives fed funds - 2.5%/yr; the BTC leg pays or receives COIN-M funding. Risk control is route (b): a signal exit with capped sizing. The joint sample starts 2020-08.

This fills under-represented buckets: cross-venue (7.9% vs a 15% target), long-short (21.8%), BINANCE_CM (2.5% vs 5%) and SPOTMETAL (5 experiments ever). BTC is over-concentrated in the corpus, but this mechanism genuinely needs BTC as the 'digital gold' substitute. It trades the COIN-M inverse perp rather than BTCUSDT USD-M, and the signal is a cross-asset spread, not BTC price momentum. It is distinct from the gold work already in the pipeline and from the abandoned gold attempts. I first tested and rejected a gold session-hour drift idea: about 2-3.7 bps gross is under 2x the 1.54 bp round-trip cost.

Implementation

Equal-risk BTC vs spot-gold relative-momentum rotation, long-short across two venues. Decision clock: the XAUUSD.SPOTMETAL 1-DAY bar close (17:00 New York). BTC is BTCUSD_PERP.BINANCE_CM, sampled from 1-HOUR bars at the last bar stamped at or before the gold close, and only if that bar is at most stale_bar_hours (26) old. Paired daily samples give sigma_btc and sigma_xau (std of daily log returns over vol_window=60 days), the equal-risk spread return d = rb/sigma_btc - rx/sigma_xau, and its std sd. score =……Show moreShow less

Equal-risk BTC vs spot-gold relative-momentum rotation, long-short across two venues. Decision clock: the XAUUSD.SPOTMETAL 1-DAY bar close (17:00 New York). BTC is BTCUSD_PERP.BINANCE_CM, sampled from 1-HOUR bars at the last bar stamped at or before the gold close, and only if that bar is at most stale_bar_hours (26) old. Paired daily samples give sigma_btc and sigma_xau (std of daily log returns over vol_window=60 days), the equal-risk spread return d = rb/sigma_btc - rx/sigma_xau, and its std sd. score = (ln(B_t/B_t-L)/sigma_btc - ln(X_t/X_t-L)/sigma_xau) / (sd*sqrt(L)), with L = lookback_days, which is roughly unit-variance. score > z_entry: long BTC, short gold. score < -z_entry: short BTC, long gold. Both legs exit when score*held_dir <= z_exit. Sizing: BTC notional = equity x btc_notional_pct, in whole $100 inverse contracts. Gold notional = BTC notional x sigma_btc/sigma_xau, capped at equity x gold_notional_cap (ounces, 0.01 precision). While a position is held, a leg whose size drifts more than resize_tolerance (25%) from its target is resized. Execution: the gold order fills at the next session open (18:00 NY reopen, next_open_fill). The BTC order is a market order at the 17:00 decision; on the 24/7 COIN-M venue that price stands in for the next hourly bar's open (use_equivalent substitution). The ~1-hour gap between the two fills is accepted. If either leg is found alone at a decision (entry refused or closed), it is unwound.

Implements the hypothesis on the declared instruments: primary XAUUSD.SPOTMETAL 1D as the decision clock, extra BTCUSD_PERP.BINANCE_CM 1H. Every parameter name in the optimization plan is used verbatim. vol_window, stale_bar_hours, btc_notional_pct, resize_tolerance and gold_notional_cap stay at their fixed values. The tunables lookback_days (40), z_entry (0.5) and z_exit (0.1) start inside their declared domains. No clamps are applied, so _param_bounds is not declared. Point-in-time alignment: a BTC bar stamped……Show moreShow less

Implements the hypothesis on the declared instruments: primary XAUUSD.SPOTMETAL 1D as the decision clock, extra BTCUSD_PERP.BINANCE_CM 1H. Every parameter name in the optimization plan is used verbatim. vol_window, stale_bar_hours, btc_notional_pct, resize_tolerance and gold_notional_cap stay at their fixed values. The tunables lookback_days (40), z_entry (0.5) and z_exit (0.1) start inside their declared domains. No clamps are applied, so _param_bounds is not declared. Point-in-time alignment: a BTC bar stamped after the gold close never contributes. Risk route (b): signal exit plus capped sizing. BTC is 25% of equity. Gold is at most 100% of the SPOTMETAL account's equity, which is at most ~50% of the combined two-venue capital. Leverage is 1.0. Inverse sizing uses the CM instrument's multiplier for whole contracts. contracts_for_notional() reads the primary (gold) instrument, so it is not usable here. Reversals need two decisions: an exit on one gold close, then re-entry the opposite way on the next close if |score| still exceeds z_entry. This avoids a one-order flip across two venues with different fill times. Funding and gold financing carry are left to the platform's cost models. Caveat: the resize step adds to or trims an open position, so the positions ledger counts a resized position as one trade (lesson 175). With a 25% tolerance this should be infrequent.

Backtest and paper results are hypothetical. Trading involves risk of loss.