Track record
Upside track record
Every forecast is written to the database before its outcome is known and can never be edited afterwards. Live results are kept apart from backtests, and backfilled forecasts never count as live.
- Live forecasts
- 38
- Scored so far
- 0
- Live since
- 10/12/2026
- Strategy trusted now
- Base rate
Live results
Walk-forward backtest
Forecasts replayed on history with the same rules as live: each one uses only data available at the time. Last run 10/11/2026.
1 session
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 38.3% | 1,733 |
| RSI | +0.25% | 39.0% | 1,733 |
| Moving-average trend | +0.07% | 39.4% | 1,733 |
| Machine learning (LightGBM) | +0.01% | 40.2% | 1,733 |
| MACD | -0.01% | 36.8% | 1,733 |
| Rule ensemble | -0.02% | 37.9% | 1,733 |
| Donchian channel | -0.02% | 37.1% | 1,733 |
| Momentum | -0.04% | 38.6% | 1,733 |
| ADX trend strength | -0.12% | 38.0% | 1,733 |
| Bollinger Bands | -0.12% | 36.0% | 1,733 |
5 sessions
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 39.6% | 1,729 |
| Donchian channel | +0.36% | 39.6% | 1,729 |
| RSI | +0.25% | 40.1% | 1,729 |
| ADX trend strength | +0.09% | 36.7% | 1,729 |
| Moving-average trend | +0.07% | 38.9% | 1,729 |
| Momentum | +0.02% | 39.6% | 1,729 |
| Bollinger Bands | 0.00% | 39.6% | 1,729 |
| Rule ensemble | -0.01% | 39.0% | 1,729 |
| Machine learning (LightGBM) | -0.21% | 39.1% | 1,729 |
| MACD | -0.24% | 38.0% | 1,729 |
20 sessions
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 38.0% | 1,714 |
| RSI | +0.54% | 41.7% | 1,714 |
| Rule ensemble | +0.43% | 41.6% | 1,714 |
| Momentum | +0.25% | 44.1% | 1,714 |
| Donchian channel | -0.05% | 37.3% | 1,714 |
| MACD | -0.12% | 35.1% | 1,714 |
| Machine learning (LightGBM) | -0.45% | 39.3% | 1,714 |
| ADX trend strength | -0.58% | 37.7% | 1,714 |
| Moving-average trend | -1.06% | 35.2% | 1,714 |
60 sessions
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 52.8% | 1,674 |
| Machine learning (LightGBM) | +0.58% | 55.4% | 1,674 |
| MACD | -0.76% | 51.5% | 1,674 |
| RSI | -1.04% | 51.4% | 1,674 |
| Momentum | -1.33% | 51.1% | 1,674 |
| Moving-average trend | -1.65% | 46.4% | 1,674 |
| Rule ensemble | -1.89% | 49.2% | 1,674 |
| ADX trend strength | -2.68% | 49.5% | 1,674 |
| Donchian channel | -3.12% | 47.5% | 1,674 |
1 session
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 37.4% | 11,332 |
| Machine learning (LightGBM) | +0.17% | 38.5% | 11,332 |
| Momentum | +0.14% | 39.0% | 11,332 |
| Donchian channel | +0.05% | 38.7% | 11,332 |
| MACD | +0.04% | 38.3% | 11,332 |
| ADX trend strength | -0.01% | 38.1% | 11,332 |
| Moving-average trend | -0.01% | 38.1% | 11,332 |
| Bollinger Bands | -0.02% | 37.8% | 11,332 |
| RSI | -0.03% | 39.0% | 11,332 |
| Rule ensemble | -0.04% | 37.7% | 11,332 |
5 sessions
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 39.2% | 11,324 |
| Momentum | 0.00% | 39.9% | 11,324 |
| Moving-average trend | -0.12% | 40.0% | 11,324 |
| Bollinger Bands | -0.13% | 39.3% | 11,324 |
| Donchian channel | -0.13% | 38.9% | 11,324 |
| RSI | -0.14% | 40.1% | 11,324 |
| Machine learning (LightGBM) | -0.25% | 39.2% | 11,324 |
| Rule ensemble | -0.28% | 38.7% | 11,324 |
| ADX trend strength | -0.33% | 37.7% | 11,324 |
| MACD | -0.37% | 38.5% | 11,324 |
20 sessions
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 40.4% | 11,294 |
| Momentum | -0.23% | 41.3% | 11,294 |
| MACD | -0.39% | 39.9% | 11,294 |
| RSI | -0.59% | 40.2% | 11,294 |
| ADX trend strength | -0.64% | 40.0% | 11,294 |
| Machine learning (LightGBM) | -0.72% | 39.7% | 11,294 |
| Rule ensemble | -0.76% | 40.6% | 11,294 |
| Donchian channel | -0.93% | 39.6% | 11,294 |
| Moving-average trend | -1.49% | 39.2% | 11,294 |
60 sessions
| Strategy | Skill vs base rate | Hit rate | Forecasts |
|---|---|---|---|
| Base rateTrusted | 0.00% | 43.5% | 11,214 |
| MACD | -0.39% | 43.0% | 11,214 |
| ADX trend strength | -0.70% | 42.4% | 11,214 |
| Momentum | -0.79% | 41.5% | 11,214 |
| RSI | -1.06% | 41.4% | 11,214 |
| Rule ensemble | -1.12% | 43.0% | 11,214 |
| Moving-average trend | -1.26% | 42.9% | 11,214 |
| Donchian channel | -1.58% | 40.9% | 11,214 |
| Machine learning (LightGBM) | -1.66% | 42.9% | 11,214 |
How to read these numbers
Brier score
The squared distance between the forecast probabilities and what actually happened, over three outcomes. 0 is perfect, 2 is completely wrong; lower is better.
Skill vs base rate
How much a strategy improves on simply forecasting how often gold has risen, stayed flat or fallen in the past. Above 0 means it adds information; below 0 means it does worse than doing nothing clever.
Hit rate
How often the most likely outcome (rise, flat or fall) was the one that happened. With three outcomes, guessing at random scores about 33%.
Why the base rate is trusted now
A strategy is trusted only if it beats the base rate on both backtest periods. None of the technical rules did so consistently, so Upside keeps the base rate and keeps testing.