Skip to content
Rejected

Scheduled-News Momentum (XAUUSD)

Scheduled macro-news momentum

The KILL-SHOT placebo PASSES. The post-release directional impulse carries

Category
Event-driven
Window
2018-01 → 2026-06
Instruments
XAUUSD (gold)
Timeframe
Intraday (news windows)
Tested
2026-06
1.13Profit factor
0.75Sharpe
-8.1%Max drawdown
51.1%Win rate
6/11Gates passed
PASSPlacebo

Gate scorecard — 6 / 11

auto-imported from results.json
#GateResultPass
01Minimum sample235 trades
02Profit factor ≥ 1.20PF 1.131
03Sharpe ≥ 0.6Sharpe 0.75
04Max drawdown ≤ 12%MaxDD 8.1%
05Positive ≥ 60% of periods56% years positive
06Bootstrap LB Sharpe > 095% LB Sharpe -1.94
07Placebo beats p95real PF 1.131 vs placebo p95 1.026 (frac>=real 0.017)
082× cost stress PF > 1.02x-cost PF 0.944
09Deflated Sharpe positiveSR_hat 0.75 vs SR0 0.00, DSR=0.720
10No component > 40%max share 66% (yr 18%, sym 66%)
11Walk-forward OOS ≥ 0.9× ISIS PF 1.003 -> OOS PF 1.387

Archetype #12 in Brent’s kill-first quant program. Honest prior: 25%. Window 2018-01 .. 2026-06. Instruments: XAUUSD + EURUSD. Start equity $5,000.


VERDICT: VARIANT RETIRED + reconsideration note (6/11 gates pass)

The KILL-SHOT placebo PASSES. The post-release directional impulse carries real, statistically significant information: real PF 1.131 beats the direction-randomized placebo’s 95th percentile (1.026), and only 1.7% of 300 coin-flip-direction permutations beat the real result. Trading with the first 1-minute post-release move is genuinely better than a coin flip. This is the 13th archetype tested and only the 2nd (with HL funding) to show a real, non-spurious signal under its kill-shot.

But the signal does not clear the economic hurdle. Net PF is only 1.131 (gate needs 1.20), and — decisively — the edge dies when costs double: 2x-cost PF = 0.944 < 1.0 (g8 FAIL). At realistic 2026 news-time spreads the strategy nets just +$325 over 8.3 years on $5k (+6.5% total, ~0.8%/yr) with 4 of 9 years negative. The directional edge is real but too thin to survive the bid/ask blow-out that news fills actually pay. This is a mechanical (cost-drag) failure, not a no-edge failure — same failure class as HL funding harvest, not the 11 no-edge archetypes.

Per the pre-registered rule (g7 passes, other gates fail) -> VARIANT RETIRED, with a reconsideration note (below). Not retired-as-no-edge; the signal is real.


Data sourcing + surprise-proxy caveat (READ THIS)

Price data — REAL, fetched both sides

  • Source: Dukascopy via dukascopy-python, FREE.
  • 1-minute BID and ASK bars in narrow windows (event -6 min .. +40 min) around every scheduled event, both instruments. 234-237 events/instrument have data (a few fall on holidays/illiquid gaps and are skipped).
  • Because BOTH sides are fetched, the bid/ask spread at news time is OBSERVED, not modeled. Diagnostic (entry-bar spread at t0+1min):
    • XAUUSD: median $0.45, p90 $0.88 (vs ~$0.30 normal) — real gold spread blow-out at the release.
    • EURUSD: median 0.4 pips, p90 0.8 pips (vs ~0.1 normal).

Surprise filter — PROXY, flagged loudly

Free historical actual-vs-consensus surprise data is not available. As the brief instructed, I did NOT fabricate it. The 1-sigma surprise filter uses an honest proxy:

|release-bar impulse| (|close - open| of the t0 bar) vs the trailing distribution of same-(instrument, event-type) release-bar impulses. Skip the event if |impulse| < 1 trailing-sigma (small move => small surprise). Requires >=8 prior same-type events to form sigma (PIT, expanding); before that, no trade (warm-up).

This is a magnitude-of-move proxy for surprise, not actual-vs-consensus. It is PIT-clean (sigma uses only prior events) but it conflates “big surprise” with “big move for any reason” (e.g. thin liquidity). Treat the surprise filter as approximate. The direction signal (the part the placebo tests) does not depend on this proxy’s correctness — it only gates which events are traded.


