How the forex and commodity calls are made
One scoring model, applied the same way to 37 instruments and run every night. It turns prices, interest rates and market behaviour into a score from -100 to +100, a call (bullish, bearish or neutral), a confidence level and risk levels. This page says exactly what goes in, what does not, and how well it has tested, including the parts that are unflattering.
What a call is, and is not
A call is a rule-based reading of direction over the next one to three months. It is built only from numbers: prices, central-bank interest rates, how each market has reacted to the US dollar, equities and US interest rates, and trader positioning. It does not read news, does not know about tomorrow's announcements, and is not a promise.
It is educational research, not personal advice or an invitation to trade. Nobody at StocksXray knows your finances, and the calls are the same for every reader.
The ingredients
| Ingredient | What it measures | Forex weight | Commodity weight |
|---|---|---|---|
| Trend | Price change over 1, 3, 6 and 12 months, each divided by the instrument's own volatility so quiet and wild markets are comparable, plus whether price is above its 50- and 200-day averages. Research: time-series momentum (Moskowitz, Ooi and Pedersen, 2012). | 53% | 65% |
| Carry | Currencies only: the gap between the two central banks' policy rates, which is what you earn or pay for holding one currency instead of the other. Research: Lustig, Roussanov and Verdelhan (2011). | 23% | – |
| Central-bank drift | Currencies only: how far each central bank has moved its rate in the past six months, a hawkish or dovish tilt. | 12% | – |
| Value | How far price is above or below its own five-year average; big gaps close slowly. Switched off for currencies with a long structural drift (such as the Turkish lira) and for decaying funds (natural gas). Research: Asness, Moskowitz and Pedersen (2013). | 12% | – |
| Macro drivers | How the instrument has moved with the US dollar, US equities and US interest rates over the past year (correlation of 5-day moves), multiplied by where each driver has been heading over three months. | – | 35% |
Each ingredient is scaled to -1 to +1 and combined with the weights above into the score. A dash or 0% means the ingredient is calculated and shown on each page as context but is not in the score. Why: the weights started from the research. Before looking at any result from 2018 onwards, we fixed one rule: an ingredient is removed from the score if its average predictive link in 2010 to 2017 was clearly negative (below -0.03, see the evidence table). That removed macro drivers for currencies and value for commodities; the remaining weights were rescaled to add to 100%. Nothing was fitted to 2018 onwards, so that period is a fair, if short, test.
From score to call, confidence and risk levels
Call. Bullish when the score reaches +25, bearish at -25, otherwise neutral; "strong" from ±50. Once a call is made it stays until the score falls back inside ±10, so a score hovering at the line does not flip the call back and forth.
Confidence. Points for: most of the weighted ingredients agreeing with the call, a large score, calm volatility (not in the top fifth of the past year) and no crowded trader positioning on the same side. More points means higher confidence (High, Medium, Low). Funds that lose value to roll costs are capped at Medium.
Risk levels. From the 14-day average true range (ATR), a measure of the typical daily swing: the idea is considered wrong beyond 2 × ATR against the call, and the two objectives are 1 and 2 times that distance. They describe risk and are not orders.
Not in the score. Trader positioning from the CFTC reports (we hold only two years of weekly history, too short to test) is used for confidence only. Seasonal averages are shown as context. Policy decisions, sanctions and supply events can be added by hand with a source link; each published item moves the score by about 2.5 points, at most 10 in total, and always appears on the page as its own line.
The evidence: did it work?
The model was replayed from 2010: each month it looks only at the data available that day, takes a long position if bullish, a short position if bearish or none if neutral, and holds it for a month (21 trading days). Costs are 2.5 basis points per switch for currencies and spot metals, 6 for fund proxies; currency positions earn or pay the interest gap. Each group is shown as an equal-weighted portfolio of its instruments.
| Strategy and period | Return a year | Risk | Per unit of risk |
|---|---|---|---|
| Model's calls, whole period | +0.9% | 2.8% | 0.32 |
| Model's calls, 2010 to 2017 | +0.7% | 3.2% | 0.23 |
| Model's calls, 2018 to today | +1.0% | 2.5% | 0.42 |
| Trend alone, whole period | +0.1% | 3.7% | 0.04 |
| Trend alone, 2010 to 2017 | +0.4% | 4.1% | 0.10 |
| Trend alone, 2018 to today | −0.1% | 3.3% | -0.03 |
| Always long the first currency of each pair, whole period | +0.8% | 2.7% | 0.28 |
| Always long the first currency of each pair, 2010 to 2017 | +0.2% | 2.9% | 0.07 |
| Always long the first currency of each pair, 2018 to today | +1.3% | 2.5% | 0.51 |
| Year | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | +1.8 | −1.4 | −0.6 | +1.9 | +0.6 | −0.3 | +3.6 | +0.6 | +0.8 | −0.3 | −0.5 | +1.4 | +4.2 | +3.6 | −0.3 | 0.0 | +0.7 |
| Benchmark | −6.4 | +1.9 | +2.3 | +6.0 | +0.6 | +1.4 | −3.0 | −0.6 | +1.1 | −1.4 | +2.2 | +3.1 | +2.8 | +3.9 | +2.9 | −1.0 | −1.5 |
| Strategy and period | Return a year | Risk | Per unit of risk |
|---|---|---|---|
| Model's calls, whole period | +3.3% | 10.6% | 0.31 |
| Model's calls, 2010 to 2017 | +2.4% | 10.2% | 0.23 |
| Model's calls, 2018 to today | +4.1% | 10.9% | 0.37 |
| Trend alone, whole period | +3.3% | 11.0% | 0.30 |
| Trend alone, 2010 to 2017 | +2.4% | 10.3% | 0.23 |
| Trend alone, 2018 to today | +4.1% | 11.6% | 0.35 |
| Always long, no calls, whole period | +0.5% | 15.1% | 0.03 |
| Always long, no calls, 2010 to 2017 | −4.7% | 14.2% | -0.34 |
| Always long, no calls, 2018 to today | +5.5% | 15.9% | 0.33 |
| Year | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | +22.6 | +8.0 | −16.4 | +1.8 | +7.7 | +11.3 | −2.5 | −7.5 | +0.1 | −6.2 | +20.6 | +10.5 | −5.1 | +9.0 | −5.6 | +13.9 | +4.0 |
| Benchmark | +23.8 | −7.7 | +2.3 | −13.7 | −18.0 | −24.0 | +5.0 | +1.5 | −9.6 | +10.9 | −3.5 | +19.3 | +11.6 | −13.8 | −1.6 | +23.8 | +20.0 |
How to read this. "Per unit of risk" is the return divided by volatility (Sharpe ratio). The t-value says how confident we can be that a result is not luck; about 2 or more is the usual bar. The model's results are positive in both halves of the period, but the t-values stay below 2, so we cannot claim a proven edge, at best a modest tilt. For commodities, trend alone did about as well as the full score. These pooled results hold only for this period, these instruments and these rules; a rule that worked in the past can fail in the future.
What each ingredient contributed
For each ingredient, the rank correlation between its reading at the start of a month and what the instrument did over the next 21 trading days (scaled by volatility, and including interest for currencies). Zero means no link; +1 would be a perfect forecast. Realistic values in this field are a few hundredths, and a single value below about 0.03 in size cannot be told from noise.
| Ingredient | Forex 2010-17 | Forex 2018- | Commodities 2010-17 | Commodities 2018- |
|---|---|---|---|---|
| Trend | 0.038 | -0.037 | 0.011 | -0.003 |
| Value (price against its 5-year average) | 0.005 | 0.019 | -0.057 | -0.013 |
| Carry (interest-rate gap) | 0.046 | 0.123 | – | – |
| Central-bank drift | -0.022 | 0.056 | – | – |
| Macro drivers (dollar, equities, US rates) | -0.049 | -0.030 | -0.021 | 0.027 |
| The combined score | 0.058 | 0.029 | 0.004 | 0.004 |
A value that is clearly positive in both periods is encouraging; one near zero, or that changes sign between the periods, adds little. Values this small are easy to mistake for luck, which is why the calls are marked as research with modest evidence. We publish the table so you can judge how much weight a call deserves.
Data and limits
- Prices: end-of-day prices from our data provider. Currency pairs and spot gold, silver, platinum and palladium are spot rates since 1999. Oil, natural gas, gasoline, copper, base metals, grains and sugar use exchange-traded funds as proxies, because futures prices are not in our data plan; the funds follow futures but carry roll costs. Coffee, cocoa and cotton are not covered because their proxy funds were closed in 2023.
- Interest rates: central-bank policy rates from the Bank for International Settlements, back to 1999 (daily change dates from 2021). The Pakistani rupee's rate is kept by hand and has no history, so its carry is current-only and it has no tested carry track record.
- Managed currencies (Chinese yuan, Indian rupee, Pakistani rupee) and structurally weakening ones (Turkish lira) behave differently from freely floating currencies. Calls on them are shown but deserve extra caution.
- Replay, not a live record: the history on each page is the model re-run on past data. The live log of daily calls started the day these pages launched and will be published as it grows.
- Costs and tax: the replay uses simple trading costs; it ignores leverage costs, spreads in stressed markets, taxes and slippage. Real results would be lower.
Risk warning. Educational research, not personal advice or an invitation to trade. Forex and commodity trading, especially with leverage, carries a high risk of losing money quickly; most retail accounts that trade leveraged products lose money. Past behaviour of a model does not predict the future. Rules for giving investment advice differ by country; if you need advice, speak to a licensed adviser.