Gold calendar patterns: what survives a family-wide test and new data
Huyen X. Vu · Quantex Research, AlgoTrade Pte. Ltd., Singapore · ORCID 0000-0002-2209-842X
Abstract
We test 44 pre-listed calendar and intraday hypotheses on 20 years of XAUUSD data (5,138 daily returns and 116,446 hourly bars, 2005–2024) as one family, with Holm and Benjamini–Hochberg corrections across the whole family, and re-test the survivors on a second source (broker 15-minute bars, January 2025 to October 2026). One effect survives both steps: daily up and down closes alternate more often than chance (2,698 runs vs 2,555 expected in-sample, Holm p = 0.0026; 266 vs 233.5 out-of-sample, z = 3.03). The weekend gap from the Friday close to the Monday open was positive in-sample (+0.045% per weekend, Holm p = 6.6e-5) but had shrunk in 2015–24 and did not repeat in 2025–26. No weekday, calendar month, hour-of-day return or turn of the month survives. Intraday volatility has a strong, stable hourly shape. All effects are small next to daily moves and are measured before spread, swap and slippage.
Keywords: gold; XAUUSD; calendar effects; day-of-week; weekend gap; runs test; multiple testing; out-of-sample
1. Introduction
Many gold traders use calendar rules like best day, month, or hour. We test them all together, correct for testing many rules at once, and check the survivors on newer data from a different feed.
Each of our earlier notes tested one rule family on its own. Testing many families on the same data raises the chance of a lucky result (Bailey et al., 2017), so this report treats all 44 tests as one family.
2. Data and method
- In-sample: public XAUUSD daily and hourly bars on Hugging Face (dataset ZombitX64/xauusd-gold-price-historical-data-2004-2025, revision ff6469dc), 3 Jan 2005 to 31 Dec 2024, broker server time (UTC+2/+3). The original price feed is not named by the dataset.
- Out-of-sample: 43,064 XAUUSD 15-minute bars from one retail broker feed recorded by Quantex, 1 Jan 2025 to 28 Oct 2026 (UTC; broker day taken as UTC+2).
- Hypotheses (44, two-sided): day of week (5), month of year (12), turn of month (1), hour of day (24), weekend gap (1), streaks of daily signs (1, Wald–Wolfowitz runs test). Hourly volatility shape is descriptive only.
- Tests: Welch t-tests of each group against all other observations; one-sample t-test for the weekend gap; runs test on the signs of non-zero daily returns, plus 2,000 random shuffles for streak counts.
- Multiple testing: Holm (family-wise error, 5%) and Benjamini–Hochberg (false discovery rate, 10%) across all 44 tests.
- Robustness: two halves (2005–14, 2015–24), 1% winsorised means, sign test, and the out-of-sample re-test.
3. Results
10 of 44 tests have raw p < 0.05, against about 2.2 expected by chance. Two survive Holm at 5% (weekend gap, runs test); Friday also passes Benjamini–Hochberg at 10%.
| Test | n | Effect | p | Holm p | BH q |
|---|---|---|---|---|---|
| Weekend gap, mean vs 0 | 993 weekends | +0.045% per weekend | 1.5e-6 | 6.6e-5 | 6.6e-5 |
| Runs test on daily signs | 5,124 days | 2,698 runs vs 2,555 expected | 6.0e-5 | 0.0026 | 0.0013 |
| Friday vs other days | 1,016 Fridays | +0.127% vs +0.019% a day | 0.0051 | 0.21 | 0.075 |
| Hour 09 server vs other hours | 5,126 hours | −0.008 pp per hour | 0.0097 | 0.40 | 0.11 |
| Monday vs other days | 1,019 Mondays | −0.031% vs +0.058% a day | 0.016 | 0.65 | 0.14 |
| January vs other months | 20 Januaries | +2.57 pp a month | 0.036 | 1.00 | 0.22 |
| Test | In-sample 2005–24 | Out-of-sample 2025–26 | Holds? |
|---|---|---|---|
| Runs on daily signs | 2,698 vs 2,555 expected | 266 vs 233.5 expected, z = 3.03 (470 days) | Yes |
| Weekend gap | +0.045% per weekend | −0.048%, t = −0.95 (95 weekends) | No |
| Friday vs other days | +0.127% vs +0.019% | +0.069% vs +0.110%, t = −0.22 | No |
| Monday vs other days | −0.031% vs +0.058% | +0.146% vs +0.091%, t = 0.31 | No |
Streaks
Gold alternated more than a coin with the same up share (52.8% up in-sample). The longest streak was 11 days; there were 124 streaks of five or more days, fewer than in any of 2,000 shuffles (shuffle mean 162.6). Lag-1 autocorrelation of daily returns is near zero (0.0005), so the effect is about direction counts, not size, and is not by itself a trading edge.
Weekend gap
In-sample the gap was positive (median +0.018%, up on 53.5% of weekends), but smaller in 2015–24 (+0.020%) than in 2005–14 (+0.071%), and it did not repeat in 2025–26. With only 95 weekends the new test has low power, so we say “did not repeat”, not “disproved”.
Months, turn of month, hours
No month survives (only 20 values per month). Turn of month: +0.033 pp a day, p = 0.40, with the sign flipping between halves. No hourly mean return survives; only 12 of 23 hours keep the same sign in both halves.
Intraday volatility
Mean absolute hourly return rises from 0.065% (hour 23 server) to 0.255% (hour 15 server), a ratio of 3.9; hours 15–17 server are the widest. This matches the European–US overlap described by Batten et al. (2017).
4. What it means for a gold EA
- Size and stops should follow the hourly volatility shape; entries should not rely on hour, weekday or month direction.
- No calendar return rule survives both the family correction and new data. A “hold over the weekend” or “buy Friday” rule is not supported.
- Fewer long streaks than chance helps grid and averaging EAs on closes, but does not protect them from single large days.
5. Limitations
- In-sample data come from one unnamed broker feed; out-of-sample from one broker feed over under two years. Spreads, swap and slippage are not included.
- Server time changes with daylight saving; hours are not converted to UTC.
- The 44 tests were chosen after our notes had looked at the same data; the out-of-sample check is the main guard against this.
- Hour 00 has only 69 bars (the daily break); its test is weak.
Sources
- Bailey, D. H., Borwein, J., López de Prado, M., Zhu, Q. J. (2017). The probability of backtest overfitting. Journal of Computational Finance 20(4), 39–69. https://doi.org/10.21314/JCF.2016.322
- Batten, J. A., Lucey, B. M., McGroarty, F., Peat, M., Urquhart, A. (2017). Stylized facts of intraday precious metals. PLOS ONE 12(4): e0174232.
- Benjamini, Y., Hochberg, Y. (1995). Controlling the false discovery rate: a practical and powerful approach to multiple testing. Journal of the Royal Statistical Society: Series B 57(1), 289–300.
- Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics 6(2), 65–70.
- Quantex Research notes on range by hour, day of week, month, turn of month, weekend gaps and streaks (quantex.com.sg/research).
Declarations
- Author: Huyen X. Vu, Quantex Research, AlgoTrade Pte. Ltd., Singapore (ORCID 0000-0002-2209-842X).
- Type: Quantex internal research report, published on this site only; not peer reviewed.
- Use of AI tools: Data analysis and drafting were assisted by AI tools (Claude, Anthropic). The author checked the results and is responsible for the content.
- Conflict of interest: The author is the founder of AlgoTrade Pte. Ltd., which develops and runs systematic trading models.
- Funding: No external funding.
- Comments: welcome at [email protected].
- How to cite: Vu, H. X. (2026). Gold calendar patterns: what survives a family-wide test and new data. Quantex Research, AlgoTrade Pte. Ltd. https://quantex.com.sg/research/gold-calendar-effects/
Systematic trading research