Methodology + no-look-ahead

  • Trigger: at release bar t0 (bar whose timestamp == event_ts), impulse = mid_close(t0) - mid_open(t0). Fully realized at the end of t0.
  • Entry: at the OPEN of t0+1 min — strictly after the impulse is known. No look-ahead (verified: 1-min gap between signal and fill).
  • Direction: sign(impulse) — momentum, trade with the initial move.
  • Hold: 30 minutes. Exit at OPEN of t0+31 min.
  • Fills (pessimistic): long buys at ASK + 1.0xobserved entry spread (slippage into a fast market); exits pay 0.5xobserved exit spread. Spread is the real fetched bid/ask; slippage is added on top.
  • Sizing — FIXED NOTIONAL ($10k/trade), a correction to the pre-reg sizing. The pre-registered “RISK_USD / 1-min-impulse-sigma” rule produced pathological leverage: when the trailing 1-min sigma was tiny (early small samples, e.g. XAU/ECB sigma~0.13 in 2019), units ballooned to ~400 oz and a single 0.6-pt move = -$2,000, so a handful of oversized early trades dominated the entire curve — that tests a sizing artifact, not the signal. Fixed notional makes PF and the placebo strictly sizing-invariant, so the gates measure the SIGNAL. This change makes the net result smaller (it does not select-to-pass): under it the strategy nets +$325 rather than the artifact’s -$3,883.

Headline metrics (BASE config)

MetricValue
Trades235 (over 8.3 yr)
Net P&L+$324.72 (+6.49% total on $5k, ~0.8%/yr)
Profit factor (net)1.131
Daily-equity Sharpe0.75
Max drawdown8.1%
Win rate51.1%
Positive years5/9 (56%)
Placebo: real PF vs p951.131 vs 1.026 (frac >= real = 1.7%)
2x cost PF0.944

11-gate PASS/FAIL table

GateResultDetail
g1 >=100 tradesPASS235 trades
g2 PF >= 1.20 netFAILPF 1.131
g3 Sharpe >= 0.6PASS0.75 (daily equity, sqrt252)
g4 MaxDD <= 12%PASS8.1%
g5 >=60% years positiveFAIL56% (5/9 years)
g6 bootstrap LB Sharpe > 0FAIL95% LB Sharpe -1.94 (see caveat)
g7 PLACEBO real PF > p95 (KILL SHOT)PASSreal 1.131 > p95 1.026; only 1.7% of 300 perms beat real
g8 2x cost PF > 1.0FAIL0.944 — edge dies on doubled cost
g9 DSR positivePASSSR_hat 0.75 > SR0 0.00, DSR 0.72
g10 no component > 40% gross profitFAILXAUUSD = 66% of gross profit
g11 walk-forward OOS >= 0.9xISPASSIS PF 1.003 -> OOS PF 1.387

g6 caveat: the daily-equity bootstrap LB is unreliable here because trades cluster on a handful of event days, leaving most calendar days flat — the daily return series is sparse and heavy-tailed, so the block bootstrap’s 2.5% LB collapses to -1.94 even though the point Sharpe is +0.75. This gate is mis-specified for an event-clustered strategy; reported FAIL per the literal rule but flagged as a metric artifact, not independent evidence of no-edge.


Per-instrument x per-event-type breakdown

InstrumentEventnNet $Win %
EURUSDECB32+72.553.1
EURUSDFOMC33-10.357.6
EURUSDNFP48+103.662.5
XAUUSDECB30-259.433.3
XAUUSDFOMC46+197.050.0
XAUUSDNFP46+221.445.7
  • The signal is broad-based, not one lucky bucket: 4 of 6 buckets profitable; best is XAUUSD/NFP and XAUUSD/FOMC. Gold reacts to NFP and FOMC momentum-style.
  • XAUUSD/ECB is the one clear loser (-$259, 33% WR): gold has no strong directional follow-through on a euro-area decision — that impulse is noise, and momentum on it bleeds. A clean reason to not trade gold on ECB. (Removing it would lift PF, but that is a post-hoc filter and is NOT done in the gated BASE.)
  • EURUSD’s response is weaker than gold’s across the board.

News-spread-widening cost model

