Aurum-1D mascot

Aurum-1D: Gold next-day forecasting

TL;DR: Aurum-1D is the Gold member of a SOTA-era research model family for one-day-ahead commodity forecasting. It is benchmarked against Chronos-2 and TimesFM 2.5 under the same walk-forward dates, horizon and costs. The estimator predicts the next-day Gold log return.

Research and education only. This model is not financial advice, is not a trading recommendation and has no performance guarantee.

Quick facts

Field Value
Asset Gold futures (GC=F)
Horizon Next trading day (J+1)
Task Regression on log return
Model family Aurum-1D / Argent-1D
Selected estimator ExtraTrees
Input representation 144 causal engineered features
Selection Five expanding walk-forward folds, gap=1
Locked test Final 20% of common Gold/Silver dates
Backtest cost 10 bps per unit of turnover

Model details

The model is fitted on information available at date t and targets the next-day log return. Features include lagged returns, volatility, momentum, moving-average gaps, drawdown, volume, Gold/Silver cross-asset statistics and market covariates. No feature is allowed to use a future timestamp.

Gold outputs a return estimate.

Model weights and files

  • model.joblib: the fitted ExtraTrees model weights.
  • estimator.joblib: compatibility alias for the fitted weights.
  • feature_schema.json: exact input column order and target definition.
  • config.json: data, feature, split and transaction-cost configuration.
  • metrics.json: validation, locked-test, foundation-model and robustness results.

The payload contains no raw Yahoo Finance/FRED data, Hugging Face token or intermediate checkpoint. The estimator was fitted with code revision d5f5f5f.

Evaluation under the repository protocol

Metric Value
Validation net Sharpe 0.618
Locked-test net Sharpe 1.187
Locked-test cumulative return 125.0%
Locked-test maximum drawdown -22.6%
Turnover per observation 0.331
Information coefficient 0.148
Locked-test observations 970

The final 20% of common Gold/Silver dates is a locked test and was not used to select the model. The backtest maps the signal to -1, 0 or +1, applies it to the next realized return and charges 10 basis points per unit of turnover.

External foundation-model audit

These external models were evaluated on the same dates, one-day horizon and costs. Their information representation differs: the local model receives engineered causal features, while the foundation tracks receive only their stated univariate or past-only covariate context.

Model Validation Sharpe Locked-test Sharpe Max drawdown
Chronos-2 (univariate) -0.935 0.916 -0.270
Chronos-2 (past-only covariates) -0.121 0.159 -0.349
TimesFM 2.5 (univariate) -0.630 0.551 -0.275
TimesFM 2.5 (causal covariates) -0.950 0.279 -0.362

The repository-level claim is best local model found under the stated candidate set. Aurum-1D and Argent-1D are positioned as SOTA-era, foundation-model-benchmarked research artifacts, not as universal SOTA claims. The external comparison is a reproducible audit, not a claim that this small experiment covers every published model, training recipe or market period.

For Gold, the local winner has lower squared error than every foundation track, but none of the four differences survives Holm correction.

Paired statistical comparison with the local winner

DM compares forecast loss on the same locked dates; Holm p corrects the four foundation comparisons. A “yes” means the local winner has lower squared error in that paired test.

Foundation model Local-minus-foundation Sharpe Holm p Local lower MSE
Chronos-2 (univariate) 0.270 0.565 yes
Chronos-2 (past-only covariates) 1.028 0.565 yes
TimesFM 2.5 (univariate) 0.635 0.418 yes
TimesFM 2.5 (causal covariates) 0.907 0.738 yes

The candidate-aware White Reality Check for the full local-plus-foundation universe is 0.106 for Gold. This is a conditional bootstrap p-value, not a probability that the model will be profitable.

Reproduce inference

The payload intentionally does not include raw market data. Construct the latest causal feature row with the source repository, preserve the schema order, then load the estimator:

import json
from pathlib import Path

import joblib

ARTIFACT_DIR = Path(".")
estimator = joblib.load(ARTIFACT_DIR / "model.joblib")
schema = json.loads((ARTIFACT_DIR / "feature_schema.json").read_text())

# Build this one-row DataFrame with the causal feature builder in the source
# repository. It must contain exactly the columns listed in schema.
X_next = build_causal_feature_row(raw_history)[schema["feature_columns"]]
next_day_log_return = float(estimator.predict(X_next)[0])
print(next_day_log_return)

Data and reproducibility

  • Source snapshot: Yahoo Finance tickers in data/raw/manifest.json.
  • Snapshot dates: 1927-12-30T00:00:00 to 2026-08-12T00:00:00.
  • Target: log(close[t+1] / close[t]).
  • Feature rule: information available at or before t only.
  • Python: 3.11; see the source repository for installation and inference code.

Intended use and limitations

Intended for local research, reproducible benchmarking and educational experiments on daily Gold/Silver futures. It is not intended for automated execution, portfolio allocation, risk management or live financial decisions. Results are historical, regime-dependent and sensitive to data revisions, slippage, liquidity, feature availability and model-selection bias. The card's “best” language is limited to this repository's tested candidate set and protocol; it is not a universal SOTA claim.

Citation and source code

Source repository: https://github.com/Aurelien7877/gold-silver-forecasting

Please cite the repository and the upstream data/model documentation when reusing this artifact. The exact code revision is recorded in metrics.json.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support