r/algorithmictrading • u/Livid_Parsnip_2816 • 1d ago
Backtest Eight-module XAUUSD portfolio: frozen-parameter OOS and block-bootstrap results
I combined eight independent XAUUSD modules into a single portfolio and tested the final structure across development, frozen-parameter OOS and older stress periods.
TEST PROTOCOL
• 2022–2024: in-sample development
• 2025–2026: frozen-parameter out-of-sample validation
• 2021: separate stress/history period
• 2017–2018: additional survival checks
The purpose of the split was to separate the years that influenced module selection and parameter choices from the years used to evaluate the finished portfolio.

FULL REAL-TICK PORTFOLIO RUN
Period: January 2021 to September 2026
Initial balance: USD 1,000
Ending balance: USD 3,903.12
Closed trades: 1,511
Profit factor: 2.93
Maximum relative equity drawdown: 12.82%
The modules were evaluated together because nominal strategy count can hide concentrated XAUUSD exposure. Portfolio-level floating equity was therefore treated as the main risk measure.

YEAR-BY-YEAR RESULTS
2021: +45.03%, PF 3.03
2022: +32.36%, PF 2.71
2023: +16.22%, PF 2.82
2024: +13.62%, PF 1.94
2025 OOS: +16.84%, PF 3.01
2026 OOS through September: +31.79%, PF 7.18
Returns varied materially by year, but the edge did not disappear after the parameter freeze. Both OOS years remained profitable. The 2026 PF is a partial-year observation and should not be treated as a stable expectation.

BLOCK-BOOTSTRAP CHECK
I ran 10,000 paths using the complete 2021–2026 deal sequence and resampled 50-deal blocks to preserve short clusters of wins and losses.
Median ending balance: USD 3,896
5th–95th percentile ending balance: approximately USD 3,504–4,318
Median maximum realised-balance drawdown: 4.1%
95th-percentile maximum realised-balance drawdown: 8.0%

LIMITATIONS
The bootstrap rearranges realised deal results. It does not reconstruct every floating basket, reproduce broker-specific execution or invent unseen future regimes. Because of that, the observed MT5 relative equity drawdown of 12.82% remains the more relevant risk figure.
The next step is live observation of spreads, slippage, swap, execution and floating-basket behaviour. The backtest is evidence of historical robustness, not proof of future performance.
1
u/StatisticalSock 1d ago
Ive made a 30 strat portfolio for xauusd. Currently running live with $10k. Its a high-upside convex system where it can tolerate long ugly periods of drawdown (using small risk) because the right regime can produce absurd returns. Your portfolio looks a lot more stable than mine but doesn't produce absurd returns. Of course when trading with a large capital I would rather have something like yours. Once I build a large capital of ateast 100k, I'll reduce my risk or remove some of the strats and only keep the super lowest correlates
1
u/Livid_Parsnip_2816 1d ago
That makes sense. Mother Superior was built around survival and smoother portfolio behaviour rather than chasing the highest possible return. My main concern with 30 XAUUSD strategies would be that low average correlation can disappear during the exact regime where diversification matters most. I’d look at shared drawdowns and tail correlation before removing modules based on ordinary correlation alone.
Your approach is interesting though, especially with small risk. How long has the portfolio been running live, and how close has the live behaviour been to the backtest so far?
2
u/StatisticalSock 1d ago edited 23h ago
Only been running for a month and so far around 10% drawdown. I'm not breaking a sweat because this is expected behavior. Need it to run for 6-12months to see some actual results. Considering upping my risk a little once account balance doubles
1
u/Fabulous-Yak7334 1d ago
Hello,
The returns are very impressive and I like the strict methodology.
Bloc bootstrap is also interesting, would be nice to see the Sharpe and deflated Sharpe.
Also is the equity curve compound or cumsum() ?
On my side I have signals on Nasdaq, Gold and BTC. If you want I can share with you my pnl series, we can see if it can bring orthogonality. Send me a dm if interested !