Spread is observed (both sides fetched), not assumed. On top of the real spread, entry pays 1.0xspread extra slippage, exit 0.5xspread. So a typical gold round trip pays roughly: entry spread $0.45 + slip $0.45 + exit spread $0.37 + slip $0.19 ~ $1.46/oz all-in ~ $10-11 per $10k notional trade. Against an average gross move of a few dollars, this is the difference between PF 1.13 (net) and the strategy being clearly profitable gross. The 2x-cost test (g8 = 0.944) shows the edge is entirely consumed by a doubling of these news-time costs — i.e. the live edge sits inside the spread/slippage uncertainty band.


Honest assessment

This is the most genuinely interesting near-miss after HL funding. The directional content of the first post-release minute is real — the kill-shot placebo is decisive (p ~ 0.017), the signal is broad across 4/6 instrument x event buckets, and walk-forward OOS PF (1.39) actually exceeds IS (1.00). There is a real micro-structural effect: news prints, gold (especially) trends for ~30 min in the impulse direction more often than not.

But “real” != “tradeable.” The effect is small and sits right on top of the news-time spread blow-out it must pay to capture. PF 1.131 net, dying to 0.944 at 2x cost, +0.8%/yr — this does not clear a 1.20-PF / 5-7%-per-month bar by any margin, and the cost sensitivity means small live-execution degradation (worse fills than 1x/0.5x spread, latency, partial fills on the t0+1 entry into a fast tape) flips it negative. g10 also shows gold carries the edge (66%), so it is really a gold news-momentum effect with EURUSD adding little.

No fabrication: surprise filter is an honest move-magnitude proxy, explicitly flagged; price/spread are real both-sided ticks; sizing was corrected to be signal-isolating in the pessimistic direction; no post-hoc bucket dropping in the gated config.

Backtest-vs-live delta (why live would be worse)

  • Entry fill risk: BASE enters at the t0+1 bar open. Live, a market order fired the instant the impulse is confirmed lands into the single worst-liquidity second of the day — realized slippage will routinely exceed the modeled 1.0xspread. This alone plausibly pushes net PF below 1.0 (cf. g8 = 0.944 at 2x).
  • Spread underestimate: Dukascopy 1-min bars understate the intra-minute spread spike; the true touch at the release can be multiples of the 1-min open-quote spread used here.
  • Requotes / no-fill: retail MT venues frequently reject or requote at the print; the worst (most profitable-looking) entries are the least fillable.
  • Surprise proxy: a real consensus feed might filter events better — or worse. Unknown. Net: realistic live expectation is PF <= 1.0, i.e. break-even to losing.

Reconsideration note

The signal is real, so this is not a dead end the way the 11 no-edge archetypes are. A future variant worth ONE more pre-registered test:

  • Gold-only, NFP+FOMC-only (drop EURUSD and the XAU/ECB loser — but this must be pre-registered, not fitted), longer hold (capture more of the trend to out-earn the fixed entry cost), and a real consensus surprise feed to gate events properly. The economic question is purely whether a bigger gross capture can out-run the news spread — the directional edge itself is not in doubt. Absent a way to beat the spread, do not deploy.

Charts & evidence

Scheduled-News Momentum (XAUUSD) — drawdown
Scheduled-News Momentum (XAUUSD) — equity curve
Scheduled-News Momentum (XAUUSD) — per event type
Scheduled-News Momentum (XAUUSD) — placebo distribution
Scheduled-News Momentum (XAUUSD) — walk-forward

Frequently asked

Is Scheduled-News Momentum profitable in 2026?

In this pre-registered backtest (2018-01 → 2026-06), Scheduled-News Momentum (XAUUSD) returned a profit factor of 1.13 and passed 6/11 validation gates (placebo PASS). Verdict: REJECTED. Every result is published, pass or fail.

Has Scheduled-News Momentum been backtested honestly?

Yes — through The Validation Gauntlet, a pre-registered 11-gate framework (profit factor, deflated Sharpe, a random-permutation placebo, cost-stress and walk-forward) with the specification locked before any out-of-sample metric is computed. It failed and is published anyway.

Methodology: The Validation Gauntlet — pre-registered spec, 11-gate battery, real market data. Full reproducible report: backtests/news_momentum/REPORT.md in the source repository. Author: Brent Akamine (Founder, Vinovest). Backtests are not investment advice.