Fifth Sanctuary
Intraday gold volatility expansion with macro-scaled risk sleeves
Weaver Capital LP · deployed strategy · Python, C#/NinjaScript, MQL5
Fifth Sanctuary is an intraday volatility-expansion system on gold. It runs long and short as two separate sleeves, each sized by a macro state vector, and it’s flat most of the time. Live since January 2026.
Figures above are simulated results from a historical backtest on spot XAU hourly bars, 2004–2025, not live trading results. Simulated performance is constructed with hindsight, does not reflect real order flow, and does not guarantee future results. A live track record is available on request.
The asymmetry that shaped the design
The first version treated long and short the same way. That was a mistake.
Gold doesn’t behave symmetrically, and the research was fairly blunt about it: the short sleeve wasn’t merely weaker, it lost money consistently under a particular set of macro conditions, for a reason that made sense once I went looking for it. So instead of tuning the shorts I filtered them out of those conditions entirely.
That one change did more for the system than anything else I tried, and it came from asking why a component was losing rather than reaching for better parameters.
Which conditions, and the macro series behind them, aren’t published here. Happy to go through the research in an interview.
Architecture
The system runs across a language boundary, which was a deliberate choice about where each job belongs.
The macro layer, in Python. A daily script pulls a handful of macro series from FRED and Yahoo and turns them into sleeve weights. Everything is T+1 shifted, so a given trading day can only see data that was actually published before it began. Getting this wrong is the standard way a macro overlay produces a beautiful backtest that dies on contact with production.
The execution layer, in C#/NinjaScript. The live strategy takes the daily sleeve weights and handles bar-by-bar execution, order management, and risk limits.
Dual-series routing. It analyzes the full-size gold futures contract, where the liquidity and the cleanest price signal are, but executes on micro contracts because account size constrains position granularity.
| Instrument | Gold futures (analysis) / micro gold futures (execution) |
|---|---|
| Timeframe | Intraday; hourly research bars |
| Sleeves | Independent long and short, separately sized and filtered |
| Macro inputs | A small set of rates, credit, FX and volatility series, all T+1 shifted |
| Simulation window | 2004–2025 (22 years, spot XAU hourly) |
| Live since | January 2026 |
Reading the numbers honestly
A 42% win rate means this thing is wrong more often than it’s right. For a volatility-expansion system that’s expected: it takes a lot of small losses waiting for an expansion and makes its money on the ones that follow through, at roughly 2:1. The number I actually watch is the payoff ratio, since that’s what would erode first if market character changed.
Being flat 82% of the time is a feature rather than an inefficiency. The capital isn’t committed, which is what lets this sit alongside other sleeves at the portfolio level.
The 22-year window matters more to me than either ratio. It covers 2008, the 2011–2015 gold bear market, 2020, and the 2022 rate shock. Four regimes different enough that surviving all of them is harder to write off as an artifact of one.
What I’d do next
- Model slippage against tick data rather than hourly bars. Stop orders in fast markets are where intraday backtests lie most.
- Check whether the sleeve weights generalize to silver and platinum. If they do, the mechanism is more likely real than gold-specific curve fitting.
- Set formal correlation limits against the other portfolio sleeves instead of treating this as standalone.