Initial import: XAUUSD news sentiment models, evals, and data tooling
TF-IDF baseline (news_sentiment.py, models/xauusd_sentiment.joblib) and the two-head DeBERTa-v3-small transformer (transformer/, news_transformer.py) with its Google News crawler and DeepSeek labeller (data_collect/), the golden-set and archive evals (eval/), and the 2026-09-22 and 2026-09-27 results and progress notes. Transformer weights (model.pt, model.onnx) and the crawl database are not tracked; rebuild with transformer/train.py and transformer/export_onnx.py. The DeepSeek label cache in data/ is tracked. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
||||
# environments
|
||||
.venv/
|
||||
.venv-train/
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
|
||||
# sqlite side files
|
||||
*.db-shm
|
||||
*.db-wal
|
||||
|
||||
# crawl database: 50+ MB and rewritten by every crawl. The paid DeepSeek
|
||||
# labels are also in data/history_deepseek_cache.json, which is tracked.
|
||||
data/history.db
|
||||
|
||||
# transformer weights: 566 MB torch, 271 MB ONNX. meta.json and
|
||||
# tokenizer.json are tracked; rebuild with transformer/train.py and
|
||||
# transformer/export_onnx.py.
|
||||
models/xau_transformer/**/model.pt
|
||||
models/xau_transformer/*.onnx
|
||||
@@ -0,0 +1,206 @@
|
||||
# Session progress: 2026-09-22 → 09-23 (UTC)
|
||||
|
||||
This session had two parts:
|
||||
1. Retrain the TF-IDF XAUUSD model on the new `newsdata.db`. **Done and promoted.**
|
||||
2. Build a two-stage transformer model: is the headline gold-related, and if so, bullish or bearish? **The
|
||||
tooling is built and tested. Historical data collection is partly done. The model is not trained on
|
||||
history yet.**
|
||||
|
||||
DeepSeek calls made this session: **40**, all in the history labelling pilot. The user asked for no more
|
||||
DeepSeek calls on 2026-09-23. All background jobs are stopped.
|
||||
|
||||
---
|
||||
|
||||
## Important facts to carry forward
|
||||
|
||||
- **The labels come from DeepSeek, not from traders.** The `newsdata.db` handed over as "results from
|
||||
professional traders" has 2,661 rows scored by `deepseek-v4-flash` (prompt sha1 `d32e04c6`) and 4 rows
|
||||
scored by keywords. The user confirmed we train on these. Every model here learns to copy DeepSeek; it does
|
||||
not learn price moves.
|
||||
- **The golden set is the only independent truth:** `eval/data/llm_news_golden.csv`, 78 reviewer-labelled
|
||||
headlines. DeepSeek scores 78/78. It is excluded from every training set.
|
||||
- **The DeepSeek ceiling:** on re-scoring, DeepSeek agrees with its own earlier answer about 90% of the
|
||||
time. No student model can beat that.
|
||||
- **The deployment rule from 2026-09-08 still applies:** about 4,000 labels over 3+ weeks before any live
|
||||
use.
|
||||
- **Nothing in ForexBot2 changed, and ForexBot2 doesn't import any ML-NEWS model.**
|
||||
|
||||
---
|
||||
|
||||
## Part 1: TF-IDF retrain (done)
|
||||
|
||||
Full write-up: `eval/RESULTS_2026-09-22.md`.
|
||||
|
||||
- `newsdata.db` was copied into `ML-NEWS/newsdata.db`. The original is still untracked in
|
||||
`~/Development/SSH-Client/`; delete it there when convenient.
|
||||
- `news_sentiment.py` now takes each label from the first source that has one:
|
||||
1. the `xau_score` column,
|
||||
2. the JSON `XAU` key,
|
||||
3. the backfill file given with `--extra-labels`.
|
||||
|
||||
It also has a new `--scope all|gold` option and drops rows from test feeds.
|
||||
- Eval scripts gained `--model`, `--extra-labels` and `--train-scope`. They also get label source and gold
|
||||
flags from `load_archive_rows`.
|
||||
- **Promoted:** `--scope all` with the backfill labels, 2,620 headlines from Sep 8–22.
|
||||
- The old bundle is in `models/archive/xauusd_sentiment_20260917.*`.
|
||||
- The candidates are in `models/candidates/`.
|
||||
|
||||
Results on the Sep 18–22 days, which none of these models trained on:
|
||||
|
||||
| Model | All | Gold headlines | Macro headlines | Golden set |
|
||||
|---|---|---|---|---|
|
||||
| Old 09-17 model | 45.9% | 68.2% | 36.2% | 39/78 |
|
||||
| Gold-only retrain | 48.3% | 73.8% | 37.1% | 40/78 |
|
||||
| **All-news retrain (promoted)** | **62.8%** | 71.9% | **58.8%** | **47/78** |
|
||||
|
||||
- **The promotion rule, taken literally, failed.** It required a chronological-holdout macro-F1 of at least
|
||||
0.671, and the new model scored 0.659. The two holdouts contain different kinds of headline, so the
|
||||
numbers don't compare. On identical unseen rows the new model wins clearly. The user was told this.
|
||||
- **Known weak spots:** dovish news and falling yields read as bearish. September was a hiking regime, so
|
||||
there are almost no easing examples. Risk-on scores 0/4 and negation 1/8.
|
||||
- **Version mismatch:** ForexBot2's venv has sklearn 1.9.0 but the bundle was pickled with 1.9.1, which
|
||||
raises a warning. The old bundle had the same problem.
|
||||
|
||||
---
|
||||
|
||||
## Part 2: two-stage transformer (in progress)
|
||||
|
||||
The plan is in `~/.claude/plans/you-are-machine-learning-cozy-teapot.md`. The user chose:
|
||||
- Training on the GPU, but the trained model must run on CPU.
|
||||
- More data from DeepSeek labelling historical headlines.
|
||||
- "Gold-related" means the headline moves the gold price, not that it mentions gold.
|
||||
|
||||
### Design
|
||||
|
||||
- **Model:** `microsoft/deberta-v3-small` encoder with mean pooling and two single-logit heads.
|
||||
- **Relevance head:** target is 1 if |xau| ≥ 0.25 and 0 if |xau| ≤ 0.10. Rows in between carry no loss.
|
||||
- **Direction head:** target is the sign of xau, on relevant rows only.
|
||||
- **Input:** the headline only, at most 64 tokens.
|
||||
- **Output:** `p_relevant` and `p_bullish`, combined as `score = p_relevant × (2·p_bullish − 1)`. The label
|
||||
is `neutral` when `p_relevant` is below the tuned threshold.
|
||||
|
||||
### Files added or changed
|
||||
|
||||
| File | What it does |
|
||||
|---|---|
|
||||
| `data_collect/crawl_google_news.py` | Google News RSS crawler with date windows. It can resume, handles 429/503 with backoff, and shuffles the windows so a partial crawl covers every year. It has two query sets, `--query-set broad` and `--query-set precise` (see below). |
|
||||
| `data_collect/label_history.py` | DeepSeek labeller with a hard `--max-calls` stop and its own per-process daily cap. It samples round-robin over (quarter × query) strata from two pools, with `--broad-share 0.3` by default. It excludes the golden set and `newsdata.db` overlaps, and prints a label report per year. |
|
||||
| `transformer/train.py` | Two-head fine-tuning. Val is newsdata from 2026-09-18 on and is never used to choose anything. Dev is a random 5%, used to pick the epoch and the relevance threshold. `--final` retrains on everything into `torch_final/`. |
|
||||
| `transformer/export_onnx.py` | ONNX export plus int8 on the embedding table only. Checks tokenizer and probability parity against PyTorch and measures CPU latency. |
|
||||
| `news_transformer.py` | CPU runtime needing only onnxruntime, tokenizers and numpy. Provides `load_model`, `score_batch`, `score_news` and a CLI `score --headline/--input`. |
|
||||
| `eval/eval_common.py` | Adds `TransformerScorer` and `make_scorer`, an `oos_from` field on scorers, and `daily_cap` for `install_research_client` and `DeepSeekScorer`. |
|
||||
| `eval/eval_golden.py`, `eval/eval_archive.py` | New `--scorer tfidf|transformer`. The archive eval reports relevance precision, recall and F1 plus direction accuracy on out-of-sample rows. |
|
||||
| `requirements.txt` | Adds onnxruntime and tokenizers for the CPU runtime; installed into `.venv`. |
|
||||
| `requirements-train.txt` | New GPU environment `.venv-train` (6 GB): torch 2.14 with CUDA, transformers 5.17, onnx, onnxruntime and pandas. |
|
||||
|
||||
Backups of every file edited in Part 1 (from before the edits) were saved to the session scratchpad at
|
||||
`/tmp/claude-1000/.../scratchpad/ml-news-backup/`. That directory may not survive a reboot.
|
||||
|
||||
### Technical findings
|
||||
|
||||
1. **transformers 5 loads DeBERTa-v3-small in fp16 by default,** because that is the dtype stored in the
|
||||
checkpoint. Training fp16 weights with AdamW gives a NaN loss.
|
||||
- Fix: `AutoModel.from_pretrained(base, dtype=torch.float32)`, with bf16 autocast for compute. This is in
|
||||
`train.py`.
|
||||
2. **The dynamo ONNX exporter output breaks onnxruntime quantisation** with a shape-inference error (768
|
||||
vs 1). Using the TorchScript exporter (`dynamo=False`, opset 17) fixes it.
|
||||
3. **Dynamic int8 quantisation of DeBERTa's MatMuls ruins accuracy.**
|
||||
|
||||
| Variant | Max prob diff | Flips (of 600 decisions) | Size | Latency, 1 thread |
|
||||
|---|---|---|---|---|
|
||||
| fp32 ONNX | 0.000 | 0 | 566 MB | 18.2 ms |
|
||||
| int8 all / per-channel / MatMul-only / reduce-range / FFN-only | 0.55–0.72 | 81–96 | 172–467 MB | 7–11 ms |
|
||||
| **int8 embedding table only (chosen)** | 0.04–0.05 | about 1% | 271 MB | 18–20 ms |
|
||||
|
||||
Because of this, the export tolerance is 0.05 max difference and at most 2% of decisions flipping. The
|
||||
plan had said 0.03.
|
||||
4. **Latency on this machine:** about 18–20 ms per headline on 1 thread and about 9 ms on 4 threads. 16
|
||||
threads is slower (about 13 ms) from oversubscription. When wiring it in, pass `threads=4`.
|
||||
5. **Smoke test:** trained on only 1,402 live headlines from before Sep 18, 3 epochs, no history data.
|
||||
- Val (Sep 18–22), three-class agreement: 57.1%. The TF-IDF model trained on the same period gets 45.9%
|
||||
on those days.
|
||||
- Relevance F1: 0.73.
|
||||
- Direction accuracy on relevant rows: 80.7%, and 86% on gold headlines.
|
||||
- Golden set: 37/78.
|
||||
- It still calls Bitcoin headlines relevant. The historical data is meant to fix this.
|
||||
|
||||
The smoke artefacts were in the scratchpad only. **No transformer model is in `models/` yet.**
|
||||
|
||||
### Historical data status (`data/history.db`, 24 MB)
|
||||
|
||||
- **Broad crawl** (keyword plus `site:reuters.com / cnbc.com / marketwatch.com`, weekly windows,
|
||||
2019-01 → 2026-08): stopped at 568 of 6,000 requests, with about 21k unique headlines across all years.
|
||||
- **The broad crawl has low precision.** Google matches the query word anywhere in the article, not only in
|
||||
the headline.
|
||||
- The 40-call pilot labelled 1,000 broad headlines. Only 7% were gold-relevant (|xau| ≥ 0.25), against 43%
|
||||
in the live feed.
|
||||
- DeepSeek's labels themselves looked correct. For example, "Red Lobster endless shrimp losses" scored 0.
|
||||
- A keyword filter on the headline text only lifts the relevant share to 16%. Using the smoke model's
|
||||
relevance head as a filter gets 15%.
|
||||
- The broad pool is still useful as the not-relevant side.
|
||||
- **Precise crawl** (`intitle:<term> site:<publisher>`, 21 queries, 2-week windows): stopped at 161 of
|
||||
4,200 requests. That gives about 1,100 precise headlines so far, and they look strongly on-topic in spot
|
||||
checks: gold, Fed, rates, FX.
|
||||
- **Total:** 23,103 unique headlines, of which 1,000 are labelled (`labels` table). The labels come from the
|
||||
pilot, so almost all are from the broad pool.
|
||||
- DeepSeek answers are also cached in `data/history_deepseek_cache.json`, so no headline is paid for twice.
|
||||
- **Stray years:** Google misdates some items to 2009–2018. That is harmless; train/val is split by source
|
||||
and date.
|
||||
|
||||
---
|
||||
|
||||
## Next steps (in order)
|
||||
|
||||
Run all commands from `~/Development/ML-NEWS`.
|
||||
|
||||
1. **Finish the precise crawl.** It's free and needs no DeepSeek. It takes about 2.7 hours and resumes where
|
||||
it stopped.
|
||||
```
|
||||
python3 data_collect/crawl_google_news.py --query-set precise > logs/crawl_precise.log 2>&1
|
||||
```
|
||||
Optional: add more broad negatives with `--query-set broad`, which is 5,400 requests left and resumable.
|
||||
|
||||
2. **Second pilot, 20 calls (needs the user's OK for DeepSeek spend).** Check that the precise pool gives a
|
||||
high relevant share.
|
||||
```
|
||||
~/Development/ForexBot2/venv/bin/python data_collect/label_history.py --max-calls 20 --broad-share 0
|
||||
```
|
||||
Then look at the per-year report. Also check for hindsight bias: does the mean xau per year track gold's
|
||||
actual yearly moves too closely?
|
||||
|
||||
3. **Full labelling (needs the user's OK).** About 800–1,200 calls, a few US dollars.
|
||||
```
|
||||
~/Development/ForexBot2/venv/bin/python data_collect/label_history.py --max-calls 1000
|
||||
```
|
||||
Keep `--broad-share 0.3`. The run can be split across days; progress is saved per chunk.
|
||||
|
||||
4. **Train, export, evaluate:**
|
||||
```
|
||||
.venv-train/bin/python transformer/train.py # -> models/xau_transformer/torch/
|
||||
.venv-train/bin/python transformer/export_onnx.py --src models/xau_transformer/torch
|
||||
cd eval
|
||||
../.venv-train/bin/python eval_golden.py --no-network --scorer transformer
|
||||
../.venv-train/bin/python eval_archive.py --no-network --scorer transformer \
|
||||
--db ../newsdata.db --extra-labels results/backfill_labels.jsonl
|
||||
```
|
||||
Run the evals with `.venv-train`, which has pandas, onnxruntime and the ForexBot2 imports, so that
|
||||
ForexBot2's venv stays untouched.
|
||||
|
||||
5. **Promotion criteria, fixed in advance:**
|
||||
- Golden set ≥ 55/78 (TF-IDF has 47).
|
||||
- Distractors ≥ 6/8.
|
||||
- Sep 18–22 three-class agreement ≥ 62.8%.
|
||||
- CPU latency ≤ 20 ms.
|
||||
|
||||
If all pass: run `train.py --final`, export from `torch_final`, and write `eval/RESULTS_<date>.md`.
|
||||
|
||||
6. **Afterwards:**
|
||||
- Update the README and WORKFLOW doc for the transformer.
|
||||
- Decide separately whether and how ForexBot2 should use it, in shadow mode first.
|
||||
- Align ForexBot2's sklearn version with the training environment.
|
||||
|
||||
## Housekeeping
|
||||
|
||||
- ML-NEWS is not a git repo, so nothing was committed.
|
||||
- `~/Development/SSH-Client/newsdata.db` is an untracked copy; delete it there.
|
||||
- `.venv-train` takes 6 GB and is only needed for training and export.
|
||||
@@ -0,0 +1,70 @@
|
||||
# Session progress: 2026-09-27
|
||||
|
||||
Continues `PROGRESS_2026-09-22.md`. Full numbers in `eval/RESULTS_2026-09-27.md`.
|
||||
|
||||
DeepSeek calls this session: **560** (20 pilot + 200 full run + 140 precise top-up + 200 growth set; 15
|
||||
failed), approved by the user in-session. 13,625 crawled headlines labelled; history labels now total
|
||||
14,625.
|
||||
|
||||
## Done, in order
|
||||
|
||||
1. **Precise crawl resumed** (`crawl_google_news.py --query-set precise`). It ran in the background the
|
||||
whole session and was still running at the end, at about 860 windows done today and 3,300 to go. Its
|
||||
log (`logs/crawl_precise.log`) is block-buffered and lags; use `pgrep -f crawl_google_news` and the
|
||||
`crawl_log` table.
|
||||
2. **Trained the transformer on the 3,620 labelled rows available before any DeepSeek call**, swept 8
|
||||
configs, exported, evaluated: golden 49/78, unseen days 65.7%. Failed the golden bar of 55. Written up
|
||||
as the "3,620 rows" column in the results file.
|
||||
3. **Pilot, 20 calls, precise pool only:** 52% gold-relevant vs 7% for the broad pool. No hindsight bias
|
||||
worth worrying about. Log: `logs/label_pilot2.log`.
|
||||
4. **Full run, 200 calls, 30% broad share:** 4,750 headlines. Log: `logs/label_full_20260927.log`.
|
||||
5. **Retrained on 8,870 rows, swept 5 configs** (all within 1.2 val points of each other). Chosen on dev:
|
||||
lr 5e-5, 4 epochs, batch 64, best epoch 3.
|
||||
- Golden 62/78, distractors 8/8, Sep 18–22 agreement 71.9%, latency 19.0 ms. **All four promotion
|
||||
criteria pass.**
|
||||
6. **`train.py --final`** on all 8,870 rows for 3 epochs, exported from `torch_final`. Shipped bundle
|
||||
`models/xau_transformer/{model.onnx,tokenizer.json,meta.json}`: golden 65/78, 0 decision flips, 18.9 ms.
|
||||
7. Wrote `eval/RESULTS_2026-09-27.md`.
|
||||
8. **Round 2, at the user's request:** 140 more calls labelled the remaining 3,400 precise headlines.
|
||||
Retrained on 12,270 rows (default config, no sweep). Non-final: golden 64/78, Sep 18–22 71.8%. Final on
|
||||
all rows, 4 epochs: **golden 67/78**, 18.9 ms. Re-exported; this is the shipped bundle now. The live-feed
|
||||
metric did not move (72.0 → 71.7%), so it has saturated on history labels.
|
||||
9. **Round 3, "teach it the two weak spots":** added a `growth` query set to the crawler (20 `intitle:`
|
||||
queries: GDP, retail sales, ISM, PMI, jobless claims, consumer confidence/spending, manufacturing,
|
||||
"record high", "risk appetite", "Wall Street", "S&P 500", ceasefire, "trade deal", equities). Paused
|
||||
the precise crawl, crawled 1,880 windows (6,183 headlines), resumed the precise crawl. Added
|
||||
`--query-set` and a non-Latin filter to `label_history.py`. 200 calls labelled 4,975 growth headlines.
|
||||
Retrained on 17,245 rows: non-final golden 71/78, Sep 18–22 71.5%; **final golden 72/78**, strong_usd
|
||||
7/7, risk_on 4/4, 18.8 ms. Re-exported; this is the shipped bundle now.
|
||||
|
||||
## Where things are
|
||||
|
||||
| Path | What |
|
||||
|---|---|
|
||||
| `models/xau_transformer/` | shipped ONNX bundle from round 3 `torch_final` (17,245 rows, golden 72/78) |
|
||||
| `models/xau_transformer/torch/` | round 3 non-final weights (val numbers belong to these) |
|
||||
| `models/xau_transformer/torch_final/` | round 3 final weights |
|
||||
| session scratchpad `sweep2/*_8870rows`, `sweep2/*_12270rows` | round 1 and round 2 weights |
|
||||
| `models/xauusd_sentiment.joblib` | TF-IDF, unchanged, still what ForexBot2 would load if it loaded anything |
|
||||
| session scratchpad `sweep/`, `sweep2/` | all other sweep runs; may not survive a reboot |
|
||||
| `eval/results/golden_20260927_2315_transformer.*` | round 3 final model golden eval (72/78) |
|
||||
| `eval/results/archive_20260927_2313_transformer.json` | round 3 non-final archive eval |
|
||||
| `eval/results/golden_20260927_1949_*`, `archive_20260927_1947_*` | round 2 equivalents |
|
||||
| `eval/results/golden_20260927_1931_transformer.*`, `archive_20260927_1927_*` | round 1 equivalents |
|
||||
|
||||
## Known issues
|
||||
|
||||
- `export_onnx.py` prints `PARITY FAILED` on max |diff| (0.06–0.08 vs tolerance 0.05) even with 0 flips.
|
||||
Loosen the tolerance or check flips only.
|
||||
- 14 of 340 label batches failed (DeepSeek timeouts / one 502); those headlines are simply unlabelled and
|
||||
will be picked up by the next run. About 570 precise headlines were unlabelled at the end, plus whatever
|
||||
the still-running crawl adds.
|
||||
- 2025 labels have a mean xau of +0.12, higher than other years. Possible hindsight in DeepSeek's labels
|
||||
for the rally year.
|
||||
|
||||
## Next
|
||||
|
||||
See "Next, revised" in the results file. The weak spots are fixed on the golden set. The step that now
|
||||
produces new information is shadow mode in ForexBot2; more history labels will not. Watch the gold-key
|
||||
live-feed number (83 → 79%) as history labels come to dominate the training set. The precise crawl is
|
||||
still running in the background and is free to leave alone.
|
||||
@@ -0,0 +1,136 @@
|
||||
# XAUUSD News Sentiment Model
|
||||
|
||||
See [`WORKFLOW_AND_USAGE.md`](WORKFLOW_AND_USAGE.md) for the complete
|
||||
integration, LLM fallback, deployment, and retraining workflow.
|
||||
|
||||
This project trains a scikit-learn model to answer one specific question:
|
||||
|
||||
> Does this news imply bullish, neutral, or bearish sentiment for XAUUSD?
|
||||
|
||||
- `bullish`: supportive for gold versus the US dollar, so XAUUSD tends upward
|
||||
- `bearish`: negative for gold versus the US dollar, so XAUUSD tends downward
|
||||
- `neutral`: no clear directional implication or conflicting signals
|
||||
|
||||
Neutral is retained because forcing ambiguous news into a bullish or bearish
|
||||
class creates false signals.
|
||||
|
||||
The model uses headline and description word/character TF-IDF features with
|
||||
logistic regression. It also derives transparent domain features for explicit
|
||||
gold movement, US dollar direction, Treasury-yield direction, and
|
||||
hawkish/dovish policy language. Its numeric score is in `[-1, 1]`:
|
||||
|
||||
```text
|
||||
P(XAUUSD bullish) - P(XAUUSD bearish)
|
||||
```
|
||||
|
||||
## Training Labels
|
||||
|
||||
Labels are DeepSeek's (`deepseek-v4-flash`) XAU score for each headline, not
|
||||
human or trader labels. The general article `score` is never used. For each
|
||||
row the trainer takes the first of:
|
||||
|
||||
1. the `xau_score` column (stored for every LLM-scored headline since
|
||||
2026-09-18),
|
||||
2. `score_by_currency_json["XAU"]` (older rows that mention gold),
|
||||
3. `--extra-labels` JSONL keyed by headline hash (for example
|
||||
`eval/results/backfill_labels.jsonl`, DeepSeek labels for older macro
|
||||
headlines).
|
||||
|
||||
By default only `score_source = 'llm'` rows are used, and test-feed rows
|
||||
(`feed.example`, `good.example`) are skipped. `--scope gold` limits training to
|
||||
rows with a JSON `XAU` key, which was the behaviour before 2026-09-22. The
|
||||
included model (trained 2026-09-22, `--scope all`) used 2,620 deduplicated
|
||||
headlines from Sep 8–22 (1,064 `xau_score`, 640 JSON, 933 backfill):
|
||||
|
||||
- 909 bearish
|
||||
- 893 neutral
|
||||
- 818 bullish
|
||||
|
||||
## Setup
|
||||
|
||||
```bash
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
python -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Train
|
||||
|
||||
```bash
|
||||
python news_sentiment.py train --db newsdata.db \
|
||||
--extra-labels eval/results/backfill_labels.jsonl
|
||||
```
|
||||
|
||||
This creates:
|
||||
|
||||
- `models/xauusd_sentiment.joblib`: fitted model and metadata
|
||||
- `models/xauusd_sentiment.metrics.json`: training and evaluation report
|
||||
|
||||
## Evaluation
|
||||
|
||||
The included model's built-in holdouts:
|
||||
|
||||
- Stratified random holdout: 69.3% accuracy and 0.689 macro-F1
|
||||
- Newest chronological holdout (Sep 21–22): 66.6% accuracy and 0.659 macro-F1
|
||||
|
||||
These are lower than the 2026-09-17 model's 73.0% / 69.7%. That is because the
|
||||
test sets now include macro headlines (Fed, dollar, yields), which are harder.
|
||||
The fair comparison is on the same unseen rows: on Sep 18–22 the 09-17 model
|
||||
agreed with DeepSeek on 45.9% of headlines (36.2% on macro). This recipe,
|
||||
retrained daily, reached 62.8% (58.8% on macro). On the independent 78-headline
|
||||
golden set it scores 47/78; the 09-17 model scored 39/78 and DeepSeek 78/78. See
|
||||
`eval/RESULTS_2026-09-22.md`.
|
||||
|
||||
The data still covers only 15 days of a single market regime. More labelled
|
||||
history across different regimes is the most valuable next improvement.
|
||||
|
||||
## Score News
|
||||
|
||||
```bash
|
||||
python news_sentiment.py score \
|
||||
--headline "Gold gains as the dollar weakens"
|
||||
```
|
||||
|
||||
Example output from the included model:
|
||||
|
||||
```json
|
||||
{
|
||||
"target": "XAUUSD",
|
||||
"label": "bullish",
|
||||
"score": 0.94748,
|
||||
"confidence": 0.971834,
|
||||
"probabilities": {
|
||||
"bearish": 0.024354,
|
||||
"neutral": 0.003812,
|
||||
"bullish": 0.971834
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
For batch scoring, pass newline-delimited JSON. Each object can contain
|
||||
`headline` (or `title`/`text`) and an optional `description`:
|
||||
|
||||
```bash
|
||||
python news_sentiment.py score --input articles.jsonl
|
||||
python news_sentiment.py score --input - < articles.jsonl
|
||||
```
|
||||
|
||||
The command writes JSONL to standard output and adds a `sentiment` object to
|
||||
each input record.
|
||||
|
||||
## Python API
|
||||
|
||||
```python
|
||||
from news_sentiment import load_model, score_news
|
||||
|
||||
model = load_model("models/xauusd_sentiment.joblib")
|
||||
result = score_news(
|
||||
model,
|
||||
"Gold slides as Treasury yields rise",
|
||||
"A stronger US dollar adds pressure to bullion.",
|
||||
)
|
||||
print(result)
|
||||
```
|
||||
|
||||
This model estimates XAUUSD sentiment expressed by news. It does not predict
|
||||
the size or timing of a future price move and is not trading advice.
|
||||
@@ -0,0 +1,422 @@
|
||||
# XAUUSD Sentiment Workflow and Usage Guide
|
||||
|
||||
## Purpose
|
||||
|
||||
This model answers one question:
|
||||
|
||||
> Does a news headline imply bullish, neutral, or bearish sentiment for
|
||||
> XAUUSD?
|
||||
|
||||
- **Bullish** means the news supports a higher XAUUSD price.
|
||||
- **Bearish** means the news supports a lower XAUUSD price.
|
||||
- **Neutral** means the direction is unclear, weak, or conflicting.
|
||||
|
||||
The model runs locally with scikit-learn. It does not require an API call and
|
||||
can be placed before an existing LLM news-analysis step to reduce latency and
|
||||
LLM usage.
|
||||
|
||||
## Files
|
||||
|
||||
| Path | Purpose |
|
||||
| --- | --- |
|
||||
| `news_sentiment.py` | Training, scoring, and Python API |
|
||||
| `newsdata.db` | SQLite training data |
|
||||
| `models/xauusd_sentiment.joblib` | Trained model artifact |
|
||||
| `models/xauusd_sentiment.metrics.json` | Training and evaluation metrics |
|
||||
| `requirements.txt` | Runtime dependencies |
|
||||
|
||||
## Recommended Workflow
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A[New article] --> B[Validate headline and description]
|
||||
B --> C[XAUUSD local model]
|
||||
C --> D{Prediction confident?}
|
||||
D -->|Yes| E[Use local prediction]
|
||||
D -->|No| F[Call existing LLM]
|
||||
E --> G[Store result and source]
|
||||
F --> G
|
||||
G --> H[Retain reviewed or LLM labels]
|
||||
H --> I[Periodic model retraining]
|
||||
```
|
||||
|
||||
Start in **shadow mode**: run the local model and LLM together, but continue
|
||||
using the LLM result. Log both outputs for comparison. After validating the
|
||||
model on live news, enable the confidence-based LLM fallback workflow.
|
||||
|
||||
## Environment Setup
|
||||
|
||||
From this repository:
|
||||
|
||||
```bash
|
||||
python3 -m venv .venv
|
||||
. .venv/bin/activate
|
||||
python -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
The saved model was built with the exact versions in `requirements.txt`.
|
||||
|
||||
If the existing Python project is in another directory, make this repository
|
||||
importable when starting it:
|
||||
|
||||
```bash
|
||||
export PYTHONPATH="/home/harwinder/Development/ML-NEWS:$PYTHONPATH"
|
||||
export XAUUSD_MODEL_PATH="/home/harwinder/Development/ML-NEWS/models/xauusd_sentiment.joblib"
|
||||
python /path/to/existing/project/main.py
|
||||
```
|
||||
|
||||
Add the same environment variables to the service manager, Docker container,
|
||||
or deployment configuration used in production.
|
||||
|
||||
## Command-Line Usage
|
||||
|
||||
Score one headline:
|
||||
|
||||
```bash
|
||||
.venv/bin/python news_sentiment.py score \
|
||||
--headline "Gold gains as the dollar weakens"
|
||||
```
|
||||
|
||||
Score a headline and description:
|
||||
|
||||
```bash
|
||||
.venv/bin/python news_sentiment.py score \
|
||||
--headline "Gold slides as Treasury yields rise" \
|
||||
--description "A stronger US dollar adds pressure to bullion."
|
||||
```
|
||||
|
||||
The output has this structure:
|
||||
|
||||
```json
|
||||
{
|
||||
"target": "XAUUSD",
|
||||
"label": "bearish",
|
||||
"score": -0.82,
|
||||
"confidence": 0.87,
|
||||
"probabilities": {
|
||||
"bearish": 0.87,
|
||||
"neutral": 0.08,
|
||||
"bullish": 0.05
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The score is calculated as:
|
||||
|
||||
```text
|
||||
P(XAUUSD bullish) - P(XAUUSD bearish)
|
||||
```
|
||||
|
||||
Use `label` as the primary classification. A neutral prediction can still have
|
||||
a positive or negative score when the model sees a secondary directional
|
||||
lean.
|
||||
|
||||
## Batch JSONL Usage
|
||||
|
||||
Input records must be newline-delimited JSON. Each record can contain
|
||||
`headline`, `title`, or `text`, plus an optional `description`:
|
||||
|
||||
```jsonl
|
||||
{"id": 1, "headline": "Gold rises as the dollar falls"}
|
||||
{"id": 2, "headline": "Gold holds steady ahead of CPI"}
|
||||
{"id": 3, "title": "Gold falls as Treasury yields climb"}
|
||||
```
|
||||
|
||||
Score the file:
|
||||
|
||||
```bash
|
||||
.venv/bin/python news_sentiment.py score --input articles.jsonl > scored.jsonl
|
||||
```
|
||||
|
||||
Each output record preserves the input fields and adds a `sentiment` object.
|
||||
|
||||
## Python Integration
|
||||
|
||||
Load the model once when the application process starts. Do not load it for
|
||||
every article.
|
||||
|
||||
```python
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from news_sentiment import load_model, score_news
|
||||
|
||||
|
||||
MODEL_PATH = Path(
|
||||
os.environ.get(
|
||||
"XAUUSD_MODEL_PATH",
|
||||
"/home/harwinder/Development/ML-NEWS/models/xauusd_sentiment.joblib",
|
||||
)
|
||||
)
|
||||
|
||||
XAUUSD_MODEL = load_model(MODEL_PATH)
|
||||
|
||||
|
||||
def analyze_xauusd_news(news: dict) -> dict:
|
||||
prediction = score_news(
|
||||
XAUUSD_MODEL,
|
||||
headline=news["headline"],
|
||||
description=news.get("description"),
|
||||
)
|
||||
|
||||
return {
|
||||
"target": prediction["target"],
|
||||
"sentiment": prediction["label"],
|
||||
"score": prediction["score"],
|
||||
"confidence": prediction["confidence"],
|
||||
"probabilities": prediction["probabilities"],
|
||||
"score_source": "xauusd_sklearn_v3",
|
||||
}
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```python
|
||||
news = {
|
||||
"headline": "Gold rallies as the US dollar weakens",
|
||||
"description": "Falling Treasury yields provided additional support.",
|
||||
}
|
||||
|
||||
result = analyze_xauusd_news(news)
|
||||
print(result)
|
||||
```
|
||||
|
||||
## Connecting to the Existing LLM Workflow
|
||||
|
||||
Assume the existing project currently calls:
|
||||
|
||||
```python
|
||||
result = analyze_news_with_llm(headline, description)
|
||||
```
|
||||
|
||||
For a full local replacement:
|
||||
|
||||
```python
|
||||
result = analyze_xauusd_news(
|
||||
{
|
||||
"headline": headline,
|
||||
"description": description,
|
||||
}
|
||||
)
|
||||
```
|
||||
|
||||
For the recommended hybrid workflow, call the LLM only when the local result
|
||||
is uncertain:
|
||||
|
||||
```python
|
||||
def analyze_news(news: dict) -> dict:
|
||||
try:
|
||||
ml_result = analyze_xauusd_news(news)
|
||||
except Exception:
|
||||
llm_result = analyze_news_with_llm(
|
||||
news["headline"], news.get("description")
|
||||
)
|
||||
llm_result["score_source"] = "llm_model_error_fallback"
|
||||
return llm_result
|
||||
|
||||
ordered_probabilities = sorted(
|
||||
ml_result["probabilities"].values(), reverse=True
|
||||
)
|
||||
probability_margin = ordered_probabilities[0] - ordered_probabilities[1]
|
||||
|
||||
uncertain = (
|
||||
ml_result["confidence"] < 0.70
|
||||
or probability_margin < 0.20
|
||||
)
|
||||
|
||||
if not uncertain:
|
||||
return ml_result
|
||||
|
||||
llm_result = analyze_news_with_llm(
|
||||
news["headline"], news.get("description")
|
||||
)
|
||||
llm_result["score_source"] = "llm_low_confidence_fallback"
|
||||
return llm_result
|
||||
```
|
||||
|
||||
The `0.70` confidence and `0.20` margin are initial operating thresholds, not
|
||||
universal constants. Tune them using results from the project's live news
|
||||
stream. Higher thresholds make more LLM calls but reduce reliance on uncertain
|
||||
local predictions.
|
||||
|
||||
## Input Guidance
|
||||
|
||||
Use English RSS-style input matching the training data:
|
||||
|
||||
- Provide the original headline.
|
||||
- Provide a short description or summary when available.
|
||||
- Avoid adding an LLM-generated interpretation to the input.
|
||||
- Avoid passing an entire long article as the description.
|
||||
- Preserve terms such as `XAUUSD`, `gold`, `USD`, `Fed`, and `Treasury yields`.
|
||||
- Reject records where both headline and description are empty.
|
||||
|
||||
## Persisting Predictions
|
||||
|
||||
Always record how a score was produced. Do not silently mix model and LLM
|
||||
scores without a source field.
|
||||
|
||||
Recommended fields are:
|
||||
|
||||
```text
|
||||
article_hash
|
||||
target
|
||||
label
|
||||
score
|
||||
confidence
|
||||
probabilities_json
|
||||
score_source
|
||||
model_version
|
||||
predicted_at
|
||||
```
|
||||
|
||||
If the existing `headlines` table must be used, a model result can be mapped as
|
||||
follows:
|
||||
|
||||
```python
|
||||
import json
|
||||
import sqlite3
|
||||
|
||||
|
||||
prediction = analyze_xauusd_news(news)
|
||||
|
||||
with sqlite3.connect("newsdata.db") as database:
|
||||
database.execute(
|
||||
"""
|
||||
UPDATE headlines
|
||||
SET score = ?,
|
||||
score_by_currency_json = ?,
|
||||
score_source = ?
|
||||
WHERE hash = ? AND score IS NULL
|
||||
""",
|
||||
(
|
||||
prediction["score"],
|
||||
json.dumps({"XAU": prediction["score"]}),
|
||||
prediction["score_source"],
|
||||
news["hash"],
|
||||
),
|
||||
)
|
||||
```
|
||||
|
||||
The `score IS NULL` condition prevents overwriting existing LLM training
|
||||
labels. A separate predictions table is preferable when confidence,
|
||||
probabilities, prediction history, or multiple model versions must be retained.
|
||||
|
||||
## Retraining Workflow
|
||||
|
||||
The trainer opens the SQLite database read-only and uses rows with:
|
||||
|
||||
```text
|
||||
score_source = "llm"
|
||||
label = xau_score, else score_by_currency_json["XAU"], else --extra-labels
|
||||
source is not a test feed (feed.example, good.example)
|
||||
```
|
||||
|
||||
Retrain after adding a meaningful amount of new labeled data:
|
||||
|
||||
```bash
|
||||
.venv/bin/python news_sentiment.py train --db newsdata.db \
|
||||
--extra-labels eval/results/backfill_labels.jsonl
|
||||
```
|
||||
|
||||
Use `--scope gold` to train only on headlines that mention gold (the pre-2026-09-22
|
||||
data), and `--model models/candidates/<name>.joblib` to train a candidate without
|
||||
replacing the deployed model. Grade candidates with
|
||||
`eval/eval_golden.py --model ...` and
|
||||
`eval/eval_archive.py --db ../newsdata.db --extra-labels results/backfill_labels.jsonl`.
|
||||
|
||||
Training performs the following steps:
|
||||
|
||||
1. Reads XAU sentiment labels (`xau_score`, JSON `XAU`, extra labels).
|
||||
2. Normalizes and deduplicates article text.
|
||||
3. Maps negative, zero, and positive XAU scores to classes.
|
||||
4. Evaluates a stratified random holdout.
|
||||
5. Evaluates a chronological holdout on the newest articles.
|
||||
6. Fits the final model on all eligible examples.
|
||||
7. Writes the model and metrics report.
|
||||
|
||||
Before deploying a retrained model, inspect:
|
||||
|
||||
```bash
|
||||
python -m json.tool models/xauusd_sentiment.metrics.json
|
||||
```
|
||||
|
||||
Prioritize the chronological holdout result because it better represents
|
||||
future news. Do not deploy solely because random holdout accuracy improved.
|
||||
|
||||
## Production Rollout
|
||||
|
||||
1. Run the model in shadow mode alongside the LLM.
|
||||
2. Log disagreements, confidence, latency, and final accepted output.
|
||||
3. Review obvious directional cases and low-confidence predictions.
|
||||
4. Enable local predictions only above conservative thresholds.
|
||||
5. Keep the LLM as a fallback for uncertain or failed predictions.
|
||||
6. Add reviewed LLM results to the training set.
|
||||
7. Retrain and compare chronological metrics periodically.
|
||||
|
||||
Load one model per application process. A process restart is the simplest way
|
||||
to load a newly deployed model artifact. Only load trusted `.joblib` files,
|
||||
because joblib model files can execute code during deserialization.
|
||||
|
||||
## Monitoring
|
||||
|
||||
Track at least:
|
||||
|
||||
- Number of articles scored
|
||||
- Bullish, neutral, and bearish distribution
|
||||
- Average confidence and probability margin
|
||||
- Percentage routed to the LLM
|
||||
- ML versus LLM agreement rate
|
||||
- Errors and model-loading failures
|
||||
- Results by publisher and news source
|
||||
- Current model version
|
||||
|
||||
Sudden changes in class distribution or confidence can indicate data drift,
|
||||
changed feed formatting, or a new market regime.
|
||||
|
||||
## Current Limitations
|
||||
|
||||
- Training contains 2,620 deduplicated XAU-labeled examples, all DeepSeek labels.
|
||||
- The data covers only 15 days (2026-09-08 to 09-22) of one regime.
|
||||
- The model estimates news sentiment, not future returns or trade profitability.
|
||||
- Confidence values are useful for routing but are not guaranteed to be fully
|
||||
calibrated probabilities.
|
||||
- Unusual wording and economic conditions absent from training can reduce
|
||||
accuracy.
|
||||
|
||||
The current chronological holdout accuracy is 66.6% (macro-F1 0.659). Continue using the LLM
|
||||
fallback until live shadow-mode results justify broader local-model usage.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Model not found
|
||||
|
||||
Use an absolute model path or set `XAUUSD_MODEL_PATH`:
|
||||
|
||||
```bash
|
||||
export XAUUSD_MODEL_PATH="/home/harwinder/Development/ML-NEWS/models/xauusd_sentiment.joblib"
|
||||
```
|
||||
|
||||
### Cannot import `news_sentiment`
|
||||
|
||||
Add the repository to `PYTHONPATH` before starting the existing project:
|
||||
|
||||
```bash
|
||||
export PYTHONPATH="/home/harwinder/Development/ML-NEWS:$PYTHONPATH"
|
||||
```
|
||||
|
||||
### scikit-learn version warning
|
||||
|
||||
Install the pinned dependencies from this repository:
|
||||
|
||||
```bash
|
||||
python -m pip install -r /home/harwinder/Development/ML-NEWS/requirements.txt
|
||||
```
|
||||
|
||||
### Empty article error
|
||||
|
||||
At least one of `headline` or `description` must contain text.
|
||||
|
||||
### Predictions look unrelated to XAUUSD
|
||||
|
||||
Confirm that the loaded artifact is `models/xauusd_sentiment.joblib` and that
|
||||
the result contains `"target": "XAUUSD"`.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,290 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Collect historical headlines from Google News RSS into data/history.db.
|
||||
|
||||
One request per (query, date window), e.g.
|
||||
``gold site:reuters.com after:2019-07-22 before:2019-07-29``. Google
|
||||
returns at most 100 items per request. The crawl is
|
||||
resumable: finished (query, window) pairs are recorded in ``crawl_log``
|
||||
and skipped on the next run. Requests are sequential with a fixed
|
||||
delay; on HTTP 429/503 the crawler backs off and stops after repeated
|
||||
refusals rather than hammering the service.
|
||||
|
||||
Headlines are stored once per normalised text (``hash``); the queries
|
||||
that found a headline are kept in ``queries``. Nothing here labels or
|
||||
filters against the golden set; label_history.py and the trainer do.
|
||||
|
||||
Usage:
|
||||
python data_collect/crawl_google_news.py # precise set
|
||||
python data_collect/crawl_google_news.py --query-set broad # off-topic side
|
||||
python data_collect/crawl_google_news.py --query-set growth --window-days 30 # growth data + equities
|
||||
python data_collect/crawl_google_news.py --limit 20 # smoke test
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import email.utils
|
||||
import hashlib
|
||||
import html
|
||||
import random
|
||||
import re
|
||||
import sqlite3
|
||||
import sys
|
||||
import time
|
||||
import urllib.error
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
import xml.etree.ElementTree as ET
|
||||
from datetime import date, datetime, timedelta, timezone
|
||||
from pathlib import Path
|
||||
|
||||
ML_NEWS_DIR = Path(__file__).resolve().parent.parent
|
||||
DEFAULT_DB = ML_NEWS_DIR / "data" / "history.db"
|
||||
FEED_URL = "https://news.google.com/rss/search?q={q}&hl=en-US&gl=US&ceid=US:en"
|
||||
USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) ML-NEWS research crawler"
|
||||
|
||||
#: Scoped to financial publishers: unscoped queries return mostly
|
||||
#: general news ("gold price" -> phone prices, "safe haven" -> baby-box
|
||||
#: laws). Reuters answers each weekly window with up to 100 market
|
||||
#: headlines. Topics cover gold doctrine (Fed, dollar, yields,
|
||||
#: inflation, jobs, central banks, geopolitics, risk appetite) plus
|
||||
#: off-topic controls (oil, crypto, single stocks) so the relevance head
|
||||
#: sees news that does not move gold.
|
||||
BROAD_QUERIES = (
|
||||
"gold site:reuters.com",
|
||||
"Fed site:reuters.com",
|
||||
"dollar site:reuters.com",
|
||||
"yields site:reuters.com",
|
||||
"inflation site:reuters.com",
|
||||
"payrolls OR jobless site:reuters.com",
|
||||
"\"central bank\" site:reuters.com",
|
||||
"stocks site:reuters.com",
|
||||
"war OR sanctions OR tensions site:reuters.com",
|
||||
"euro OR yen OR sterling site:reuters.com",
|
||||
"oil site:reuters.com",
|
||||
"bitcoin OR crypto site:reuters.com",
|
||||
"gold site:cnbc.com",
|
||||
"markets site:cnbc.com",
|
||||
"site:marketwatch.com",
|
||||
)
|
||||
|
||||
#: A keyword in the query matches anywhere in the article, so the broad
|
||||
#: set is ~93% headlines that do not move gold (2026-09-23 pilot: 70 of
|
||||
#: 1,000 DeepSeek-relevant). ``intitle:`` restricts the match to the
|
||||
#: headline: 3-15 items per week per query, mostly gold doctrine. The
|
||||
#: broad set supplies the not-relevant side, this one the relevant side.
|
||||
PRECISE_QUERIES = tuple(
|
||||
f"intitle:{term} site:{site}"
|
||||
for site in ("reuters.com", "cnbc.com", "marketwatch.com")
|
||||
for term in ("gold", "bullion", "Fed", "Powell", "dollar", "yields",
|
||||
"inflation", "payrolls", '"rate cut"', '"rate hike"', '"safe haven"')
|
||||
if site == "reuters.com" or term in ("gold", "Fed", "dollar", "yields", "inflation")
|
||||
)
|
||||
|
||||
#: The two golden-set categories the 2026-09-27 model still fails are
|
||||
#: strong-US-data (3/7) and risk-on (1/4): "GDP beats", "stocks at record
|
||||
#: highs", "ceasefire lifts markets" should all be bearish for gold, but
|
||||
#: no precise query covers growth data or equities. ``intitle:`` again,
|
||||
#: so label_history.py puts these in the precise pool.
|
||||
GROWTH_TERMS = ("GDP", '"retail sales"', "ISM", "PMI", '"consumer confidence"',
|
||||
'"jobless claims"', '"consumer spending"', "manufacturing")
|
||||
RISK_TERMS = ('"record high"', '"risk appetite"', '"Wall Street"', '"S&P 500"',
|
||||
"ceasefire", '"trade deal"', "equities")
|
||||
GROWTH_QUERIES = tuple(
|
||||
f"intitle:{term} site:{site}"
|
||||
for site in ("reuters.com", "cnbc.com")
|
||||
for term in GROWTH_TERMS + RISK_TERMS
|
||||
if site == "reuters.com" or term in ("GDP", '"retail sales"', '"jobless claims"',
|
||||
'"record high"', '"S&P 500"')
|
||||
)
|
||||
|
||||
QUERY_SETS = {"broad": BROAD_QUERIES, "precise": PRECISE_QUERIES, "growth": GROWTH_QUERIES}
|
||||
|
||||
SCHEMA = """
|
||||
CREATE TABLE IF NOT EXISTS headlines (
|
||||
hash TEXT PRIMARY KEY,
|
||||
headline TEXT NOT NULL,
|
||||
raw_title TEXT NOT NULL,
|
||||
publisher TEXT,
|
||||
published_at TEXT,
|
||||
first_query TEXT NOT NULL,
|
||||
queries TEXT NOT NULL,
|
||||
link TEXT,
|
||||
crawled_at TEXT NOT NULL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_headlines_published ON headlines (published_at);
|
||||
CREATE TABLE IF NOT EXISTS crawl_log (
|
||||
query TEXT NOT NULL,
|
||||
window_start TEXT NOT NULL,
|
||||
items INTEGER NOT NULL,
|
||||
new_headlines INTEGER NOT NULL,
|
||||
crawled_at TEXT NOT NULL,
|
||||
PRIMARY KEY (query, window_start)
|
||||
);
|
||||
"""
|
||||
|
||||
_SPACE = re.compile(r"\s+")
|
||||
|
||||
|
||||
def normalise(text: str) -> str:
|
||||
return _SPACE.sub(" ", html.unescape(text)).strip()
|
||||
|
||||
|
||||
def headline_key(headline: str) -> str:
|
||||
"""Hash of the case-folded, whitespace-collapsed headline."""
|
||||
return hashlib.sha256(normalise(headline).casefold().encode("utf-8")).hexdigest()
|
||||
|
||||
|
||||
def strip_publisher(title: str, publisher: str | None) -> str:
|
||||
"""Google appends ' - Publisher' to every title; drop it."""
|
||||
title = normalise(title)
|
||||
if publisher:
|
||||
suffix = f" - {normalise(publisher)}"
|
||||
if title.endswith(suffix):
|
||||
return title[: -len(suffix)].strip()
|
||||
return title
|
||||
|
||||
|
||||
def windows_of(start: date, end: date, days: int):
|
||||
day = start
|
||||
while day < end:
|
||||
yield day, min(day + timedelta(days=days), end)
|
||||
day += timedelta(days=days)
|
||||
|
||||
|
||||
def fetch(url: str, timeout: float) -> bytes:
|
||||
request = urllib.request.Request(url, headers={"User-Agent": USER_AGENT})
|
||||
with urllib.request.urlopen(request, timeout=timeout) as response:
|
||||
return response.read()
|
||||
|
||||
|
||||
def parse_items(payload: bytes):
|
||||
root = ET.fromstring(payload)
|
||||
for item in root.findall("./channel/item"):
|
||||
title = item.findtext("title") or ""
|
||||
publisher = item.findtext("source")
|
||||
published = item.findtext("pubDate")
|
||||
published_at = None
|
||||
if published:
|
||||
try:
|
||||
published_at = email.utils.parsedate_to_datetime(published).astimezone(
|
||||
timezone.utc).isoformat()
|
||||
except (TypeError, ValueError):
|
||||
published_at = None
|
||||
headline = strip_publisher(title, publisher)
|
||||
if headline:
|
||||
yield {
|
||||
"headline": headline,
|
||||
"raw_title": normalise(title),
|
||||
"publisher": publisher,
|
||||
"published_at": published_at,
|
||||
"link": item.findtext("link"),
|
||||
}
|
||||
|
||||
|
||||
def store(conn: sqlite3.Connection, query: str, items) -> tuple[int, int]:
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
seen = new = 0
|
||||
for it in items:
|
||||
seen += 1
|
||||
key = headline_key(it["headline"])
|
||||
row = conn.execute("SELECT queries FROM headlines WHERE hash = ?", (key,)).fetchone()
|
||||
if row is None:
|
||||
conn.execute(
|
||||
"INSERT INTO headlines (hash, headline, raw_title, publisher, published_at,"
|
||||
" first_query, queries, link, crawled_at) VALUES (?,?,?,?,?,?,?,?,?)",
|
||||
(key, it["headline"], it["raw_title"], it["publisher"], it["published_at"],
|
||||
query, query, it["link"], now))
|
||||
new += 1
|
||||
elif query not in row[0].split("|"):
|
||||
conn.execute("UPDATE headlines SET queries = ? WHERE hash = ?",
|
||||
(row[0] + "|" + query, key))
|
||||
return seen, new
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--db", type=Path, default=DEFAULT_DB)
|
||||
ap.add_argument("--start", type=date.fromisoformat, default=date(2019, 1, 7))
|
||||
ap.add_argument("--end", type=date.fromisoformat, default=date(2026, 9, 1))
|
||||
ap.add_argument("--delay", type=float, default=2.0, help="seconds between requests")
|
||||
ap.add_argument("--timeout", type=float, default=20.0)
|
||||
ap.add_argument("--limit", type=int, default=0, help="stop after N requests (0 = all)")
|
||||
ap.add_argument("--query-set", choices=sorted(QUERY_SETS), default="precise")
|
||||
ap.add_argument("--window-days", type=int, default=0,
|
||||
help="search window length (default: 7 broad, 14 precise; precise "
|
||||
"queries return 3-15 items a week, far under the 100 cap)")
|
||||
ap.add_argument("--max-refusals", type=int, default=5,
|
||||
help="stop after this many consecutive 429/503 responses")
|
||||
args = ap.parse_args()
|
||||
|
||||
args.db.parent.mkdir(parents=True, exist_ok=True)
|
||||
conn = sqlite3.connect(args.db)
|
||||
conn.executescript(SCHEMA)
|
||||
done = {(q, w) for q, w in conn.execute("SELECT query, window_start FROM crawl_log")}
|
||||
queries = QUERY_SETS[args.query_set]
|
||||
days = args.window_days or (14 if args.query_set == "precise" else 7)
|
||||
windows = list(windows_of(args.start, args.end, days))
|
||||
# Seeded shuffle, window-major: an interrupted crawl still covers
|
||||
# every year and every query evenly, so a pilot on a partial crawl
|
||||
# is not all 2019.
|
||||
random.Random(0).shuffle(windows)
|
||||
todo = [(q, a, b) for a, b in windows for q in queries if (q, a.isoformat()) not in done]
|
||||
print(f"{args.query_set}: {len(windows)} windows of {days} days x {len(queries)} queries; "
|
||||
f"{len(done)} done, {len(todo)} to go", flush=True)
|
||||
|
||||
requests = refusals = 0
|
||||
started = time.monotonic()
|
||||
for query, a, b in todo:
|
||||
if args.limit and requests >= args.limit:
|
||||
break
|
||||
q = f"{query} after:{a.isoformat()} before:{b.isoformat()}"
|
||||
url = FEED_URL.format(q=urllib.parse.quote_plus(q))
|
||||
try:
|
||||
payload = fetch(url, args.timeout)
|
||||
except urllib.error.HTTPError as error:
|
||||
if error.code in (429, 503):
|
||||
refusals += 1
|
||||
wait = min(600, 30 * 2 ** (refusals - 1))
|
||||
print(f"HTTP {error.code} on {q!r}; refusal {refusals}, sleeping {wait}s",
|
||||
flush=True)
|
||||
if refusals >= args.max_refusals:
|
||||
print("too many refusals, stopping; rerun later to resume", flush=True)
|
||||
break
|
||||
time.sleep(wait)
|
||||
continue
|
||||
print(f"HTTP {error.code} on {q!r}; skipped", flush=True)
|
||||
time.sleep(args.delay)
|
||||
continue
|
||||
except (urllib.error.URLError, TimeoutError, OSError) as error:
|
||||
print(f"network error on {q!r}: {error}; skipped", flush=True)
|
||||
time.sleep(args.delay * 5)
|
||||
continue
|
||||
refusals = 0
|
||||
requests += 1
|
||||
try:
|
||||
seen, new = store(conn, query, parse_items(payload))
|
||||
except ET.ParseError as error:
|
||||
print(f"bad XML for {q!r}: {error}; skipped", flush=True)
|
||||
time.sleep(args.delay)
|
||||
continue
|
||||
conn.execute(
|
||||
"INSERT OR REPLACE INTO crawl_log VALUES (?,?,?,?,?)",
|
||||
(query, a.isoformat(), seen, new, datetime.now(timezone.utc).isoformat()))
|
||||
conn.commit()
|
||||
if requests % 100 == 0:
|
||||
total = conn.execute("SELECT count(*) FROM headlines").fetchone()[0]
|
||||
rate = requests / (time.monotonic() - started)
|
||||
print(f"{requests} requests, window {a}, {total} unique headlines, "
|
||||
f"{rate * 60:.0f} req/min", flush=True)
|
||||
time.sleep(args.delay)
|
||||
|
||||
total = conn.execute("SELECT count(*) FROM headlines").fetchone()[0]
|
||||
print(f"done: {requests} requests this run, {total} unique headlines in {args.db}",
|
||||
flush=True)
|
||||
conn.close()
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
@@ -0,0 +1,219 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Label crawled historical headlines with DeepSeek's live XAU prompt.
|
||||
|
||||
Reads data/history.db (crawl_google_news.py), picks unlabelled
|
||||
headlines by round-robin over (quarter, query) strata so any budget
|
||||
covers every year and topic evenly — ``--broad-share`` of them from the
|
||||
broad crawl (mostly not gold-relevant), the rest from the precise
|
||||
``intitle:`` crawl — and sends them through the live
|
||||
ForexBot2 DeepSeek path (eval_common.DeepSeekScorer: same prompt sha1,
|
||||
batches of 25, disk cache). Answers go to the ``labels`` table.
|
||||
|
||||
Excluded before any spend: headlines already labelled, anything whose
|
||||
normalised text is in the golden set (it must never reach training) or
|
||||
in newsdata.db (already labelled there), junk titles shorter than
|
||||
20 or longer than 200 characters, and non-Latin (CJK) wire headlines.
|
||||
|
||||
Budget: ``--max-calls`` is a hard stop on DeepSeek requests for this
|
||||
run. The research client gets its own UTC-day cap (``--daily-cap``),
|
||||
counted in this process only, so the live bot's cap is untouched.
|
||||
|
||||
Usage (ForexBot2 venv, it has the DeepSeek client):
|
||||
PY=/home/harwinder/Development/ForexBot2/venv/bin/python
|
||||
$PY data_collect/label_history.py --max-calls 40 # pilot
|
||||
$PY data_collect/label_history.py --report-only # label mix per year
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import random
|
||||
import sqlite3
|
||||
import sys
|
||||
from collections import defaultdict
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
|
||||
ML_NEWS_DIR = Path(__file__).resolve().parent.parent
|
||||
sys.path.insert(0, str(ML_NEWS_DIR / "eval"))
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
from crawl_google_news import DEFAULT_DB, QUERY_SETS, normalise # noqa: E402
|
||||
from eval_common import BATCH_CAP, load_golden # noqa: E402
|
||||
|
||||
LABEL_CACHE = ML_NEWS_DIR / "data" / "history_deepseek_cache.json"
|
||||
NEWSDATA_DB = ML_NEWS_DIR / "newsdata.db"
|
||||
CHUNK = BATCH_CAP * 10
|
||||
|
||||
LABELS_SCHEMA = """
|
||||
CREATE TABLE IF NOT EXISTS labels (
|
||||
hash TEXT PRIMARY KEY,
|
||||
s REAL NOT NULL,
|
||||
xau REAL NOT NULL,
|
||||
model TEXT NOT NULL,
|
||||
prompt_sha1 TEXT NOT NULL,
|
||||
labelled_at TEXT NOT NULL
|
||||
);
|
||||
"""
|
||||
|
||||
|
||||
def text_key(headline: str) -> str:
|
||||
return normalise(headline).casefold()
|
||||
|
||||
|
||||
def is_latin(headline: str) -> bool:
|
||||
"""Reuters' Chinese and Japanese wires match ``intitle:GDP`` and
|
||||
``intitle:PMI`` too; the live feed is English, so don't pay to label
|
||||
them. Allows accents and symbols, rejects CJK-heavy text."""
|
||||
non_ascii = sum(ord(ch) > 0x24F for ch in headline)
|
||||
return non_ascii <= max(2, len(headline) // 10)
|
||||
|
||||
|
||||
def excluded_texts() -> set[str]:
|
||||
keys = {text_key(g["headline"]) for g in load_golden()}
|
||||
if NEWSDATA_DB.is_file():
|
||||
uri = f"{NEWSDATA_DB.resolve().as_uri()}?mode=ro"
|
||||
with sqlite3.connect(uri, uri=True) as conn:
|
||||
keys |= {text_key(h) for (h,) in conn.execute("SELECT headline FROM headlines")}
|
||||
return keys
|
||||
|
||||
|
||||
def quarter(published_at: str | None) -> str:
|
||||
if not published_at or len(published_at) < 7:
|
||||
return "unknown"
|
||||
return f"{published_at[:4]}Q{(int(published_at[5:7]) - 1) // 3 + 1}"
|
||||
|
||||
|
||||
def _round_robin(strata: dict, n: int, rng: random.Random) -> list[tuple[str, str]]:
|
||||
for items in strata.values():
|
||||
rng.shuffle(items)
|
||||
order = sorted(strata)
|
||||
rng.shuffle(order)
|
||||
chosen: list[tuple[str, str]] = []
|
||||
depth = 0
|
||||
while len(chosen) < n and any(len(strata[s]) > depth for s in order):
|
||||
for s in order:
|
||||
if depth < len(strata[s]):
|
||||
chosen.append(strata[s][depth])
|
||||
if len(chosen) >= n:
|
||||
break
|
||||
depth += 1
|
||||
return chosen
|
||||
|
||||
|
||||
def pick(conn: sqlite3.Connection, n: int, seed: int,
|
||||
broad_share: float, only_queries: set[str] | None = None) -> list[tuple[str, str]]:
|
||||
"""Round-robin over (quarter, query) strata, random within each, from
|
||||
two pools: headlines any ``intitle:`` query found (mostly gold
|
||||
doctrine) and broad-only ones (mostly news that does not move gold).
|
||||
``broad_share`` of the picks come from the broad pool. With
|
||||
``only_queries`` (a crawler query set), only headlines one of those
|
||||
queries found are eligible, and the stratum is that query."""
|
||||
skip = excluded_texts()
|
||||
pools: dict[str, dict] = {"precise": defaultdict(list), "broad": defaultdict(list)}
|
||||
rows = conn.execute(
|
||||
"SELECT h.hash, h.headline, h.published_at, h.first_query, h.queries FROM headlines h"
|
||||
" LEFT JOIN labels l ON l.hash = h.hash WHERE l.hash IS NULL")
|
||||
for key, headline, published_at, first_query, queries in rows:
|
||||
if not 20 <= len(headline) <= 200 or text_key(headline) in skip \
|
||||
or not is_latin(headline):
|
||||
continue
|
||||
found = queries.split("|")
|
||||
if only_queries is not None:
|
||||
found = [q for q in found if q in only_queries]
|
||||
if not found:
|
||||
continue
|
||||
precise = [q for q in found if q.startswith("intitle:")]
|
||||
pool = "precise" if precise else "broad"
|
||||
pools[pool][(quarter(published_at), precise[0] if precise else first_query)].append(
|
||||
(key, headline))
|
||||
rng = random.Random(seed)
|
||||
n_broad = round(n * broad_share)
|
||||
chosen = _round_robin(pools["precise"], n - n_broad, rng)
|
||||
chosen += _round_robin(pools["broad"], n - len(chosen), rng)
|
||||
rng.shuffle(chosen)
|
||||
print(f"pools: precise {sum(map(len, pools['precise'].values()))}, broad "
|
||||
f"{sum(map(len, pools['broad'].values()))} unlabelled; picked {len(chosen)}")
|
||||
return chosen
|
||||
|
||||
|
||||
def report(conn: sqlite3.Connection) -> None:
|
||||
rows = conn.execute(
|
||||
"SELECT substr(h.published_at, 1, 4), l.xau FROM labels l"
|
||||
" JOIN headlines h ON h.hash = l.hash").fetchall()
|
||||
by_year: dict[str, list[float]] = defaultdict(list)
|
||||
for year, xau in rows:
|
||||
by_year[year or "????"].append(xau)
|
||||
print(f"{len(rows)} labelled headlines")
|
||||
print(f" {'year':<5} {'n':>6} {'bear':>6} {'irrel':>6} {'bull':>6} "
|
||||
f"{'relevant':>9} {'mean xau':>9}")
|
||||
for year in sorted(by_year):
|
||||
xs = by_year[year]
|
||||
bear = sum(x <= -0.25 for x in xs)
|
||||
bull = sum(x >= 0.25 for x in xs)
|
||||
irrel = sum(abs(x) <= 0.10 for x in xs)
|
||||
print(f" {year:<5} {len(xs):>6} {bear:>6} {irrel:>6} {bull:>6} "
|
||||
f"{(bear + bull) / len(xs):>8.1%} {sum(xs) / len(xs):>+9.3f}")
|
||||
print(" (relevant = |xau| >= 0.25, irrel = |xau| <= 0.10, the rest is the grey zone)")
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--db", type=Path, default=DEFAULT_DB)
|
||||
ap.add_argument("--max-calls", type=int, default=40,
|
||||
help="hard stop on DeepSeek requests this run (25 headlines each)")
|
||||
ap.add_argument("--daily-cap", type=int, default=0,
|
||||
help="research client UTC-day cap (default: max-calls + 20)")
|
||||
ap.add_argument("--broad-share", type=float, default=0.3,
|
||||
help="share of picks from broad-only headlines (not-relevant side)")
|
||||
ap.add_argument("--query-set", choices=sorted(QUERY_SETS), default=None,
|
||||
help="only label headlines found by this crawler query set")
|
||||
ap.add_argument("--seed", type=int, default=42)
|
||||
ap.add_argument("--timeout", type=float, default=60.0)
|
||||
ap.add_argument("--no-network", action="store_true")
|
||||
ap.add_argument("--report-only", action="store_true")
|
||||
args = ap.parse_args()
|
||||
|
||||
conn = sqlite3.connect(args.db, timeout=60)
|
||||
conn.executescript(LABELS_SCHEMA)
|
||||
if args.report_only:
|
||||
report(conn)
|
||||
return 0
|
||||
|
||||
from eval_common import DeepSeekScorer
|
||||
ds = DeepSeekScorer(cache_path=LABEL_CACHE, timeout=args.timeout,
|
||||
no_network=args.no_network,
|
||||
daily_cap=args.daily_cap or args.max_calls + 20)
|
||||
print(f"DeepSeek {ds.model}, prompt {ds.prompt_sha1[:8]}; budget {args.max_calls} calls")
|
||||
|
||||
chosen = pick(conn, args.max_calls * BATCH_CAP, args.seed, args.broad_share,
|
||||
set(QUERY_SETS[args.query_set]) if args.query_set else None)
|
||||
print(f"selected {len(chosen)} unlabelled headlines")
|
||||
labelled = 0
|
||||
for start in range(0, len(chosen), CHUNK):
|
||||
if ds.calls >= args.max_calls:
|
||||
break
|
||||
room = (args.max_calls - ds.calls) * BATCH_CAP
|
||||
part = chosen[start:start + min(CHUNK, room)]
|
||||
answers = ds.score_many([h for _, h in part])
|
||||
now = datetime.now(timezone.utc).isoformat()
|
||||
rows = [(key, a["s"], a["xau"], ds.model, ds.prompt_sha1, now)
|
||||
for (key, _), a in zip(part, answers) if a is not None]
|
||||
conn.executemany("INSERT OR REPLACE INTO labels VALUES (?,?,?,?,?,?)", rows)
|
||||
conn.commit()
|
||||
labelled += len(rows)
|
||||
print(f" {labelled} labelled, {ds.calls} calls "
|
||||
f"({ds.failed_calls} failed), {ds.cache_hits} from cache", flush=True)
|
||||
if not ds.available and not rows:
|
||||
break
|
||||
|
||||
stats = ds.stats()
|
||||
print(f"this run: {stats['calls']} calls, {stats['failed_calls']} failed, "
|
||||
f"{labelled} headlines labelled")
|
||||
report(conn)
|
||||
conn.close()
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
@@ -0,0 +1,54 @@
|
||||
# ML-NEWS model vs DeepSeek — evaluation scripts
|
||||
|
||||
Research scripts only. They live here, outside the ForexBot2 git tree,
|
||||
and nothing in ForexBot2 imports them. They read ForexBot2's live news
|
||||
code and its `logs/newsdata.db` read-only, and they never write to it.
|
||||
|
||||
Run every script with the ForexBot2 venv (it has `requests`, `pandas`
|
||||
and the live news engine; the model loads there with identical output):
|
||||
|
||||
```bash
|
||||
cd /home/harwinder/Development/ML-NEWS/eval
|
||||
/home/harwinder/Development/ForexBot2/venv/bin/python eval_golden.py
|
||||
/home/harwinder/Development/ForexBot2/venv/bin/python eval_archive.py --reprobe 100
|
||||
/home/harwinder/Development/ForexBot2/venv/bin/python eval_live.py --max-age-hours 24
|
||||
./run_all.sh # the three in order
|
||||
```
|
||||
|
||||
Add `--no-network` to any of them to report from the DeepSeek cache
|
||||
without spending. DeepSeek answers are cached in
|
||||
`results/deepseek_cache.json`, keyed by headline, prompt sha1 and model,
|
||||
so a headline is paid for once; a prompt change invalidates the cache
|
||||
by itself.
|
||||
|
||||
## What each script measures
|
||||
|
||||
| Script | Truth | Question it answers |
|
||||
|---|---|---|
|
||||
| `eval_golden.py` | 78 reviewer-labelled headlines (`data/llm_news_golden.csv`, the 2026-08-06 set where DeepSeek scored 78/78 and keywords 24/78) | Is the model *right*, per category, including negation traps and inverted metrics; and is DeepSeek still 78/78 today |
|
||||
| `eval_archive.py` | DeepSeek's own archived XAU scores | How well the recipe copies DeepSeek on days it never saw (expanding daily folds, headline+description vs headline only, keyword fallback for context); which confidence/margin thresholds keep how many headlines local at what agreement; how often DeepSeek agrees with itself on re-scoring (`--reprobe`), which is the ceiling for any student |
|
||||
| `eval_live.py` | DeepSeek live, on today's feed | Shadow mode: agreement on fresh headlines from the real feeds, split by gold-mentioning / not-in-training; accumulates in `results/live_shadow.jsonl` across days |
|
||||
|
||||
Why three: the model was trained on DeepSeek's labels, so agreement on
|
||||
the archive says how well the student copies the teacher, not whether
|
||||
either is right. The golden set is the only independent truth. The live
|
||||
log grows the out-of-sample set over time.
|
||||
|
||||
## Grading rules
|
||||
|
||||
* Golden set: a continuous XAU score is bullish at ≥ +0.15, bearish at
|
||||
≤ −0.15, neutral in between (the August rule). The model is graded by
|
||||
its native argmax label and, separately, by its score through the
|
||||
same band.
|
||||
* Archive and live: DeepSeek xau → class at ±0.05, the ML-NEWS trainer's
|
||||
own label rule; model = argmax label.
|
||||
* `dir` = expected non-neutral rows predicted with the right sign (a
|
||||
neutral prediction is a miss). `sign` = same sign when both lean.
|
||||
McNemar is exact and two-sided on discordant pairs.
|
||||
|
||||
## Outputs
|
||||
|
||||
`results/golden_<ts>.{json,csv}`, `results/archive_<ts>.json`,
|
||||
`results/archive_oof_<ts>.csv` (every out-of-fold prediction),
|
||||
`results/archive_reprobe_<ts>.csv`, `results/live_<ts>.json`,
|
||||
`results/live_shadow.jsonl` (append-only, deduplicated by headline hash).
|
||||
@@ -0,0 +1,171 @@
|
||||
# ML-NEWS scikit model vs DeepSeek — first evaluation, 2026-09-17
|
||||
|
||||
Model under test: `models/xauusd_sentiment.joblib` (TF-IDF word + char,
|
||||
logistic regression, trained 2026-09-17 on 606 DeepSeek-labelled
|
||||
gold headlines from Sep 8–17). Teacher: DeepSeek `deepseek-v4-flash`
|
||||
through ForexBot2's live prompt (sha1 `d32e04c6`). Scripts and raw
|
||||
outputs: this folder (`results/*_20260917_22*`). DeepSeek spend for the
|
||||
whole exercise: 11 calls.
|
||||
|
||||
## Verdict
|
||||
|
||||
The model is a partial copy of DeepSeek, not a replacement. It has
|
||||
learned what gold-specific headline words mean and nothing else:
|
||||
perfect on direct gold news and safe-haven stories, near random on
|
||||
macro doctrine (hawkish/dovish Fed, dollar, yields, risk-on), zero on
|
||||
negation, and it assigns a direction to irrelevant headlines. DeepSeek
|
||||
is still 78/78 on the independent set today.
|
||||
|
||||
| Test | Truth | Model | DeepSeek | Keyword fallback |
|
||||
|---|---|---|---|---|
|
||||
| Golden set, 78 reviewer-labelled headlines, 3-class | human | **39/78 = 50.0%** | **78/78 = 100%** | 24/78 = 30.8% |
|
||||
| Golden set, directional rows only (70), right sign | human | 38/70 = 54.3% | 70/70 | 16/70 |
|
||||
| Archive, expanding daily folds, pooled OOF (567 rows), 3-class | DeepSeek | 64.4% | (is the label) | 44.4% |
|
||||
| Archive OOF, sign agreement when both lean | DeepSeek | 74.8% | | 86.8% (on 152 rows only) |
|
||||
| Live feed, last 24 h, 66 headlines not in training, 3-class | DeepSeek | 57.6% (66.7% headline-only) | | 39.4% |
|
||||
| Live feed, gold-mentioning and not in training (37) | DeepSeek | 70.3% (75.7% headline-only) | | 35.1% |
|
||||
| DeepSeek re-scored 100 archived headlines (teacher self-agreement) | DeepSeek (earlier) | | 90.0% 3-class, 98.6% sign | |
|
||||
|
||||
Paired McNemar on the golden set: model vs DeepSeek 0 vs 39 discordant
|
||||
(p < 0.0001); model vs keyword 28 vs 13 (p = 0.028). The model beats
|
||||
the keyword fallback and loses to DeepSeek by a wide margin.
|
||||
|
||||
## Golden set by category (hits / n): model | DeepSeek | keyword
|
||||
|
||||
```
|
||||
distractors 1/8 | 8/8 | 8/8 irrelevant news gets a direction
|
||||
dovish_fed 6/8 | 8/8 | 7/8
|
||||
gold_direct 8/8 | 8/8 | 4/8 learned
|
||||
hawkish_fed 3/8 | 8/8 | 2/8 "Hot CPI fuels Fed tightening" -> bullish
|
||||
inverted_metrics 3/6 | 6/6 | 0/6
|
||||
negation_traps 0/8 | 8/8 | 2/8 "signals no rate hike" -> bearish 0.85 conf
|
||||
real_yields 3/6 | 6/6 | 1/6
|
||||
risk_on 1/4 | 4/4 | 0/4
|
||||
safe_haven 8/8 | 8/8 | 0/8 learned
|
||||
strong_usd 2/7 | 7/7 | 0/7 "Greenback rallies" -> bullish
|
||||
weak_usd 4/7 | 7/7 | 0/7
|
||||
```
|
||||
|
||||
The model's confidence does not flag its errors on this set: the
|
||||
negation-trap miss above carries 0.85 confidence and the "consumer
|
||||
confidence surges" miss 0.82.
|
||||
|
||||
## Archive time-split (retrain on days < d, score day d)
|
||||
|
||||
```
|
||||
day train test | full acc F1 | head acc F1 | keyword
|
||||
09-10 49 87 | 62.1% 0.626 | 51.7% 0.521 | 47.1%
|
||||
09-11 136 91 | 52.7% 0.524 | 53.8% 0.525 | 39.6%
|
||||
09-14 227 130 | 76.9% 0.714 | 72.3% 0.656 | 58.5%
|
||||
09-15 357 84 | 69.0% 0.656 | 61.9% 0.605 | 44.0%
|
||||
09-16 441 115 | 55.7% 0.545 | 54.8% 0.531 | 33.0%
|
||||
09-17 556 60 | 68.3% 0.643 | 75.0% 0.703 | 40.0%
|
||||
pooled — 567 | 64.4% 0.636 | 61.4% 0.607 | 44.4%
|
||||
```
|
||||
|
||||
"full" = headline + description (the shipped recipe), "head" =
|
||||
headline only. Agreement does not rise with more training days yet;
|
||||
the day-to-day swing (53–77%) is larger than any trend. In-sample the
|
||||
shipped bundle scores 97.4%, so the gap to 64% is generalisation, not
|
||||
capacity. The description helps a little on the archive folds and
|
||||
hurts on the live sample (60.5% vs 68.4%); both differences are inside
|
||||
the noise of these sample sizes.
|
||||
|
||||
## Ceiling: DeepSeek disagrees with itself
|
||||
|
||||
Re-sending 100 archived headlines today (same prompt, same model,
|
||||
temperature 0, different batch neighbours): 90% same class, 93%
|
||||
directional, 98.6% same sign, but only 42% the identical number, mean
|
||||
|difference| 0.09. A student cannot exceed about 90% class agreement on
|
||||
this label. Where DeepSeek changed its class (9 rows) the OOF model
|
||||
matched one of its two answers on 7.
|
||||
|
||||
## Confidence routing (pooled OOF, shipped recipe)
|
||||
|
||||
```
|
||||
conf >= kept share kept agreement hybrid agreement (rest to DeepSeek)
|
||||
0.60 44% 80.9% 91.5%
|
||||
0.70 28% 87.4% 96.5%
|
||||
0.80 17% 95.8% 99.3%
|
||||
0.90 6.5% 100.0% 100.0%
|
||||
```
|
||||
|
||||
The WORKFLOW doc's 0.70 / 0.20 starting point keeps 28% of headlines
|
||||
local at 87% agreement with DeepSeek. That saves roughly a quarter of
|
||||
the calls, which are 56 ms and a fraction of a cent per headline in
|
||||
batches of 25 anyway. The golden set shows the caveat: high confidence
|
||||
on a macro or negated headline is not a reliable signal there.
|
||||
|
||||
## Structural findings
|
||||
|
||||
1. **Training covers gold-mentioning headlines only.** The archive
|
||||
stores DeepSeek's XAU score only when the headline matches a gold
|
||||
keyword; for USD-only headlines only the overall score is kept and
|
||||
DeepSeek's xau is discarded (`_apply_llm_sentiment`). So the model
|
||||
never saw a Fed, dollar or yields headline that did not also say
|
||||
"gold", which is exactly where it fails. Live, 29 of the 76
|
||||
headlines were USD-only; the model was at 60% on them versus 72–77%
|
||||
on gold-mentioning ones. Archiving DeepSeek's xau for every headline
|
||||
would fix the training set at no extra cost.
|
||||
2. **Nine days of data spanning one regime** (a Fed hiking cycle in
|
||||
September 2026). The 2026-09-08 rule stands: do not deploy before
|
||||
about 4,000 labelled headlines over three or more weeks.
|
||||
3. **Negation and doctrine are not learnable from 606 bag-of-words
|
||||
examples**; the regex domain markers catch "dollar ... strengthen"
|
||||
but not "greenback rallies" or "dollar index hits high".
|
||||
4. **Latency**: model 1 ms per headline in-process; DeepSeek 56 ms per
|
||||
headline (1.4 s per batch of 25). Latency is not the constraint.
|
||||
|
||||
## Addendum: backfilling the missing gold labels (same day)
|
||||
|
||||
`backfill_labels.py` sent the 961 archive headlines without a gold
|
||||
label (930 DeepSeek-scored without a gold key, 31 never scored) through
|
||||
the live DeepSeek path: 38 calls, all labelled, kept in
|
||||
`results/backfill_labels.jsonl`. Macro labels at ±0.05: 350 bearish,
|
||||
228 bullish, 383 neutral (40% neutral versus 22% on gold headlines).
|
||||
|
||||
| Training set | Gold-headline OOF | Macro-headline OOF | Golden set |
|
||||
|---|---|---|---|
|
||||
| gold rows only (616, shipped data) | 64.4% | 38.4% | 39/78 |
|
||||
| gold + macro rows (1,577) | 61.6% | 51.8% | 42/78 |
|
||||
|
||||
Adding the macro headlines lifts macro agreement by 13 points but
|
||||
costs 3 points on gold headlines, and the golden-set change is a
|
||||
reshuffle, not a fix: distractors 1→6, hawkish 3→5, strong-USD 2→4,
|
||||
weak-USD 4→6, but dovish 6→3, safe-haven 8→4, risk-on 1→0. On nine
|
||||
days of one regime the linear model cannot hold both worlds at once.
|
||||
The missing-label problem was real, but repairing it on the existing
|
||||
corpus does not produce a usable model; it makes the corpus complete
|
||||
so that weeks of further collection can.
|
||||
|
||||
Side finding for the live system: on the 930 macro headlines, the gold
|
||||
reading the platform displays for a non-gold headline (the inverted
|
||||
overall score, `_gold_direction_label`) matches DeepSeek's own gold
|
||||
score only 61% of the time (sign 77%). Display-only, but the macro
|
||||
persona and the summary read that label.
|
||||
|
||||
`experiment_recipe.py` (same day): stripping the publisher suffix,
|
||||
marking negated words and weighting confident labels moved OOF
|
||||
agreement by less than a point and the golden set to 40–42/78;
|
||||
negation traps went from 0/8 to 2/8. Cleaning is not the bottleneck.
|
||||
|
||||
## After the archive patch (drafted the same day in ForexBot2)
|
||||
|
||||
Once the ForexBot2 patch is live, `logs/newsdata.db` gains a
|
||||
`xau_score` column holding DeepSeek's gold score for every LLM-scored
|
||||
row, and headlines naming no tracked currency arrive with
|
||||
`currencies_json = []`. `news_sentiment.py` still reads its label from
|
||||
`score_by_currency_json["XAU"]`, so it will keep seeing only the
|
||||
gold-keyword rows until its loader is switched to `xau_score`
|
||||
(fall back to the JSON key for rows older than the column). Skip rows
|
||||
whose `source` is a test feed (`feed.example`, `good.example`): the
|
||||
ForexBot2 test suite used to write fixture headlines into the real
|
||||
archive; they are keyword-scored, so the `score_source = 'llm'` filter
|
||||
already excludes them.
|
||||
|
||||
## How to keep measuring
|
||||
|
||||
`eval_live.py` appends every fresh headline to
|
||||
`results/live_shadow.jsonl`; run it daily and the out-of-sample sample
|
||||
grows for free (cached DeepSeek answers are never re-bought). Re-run
|
||||
`eval_golden.py` after any retrain; it is the only independent truth.
|
||||
@@ -0,0 +1,124 @@
|
||||
# Retrain on the Sep 8–22 archive, 2026-09-22
|
||||
|
||||
Data: `newsdata.db` copied from the 2026-09-22 archive, with 2,665 headlines.
|
||||
- 2,661 rows are `score_source='llm'`, scored by `deepseek-v4-flash` with prompt `d32e04c6`.
|
||||
- 4 rows are keyword-scored and not used.
|
||||
- **Every label is DeepSeek's, not a human's or a trader's.** The 78-headline golden set is still the only
|
||||
independent truth.
|
||||
|
||||
The ForexBot2 archive patch is live: `xau_score` is filled for every LLM row from 2026-09-18 on (1,064 rows).
|
||||
Where a row also has a JSON `XAU` key (319 rows), the two values match on all of them.
|
||||
|
||||
DeepSeek spend for this run: 0 calls (`--no-network`, everything came from the cache).
|
||||
|
||||
## What changed in the code
|
||||
|
||||
- **`news_sentiment.py`:** the label is taken from `xau_score`, then the JSON `XAU` key, then `--extra-labels`
|
||||
(backfill JSONL keyed by hash).
|
||||
- Rows from test feeds are dropped.
|
||||
- `--scope all|gold` was added.
|
||||
- The metrics now record `label_sources`, `scope` and `published_range`.
|
||||
- The model format is unchanged.
|
||||
- **`eval_common.load_archive_rows`:** uses the same label order and sets `xau_src` and `gold` (whether the row
|
||||
has a JSON XAU key) on each row.
|
||||
- **`eval_golden.py`:** new `--model` option.
|
||||
- **`eval_archive.py`:** new `--model`, `--extra-labels` and `--train-scope` options.
|
||||
- Part A now also scores rows published after the bundle's `trained_at`. For the 09-17 bundle those rows
|
||||
are out of sample.
|
||||
- Part B pools its results by gold rows, macro rows and days on or after 09-18.
|
||||
- In Part B the test day is always every labelled row, so both train scopes are graded on the same rows.
|
||||
|
||||
## Candidates
|
||||
|
||||
| Model | Train rows | Labels (bear / neu / bull) | Stratified acc / F1 | Chronological acc / F1 |
|
||||
|---|---|---|---|---|
|
||||
| shipped 09-17 (gold only, Sep 8–17) | 606 | 250 / 135 / 221 | 73.0% / 0.709 | 69.7% / 0.671 |
|
||||
| `--scope gold` (Sep 8–22) | 945 | 359 / 202 / 384 | 80.4% / 0.793 | 74.6% / 0.734 |
|
||||
| **`--scope all` + backfill (Sep 8–22)** | **2,620** | 909 / 893 / 818 | 69.3% / 0.689 | 66.6% / 0.659 |
|
||||
|
||||
You can't compare the built-in holdouts across rows of this table:
|
||||
- The `gold` and 09-17 holdouts contain only headlines that mention gold, which are the easy ones.
|
||||
- The `all` holdout is 64% macro headlines.
|
||||
|
||||
The next two sections grade every model on the same rows.
|
||||
|
||||
## Same unseen rows: Sep 18–22 (1,022–1,066 headlines, DeepSeek label at ±0.05)
|
||||
|
||||
| Model | All | Gold-key | Macro |
|
||||
|---|---|---|---|
|
||||
| shipped 09-17 bundle (never saw these days) | 45.9% (F1 0.455) | 68.2% | 36.2% |
|
||||
| `gold` recipe, retrained daily on days < d | 48.3% (F1 0.478) | **73.8%** | 37.1% |
|
||||
| **`all` recipe, retrained daily on days < d** | **62.8% (F1 0.629)** | 71.9% | **58.8%** |
|
||||
|
||||
Pooled over every daily fold from Sep 9–22 (2,566 / 2,530 rows):
|
||||
|
||||
| Recipe | 3-class | Macro-F1 | Gold-key | Macro | Keyword fallback |
|
||||
|---|---|---|---|---|---|
|
||||
| `all` | 58.2% | 0.578 | 65.1% | 54.3% | 44.7% |
|
||||
| `gold` | 48.3% | 0.479 | 67.8% | 37.3% | 44.7% |
|
||||
|
||||
## Golden set (78 reviewer-labelled headlines, argmax label)
|
||||
|
||||
| Model | 3-class | McNemar vs keyword | Spearman vs DeepSeek |
|
||||
|---|---|---|---|
|
||||
| shipped 09-17 | 39/78 (50.0%) | 28 vs 13, p = 0.028 | +0.305 |
|
||||
| `gold` | 40/78 (51.3%) | 29 vs 13, p = 0.020 | +0.310 |
|
||||
| **`all`** | **47/78 (60.3%)** | 31 vs 8, p = 0.0003 | +0.423 |
|
||||
| DeepSeek | 78/78 | | |
|
||||
|
||||
Hits by category, shipped → `all`:
|
||||
|
||||
| Category | Shipped | `all` |
|
||||
|---|---|---|
|
||||
| hawkish_fed | 3 | 8 |
|
||||
| strong_usd | 2 | 5 |
|
||||
| distractors | 1 | 5 |
|
||||
| negation_traps | 0 | 1 |
|
||||
| weak_usd | 4 | 4 |
|
||||
| real_yields | 3 | 3 |
|
||||
| inverted_metrics | 3 | 3 |
|
||||
| dovish_fed | 6 | 4 |
|
||||
| gold_direct | 8 | 7 |
|
||||
| safe_haven | 8 | 7 |
|
||||
| risk_on | 1 | 0 |
|
||||
|
||||
The `all` model's weak spots:
|
||||
- **Easing and falling yields read as bearish.** "Fed cuts rates 25bp" → bearish 0.78, and "Treasury yields sink"
|
||||
→ bearish 0.78. Nearly all of the September macro data comes from a hiking regime, so the model links
|
||||
"Fed" and "yields" with bearish and has almost no examples of easing.
|
||||
- **Risk-on headlines score 0/4.** "Stocks roar to record highs" → bullish.
|
||||
- **Negation still fails** (1/8).
|
||||
|
||||
## Verdict
|
||||
|
||||
**Promoted `--scope all`.** It is now `models/xauusd_sentiment.joblib`. The 09-17 bundle is kept in
|
||||
`models/archive/xauusd_sentiment_20260917.*`, and both candidates are in `models/candidates/`.
|
||||
|
||||
- **Against the shipped model:** on the same unseen days it wins by 17 points overall and 22 points on
|
||||
macro headlines.
|
||||
- **Against the gold-only recipe:** it gives up 1.9 points on gold headlines and gains 21.7 points on macro.
|
||||
- **Golden set:** 39 → 47/78.
|
||||
|
||||
The promotion rule written before the run said "chronological macro-F1 ≥ shipped". **Taken literally, that
|
||||
test fails:** 0.659 against 0.671. The two numbers come from different test sets, one gold-only and one
|
||||
mostly macro. On the same unseen rows the retrained model wins, and that is the comparison the rule was
|
||||
meant to capture.
|
||||
|
||||
This is still not a DeepSeek replacement:
|
||||
- It is 31 golden headlines behind DeepSeek.
|
||||
- It learns only what DeepSeek says, not how price moves.
|
||||
- It has 2,620 labels over 15 days, which is short of the "about 4,000 labels over 3+ weeks" rule. Keep it in
|
||||
shadow mode with DeepSeek as the answer.
|
||||
|
||||
Nothing in ForexBot2 imports the model, so the promotion changes nothing live.
|
||||
|
||||
`ForexBot2/venv` has sklearn 1.9.0 and the bundle was pickled with 1.9.1. That raises an
|
||||
`InconsistentVersionWarning`, which the eval scripts suppress. The 09-17 bundle had the same mismatch. Align
|
||||
the two venvs before any live use.
|
||||
|
||||
## Next
|
||||
|
||||
1. Keep collecting. Every new day adds about 300 labels from `xau_score`. Retrain weekly and rerun both
|
||||
evals.
|
||||
2. Easing and falling yields are the obvious gap. Around 20–40 DeepSeek-labelled dovish, yields-down and
|
||||
risk-on headlines would test whether this gap comes from the regime or from the model.
|
||||
@@ -0,0 +1,288 @@
|
||||
# Two-head transformer trained on history + archive, 2026-09-27
|
||||
|
||||
**Outcome: the transformer passes all four promotion criteria and is exported to `models/xau_transformer/`.**
|
||||
The TF-IDF bundle `models/xauusd_sentiment.joblib` is untouched, and nothing in ForexBot2 imports either
|
||||
model, so nothing changed live.
|
||||
|
||||
DeepSeek spend today: **560 calls** in four runs (20 pilot, 200 full run, 140 precise top-up, 200 growth
|
||||
set; 15 batches failed and were skipped), labelling 13,625 crawled headlines. Every eval ran with
|
||||
`--no-network`.
|
||||
|
||||
**The shipped bundle is from round 3** (see the last section): 17,245 training rows, golden **72/78**,
|
||||
with the two weak categories fixed. Round 1 (8,870 rows, 65/78) and round 2 (12,270 rows, 67/78) are kept
|
||||
below because round 1's val numbers are the cleanest comparison against TF-IDF.
|
||||
|
||||
## Data
|
||||
|
||||
### Labelling the crawl
|
||||
|
||||
The precise crawl (`intitle:<term> site:<publisher>`) was resumed and ran in the background all session.
|
||||
Two DeepSeek runs labelled its pool, plus a 30% share of the broad pool for the not-relevant side:
|
||||
|
||||
| Pool | Labelled | Gold-relevant (|xau| ≥ 0.25) | Bull / bear among relevant |
|
||||
|---|---|---|---|
|
||||
| precise (`intitle:`) | 2,979 | 1,390 (47%) | 870 / 520 |
|
||||
| broad (keyword anywhere) | 3,271 | 320 (10%) | 253 / 67 |
|
||||
| **history total** | **6,250** | 1,710 | |
|
||||
|
||||
- The 20-call pilot on the precise pool alone gave 52% relevant against 7% for the broad pilot on
|
||||
2026-09-23. Spot checks looked right ("Dollar slumps as risk appetite rebounds" +0.50, "This is what a
|
||||
$52 million Hamptons beach house looks like" 0.00).
|
||||
- Relevant share by query term: "rate cut" 87%, "safe haven" 88%, payrolls 80%, "rate hike" 72%, yields
|
||||
65%, Fed 61%, gold 49%, dollar 44%, inflation 38%, Powell 31%.
|
||||
- **Hindsight check:** mean xau per year is +0.02 to +0.06 for 2019–2024, +0.12 for 2025 and 0.00 for 2026.
|
||||
2025 was the big gold rally, so there may be some hindsight in DeepSeek's 2025 labels, but the effect is
|
||||
small and the direction head is trained on sign only.
|
||||
- About 1,900 precise headlines are still unlabelled because the crawl kept adding them; it needs roughly
|
||||
80 more calls.
|
||||
|
||||
### Training set (`transformer/train.py`)
|
||||
|
||||
| | Rows |
|
||||
|---|---|
|
||||
| history labels | 6,250 |
|
||||
| newsdata Sep 8–22 + backfill | 2,637 |
|
||||
| **unique after dedupe, golden removed** | **8,870** |
|
||||
|
||||
| Split | n | relevant | irrelevant | grey | bull | bear |
|
||||
|---|---|---|---|---|---|---|
|
||||
| train | 7,460 | 2,332 | 4,492 | 636 | 1,290 | 1,042 |
|
||||
| dev (random 5%, picks epoch + threshold) | 392 | 119 | 245 | 28 | 72 | 47 |
|
||||
| val (newsdata ≥ 2026-09-18, never used to choose) | 1,018 | 378 | 501 | 139 | 171 | 207 |
|
||||
|
||||
## Sweep on the enlarged set (`microsoft/deberta-v3-small`, lr 5e-5 unless noted)
|
||||
|
||||
| Run | Dev 3-class | Best epoch / thr | Val 3-class | Val macro-F1 | Val rel F1 | Val dir acc |
|
||||
|---|---|---|---|---|---|---|
|
||||
| 4 ep, bs 32 | 0.824 | 4 / 0.25 | 0.708 | 0.704 | 0.830 | 0.907 |
|
||||
| **4 ep, bs 64 (chosen)** | **0.824** | 3 / 0.60 | **0.720** | **0.715** | 0.841 | **0.942** |
|
||||
| 6 ep, bs 32 | 0.814 | 4 / 0.20 | 0.713 | 0.708 | 0.842 | 0.897 |
|
||||
| 8 ep, bs 64 | 0.821 | 8 / 0.40 | 0.709 | 0.704 | 0.836 | 0.905 |
|
||||
| 6 ep, bs 32, lr 3e-5 | 0.821 | 6 / 0.20 | 0.714 | 0.711 | 0.834 | 0.926 |
|
||||
|
||||
The two 4-epoch runs tie on dev; bs 64 has the higher dev relevance F1 (0.869 vs 0.865) and is the script
|
||||
default, so it was chosen. All five runs land within 1.2 points on val: the data did the work, not the
|
||||
hyperparameters.
|
||||
|
||||
For reference, the same sweep on the 3,620-row set before labelling (earlier today) gave dev 0.72–0.78 and
|
||||
val 0.62–0.68, and the chosen model then scored 49/78 golden. deberta-v3-base was also tried on the small
|
||||
set: half a dev point better, but 38.6 ms per headline on 1 thread, over the 20 ms limit.
|
||||
|
||||
## Same unseen rows: Sep 18–22 (DeepSeek label at ±0.05, non-final model)
|
||||
|
||||
| Model | All (n=1,022) | Gold-key (313) | Macro (709) | Rel P / R / F1 | Dir acc on relevant |
|
||||
|---|---|---|---|---|---|
|
||||
| TF-IDF `all` 09-22 (promoted) | 62.8% | 71.9% | 58.8% | | |
|
||||
| Transformer on 3,620 rows | 65.7% (F1 0.656) | 75.1% | 61.5% | 0.685 / 0.895 / 0.776 | 89.8% |
|
||||
| **Transformer on 8,870 rows** | **71.9% (F1 0.714)** | **83.7%** | **66.7%** | 0.802 / 0.885 / 0.841 | **94.2%** |
|
||||
|
||||
The DeepSeek self-agreement ceiling is about 90%, so 72% is 18 points short of "as good as DeepSeek".
|
||||
|
||||
## Golden set (78 reviewer-labelled headlines, argmax label)
|
||||
|
||||
| Model | 3-class | McNemar vs keyword | Spearman vs DeepSeek |
|
||||
|---|---|---|---|
|
||||
| TF-IDF `all` 09-22 | 47/78 (60.3%) | 31 vs 8, p = 0.0003 | +0.423 |
|
||||
| Transformer on 3,620 rows | 49/78 (62.8%) | 30 vs 5 | +0.556 |
|
||||
| Transformer on 8,870 rows, non-final | 62/78 (79.5%) | 40 vs 2 | +0.676 |
|
||||
| **Transformer, `--final` (shipped)** | **65/78 (83.3%)** | 42 vs 1 | +0.775 |
|
||||
| DeepSeek | 78/78 | | |
|
||||
|
||||
The final model also trained on dev and val, but never on the golden set, so its golden score is a fair
|
||||
number. It is 3 headlines above the non-final model, which is within noise for 78 rows.
|
||||
|
||||
Hits by category:
|
||||
|
||||
| Category | TF-IDF | 3,620 rows | 8,870 rows | final |
|
||||
|---|---|---|---|---|
|
||||
| distractors | 5/8 | 7/8 | 8/8 | 8/8 |
|
||||
| safe_haven | 7/8 | 8/8 | 7/8 | 8/8 |
|
||||
| dovish_fed | 4/8 | 5/8 | 7/8 | 8/8 |
|
||||
| real_yields | 3/6 | 4/6 | 5/6 | 6/6 |
|
||||
| negation_traps | 1/8 | 3/8 | 6/8 | 7/8 |
|
||||
| gold_direct | 7/8 | 7/8 | 7/8 | 7/8 |
|
||||
| hawkish_fed | 8/8 | 7/8 | 7/8 | 7/8 |
|
||||
| weak_usd | 4/7 | 5/7 | 6/7 | 6/7 |
|
||||
| inverted_metrics | 3/6 | 2/6 | 6/6 | 4/6 |
|
||||
| strong_usd | 5/7 | 1/7 | 3/7 | 3/7 |
|
||||
| risk_on | 0/4 | 0/4 | 0/4 | 1/4 |
|
||||
|
||||
Remaining weak spots of the shipped model:
|
||||
- **Risk-on is 1/4.** "Stocks roar to record highs as trade deal signed" and "Global equities rally on strong
|
||||
earnings and easing tensions" are bullish at 0.7–0.8. The model reads "rally" as gold rallying.
|
||||
- **Strong US data is 3/7.** "Consumer confidence surges to post-pandemic high" → bullish 0.83, "ISM
|
||||
services index jumps" → bullish 0.52. Good-news-for-the-economy still doesn't map to bad-for-gold
|
||||
reliably. The precise crawl has no query for growth data (GDP, ISM, retail sales, confidence); adding one
|
||||
is the obvious next crawl.
|
||||
- "FOMC minutes reveal growing support for policy easing" is still bearish at 0.63.
|
||||
|
||||
## Export (`transformer/export_onnx.py`, from `torch_final`)
|
||||
|
||||
- `models/xau_transformer/model.onnx`, 271 MB, int8 embedding table, fp32 compute. `tokenizer.json`,
|
||||
`meta.json` (`final: true`, threshold 0.6, `export_checks` inside).
|
||||
- Parity over 500 val headlines: tokenizer 500/500, mean |diff| 0.003–0.004, **0 decision flips**, max
|
||||
|diff| 0.075 on `p_relevant` and 0.059 on `p_bullish`. The script prints `PARITY FAILED` because the max
|
||||
is over its 0.05 tolerance. With zero flips the tolerance is the problem, not the export; it should be
|
||||
loosened to about 0.15, or the check should be flips only.
|
||||
- CPU latency: 18.9 ms on 1 thread, 9.6 ms on 16 threads, about 8.5 ms in the evals (4 threads).
|
||||
|
||||
## Promotion criteria (fixed on 2026-09-22)
|
||||
|
||||
| Criterion | Target | Non-final | Final | |
|
||||
|---|---|---|---|---|
|
||||
| Golden set | ≥ 55/78 | 62/78 | 65/78 | pass |
|
||||
| Distractors | ≥ 6/8 | 8/8 | 8/8 | pass |
|
||||
| Sep 18–22 three-class agreement | ≥ 62.8% | 71.9% | (in-sample) | pass |
|
||||
| CPU latency, 1 thread | ≤ 20 ms | 19.0 ms | 18.9 ms | pass |
|
||||
|
||||
**All four pass.** `train.py --final` was run (8,870 rows, 3 epochs) and the shipped ONNX comes from
|
||||
`torch_final`. The non-final weights (the ones the val numbers above belong to) are in
|
||||
`models/xau_transformer/torch/`.
|
||||
|
||||
What this does and does not mean:
|
||||
- It is a better DeepSeek imitation than TF-IDF: +18 golden headlines, +9 points on unseen days, +35 points
|
||||
of Spearman.
|
||||
- It still learns DeepSeek's opinion, not price moves, and DeepSeek itself only agrees with itself 90% of
|
||||
the time.
|
||||
- The "about 4,000 labels over 3+ weeks" deployment rule is met on count (8,870) but the live-feed part is
|
||||
still one fortnight; the history labels are a different distribution (Reuters/CNBC/MarketWatch titles,
|
||||
not the bot's feeds). Shadow mode first.
|
||||
|
||||
## Next
|
||||
|
||||
1. **Crawl growth data:** add `intitle:` queries for GDP, "retail sales", ISM, "consumer confidence",
|
||||
"jobless claims" and `stocks OR equities` (for risk-on), then label them (about 100–200 calls).
|
||||
2. **Finish labelling the precise pool:** about 1,900 headlines left, roughly 80 calls, plus whatever the
|
||||
crawl adds. The crawl is still running; it has about 3,300 windows to go.
|
||||
3. Retrain weekly as the live archive grows; the whole train → export → eval loop takes under 5 minutes.
|
||||
4. Loosen the export tolerance or make it flips-only.
|
||||
5. Wire into ForexBot2 in shadow mode with `threads=4`, DeepSeek still the answer. Decide the
|
||||
promotion rule for that separately.
|
||||
|
||||
## Round 2: labelling the rest of the precise pool (same day)
|
||||
|
||||
The crawl kept running, so after round 1 there were about 3,500 unlabelled precise headlines. A 140-call
|
||||
run with `--broad-share 0` labelled 3,400 of them (4 batches failed). History labels: 9,650, of which
|
||||
6,185 precise (47% relevant, 1,955 bull / 941 bear) and 3,465 broad (12% relevant). About 570 precise
|
||||
headlines were still unlabelled at the end because the crawl was still adding them.
|
||||
|
||||
Training set: 12,270 unique headlines. Train 10,690 / dev 562 / val 1,018 (val unchanged).
|
||||
|
||||
Default config only (lr 5e-5, 4 epochs, batch 64), no sweep: round 1 showed the hyperparameters don't
|
||||
matter at this size. Dev picked epoch 4, threshold 0.2.
|
||||
|
||||
| | Round 1 (8,870 rows) | Round 2 (12,270 rows) |
|
||||
|---|---|---|
|
||||
| Val 3-class (unseen Sep 18–22) | 72.0% | 71.7% |
|
||||
| Val macro-F1 | 0.715 | 0.715 |
|
||||
| Val relevance P / R / F1 | 0.803 / 0.884 / 0.841 | 0.759 / 0.926 / 0.834 |
|
||||
| Val direction acc on relevant | 94.2% | 93.4% |
|
||||
| Archive eval, Sep 18–22 all / gold / macro | 71.9 / 83.7 / 66.7% | 71.8 / 83.1 / 66.9% |
|
||||
| Golden, non-final | 62/78 | 64/78 |
|
||||
| **Golden, final (shipped)** | 65/78 | **67/78** |
|
||||
| Spearman vs DeepSeek, final | +0.775 | +0.765 |
|
||||
| Export flips / max diff, final | 0 / 0.075 | 4 (0.4%) / 0.104 |
|
||||
| CPU latency, 1 thread | 18.9 ms | 18.9 ms |
|
||||
|
||||
- **The live-feed metric has saturated** at about 72% with this kind of data. The extra 3,400 history
|
||||
labels changed nothing there. More gains on the live feed will have to come from live-feed labels.
|
||||
- **The golden set still moved,** 65 → 67 final. Hawkish Fed went 7 → 8, inverted metrics 4 → 6.
|
||||
- Per category, final: distractors 8/8, dovish_fed 8/8, hawkish_fed 8/8, safe_haven 8/8, inverted_metrics
|
||||
6/6, negation_traps 7/8, gold_direct 7/8, weak_usd 6/7, real_yields 5/6, strong_usd 3/7, risk_on 1/4.
|
||||
- **Strong USD (3/7) and risk-on (1/4) did not move,** as expected: the crawl has no queries for growth
|
||||
data or equities. That is the next crawl, not the next labelling run.
|
||||
|
||||
Promotion criteria, round 2 non-final: golden 64/78, distractors 8/8, Sep 18–22 71.8%, latency 18.9 ms.
|
||||
**All pass.** `train.py --final` ran on all 12,270 rows for 4 epochs; the shipped `model.onnx` is from that
|
||||
`torch_final`. Round 1's weights are in the session scratchpad (`sweep2/small_e4_bs64_8870rows`,
|
||||
`sweep2/torch_final_8870rows`).
|
||||
|
||||
## Round 3: teaching the two weak spots (same day)
|
||||
|
||||
Strong-US-data (3/7) and risk-on (1/4) had not moved through rounds 1 and 2 because no crawl query covered
|
||||
growth data or equities. Fix:
|
||||
|
||||
1. **New crawler query set `growth`** (`crawl_google_news.py --query-set growth --window-days 30`): 20
|
||||
`intitle:` queries on reuters.com and cnbc.com for GDP, retail sales, ISM, PMI, consumer confidence,
|
||||
jobless claims, consumer spending, manufacturing, "record high", "risk appetite", "Wall Street",
|
||||
"S&P 500", ceasefire, "trade deal", equities. 1,880 requests, about 70 minutes, 6,183 new headlines
|
||||
(the precise crawl was paused meanwhile so Google saw one crawler, then resumed).
|
||||
2. **Labeller changes** (`label_history.py`): a `--query-set` option restricts labelling to headlines a
|
||||
given crawler set found (the growth queries had also re-tagged thousands of old broad headlines), and
|
||||
`is_latin()` skips Reuters' Chinese and Japanese wire items that `intitle:GDP` and `intitle:PMI` match.
|
||||
3. **200 calls, growth set only**, 4,975 headlines labelled, 1 failed. DeepSeek called 19% relevant, 734
|
||||
bullish vs 216 bearish: "Wall Street falls" and "ceasefire talks collapse" are risk-off, and
|
||||
`"record high"` also catches gold's own records. The bearish side is the pattern the model lacked:
|
||||
"Yields rise on improving risk appetite" −0.50, "US dollar rises after jobless claims data" −0.50.
|
||||
|
||||
| Query | Labelled | Relevant | Bear / bull |
|
||||
|---|---|---|---|
|
||||
| "S&P 500" | 692 | 16% | 36 / 74 |
|
||||
| GDP | 690 | 12% | 17 / 67 |
|
||||
| "Wall Street" | 651 | 18% | 12 / 105 |
|
||||
| "record high" | 624 | 14% | 23 / 67 |
|
||||
| manufacturing | 457 | 6% | 6 / 20 |
|
||||
| ceasefire | 379 | 58% | 11 / 208 |
|
||||
| "trade deal" | 307 | 4% | 4 / 9 |
|
||||
| PMI | 304 | 6% | 3 / 15 |
|
||||
| "retail sales" | 293 | 18% | 23 / 29 |
|
||||
| equities | 205 | 28% | 14 / 44 |
|
||||
| "jobless claims" | 126 | 57% | 35 / 37 |
|
||||
| "risk appetite" | 72 | 72% | 23 / 29 |
|
||||
| consumer spending / confidence, ISM | 175 | 15–56% | 9 / 30 |
|
||||
|
||||
Training set: 17,245 unique headlines. Train 15,416 / dev 811 / val 1,018 (val unchanged). Default config,
|
||||
dev picked epoch 4, threshold 0.2.
|
||||
|
||||
| | Round 2 (12,270) | Round 3 (17,245) |
|
||||
|---|---|---|
|
||||
| Val 3-class (unseen Sep 18–22) | 71.7% | 71.2% |
|
||||
| Archive eval, Sep 18–22 all / gold / macro | 71.8 / 83.1 / 66.9% | 71.5 / 78.6 / 68.4% |
|
||||
| Val relevance P / R / F1 | 0.759 / 0.926 / 0.834 | 0.724 / 0.929 / 0.813 |
|
||||
| Val direction acc on relevant | 93.4% | 89.4% |
|
||||
| Golden, non-final | 64/78 | **71/78** |
|
||||
| **Golden, final (shipped)** | 67/78 | **72/78** |
|
||||
| Spearman vs DeepSeek, final | +0.765 | +0.860 |
|
||||
| McNemar vs DeepSeek, final | DS-only-right 11, p = 0.001 | DS-only-right 6, p = 0.031 |
|
||||
| Export flips / max diff, final | 4 / 0.104 | 2 / 0.077 |
|
||||
| CPU latency, 1 thread | 18.9 ms | 18.8 ms |
|
||||
|
||||
Golden by category, final: **strong_usd 3/7 → 7/7, risk_on 1/4 → 4/4**, inverted_metrics 6/6,
|
||||
distractors 8/8, dovish_fed 8/8, safe_haven 8/8, negation_traps 7/8, hawkish_fed 7/8, weak_usd 6/7,
|
||||
real_yields 5/6, gold_direct 6/8.
|
||||
|
||||
The six remaining misses:
|
||||
- "Powell says restrictive policy needed for longer as inflation proves sticky" → bullish 0.83 (hawkish
|
||||
read as bullish; the only hawkish miss).
|
||||
- "Rising real interest rates dim appeal of non-yielding assets" → bullish 0.95 (no "gold" in the text;
|
||||
"non-yielding assets" is unseen vocabulary).
|
||||
- "Bullion demand weakens as Indian jewellery buying stalls" → neutral (relevance 0.0; physical demand
|
||||
is absent from the training feeds).
|
||||
- "Miners struggle to meet gold demand as supply deficit widens" → bearish 0.32 ("miners struggle" reads
|
||||
as bad news).
|
||||
- "Greenback weakens as US retail sales unexpectedly contract" → neutral (relevance just under 0.2).
|
||||
- "No safe-haven bid for gold despite equity wobble" → bullish 0.15, low confidence.
|
||||
|
||||
Trade-offs to note honestly:
|
||||
- **The live-feed numbers slipped a little** (gold-key 83.1 → 78.6%, direction on relevant 93.4 → 89.4%)
|
||||
while macro rose (66.9 → 68.4%). The all-rows figure is flat at 71.5%. The history labels now outnumber
|
||||
the live-feed labels 9 to 1, and they are a different distribution (wire headlines, no descriptions).
|
||||
If the live feed is what matters, weight it or add live labels; the 4-day val set is too small to say
|
||||
whether this is real.
|
||||
- Golden differences of 1–2 headlines are noise; 67 → 72 with the two target categories going 4/11 → 11/11
|
||||
is not.
|
||||
|
||||
Promotion criteria, round 3 non-final: golden 71/78, distractors 8/8, Sep 18–22 71.5%, latency 18.8 ms.
|
||||
**All pass.** Shipped `model.onnx` is from `torch_final` (17,245 rows, 4 epochs). Round 2 weights are in
|
||||
the session scratchpad (`sweep2/small_e4_bs64_12270rows`, `sweep2/torch_final_12270rows`).
|
||||
|
||||
### Next, revised
|
||||
|
||||
1. **Shadow mode in ForexBot2** with `threads=4`, DeepSeek still the answer. Compare per headline for a
|
||||
few weeks. This is now the step that produces new information; more history labels will not.
|
||||
2. **Live-feed labels.** The bot produces about 300 a day. Retrain weekly; consider up-weighting newsdata
|
||||
rows or a second fine-tuning pass on them if the gold-key live number keeps slipping.
|
||||
3. The precise crawl is still running in the background (free). Label its remainder only if a specific gap
|
||||
shows up in shadow mode.
|
||||
4. Loosen the export `--tolerance` or make it flips-only; it has printed FAILED on every export today with
|
||||
0–11 flips of 1,000.
|
||||
@@ -0,0 +1,205 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Backfill the missing gold labels with DeepSeek, retrain, re-measure.
|
||||
|
||||
The archive holds ~930 DeepSeek-scored headlines whose gold score was
|
||||
discarded because they carry no gold keyword (plus ~31 headlines that
|
||||
were never DeepSeek-scored at all). This script sends every one of
|
||||
them through the live DeepSeek headline path (batches of 25, cached),
|
||||
keeps the labels in results/backfill_labels.jsonl, and then asks:
|
||||
|
||||
1. Daily folds, same as eval_archive.py, but with the backfilled
|
||||
macro headlines added to each fold's training set. Test rows are
|
||||
split into gold-keyword headlines (the old test set, so the
|
||||
number is comparable to the 64.4% baseline) and macro headlines
|
||||
(new).
|
||||
2. A model trained on everything, graded on the 78-headline golden
|
||||
set per category — the independent test. Baseline 39/78.
|
||||
|
||||
The retrained bundle is written to results/, never to models/. The
|
||||
archive is opened read-only.
|
||||
|
||||
Usage:
|
||||
venv/bin/python backfill_labels.py # ~40 DeepSeek calls once
|
||||
venv/bin/python backfill_labels.py --no-network
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
from collections import Counter
|
||||
from typing import Any, Dict, List
|
||||
|
||||
from eval_common import (CLASS_NAMES, DEFAULT_DB, LABEL_THRESHOLD_TRAIN,
|
||||
RESULTS_DIR, DeepSeekScorer, NAME_TO_CLASS,
|
||||
agreement_block, fmt_pct, hr, load_archive_rows,
|
||||
load_golden, print_agreement, to_class, ts_tag,
|
||||
utc_now_iso, write_json)
|
||||
|
||||
LABELS_FILE = RESULTS_DIR / "backfill_labels.jsonl"
|
||||
|
||||
|
||||
def load_labels() -> Dict[str, Dict[str, Any]]:
|
||||
out: Dict[str, Dict[str, Any]] = {}
|
||||
if LABELS_FILE.is_file():
|
||||
with LABELS_FILE.open(encoding="utf-8") as fh:
|
||||
for line in fh:
|
||||
if line.strip():
|
||||
r = json.loads(line)
|
||||
out[r["hash"]] = r
|
||||
return out
|
||||
|
||||
|
||||
def train(rows: List[Dict[str, Any]], thr: float, seed: int = 42):
|
||||
from news_sentiment import article_text, build_pipeline
|
||||
texts = [article_text(r["headline"], r["description"]) for r in rows]
|
||||
labels = [CLASS_NAMES[to_class(r["label_xau"], thr)] for r in rows]
|
||||
dist = Counter(labels)
|
||||
if len(dist) < 3 or min(dist.values()) < 2:
|
||||
return None
|
||||
pipe = build_pipeline(random_state=seed, min_df=2, max_features=50_000)
|
||||
pipe.fit(texts, labels)
|
||||
return pipe
|
||||
|
||||
|
||||
def predict(pipe, rows: List[Dict[str, Any]]) -> List[int]:
|
||||
from news_sentiment import article_text
|
||||
classes = [str(c) for c in pipe.classes_]
|
||||
out = []
|
||||
for p in pipe.predict_proba([article_text(r["headline"], r["description"]) for r in rows]):
|
||||
by = {c: float(v) for c, v in zip(classes, p)}
|
||||
out.append(NAME_TO_CLASS[max(by, key=by.get)])
|
||||
return out
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--threshold", type=float, default=LABEL_THRESHOLD_TRAIN)
|
||||
ap.add_argument("--timeout", type=float, default=30.0)
|
||||
ap.add_argument("--no-network", action="store_true")
|
||||
ap.add_argument("--min-train", type=int, default=40)
|
||||
args = ap.parse_args()
|
||||
thr = args.threshold
|
||||
|
||||
archive = load_archive_rows(DEFAULT_DB)
|
||||
gold_rows = [r for r in archive if r["score_source"] == "llm" and r["xau"] is not None]
|
||||
missing = [r for r in archive if not (r["score_source"] == "llm" and r["xau"] is not None)]
|
||||
print(f"archive: {len(archive)} rows; {len(gold_rows)} with a DeepSeek gold label, "
|
||||
f"{len(missing)} without ({sum(1 for r in missing if r['score_source'] == 'llm')} "
|
||||
f"scored by DeepSeek without a gold key, "
|
||||
f"{sum(1 for r in missing if r['score_source'] != 'llm')} never DeepSeek-scored)")
|
||||
|
||||
# ── 1. label the missing rows ──────────────────────────────────────
|
||||
labels = load_labels()
|
||||
todo = [r for r in missing if r["hash"] not in labels]
|
||||
if todo:
|
||||
ds = DeepSeekScorer(timeout=args.timeout, no_network=args.no_network)
|
||||
res = ds.score_many([r["headline"] for r in todo])
|
||||
with LABELS_FILE.open("a", encoding="utf-8") as fh:
|
||||
for r, d in zip(todo, res):
|
||||
if d is None:
|
||||
continue
|
||||
rec = {"hash": r["hash"], "headline": r["headline"], "day": r["day"],
|
||||
"s": d["s"], "xau": d["xau"], "labelled_at": utc_now_iso(),
|
||||
"model": ds.model, "prompt_sha1": ds.prompt_sha1,
|
||||
"archived_overall": r["score"], "score_source_before": r["score_source"]}
|
||||
fh.write(json.dumps(rec, ensure_ascii=False) + "\n")
|
||||
labels[r["hash"]] = rec
|
||||
st = ds.stats()
|
||||
print(f" labelled {sum(1 for d in res if d)} of {len(todo)}: {st['calls']} call(s), "
|
||||
f"{st['headlines_sent']} sent, {st['cache_hits']} cache hits, {st['failed_calls']} failed")
|
||||
macro_rows = []
|
||||
for r in missing:
|
||||
lab = labels.get(r["hash"])
|
||||
if lab is not None:
|
||||
macro_rows.append({**r, "label_xau": float(lab["xau"]), "kind": "macro"})
|
||||
for r in gold_rows:
|
||||
r["label_xau"] = r["xau"]
|
||||
r["kind"] = "gold"
|
||||
print(f" usable: {len(gold_rows)} gold-keyword rows + {len(macro_rows)} macro rows = "
|
||||
f"{len(gold_rows) + len(macro_rows)}")
|
||||
dist_m = Counter(CLASS_NAMES[to_class(r["label_xau"], thr)] for r in macro_rows)
|
||||
print(f" macro labels at ±{thr}: {dict(sorted(dist_m.items()))}")
|
||||
# how the live platform's -overall reading compares with DeepSeek's own xau
|
||||
usd_only = [r for r in macro_rows if r["score_source"] == "llm" and r["score"] is not None]
|
||||
if usd_only:
|
||||
b = agreement_block([to_class(r["label_xau"], thr) for r in usd_only],
|
||||
[to_class(-float(r["score"]), thr) for r in usd_only])
|
||||
print(f" side note: on {b['n']} macro rows the live gold reading (-overall) matches "
|
||||
f"DeepSeek's own gold score {fmt_pct(b['hits'], b['n'])} "
|
||||
f"(sign {fmt_pct(b['sign_hits'], b['sign_n'])})")
|
||||
|
||||
# ── 2. daily folds: gold-only training vs gold+macro training ─────
|
||||
all_rows = gold_rows + macro_rows
|
||||
days = sorted({r["day"] for r in all_rows if r["day"]})
|
||||
hr("Daily folds — train on days < d; test on day d (OOF agreement with DeepSeek)")
|
||||
print(f" {'day':<10} {'train g':>7} {'train g+m':>9} | {'gold test':>9} {'g-only':>7} {'g+m':>6} "
|
||||
f"| {'macro test':>10} {'g-only':>7} {'g+m':>6}")
|
||||
oof: Dict[str, Dict[str, List[int]]] = {k: {"exp": [], "pred": []} for k in
|
||||
("gold/g-only", "gold/g+m", "macro/g-only", "macro/g+m")}
|
||||
for d in days:
|
||||
tr_g = [r for r in gold_rows if r["day"] < d]
|
||||
tr_gm = [r for r in all_rows if r["day"] < d]
|
||||
te_g = [r for r in gold_rows if r["day"] == d]
|
||||
te_m = [r for r in macro_rows if r["day"] == d]
|
||||
if len(tr_g) < args.min_train or not (te_g or te_m):
|
||||
continue
|
||||
p_g = train(tr_g, thr)
|
||||
p_gm = train(tr_gm, thr)
|
||||
if p_g is None or p_gm is None:
|
||||
continue
|
||||
cells = []
|
||||
for name, te in (("gold", te_g), ("macro", te_m)):
|
||||
exp = [to_class(r["label_xau"], thr) for r in te]
|
||||
for tag, pipe in (("g-only", p_g), ("g+m", p_gm)):
|
||||
pred = predict(pipe, te) if te else []
|
||||
oof[f"{name}/{tag}"]["exp"].extend(exp)
|
||||
oof[f"{name}/{tag}"]["pred"].extend(pred)
|
||||
hits = sum(1 for e, p in zip(exp, pred) if e == p)
|
||||
cells.append(f"{100 * hits / len(te):5.1f}%" if te else " n/a")
|
||||
print(f" {d:<10} {len(tr_g):>7} {len(tr_gm):>9} | {len(te_g):>9} {cells[0]:>7} {cells[1]:>6} "
|
||||
f"| {len(te_m):>10} {cells[2]:>7} {cells[3]:>6}")
|
||||
pooled = {}
|
||||
print("\n pooled out-of-fold:")
|
||||
for k, v in oof.items():
|
||||
blk = agreement_block(v["exp"], v["pred"])
|
||||
pooled[k] = blk
|
||||
print_agreement(f"{k:<14} test rows, training = {k.split('/')[1]}", blk)
|
||||
|
||||
# ── 3. final models on everything -> golden set ────────────────────
|
||||
hr("Golden set (human truth, 78 headlines): gold-only training vs gold+macro training")
|
||||
golden = load_golden()
|
||||
g_rows = [{"headline": g["headline"], "description": None} for g in golden]
|
||||
g_exp = [g["expected_xau_sign"] for g in golden]
|
||||
golden_out = {}
|
||||
for tag, rows in (("gold-only (shipped data)", gold_rows), ("gold+macro (backfilled)", all_rows)):
|
||||
pipe = train(rows, thr)
|
||||
pred = predict(pipe, g_rows)
|
||||
blk = agreement_block(g_exp, pred)
|
||||
golden_out[tag] = blk
|
||||
by_cat: Dict[str, List[int]] = {}
|
||||
for g, p in zip(golden, pred):
|
||||
by_cat.setdefault(g["category"], []).append(int(p == g["expected_xau_sign"]))
|
||||
print(f"\n {tag}: {fmt_pct(blk['hits'], blk['n'])}, directional "
|
||||
f"{fmt_pct(blk['directional_hits'], blk['directional_n'])}")
|
||||
print(" " + ", ".join(f"{c} {sum(h)}/{len(h)}" for c, h in sorted(by_cat.items())))
|
||||
if tag.startswith("gold+macro"):
|
||||
import joblib
|
||||
out_path = RESULTS_DIR / "xauusd_sentiment_backfilled.joblib"
|
||||
joblib.dump({"model": pipe, "trained_on": len(rows), "threshold": thr,
|
||||
"note": "research retrain on gold+macro rows; not the shipped bundle"},
|
||||
out_path)
|
||||
print(f" retrained pipeline saved to {out_path.name} (research copy)")
|
||||
|
||||
tag = ts_tag()
|
||||
write_json(RESULTS_DIR / f"backfill_{tag}.json", {
|
||||
"generated_at": tag, "threshold": thr, "gold_rows": len(gold_rows),
|
||||
"macro_rows": len(macro_rows), "macro_label_distribution": dict(dist_m),
|
||||
"pooled_oof": pooled, "golden": golden_out})
|
||||
print(f"\nwrote results/backfill_{tag}.json; labels in results/{LABELS_FILE.name}")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,expected_xau_sign,rationale
|
||||
"Powell says restrictive policy needed for longer as inflation proves sticky",hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish"
|
||||
"Fed minutes show officials leaning toward two more rate hikes this year",hawkish_fed,-1,"more hikes = stronger dollar/yields"
|
||||
"Hot CPI print fuels bets on additional Fed tightening",hawkish_fed,-1,"tightening expectations weigh on gold"
|
||||
"Fed's Waller: higher-for-longer rates warranted by resilient economy",hawkish_fed,-1,"hawkish guidance"
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,"outsized hike plus hawkish guidance"
|
||||
"Treasury yields spike as Fed pushes back on rate cut hopes",hawkish_fed,-1,"cut hopes dashed, yields up"
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,"hawkish repricing"
|
||||
"Fed dot plot shifts higher; markets price out easing for the year",hawkish_fed,-1,"easing priced out"
|
||||
"Fed cuts rates 25bp and signals more easing to come",dovish_fed,1,"easing cycle is gold-bullish"
|
||||
"Powell hints at rate cuts as inflation cools toward target",dovish_fed,1,"cut guidance"
|
||||
"FOMC minutes reveal growing support for policy easing",dovish_fed,1,"dovish minutes"
|
||||
"Fed's Williams says rate cuts appropriate later this year",dovish_fed,1,"cut guidance"
|
||||
"Soft inflation data boosts odds of a dovish Fed pivot",dovish_fed,1,"pivot odds up"
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,"easing priced in"
|
||||
"Central banks turn dovish as global growth falters",dovish_fed,1,"global easing backdrop"
|
||||
"Fed to restart bond purchases to support flagging economy",dovish_fed,1,"QE is gold-bullish"
|
||||
"Dollar index hits 12-month high on robust US economic data",strong_usd,-1,"strong dollar pressures gold"
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication"
|
||||
"Blockbuster jobs report sends dollar surging across the board",strong_usd,-1,"strong jobs lift dollar and yields"
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,"strong data"
|
||||
"Greenback rallies as US data outshines Europe and Asia",strong_usd,-1,"dollar strength"
|
||||
"ISM services index jumps to two-year high on strong demand",strong_usd,-1,"strong data"
|
||||
"Consumer confidence surges to post-pandemic high in the US",strong_usd,-1,"strong data"
|
||||
"Dollar tumbles to eight-month low after dismal manufacturing data",weak_usd,1,"weak dollar lifts gold"
|
||||
"US economy adds far fewer jobs than expected; dollar slides",weak_usd,1,"weak jobs, dovish implication"
|
||||
"Greenback weakens as US retail sales unexpectedly contract",weak_usd,1,"weak data"
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,"slowdown is dovish"
|
||||
"Dollar slumps as trade deficit balloons to record",weak_usd,1,"dollar weakness"
|
||||
"Soft services PMI adds to evidence of cooling US economy",weak_usd,1,"cooling economy"
|
||||
"US consumer sentiment plunges to two-year low",weak_usd,1,"weak data"
|
||||
"Real yields climb to multi-year highs as TIPS sell off",real_yields,-1,"rising real yields raise gold's opportunity cost"
|
||||
"10-year Treasury yield surges past 5% on supply glut",real_yields,-1,"yield spike"
|
||||
"Rising real interest rates dim appeal of non-yielding assets",real_yields,-1,"explicit opportunity-cost story"
|
||||
"Treasury yields sink as investors flock to bonds",real_yields,1,"falling yields support gold"
|
||||
"Real yields turn negative as inflation outpaces rates",real_yields,1,"negative real yields are gold's best backdrop"
|
||||
"Bond rally drives 10-year yield to lowest level in a year",real_yields,1,"falling yields"
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,"safe-haven bid"
|
||||
"Stocks crater worldwide as banking crisis fears spread",safe_haven,1,"crisis flight to safety"
|
||||
"Escalating conflict drives flight to safe-haven assets",safe_haven,1,"explicit haven flow"
|
||||
"Investors dump risk assets after surprise sovereign default",safe_haven,1,"default shock"
|
||||
"Military escalation on NATO border rattles global markets",safe_haven,1,"geopolitical stress"
|
||||
"Wall Street plunges 4% in worst session since pandemic",safe_haven,1,"risk-off"
|
||||
"Currency crisis in emerging markets sparks contagion fears",safe_haven,1,"contagion, haven bid"
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,"extreme geopolitical stress"
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,"haven unwind"
|
||||
"Stocks roar to record highs as trade deal signed",risk_on,-1,"risk-on drains haven demand"
|
||||
"Risk appetite returns as banking fears subside",risk_on,-1,"risk-on"
|
||||
"Global equities rally on strong earnings and easing tensions",risk_on,-1,"risk-on"
|
||||
"Gold hits record high as central banks keep buying bullion",gold_direct,1,"direct demand"
|
||||
"Gold ETFs post biggest weekly inflows in three years",gold_direct,1,"investment inflows"
|
||||
"China's central bank extends gold buying spree to 18th month",gold_direct,1,"official-sector demand"
|
||||
"Miners struggle to meet gold demand as supply deficit widens",gold_direct,1,"supply deficit"
|
||||
"Gold slides 2% as investors book profits after record run",gold_direct,-1,"profit-taking pressure"
|
||||
"Gold tumbles below key support as ETF outflows accelerate",gold_direct,-1,"outflows"
|
||||
"Bullion demand weakens as Indian jewellery buying stalls",gold_direct,-1,"physical demand soft"
|
||||
"Speculators slash bullish gold bets as dollar strengthens",gold_direct,-1,"positioning unwind"
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,"dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish"
|
||||
"Powell says no rate cuts until inflation shows sustained cooling",negation_traps,-1,"hawkish hold; keyword layer sees rate cut and calls it gold-bullish"
|
||||
"Recession fears fade as US data streak beats estimates",negation_traps,-1,"fading fear is risk-on; keywords see recession plus beats and cancel out"
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,"disinflation opens door to cuts"
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,"hawkish pushback phrased around negations"
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,"hawkish hold with tightening bias"
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,"explicitly negated haven demand"
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,"less-bad data is dollar-positive"
|
||||
"US manufacturing output plunges as new orders dry up",inverted_metrics,1,"weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish"
|
||||
"US factory activity slumps to three-year low",inverted_metrics,1,"weak data; keyword reads slumps as bearish"
|
||||
"Consumer spending falls for third straight month",inverted_metrics,1,"weak data; keyword reads falls as bearish"
|
||||
"Private payrolls growth slides to weakest pace since 2020",inverted_metrics,1,"weak jobs; keyword reads slides as bearish"
|
||||
"Jobless claims hit two-year high as layoffs spread",inverted_metrics,1,"higher claims = weaker economy = gold-bullish"
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,"higher unemployment = dovish = gold-bullish"
|
||||
"Lakers clinch playoff berth with overtime win over Suns",distractors,0,"irrelevant"
|
||||
"New Marvel film smashes box office records on opening weekend",distractors,0,"irrelevant"
|
||||
"Apple unveils thinner MacBook with faster chip lineup",distractors,0,"irrelevant"
|
||||
"Scientists discover new deep-sea species off Pacific coast",distractors,0,"irrelevant"
|
||||
"Heavy rain forecast for the Midwest through the weekend",distractors,0,"irrelevant"
|
||||
"Streaming service raises subscription prices in Europe",distractors,0,"irrelevant"
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,"irrelevant"
|
||||
"Local elections see record turnout in several US states",distractors,0,"irrelevant"
|
||||
|
@@ -0,0 +1,391 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Archive benchmark: how well does the scikit recipe copy DeepSeek on
|
||||
headlines it has NOT seen, and how noisy is DeepSeek itself?
|
||||
|
||||
Data: the headlines table of ForexBot2's logs/newsdata.db (the file
|
||||
ML-NEWS trained on is a copy of it). Only rows DeepSeek scored with an
|
||||
explicit XAU value are usable (616 on 2026-09-17, eight days). The
|
||||
DeepSeek XAU score is the label: bullish > +0.05, bearish < -0.05,
|
||||
neutral otherwise — exactly the ML-NEWS trainer's rule.
|
||||
|
||||
Parts
|
||||
A In-sample sanity: the SHIPPED bundle against its own training
|
||||
labels. Contaminated by construction; it is the ceiling, shown so
|
||||
the out-of-sample numbers can be read against it.
|
||||
B Expanding daily folds: for each day d, retrain the ML-NEWS
|
||||
pipeline (same hyperparameters) on every row published before d
|
||||
and score day d. Two text recipes: headline+description (shipped)
|
||||
and headline only (DeepSeek itself never sees the description,
|
||||
and the 2026-09-08 rule for a local scorer says headline text
|
||||
only). The keyword fallback is scored on the same rows for
|
||||
context. Pooled out-of-fold (OOF) metrics follow the per-day table.
|
||||
C Confidence routing on the pooled OOF predictions: for a grid of
|
||||
confidence / margin thresholds (the WORKFLOW doc starts at 0.70 /
|
||||
0.20), what share of headlines the model would keep locally, how
|
||||
often those agree with DeepSeek, and the hybrid agreement if the
|
||||
rest go to DeepSeek.
|
||||
D --reprobe N: re-send N archived headlines to DeepSeek today and
|
||||
compare with the score it gave the first time. DeepSeek's
|
||||
self-agreement is the ceiling any student can reach; on the same
|
||||
rows the OOF model is scored against both answers.
|
||||
|
||||
Usage:
|
||||
venv/bin/python eval_archive.py # offline
|
||||
venv/bin/python eval_archive.py --reprobe 100 # + 4 DeepSeek calls
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import random
|
||||
import statistics
|
||||
import time
|
||||
from collections import Counter, defaultdict
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from eval_common import (CLASS_NAMES, DEFAULT_DB, LABEL_THRESHOLD_TRAIN,
|
||||
RESULTS_DIR, DeepSeekScorer, KeywordScorer,
|
||||
make_scorer, NAME_TO_CLASS, agreement_block, fmt_pct,
|
||||
hr, load_archive_rows, print_agreement, to_class,
|
||||
ts_tag, write_csv, write_json)
|
||||
|
||||
|
||||
def usable_rows(db: Path, extra_labels: Optional[Path] = None) -> List[Dict[str, Any]]:
|
||||
rows = [r for r in load_archive_rows(db, extra_labels)
|
||||
if r["score_source"] == "llm" and r["xau"] is not None
|
||||
and r["headline"] and r["day"]]
|
||||
rows.sort(key=lambda r: (r["published_at"] or r["first_seen"] or "", r["hash"]))
|
||||
return rows
|
||||
|
||||
|
||||
def fit_and_score(train: List[Dict[str, Any]], test: List[Dict[str, Any]],
|
||||
with_description: bool, threshold: float, seed: int):
|
||||
"""Train the ML-NEWS pipeline on `train`, return per-row predictions
|
||||
for `test` (class, score, confidence, margin) or None if the fold
|
||||
cannot be trained (a class with < 2 examples)."""
|
||||
from news_sentiment import article_text, build_pipeline
|
||||
texts = [article_text(r["headline"], r["description"] if with_description else None)
|
||||
for r in train]
|
||||
labels = [CLASS_NAMES[to_class(r["xau"], threshold)] for r in train]
|
||||
dist = Counter(labels)
|
||||
if len(dist) < 3 or min(dist.values()) < 2:
|
||||
return None
|
||||
pipe = build_pipeline(random_state=seed, min_df=2, max_features=50_000)
|
||||
t0 = time.perf_counter()
|
||||
pipe.fit(texts, labels)
|
||||
fit_s = time.perf_counter() - t0
|
||||
classes = [str(c) for c in pipe.classes_]
|
||||
test_texts = [article_text(r["headline"], r["description"] if with_description else None)
|
||||
for r in test]
|
||||
probs = pipe.predict_proba(test_texts)
|
||||
preds = []
|
||||
for p in probs:
|
||||
by = {c: float(v) for c, v in zip(classes, p)}
|
||||
for c in ("bearish", "neutral", "bullish"):
|
||||
by.setdefault(c, 0.0)
|
||||
label = max(by, key=by.get)
|
||||
ordered = sorted(by.values(), reverse=True)
|
||||
preds.append({"cls": NAME_TO_CLASS[label], "label": label,
|
||||
"score": by["bullish"] - by["bearish"],
|
||||
"confidence": by[label], "margin": ordered[0] - ordered[1]})
|
||||
return preds, fit_s
|
||||
|
||||
|
||||
def routing_table(oof: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
|
||||
out = []
|
||||
n = len(oof)
|
||||
for conf_t in (0.0, 0.5, 0.6, 0.7, 0.8, 0.9):
|
||||
for margin_t in (0.0, 0.1, 0.2, 0.3, 0.4):
|
||||
kept = [r for r in oof if r["confidence"] >= conf_t and r["margin"] >= margin_t]
|
||||
routed = n - len(kept)
|
||||
hits = sum(1 for r in kept if r["cls"] == r["label_cls"])
|
||||
acc_kept = hits / len(kept) if kept else None
|
||||
hybrid = (hits + routed) / n if n else None # routed rows = DeepSeek's own answer
|
||||
out.append({"confidence_min": conf_t, "margin_min": margin_t,
|
||||
"kept": len(kept), "kept_share": len(kept) / n if n else None,
|
||||
"kept_accuracy": acc_kept, "hybrid_agreement": hybrid,
|
||||
"llm_calls_saved_share": len(kept) / n if n else None})
|
||||
return out
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--db", type=Path, default=DEFAULT_DB)
|
||||
ap.add_argument("--threshold", type=float, default=LABEL_THRESHOLD_TRAIN,
|
||||
help="DeepSeek xau -> class threshold (trainer uses 0.05)")
|
||||
ap.add_argument("--min-train", type=int, default=40,
|
||||
help="skip folds with fewer training rows")
|
||||
ap.add_argument("--seed", type=int, default=42)
|
||||
ap.add_argument("--reprobe", type=int, default=0,
|
||||
help="re-score N archived headlines with DeepSeek today")
|
||||
ap.add_argument("--timeout", type=float, default=30.0)
|
||||
ap.add_argument("--no-network", action="store_true")
|
||||
ap.add_argument("--scorer", choices=("tfidf", "transformer"), default="tfidf",
|
||||
help="model for Part A; transformer runs Part A only (B-D retrain "
|
||||
"the TF-IDF recipe)")
|
||||
ap.add_argument("--model", type=Path, default=None,
|
||||
help="model for Part A (default: the shipped one of --scorer)")
|
||||
ap.add_argument("--extra-labels", type=Path,
|
||||
help="fallback labels JSONL keyed by hash (results/backfill_labels.jsonl)")
|
||||
ap.add_argument("--train-scope", choices=("all", "gold"), default="all",
|
||||
help="Part B trains on every labelled row, or only on rows with "
|
||||
"a gold XAU key; the test day is always every labelled row")
|
||||
args = ap.parse_args()
|
||||
thr = args.threshold
|
||||
|
||||
rows = usable_rows(args.db, args.extra_labels)
|
||||
if not rows:
|
||||
raise SystemExit("no llm-scored XAU rows in the archive")
|
||||
days = sorted({r["day"] for r in rows})
|
||||
per_day = Counter(r["day"] for r in rows)
|
||||
label_dist = Counter(CLASS_NAMES[to_class(r["xau"], thr)] for r in rows)
|
||||
print(f"archive {args.db}: {len(rows)} DeepSeek-scored XAU rows over "
|
||||
f"{len(days)} days ({days[0]} .. {days[-1]}); labels at ±{thr}: "
|
||||
f"{dict(sorted(label_dist.items()))}")
|
||||
print(" rows per day: " + ", ".join(f"{d[5:]}={per_day[d]}" for d in days))
|
||||
print(f" label sources: {dict(Counter(r['xau_src'] for r in rows))}; "
|
||||
f"gold-key rows {sum(r['gold'] for r in rows)}, macro rows "
|
||||
f"{sum(not r['gold'] for r in rows)}")
|
||||
|
||||
# ── Part A: shipped bundle, in-sample ──────────────────────────────
|
||||
hr("A. Shipped bundle on its own training rows (IN-SAMPLE, ceiling only)")
|
||||
model = make_scorer(args.scorer, args.model)
|
||||
print(f" {model.meta['model_type']} trained {model.meta['trained_at']} on "
|
||||
f"{model.meta['training_examples']} examples")
|
||||
exp = [to_class(r["xau"], thr) for r in rows]
|
||||
a_full = [model.score(r["headline"], r["description"]) for r in rows]
|
||||
a_head = [model.score(r["headline"], None) for r in rows]
|
||||
blk_a_full = agreement_block(exp, [m["cls"] for m in a_full],
|
||||
[r["xau"] for r in rows], [m["score"] for m in a_full])
|
||||
blk_a_head = agreement_block(exp, [m["cls"] for m in a_head],
|
||||
[r["xau"] for r in rows], [m["score"] for m in a_head])
|
||||
print_agreement("shipped, headline+description (as trained)", blk_a_full)
|
||||
print_agreement("shipped, headline only (description dropped)", blk_a_head)
|
||||
print(f" model latency: mean {model.mean_ms:.2f} ms per headline")
|
||||
# Rows published from oos_from on were never trained on (TF-IDF: its
|
||||
# trained_at; non-final transformer: its val_from).
|
||||
oos_from = str(model.meta["oos_from"] or "")
|
||||
after = [i for i, r in enumerate(rows) if str(r["published_at"] or "") >= oos_from]
|
||||
blk_a_after: Dict[str, Any] = {}
|
||||
for subset, name in (("all", "all"), ("gold", "gold-key"), ("macro", "macro")):
|
||||
idx = [i for i in after if subset == "all" or rows[i]["gold"] == (subset == "gold")]
|
||||
if idx:
|
||||
blk = agreement_block([exp[i] for i in idx], [a_full[i]["cls"] for i in idx])
|
||||
blk_a_after[subset] = blk
|
||||
print_agreement(f"published from {oos_from[:10]} ({name}), OUT-OF-SAMPLE", blk)
|
||||
relevance: Dict[str, Any] = {}
|
||||
if after and "p_relevant" in a_full[after[0]]:
|
||||
# relevance vs DeepSeek |xau| (>= 0.25 relevant, <= 0.10 not, grey skipped)
|
||||
pairs = [(abs(rows[i]["xau"]) >= 0.25, a_full[i]["relevant"]) for i in after
|
||||
if abs(rows[i]["xau"]) >= 0.25 or abs(rows[i]["xau"]) <= 0.10]
|
||||
tp = sum(1 for t, p_ in pairs if t and p_)
|
||||
fp = sum(1 for t, p_ in pairs if not t and p_)
|
||||
fn = sum(1 for t, p_ in pairs if t and not p_)
|
||||
prec = tp / (tp + fp) if tp + fp else 0.0
|
||||
rec = tp / (tp + fn) if tp + fn else 0.0
|
||||
dir_rows = [i for i in after if abs(rows[i]["xau"]) >= 0.25]
|
||||
dir_hits = sum(1 for i in dir_rows
|
||||
if (a_full[i]["p_bullish"] >= 0.5) == (rows[i]["xau"] > 0))
|
||||
relevance = {"n": len(pairs), "precision": prec, "recall": rec,
|
||||
"f1": 2 * prec * rec / (prec + rec) if prec + rec else 0.0,
|
||||
"direction_n": len(dir_rows),
|
||||
"direction_accuracy": dir_hits / len(dir_rows) if dir_rows else None}
|
||||
print(f" relevance on OUT-OF-SAMPLE rows (|xau|>=0.25 vs <=0.10, n={len(pairs)}): "
|
||||
f"precision {prec:.3f} recall {rec:.3f} F1 {relevance['f1']:.3f}")
|
||||
print(f" direction on relevant OUT-OF-SAMPLE rows: "
|
||||
f"{fmt_pct(dir_hits, len(dir_rows))}")
|
||||
if args.scorer == "transformer":
|
||||
tag = ts_tag() + "_transformer" + (f"_{args.model.name}" if args.model else "")
|
||||
write_json(RESULTS_DIR / f"archive_{tag}.json", {
|
||||
"generated_at": tag, "db": str(args.db), "threshold": thr, "rows": len(rows),
|
||||
"model": model.meta, "in_sample_or_mixed": {"headline": blk_a_full},
|
||||
"out_of_sample": blk_a_after, "relevance_out_of_sample": relevance})
|
||||
print(f"\nwrote results/archive_{tag}.json")
|
||||
return 0
|
||||
|
||||
# ── Part B: expanding daily folds ──────────────────────────────────
|
||||
hr("B. Expanding daily folds — retrain on days < d, score day d (OUT-OF-SAMPLE)")
|
||||
kw = KeywordScorer()
|
||||
oof: Dict[str, List[Dict[str, Any]]] = {"full": [], "head": []}
|
||||
fold_table = []
|
||||
print(f" {'day':<10} {'train':>5} {'test':>4} | {'full acc':>8} {'full F1':>7} "
|
||||
f"| {'head acc':>8} {'head F1':>7} | {'kw acc':>6} {'kw F1':>5} | fit s")
|
||||
for d in days:
|
||||
train = [r for r in rows if r["day"] < d
|
||||
and (args.train_scope == "all" or r["gold"])]
|
||||
test = [r for r in rows if r["day"] == d]
|
||||
if len(train) < args.min_train or not test:
|
||||
continue
|
||||
exp_d = [to_class(r["xau"], thr) for r in test]
|
||||
res_full = fit_and_score(train, test, True, thr, args.seed)
|
||||
res_head = fit_and_score(train, test, False, thr, args.seed)
|
||||
if res_full is None or res_head is None:
|
||||
print(f" {d:<10} {len(train):>5} {len(test):>4} | skipped (a class has < 2 rows)")
|
||||
continue
|
||||
preds_full, fit_full = res_full
|
||||
preds_head, fit_head = res_head
|
||||
kw_cls = [to_class(kw.score(r["headline"]), thr) for r in test]
|
||||
b_full = agreement_block(exp_d, [p["cls"] for p in preds_full])
|
||||
b_head = agreement_block(exp_d, [p["cls"] for p in preds_head])
|
||||
b_kw = agreement_block(exp_d, kw_cls)
|
||||
fold_table.append({"day": d, "n_train": len(train), "n_test": len(test),
|
||||
"full": b_full, "head": b_head, "keyword": b_kw,
|
||||
"fit_seconds_full": fit_full, "fit_seconds_head": fit_head})
|
||||
print(f" {d:<10} {len(train):>5} {len(test):>4} | "
|
||||
f"{100 * b_full['accuracy']:7.1f}% {b_full['macro_f1']:7.3f} | "
|
||||
f"{100 * b_head['accuracy']:7.1f}% {b_head['macro_f1']:7.3f} | "
|
||||
f"{100 * b_kw['accuracy']:5.1f}% {b_kw['macro_f1']:5.3f} | {fit_full:.1f}")
|
||||
for variant, preds in (("full", preds_full), ("head", preds_head)):
|
||||
for r, p, e, k in zip(test, preds, exp_d, kw_cls):
|
||||
oof[variant].append({
|
||||
"hash": r["hash"], "day": d, "n_train": len(train), "gold": r["gold"],
|
||||
"headline": r["headline"], "label_xau": r["xau"],
|
||||
"label_cls": e, "cls": p["cls"], "label": p["label"],
|
||||
"score": round(p["score"], 4), "confidence": round(p["confidence"], 4),
|
||||
"margin": round(p["margin"], 4), "kw_cls": k,
|
||||
})
|
||||
|
||||
pooled = {}
|
||||
if oof["full"]:
|
||||
print("\n pooled out-of-fold:")
|
||||
for variant, name in (("full", "headline+description (shipped recipe)"),
|
||||
("head", "headline only")):
|
||||
o = oof[variant]
|
||||
blk = agreement_block([r["label_cls"] for r in o], [r["cls"] for r in o],
|
||||
[r["label_xau"] for r in o], [r["score"] for r in o])
|
||||
pooled[variant] = blk
|
||||
print_agreement(f"OOF model, {name}", blk)
|
||||
o = oof["full"]
|
||||
blk = agreement_block([r["label_cls"] for r in o], [r["kw_cls"] for r in o])
|
||||
pooled["keyword"] = blk
|
||||
print_agreement("keyword fallback on the same rows", blk)
|
||||
for subset in ("gold", "macro"):
|
||||
o = [r for r in oof["full"] if r["gold"] == (subset == "gold")]
|
||||
if o:
|
||||
blk = agreement_block([r["label_cls"] for r in o], [r["cls"] for r in o],
|
||||
[r["label_xau"] for r in o], [r["score"] for r in o])
|
||||
pooled[f"full_{subset}"] = blk
|
||||
print_agreement(f"OOF model, shipped recipe, {subset}-key rows", blk)
|
||||
for since in ("2026-09-18",):
|
||||
for subset in ("all", "gold", "macro"):
|
||||
o = [r for r in oof["full"] if r["day"] >= since
|
||||
and (subset == "all" or r["gold"] == (subset == "gold"))]
|
||||
if o:
|
||||
blk = agreement_block([r["label_cls"] for r in o], [r["cls"] for r in o])
|
||||
pooled[f"full_since_{since}_{subset}"] = blk
|
||||
print_agreement(f"OOF, days >= {since}, {subset}", blk)
|
||||
big = [r for r in oof["full"] if r["n_train"] >= 300]
|
||||
if big:
|
||||
blk = agreement_block([r["label_cls"] for r in big], [r["cls"] for r in big],
|
||||
[r["label_xau"] for r in big], [r["score"] for r in big])
|
||||
pooled["full_train_ge_300"] = blk
|
||||
print_agreement("OOF model, shipped recipe, folds with ≥300 train rows", blk)
|
||||
for variant in ("full", "head"):
|
||||
o = oof[variant]
|
||||
print(f"\n OOF confusion, {variant} (rows = DeepSeek label, cols = model):")
|
||||
cm = pooled[variant]["confusion"]
|
||||
print(" " + "".join(f"{CLASS_NAMES[c]:>9}" for c in (-1, 0, 1)))
|
||||
for c, row in zip((-1, 0, 1), cm):
|
||||
print(f" {CLASS_NAMES[c]:<9} " + "".join(f"{v:>9}" for v in row))
|
||||
else:
|
||||
print(" no fold could be trained (too few rows); Parts C and D need OOF rows")
|
||||
|
||||
# ── Part C: routing ────────────────────────────────────────────────
|
||||
routing: List[Dict[str, Any]] = []
|
||||
if oof["full"]:
|
||||
hr("C. Confidence routing on pooled OOF (shipped recipe): keep locally vs send to DeepSeek")
|
||||
routing = routing_table(oof["full"])
|
||||
print(f" {'conf≥':>5} {'margin≥':>7} | {'kept':>5} {'share':>6} | "
|
||||
f"{'kept agree':>10} | {'hybrid agree':>12}")
|
||||
for r in routing:
|
||||
if r["margin_min"] in (0.0, 0.2, 0.4) or r["confidence_min"] in (0.7,):
|
||||
ka = "n/a" if r["kept_accuracy"] is None else f"{100 * r['kept_accuracy']:.1f}%"
|
||||
print(f" {r['confidence_min']:>5.2f} {r['margin_min']:>7.2f} | "
|
||||
f"{r['kept']:>5} {100 * r['kept_share']:5.1f}% | {ka:>10} | "
|
||||
f"{100 * r['hybrid_agreement']:11.1f}%")
|
||||
print(" (hybrid agree = kept rows judged by the model + routed rows answered "
|
||||
"by DeepSeek itself; kept share = DeepSeek calls saved)")
|
||||
|
||||
# ── Part D: DeepSeek self-agreement ────────────────────────────────
|
||||
reprobe: Dict[str, Any] = {}
|
||||
if args.reprobe > 0:
|
||||
hr(f"D. DeepSeek re-scored today on {args.reprobe} archived headlines (teacher noise)")
|
||||
rng = random.Random(args.seed)
|
||||
sample = rng.sample(rows, min(args.reprobe, len(rows)))
|
||||
ds = DeepSeekScorer(timeout=args.timeout, no_network=args.no_network)
|
||||
live = ds.score_many([r["headline"] for r in sample])
|
||||
pairs = [(r, l) for r, l in zip(sample, live) if l is not None]
|
||||
if not pairs:
|
||||
print(" no live scores (network off or every call failed)")
|
||||
else:
|
||||
old_cls = [to_class(r["xau"], thr) for r, _ in pairs]
|
||||
new_cls = [to_class(l["xau"], thr) for _, l in pairs]
|
||||
exact = sum(1 for r, l in pairs if abs(r["xau"] - l["xau"]) < 1e-9)
|
||||
blk = agreement_block(old_cls, new_cls, [r["xau"] for r, _ in pairs],
|
||||
[l["xau"] for _, l in pairs])
|
||||
print_agreement("DeepSeek today vs DeepSeek archived", blk)
|
||||
print(f" identical xau value: {fmt_pct(exact, len(pairs))}; "
|
||||
f"|diff| mean {blk['mae']:.3f}")
|
||||
same_prompt = sum(1 for r, _ in pairs if r["teacher_prompt_sha1"] == ds.prompt_sha1)
|
||||
print(f" archived rows scored with today's prompt: {same_prompt}/{len(pairs)}"
|
||||
f" (a different prompt sha1 means a different question was asked)")
|
||||
oof_by_hash = {r["hash"]: r for r in oof["full"]}
|
||||
joined = [(r, l, oof_by_hash[r["hash"]]) for r, l in pairs if r["hash"] in oof_by_hash]
|
||||
d_out: Dict[str, Any] = {"n_live": len(pairs), "identical_xau": exact,
|
||||
"self_agreement": blk, "same_prompt": same_prompt,
|
||||
"deepseek": ds.stats()}
|
||||
if joined:
|
||||
b_old = agreement_block([to_class(r["xau"], thr) for r, _, _ in joined],
|
||||
[o["cls"] for _, _, o in joined])
|
||||
b_new = agreement_block([to_class(l["xau"], thr) for _, l, _ in joined],
|
||||
[o["cls"] for _, _, o in joined])
|
||||
print_agreement(f"OOF model vs archived DeepSeek ({len(joined)} joined)", b_old)
|
||||
print_agreement("OOF model vs today's DeepSeek (same rows)", b_new)
|
||||
unstable = [(r, l, o) for r, l, o in joined
|
||||
if to_class(r["xau"], thr) != to_class(l["xau"], thr)]
|
||||
if unstable:
|
||||
m_hit = sum(1 for r, l, o in unstable
|
||||
if o["cls"] in (to_class(r["xau"], thr), to_class(l["xau"], thr)))
|
||||
print(f" rows where DeepSeek changed class: {len(unstable)}; model "
|
||||
f"matched one of the two answers on {m_hit}")
|
||||
d_out["oof_vs_archived"] = b_old
|
||||
d_out["oof_vs_today"] = b_new
|
||||
reprobe = d_out
|
||||
write_csv(RESULTS_DIR / f"archive_reprobe_{ts_tag()}.csv", [
|
||||
{"hash": r["hash"], "headline": r["headline"], "day": r["day"],
|
||||
"archived_xau": r["xau"], "today_xau": l["xau"], "today_s": l["s"],
|
||||
"archived_cls": to_class(r["xau"], thr), "today_cls": to_class(l["xau"], thr),
|
||||
"oof_model_cls": oof_by_hash.get(r["hash"], {}).get("cls"),
|
||||
"oof_model_score": oof_by_hash.get(r["hash"], {}).get("score")}
|
||||
for r, l in pairs])
|
||||
|
||||
tag = ts_tag() + f"_{args.train_scope}" + (f"_{args.model.stem}" if args.model else "")
|
||||
summary = {
|
||||
"generated_at": tag, "db": str(args.db), "threshold": thr,
|
||||
"rows": len(rows), "days": days, "rows_per_day": dict(per_day),
|
||||
"label_distribution": dict(label_dist), "model": model.meta,
|
||||
"train_scope": args.train_scope,
|
||||
"extra_labels": str(args.extra_labels) if args.extra_labels else None,
|
||||
"in_sample": {"headline_description": blk_a_full, "headline_only": blk_a_head},
|
||||
"after_training": blk_a_after, "relevance_after_training": relevance,
|
||||
"folds": fold_table, "pooled_oof": pooled, "routing": routing,
|
||||
"reprobe": reprobe,
|
||||
}
|
||||
write_json(RESULTS_DIR / f"archive_{tag}.json", summary)
|
||||
if oof["full"]:
|
||||
merged = []
|
||||
head_by_hash = {r["hash"]: r for r in oof["head"]}
|
||||
for r in oof["full"]:
|
||||
h = head_by_hash.get(r["hash"], {})
|
||||
merged.append({**r, "head_cls": h.get("cls"), "head_score": h.get("score"),
|
||||
"head_confidence": h.get("confidence")})
|
||||
write_csv(RESULTS_DIR / f"archive_oof_{tag}.csv", merged)
|
||||
print(f"\nwrote results/archive_{tag}.json"
|
||||
+ (f" and results/archive_oof_{tag}.csv" if oof["full"] else ""))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,641 @@
|
||||
"""
|
||||
Shared helpers for the ML-NEWS vs DeepSeek evaluation scripts.
|
||||
|
||||
RESEARCH ONLY. This folder lives outside the ForexBot2 git tree on
|
||||
purpose (ML-NEWS is not a git repository). Nothing here is imported by
|
||||
live code.
|
||||
|
||||
Runtime: the ForexBot2 venv (it has `requests`, `pandas` and the live
|
||||
news code) with ML-NEWS on sys.path (for `news_sentiment`). The model
|
||||
was pickled with scikit-learn 1.9.1; the ForexBot2 venv carries 1.9.0
|
||||
and was verified on 2026-09-17 to return byte-identical probabilities
|
||||
on all 1,577 archived headlines, so the version warning is silenced.
|
||||
|
||||
/home/harwinder/Development/ForexBot2/venv/bin/python eval_golden.py
|
||||
|
||||
Three scorers are wrapped so every script measures the same things:
|
||||
|
||||
* ModelScorer - the scikit-learn bundle (models/xauusd_sentiment.joblib)
|
||||
* KeywordScorer - ForexBot2's built-in keyword scorer, XAU-inverted
|
||||
(what the live system falls back to when DeepSeek
|
||||
is unavailable)
|
||||
* DeepSeekScorer - the LIVE DeepSeek path: the real system prompt, the
|
||||
real client, the real batch cap of 25, through
|
||||
NewsEngine._llm_headline_scores. Results are cached
|
||||
on disk (results/deepseek_cache.json) keyed by
|
||||
headline + prompt sha1 + model, so re-running a
|
||||
report never re-spends.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import csv
|
||||
import hashlib
|
||||
import json
|
||||
import logging
|
||||
import math
|
||||
import os
|
||||
import sqlite3
|
||||
import sys
|
||||
import time
|
||||
import warnings
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, Iterable, List, Optional, Sequence, Tuple
|
||||
|
||||
FOREXBOT2_DIR = Path("/home/harwinder/Development/ForexBot2")
|
||||
ML_NEWS_DIR = Path("/home/harwinder/Development/ML-NEWS")
|
||||
EVAL_DIR = Path(__file__).resolve().parent
|
||||
DATA_DIR = EVAL_DIR / "data"
|
||||
RESULTS_DIR = EVAL_DIR / "results"
|
||||
GOLDEN_CSV = DATA_DIR / "llm_news_golden.csv"
|
||||
MODEL_PATH = ML_NEWS_DIR / "models" / "xauusd_sentiment.joblib"
|
||||
TRANSFORMER_DIR = ML_NEWS_DIR / "models" / "xau_transformer"
|
||||
DEFAULT_DB = FOREXBOT2_DIR / "logs" / "newsdata.db"
|
||||
DEEPSEEK_CACHE = RESULTS_DIR / "deepseek_cache.json"
|
||||
|
||||
#: |xau| below this = neutral. The 2026-08-06 golden-set grading used
|
||||
#: 0.15 (DeepSeek 78/78, keywords 24/78 under this rule).
|
||||
NEUTRAL_BAND_GOLDEN = 0.15
|
||||
#: The ML-NEWS trainer maps a DeepSeek XAU score to a class with this
|
||||
#: threshold (news_sentiment.train_model neutral_threshold=0.05).
|
||||
LABEL_THRESHOLD_TRAIN = 0.05
|
||||
#: Production batch cap in news_engine._apply_llm_sentiment.
|
||||
BATCH_CAP = 25
|
||||
|
||||
CLASSES = (-1, 0, 1)
|
||||
CLASS_NAMES = {-1: "bearish", 0: "neutral", 1: "bullish"}
|
||||
NAME_TO_CLASS = {v: k for k, v in CLASS_NAMES.items()}
|
||||
|
||||
for _p in (str(FOREXBOT2_DIR), str(ML_NEWS_DIR)):
|
||||
if _p not in sys.path:
|
||||
sys.path.insert(0, _p)
|
||||
|
||||
warnings.filterwarnings("ignore", message=".*InconsistentVersionWarning.*")
|
||||
try: # sklearn raises its own warning class for a version mismatch
|
||||
from sklearn.exceptions import InconsistentVersionWarning
|
||||
warnings.filterwarnings("ignore", category=InconsistentVersionWarning)
|
||||
except Exception: # pragma: no cover - sklearn missing
|
||||
pass
|
||||
|
||||
logging.basicConfig(level=logging.WARNING,
|
||||
format="%(levelname)s %(name)s: %(message)s")
|
||||
|
||||
RESULTS_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
# ── small utilities ──────────────────────────────────────────────────
|
||||
|
||||
def ts_tag() -> str:
|
||||
return datetime.now(timezone.utc).strftime("%Y%m%d_%H%M")
|
||||
|
||||
|
||||
def utc_now_iso() -> str:
|
||||
return datetime.now(timezone.utc).isoformat()
|
||||
|
||||
|
||||
def to_class(x: Optional[float], band: float) -> Optional[int]:
|
||||
"""-1 / 0 / +1 from a continuous score; None stays None."""
|
||||
if x is None or (isinstance(x, float) and math.isnan(x)):
|
||||
return None
|
||||
if x >= band:
|
||||
return 1
|
||||
if x <= -band:
|
||||
return -1
|
||||
return 0
|
||||
|
||||
|
||||
def headline_sha256(headline: str) -> str:
|
||||
"""Same key news_archive uses (sha256 of the exact headline text)."""
|
||||
return hashlib.sha256(headline.encode("utf-8")).hexdigest()
|
||||
|
||||
|
||||
def fmt_pct(k: int, n: int) -> str:
|
||||
return f"{k}/{n} = {100.0 * k / n:.1f}%" if n else "n/a"
|
||||
|
||||
|
||||
def write_json(path: Path, obj: Any) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
path.write_text(json.dumps(obj, indent=2, sort_keys=True, default=str)
|
||||
+ "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def write_csv(path: Path, rows: Sequence[Dict[str, Any]]) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
if not rows:
|
||||
path.write_text("", encoding="utf-8")
|
||||
return
|
||||
keys: List[str] = []
|
||||
for r in rows:
|
||||
for k in r:
|
||||
if k not in keys:
|
||||
keys.append(k)
|
||||
with path.open("w", newline="", encoding="utf-8") as fh:
|
||||
w = csv.DictWriter(fh, fieldnames=keys)
|
||||
w.writeheader()
|
||||
for r in rows:
|
||||
w.writerow(r)
|
||||
|
||||
|
||||
def hr(title: str = "") -> None:
|
||||
line = "═" * 72
|
||||
print("\n" + line)
|
||||
if title:
|
||||
print(title)
|
||||
print(line)
|
||||
|
||||
|
||||
# ── metrics (numpy/pandas only, mirrors the 2026-08-06 harness) ─────
|
||||
|
||||
def confusion(exp: Sequence[int], pred: Sequence[int],
|
||||
classes: Sequence[int] = CLASSES) -> List[List[int]]:
|
||||
idx = {c: i for i, c in enumerate(classes)}
|
||||
m = [[0] * len(classes) for _ in classes]
|
||||
for e, p in zip(exp, pred):
|
||||
m[idx[e]][idx[p]] += 1
|
||||
return m
|
||||
|
||||
|
||||
def accuracy(exp: Sequence[int], pred: Sequence[int]) -> float:
|
||||
pairs = list(zip(exp, pred))
|
||||
return sum(1 for e, p in pairs if e == p) / len(pairs) if pairs else float("nan")
|
||||
|
||||
|
||||
def macro_f1(exp: Sequence[int], pred: Sequence[int],
|
||||
classes: Sequence[int] = CLASSES) -> float:
|
||||
m = confusion(exp, pred, classes)
|
||||
f1s = []
|
||||
for i in range(len(classes)):
|
||||
tp = m[i][i]
|
||||
fp = sum(m[r][i] for r in range(len(classes))) - tp
|
||||
fn = sum(m[i]) - tp
|
||||
prec = tp / (tp + fp) if tp + fp else 0.0
|
||||
rec = tp / (tp + fn) if tp + fn else 0.0
|
||||
f1s.append(2 * prec * rec / (prec + rec) if prec + rec else 0.0)
|
||||
return sum(f1s) / len(f1s)
|
||||
|
||||
|
||||
def directional_accuracy(exp: Sequence[int], pred: Sequence[int]) -> Tuple[int, int]:
|
||||
"""Among rows whose expected class is not neutral: hits where the
|
||||
prediction equals it (a neutral prediction counts as a miss)."""
|
||||
pairs = [(e, p) for e, p in zip(exp, pred) if e != 0]
|
||||
return sum(1 for e, p in pairs if e == p), len(pairs)
|
||||
|
||||
|
||||
def sign_agreement(exp: Sequence[int], pred: Sequence[int]) -> Tuple[int, int]:
|
||||
"""Among rows where BOTH sides lean one way: same sign."""
|
||||
pairs = [(e, p) for e, p in zip(exp, pred) if e != 0 and p != 0]
|
||||
return sum(1 for e, p in pairs if e == p), len(pairs)
|
||||
|
||||
|
||||
def spearman(a: Sequence[float], b: Sequence[float]) -> float:
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
s = pd.DataFrame({"a": list(a), "b": list(b)}).dropna()
|
||||
if len(s) < 3:
|
||||
return float("nan")
|
||||
ra, rb = s["a"].rank(), s["b"].rank()
|
||||
if ra.std() == 0 or rb.std() == 0:
|
||||
return float("nan")
|
||||
return float(np.corrcoef(ra, rb)[0, 1])
|
||||
|
||||
|
||||
def mae(a: Sequence[float], b: Sequence[float]) -> float:
|
||||
pairs = [(x, y) for x, y in zip(a, b) if x is not None and y is not None]
|
||||
return sum(abs(x - y) for x, y in pairs) / len(pairs) if pairs else float("nan")
|
||||
|
||||
|
||||
def mcnemar(hit_a: Sequence[bool], hit_b: Sequence[bool]) -> Tuple[int, int, float]:
|
||||
"""Exact two-sided McNemar on the discordant pairs: b = A right and
|
||||
B wrong, c = A wrong and B right."""
|
||||
b = sum(1 for x, y in zip(hit_a, hit_b) if x and not y)
|
||||
c = sum(1 for x, y in zip(hit_a, hit_b) if not x and y)
|
||||
n = b + c
|
||||
if n == 0:
|
||||
return b, c, 1.0
|
||||
k = min(b, c)
|
||||
p = 2.0 * sum(math.comb(n, i) for i in range(k + 1)) / 2 ** n
|
||||
return b, c, min(1.0, p)
|
||||
|
||||
|
||||
def print_confusion(cm: List[List[int]], title: str) -> None:
|
||||
print(f"\n{title} (rows = expected, cols = predicted)")
|
||||
print(" " + "".join(f"{CLASS_NAMES[c]:>9}" for c in CLASSES))
|
||||
for c, row in zip(CLASSES, cm):
|
||||
print(f" {CLASS_NAMES[c]:<9} " + "".join(f"{v:>9}" for v in row))
|
||||
|
||||
|
||||
def agreement_block(exp_cls: Sequence[int], pred_cls: Sequence[int],
|
||||
exp_score: Optional[Sequence[float]] = None,
|
||||
pred_score: Optional[Sequence[float]] = None) -> Dict[str, Any]:
|
||||
"""Everything one comparison needs, as a dict (JSON-friendly)."""
|
||||
n = len(exp_cls)
|
||||
hits = sum(1 for e, p in zip(exp_cls, pred_cls) if e == p)
|
||||
d_hit, d_n = directional_accuracy(exp_cls, pred_cls)
|
||||
s_hit, s_n = sign_agreement(exp_cls, pred_cls)
|
||||
out: Dict[str, Any] = {
|
||||
"n": n,
|
||||
"accuracy": hits / n if n else None,
|
||||
"hits": hits,
|
||||
"macro_f1": macro_f1(exp_cls, pred_cls) if n else None,
|
||||
"directional_hits": d_hit, "directional_n": d_n,
|
||||
"directional_accuracy": d_hit / d_n if d_n else None,
|
||||
"sign_hits": s_hit, "sign_n": s_n,
|
||||
"sign_agreement": s_hit / s_n if s_n else None,
|
||||
"confusion": confusion(exp_cls, pred_cls) if n else None,
|
||||
}
|
||||
if exp_score is not None and pred_score is not None:
|
||||
out["spearman"] = spearman(exp_score, pred_score)
|
||||
out["mae"] = mae(exp_score, pred_score)
|
||||
return out
|
||||
|
||||
|
||||
def print_agreement(label: str, blk: Dict[str, Any]) -> None:
|
||||
if not blk["n"]:
|
||||
print(f" {label:<44} n=0")
|
||||
return
|
||||
extra = ""
|
||||
if "spearman" in blk and blk["spearman"] == blk["spearman"]:
|
||||
extra = f" rho {blk['spearman']:+.2f} MAE {blk['mae']:.2f}"
|
||||
print(f" {label:<44} n={blk['n']:<4} 3-class {100 * blk['accuracy']:5.1f}% "
|
||||
f"macro-F1 {blk['macro_f1']:.3f} dir {fmt_pct(blk['directional_hits'], blk['directional_n']):<18} "
|
||||
f"sign {fmt_pct(blk['sign_hits'], blk['sign_n']):<18}{extra}")
|
||||
|
||||
|
||||
# ── golden set ───────────────────────────────────────────────────────
|
||||
|
||||
def load_golden() -> List[Dict[str, Any]]:
|
||||
rows: List[Dict[str, Any]] = []
|
||||
with GOLDEN_CSV.open(encoding="utf-8") as fh:
|
||||
for r in csv.DictReader(fh):
|
||||
r["expected_xau_sign"] = int(r["expected_xau_sign"])
|
||||
rows.append(r)
|
||||
need = {"headline", "category", "expected_xau_sign", "rationale"}
|
||||
if rows and not need <= set(rows[0]):
|
||||
raise SystemExit(f"golden CSV missing columns {need - set(rows[0])}")
|
||||
if any(r["expected_xau_sign"] not in (-1, 0, 1) for r in rows):
|
||||
raise SystemExit("expected_xau_sign must be -1/0/+1")
|
||||
if len({r["headline"] for r in rows}) != len(rows):
|
||||
raise SystemExit("duplicate headlines in golden CSV")
|
||||
return rows
|
||||
|
||||
|
||||
# ── archive corpus ───────────────────────────────────────────────────
|
||||
|
||||
def _finite(value: Any) -> Optional[float]:
|
||||
try:
|
||||
value = float(value) if value is not None else None
|
||||
except (TypeError, ValueError):
|
||||
return None
|
||||
return value if value is not None and math.isfinite(value) else None
|
||||
|
||||
|
||||
def load_extra_labels(path: Optional[Path]) -> Dict[str, float]:
|
||||
"""hash -> xau from a JSONL such as results/backfill_labels.jsonl."""
|
||||
if path is None:
|
||||
return {}
|
||||
out: Dict[str, float] = {}
|
||||
with path.open(encoding="utf-8") as fh:
|
||||
for line in fh:
|
||||
if line.strip():
|
||||
rec = json.loads(line)
|
||||
xau = _finite(rec.get("xau"))
|
||||
if rec.get("hash") and xau is not None:
|
||||
out[rec["hash"]] = xau
|
||||
return out
|
||||
|
||||
|
||||
def load_archive_rows(db_path: Path = DEFAULT_DB,
|
||||
extra_labels: Optional[Path] = None) -> List[Dict[str, Any]]:
|
||||
"""Every row of the headlines table, read-only, with DeepSeek's XAU
|
||||
score as `xau` (None when absent). Same priority as the trainer:
|
||||
the xau_score column (every LLM row since 2026-09-18), then the XAU
|
||||
key of score_by_currency_json, then `extra_labels`. `xau_src` says
|
||||
which; `gold` is True when the JSON carries the XAU key (the rows
|
||||
the pre-2026-09-22 trainer used)."""
|
||||
if not db_path.is_file():
|
||||
raise SystemExit(f"archive not found: {db_path}")
|
||||
extra = load_extra_labels(extra_labels)
|
||||
uri = f"{db_path.resolve().as_uri()}?mode=ro"
|
||||
out: List[Dict[str, Any]] = []
|
||||
with sqlite3.connect(uri, uri=True) as conn:
|
||||
cols = {row[1] for row in conn.execute("PRAGMA table_info(headlines)")}
|
||||
xau_col = "xau_score" if "xau_score" in cols else "NULL"
|
||||
q = ("SELECT hash, headline, description, publisher, published_at, "
|
||||
"first_seen, score, score_by_currency_json, currencies_json, "
|
||||
f"score_source, teacher_model, teacher_prompt_sha1, {xau_col} "
|
||||
"FROM headlines")
|
||||
for (h, head, desc, pub, pat, fs, score, sbc, cur, src, tm,
|
||||
tp, xau_score) in conn.execute(q):
|
||||
by_cur: Dict[str, float] = {}
|
||||
try:
|
||||
by_cur = json.loads(sbc) if sbc else {}
|
||||
if not isinstance(by_cur, dict):
|
||||
by_cur = {}
|
||||
except ValueError:
|
||||
by_cur = {}
|
||||
xau, xau_src = _finite(xau_score), "xau_score"
|
||||
if xau is None:
|
||||
xau, xau_src = _finite(by_cur.get("XAU")), "json"
|
||||
if xau is None and h in extra:
|
||||
xau, xau_src = extra[h], "extra_labels"
|
||||
if xau is None:
|
||||
xau_src = None
|
||||
try:
|
||||
currencies = json.loads(cur) if cur else []
|
||||
except ValueError:
|
||||
currencies = []
|
||||
out.append({
|
||||
"hash": h, "headline": head, "description": desc,
|
||||
"publisher": pub, "published_at": pat, "first_seen": fs,
|
||||
"day": str(pat or fs or "")[:10],
|
||||
"score": score, "by_currency": by_cur, "xau": xau,
|
||||
"xau_src": xau_src, "gold": "XAU" in by_cur,
|
||||
"currencies": currencies, "score_source": src,
|
||||
"teacher_model": tm, "teacher_prompt_sha1": tp,
|
||||
})
|
||||
return out
|
||||
|
||||
|
||||
# ── scorers ──────────────────────────────────────────────────────────
|
||||
|
||||
class ModelScorer:
|
||||
"""The scikit-learn bundle. `score()` is one headline at a time so
|
||||
the measured latency is the live per-article cost."""
|
||||
|
||||
def __init__(self, model_path: Path = MODEL_PATH):
|
||||
from news_sentiment import load_model, score_news # noqa: WPS433
|
||||
self.bundle = load_model(model_path)
|
||||
self._score_news = score_news
|
||||
tr = self.bundle.get("training", {})
|
||||
self.meta = {
|
||||
"model_path": str(model_path),
|
||||
"trained_at": self.bundle.get("trained_at"),
|
||||
"sklearn_version": self.bundle.get("sklearn_version"),
|
||||
"model_type": self.bundle.get("model_type"),
|
||||
"training_examples": tr.get("examples"),
|
||||
"label_distribution": tr.get("label_distribution"),
|
||||
"neutral_threshold": tr.get("neutral_threshold"),
|
||||
# rows published after this were never trained on
|
||||
"oos_from": self.bundle.get("trained_at"),
|
||||
}
|
||||
self.total_ms = 0.0
|
||||
self.calls = 0
|
||||
|
||||
def score(self, headline: str, description: Optional[str] = None) -> Dict[str, Any]:
|
||||
t0 = time.perf_counter()
|
||||
r = self._score_news(self.bundle, headline, description)
|
||||
ms = (time.perf_counter() - t0) * 1000.0
|
||||
self.total_ms += ms
|
||||
self.calls += 1
|
||||
probs = r["probabilities"]
|
||||
ordered = sorted(probs.values(), reverse=True)
|
||||
return {
|
||||
"label": r["label"],
|
||||
"cls": NAME_TO_CLASS[r["label"]],
|
||||
"score": float(r["score"]),
|
||||
"confidence": float(r["confidence"]),
|
||||
"margin": float(ordered[0] - ordered[1]),
|
||||
"p_bearish": probs["bearish"], "p_neutral": probs["neutral"],
|
||||
"p_bullish": probs["bullish"],
|
||||
"ms": ms,
|
||||
}
|
||||
|
||||
@property
|
||||
def mean_ms(self) -> float:
|
||||
return self.total_ms / self.calls if self.calls else float("nan")
|
||||
|
||||
|
||||
class TransformerScorer:
|
||||
"""The two-head ONNX model (news_transformer.py), same interface as
|
||||
ModelScorer plus p_relevant / p_bullish / relevant. Headline only:
|
||||
`description` is accepted and ignored."""
|
||||
|
||||
def __init__(self, model_dir: Path = TRANSFORMER_DIR, threads: Optional[int] = None):
|
||||
from news_transformer import load_model, score_news # noqa: WPS433
|
||||
self.bundle = load_model(model_dir, threads)
|
||||
self._score_news = score_news
|
||||
meta = self.bundle["meta"]
|
||||
data = meta.get("data", {})
|
||||
n_train = sum(data.get(k, {}).get("n", 0)
|
||||
for k in (("train", "dev", "val") if meta.get("final") else ("train",)))
|
||||
self.meta = {
|
||||
"model_path": str(model_dir),
|
||||
"trained_at": meta.get("trained_at"),
|
||||
"model_type": f"two_head_transformer:{meta.get('base_model')}",
|
||||
"training_examples": n_train,
|
||||
"relevance_threshold": meta.get("relevance_threshold"),
|
||||
"final": meta.get("final"),
|
||||
# a non-final model never saw newsdata rows from val_from on
|
||||
"oos_from": (meta.get("trained_at") if meta.get("final")
|
||||
else meta.get("hyperparameters", {}).get("val_from")),
|
||||
}
|
||||
self.total_ms = 0.0
|
||||
self.calls = 0
|
||||
|
||||
def score(self, headline: str, description: Optional[str] = None) -> Dict[str, Any]:
|
||||
t0 = time.perf_counter()
|
||||
r = self._score_news(self.bundle, headline)
|
||||
ms = (time.perf_counter() - t0) * 1000.0
|
||||
self.total_ms += ms
|
||||
self.calls += 1
|
||||
pr, pb = r["p_relevant"], r["p_bullish"]
|
||||
return {
|
||||
"label": r["label"], "cls": NAME_TO_CLASS[r["label"]],
|
||||
"score": float(r["score"]), "confidence": float(r["confidence"]),
|
||||
"margin": float(abs(2 * pb - 1) if r["relevant"] else abs(2 * pr - 1)),
|
||||
"p_relevant": pr, "p_bullish": pb, "relevant": r["relevant"],
|
||||
"ms": ms,
|
||||
}
|
||||
|
||||
@property
|
||||
def mean_ms(self) -> float:
|
||||
return self.total_ms / self.calls if self.calls else float("nan")
|
||||
|
||||
|
||||
def make_scorer(kind: str, path: Optional[Path] = None):
|
||||
"""`--scorer tfidf|transformer` with an optional `--model` path."""
|
||||
if kind == "transformer":
|
||||
return TransformerScorer(path or TRANSFORMER_DIR)
|
||||
return ModelScorer(path or MODEL_PATH)
|
||||
|
||||
|
||||
class KeywordScorer:
|
||||
"""ForexBot2's keyword scorer with the XAU policy inversion — the
|
||||
score the live system shows when DeepSeek is unavailable."""
|
||||
|
||||
def __init__(self):
|
||||
from config import NewsConfig
|
||||
from news_engine import NewsEngine
|
||||
self._engine = NewsEngine(NewsConfig())
|
||||
|
||||
def score(self, headline: str) -> float:
|
||||
return float(self._engine._analyze_headline_sentiment(
|
||||
headline, for_currency="XAU"))
|
||||
|
||||
def currencies(self, headline: str) -> List[str]:
|
||||
return list(self._engine._extract_currencies(headline))
|
||||
|
||||
|
||||
def install_research_client(timeout: float, daily_cap: Optional[int] = None):
|
||||
"""Replace the process-wide DeepSeek singleton with one that uses a
|
||||
longer timeout (cold prompt-cache batches ran past the live 12 s in
|
||||
the 2026-08-06 harness). Same key and model as live; the daily cap
|
||||
is live's unless `daily_cap` is given. The cap is counted in this
|
||||
process only, so it never consumes the live bot's allowance."""
|
||||
import app_config
|
||||
import llm_client
|
||||
settings = app_config.get_app_config().deepseek_settings
|
||||
client = llm_client.DeepSeekClient(
|
||||
api_key=app_config.deepseek_api_key(),
|
||||
model=str(settings.get("model", llm_client.DEFAULT_MODEL)),
|
||||
timeout=timeout,
|
||||
daily_cap=daily_cap or int(settings.get("daily_request_cap",
|
||||
llm_client.DEFAULT_DAILY_CAP)),
|
||||
enabled=True,
|
||||
)
|
||||
with llm_client._client_lock:
|
||||
llm_client._client = client
|
||||
return client
|
||||
|
||||
|
||||
class DeepSeekScorer:
|
||||
"""The live DeepSeek headline path with a disk cache.
|
||||
|
||||
Each uncached batch of <= 25 headlines is ONE real call through
|
||||
NewsEngine._llm_headline_scores (real prompt constant, real JSON
|
||||
contract, real clamping). A failed batch is retried `retries`
|
||||
times; headlines still unscored come back as None.
|
||||
"""
|
||||
|
||||
def __init__(self, cache_path: Path = DEEPSEEK_CACHE, timeout: float = 30.0,
|
||||
retries: int = 3, no_network: bool = False,
|
||||
daily_cap: Optional[int] = None):
|
||||
from config import NewsConfig
|
||||
import news_engine
|
||||
self._engine = news_engine.NewsEngine(NewsConfig())
|
||||
self.prompt_sha1 = news_engine._LLM_SENTIMENT_PROMPT_SHA1
|
||||
self._client = install_research_client(timeout, daily_cap)
|
||||
self.model = getattr(self._client, "_model", "?")
|
||||
self.no_network = no_network
|
||||
self.retries = retries
|
||||
self.cache_path = cache_path
|
||||
self._cache: Dict[str, Dict[str, Any]] = {}
|
||||
if cache_path.is_file():
|
||||
try:
|
||||
self._cache = json.loads(cache_path.read_text(encoding="utf-8"))
|
||||
except ValueError:
|
||||
self._cache = {}
|
||||
self.calls = 0
|
||||
self.failed_calls = 0
|
||||
self.headlines_sent = 0
|
||||
self.cache_hits = 0
|
||||
self.batch_ms: List[float] = []
|
||||
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
return bool(getattr(self._client, "available", False)) and not self.no_network
|
||||
|
||||
def key(self, headline: str) -> str:
|
||||
return (hashlib.sha1(headline.encode("utf-8")).hexdigest()
|
||||
+ ":" + self.prompt_sha1[:8] + ":" + self.model)
|
||||
|
||||
def _save(self) -> None:
|
||||
"""Merge-on-save: re-read the file first so two scripts running
|
||||
at once (each writes after every batch) never drop each other's
|
||||
entries. Same key = same answer, so last-writer-wins is fine."""
|
||||
self.cache_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
merged: Dict[str, Dict[str, Any]] = {}
|
||||
if self.cache_path.is_file():
|
||||
try:
|
||||
merged = json.loads(self.cache_path.read_text(encoding="utf-8"))
|
||||
except ValueError:
|
||||
merged = {}
|
||||
merged.update(self._cache)
|
||||
self._cache = merged
|
||||
tmp = self.cache_path.with_suffix(f".{os.getpid()}.tmp")
|
||||
tmp.write_text(json.dumps(merged, indent=0, sort_keys=True),
|
||||
encoding="utf-8")
|
||||
os.replace(tmp, self.cache_path)
|
||||
|
||||
def _call(self, texts: List[str]) -> Optional[List[Tuple[float, float]]]:
|
||||
for attempt in range(self.retries):
|
||||
t0 = time.perf_counter()
|
||||
scores = self._engine._llm_headline_scores(texts)
|
||||
ms = (time.perf_counter() - t0) * 1000.0
|
||||
self.calls += 1
|
||||
if scores is not None:
|
||||
self.batch_ms.append(ms)
|
||||
self.headlines_sent += len(texts)
|
||||
return scores
|
||||
self.failed_calls += 1
|
||||
err = getattr(self._client, "last_error", None)
|
||||
print(f" DeepSeek batch of {len(texts)} failed (attempt "
|
||||
f"{attempt + 1}/{self.retries}, {err}) — retrying")
|
||||
time.sleep(2.0)
|
||||
return None
|
||||
|
||||
def score_many(self, headlines: Sequence[str], force: bool = False
|
||||
) -> List[Optional[Dict[str, Any]]]:
|
||||
"""Aligned list of {"s", "xau", "cached", "batch_ms"} or None."""
|
||||
out: List[Optional[Dict[str, Any]]] = [None] * len(headlines)
|
||||
todo: List[int] = []
|
||||
seen: Dict[str, int] = {}
|
||||
for i, h in enumerate(headlines):
|
||||
k = self.key(h)
|
||||
if not force and k in self._cache:
|
||||
c = self._cache[k]
|
||||
out[i] = {"s": c["s"], "xau": c["xau"], "cached": True,
|
||||
"batch_ms": c.get("batch_ms"), "ts": c.get("ts")}
|
||||
self.cache_hits += 1
|
||||
elif h in seen: # duplicate text inside this request
|
||||
todo.append(i)
|
||||
else:
|
||||
seen[h] = i
|
||||
todo.append(i)
|
||||
uniq = []
|
||||
for i in todo:
|
||||
if headlines[i] not in [headlines[j] for j in uniq]:
|
||||
uniq.append(i)
|
||||
if uniq and not self.available:
|
||||
why = "no network (--no-network)" if self.no_network else \
|
||||
"DeepSeek client unavailable (no key / disabled)"
|
||||
print(f" {len(uniq)} headline(s) not in cache and {why}; "
|
||||
"they stay unscored")
|
||||
return out
|
||||
for start in range(0, len(uniq), BATCH_CAP):
|
||||
idxs = uniq[start:start + BATCH_CAP]
|
||||
texts = [headlines[i] for i in idxs]
|
||||
scores = self._call(texts)
|
||||
if scores is None:
|
||||
continue
|
||||
ms = self.batch_ms[-1]
|
||||
now = utc_now_iso()
|
||||
for i, (s, x) in zip(idxs, scores):
|
||||
rec = {"headline": headlines[i], "s": float(s), "xau": float(x),
|
||||
"ts": now, "batch_ms": ms, "batch_size": len(texts),
|
||||
"model": self.model, "prompt_sha1": self.prompt_sha1}
|
||||
self._cache[self.key(headlines[i])] = rec
|
||||
self._save()
|
||||
for i in todo:
|
||||
if out[i] is None:
|
||||
c = self._cache.get(self.key(headlines[i]))
|
||||
if c is not None:
|
||||
out[i] = {"s": c["s"], "xau": c["xau"], "cached": False,
|
||||
"batch_ms": c.get("batch_ms"), "ts": c.get("ts")}
|
||||
return out
|
||||
|
||||
def stats(self) -> Dict[str, Any]:
|
||||
import statistics
|
||||
return {
|
||||
"model": self.model,
|
||||
"prompt_sha1": self.prompt_sha1,
|
||||
"calls": self.calls,
|
||||
"failed_calls": self.failed_calls,
|
||||
"headlines_sent": self.headlines_sent,
|
||||
"cache_hits": self.cache_hits,
|
||||
"batch_ms_mean": statistics.fmean(self.batch_ms) if self.batch_ms else None,
|
||||
"batch_ms_max": max(self.batch_ms) if self.batch_ms else None,
|
||||
"per_headline_ms": (sum(self.batch_ms) / self.headlines_sent
|
||||
if self.headlines_sent else None),
|
||||
}
|
||||
@@ -0,0 +1,213 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Golden-set benchmark: scikit model vs DeepSeek vs keyword scorer on the
|
||||
78 human-labelled headlines from the 2026-08-06 DeepSeek validation.
|
||||
|
||||
This is the only INDEPENDENT truth available: the model was trained on
|
||||
DeepSeek's own labels, so agreement with DeepSeek on archived headlines
|
||||
says how well the student copies the teacher, not whether either is
|
||||
right. The golden set was labelled by a reviewer, has 13 categories
|
||||
(hawkish/dovish Fed, strong/weak dollar, real yields, safe haven,
|
||||
risk-on, direct gold news, negation traps, inverted metrics and 8
|
||||
irrelevant distractors) and DeepSeek scored 78/78 on it in August.
|
||||
|
||||
Grading rule (same as the August harness): a continuous XAU score is
|
||||
bullish at >= +0.15, bearish at <= -0.15, neutral in between. The
|
||||
scikit model is graded two ways: its native argmax label (what the
|
||||
WORKFLOW doc says to use) and its P(bull)-P(bear) score through the
|
||||
same band; a band sweep shows how sensitive that is.
|
||||
|
||||
Usage:
|
||||
venv/bin/python eval_golden.py # 4 DeepSeek calls, cached
|
||||
venv/bin/python eval_golden.py --no-network # report from cache only
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import statistics
|
||||
from collections import defaultdict
|
||||
from pathlib import Path
|
||||
|
||||
from eval_common import (CLASS_NAMES, NEUTRAL_BAND_GOLDEN, RESULTS_DIR,
|
||||
DeepSeekScorer, KeywordScorer, make_scorer,
|
||||
agreement_block, fmt_pct, hr, load_golden, mcnemar,
|
||||
print_agreement, print_confusion, spearman, to_class,
|
||||
ts_tag, write_csv, write_json)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--band", type=float, default=NEUTRAL_BAND_GOLDEN,
|
||||
help="neutral band for continuous scores (default 0.15)")
|
||||
ap.add_argument("--timeout", type=float, default=30.0)
|
||||
ap.add_argument("--no-network", action="store_true",
|
||||
help="never call DeepSeek; use the disk cache only")
|
||||
ap.add_argument("--scorer", choices=("tfidf", "transformer"), default="tfidf")
|
||||
ap.add_argument("--model", type=Path, default=None,
|
||||
help="model to grade (default: the shipped bundle of --scorer)")
|
||||
ap.add_argument("--force", action="store_true",
|
||||
help="re-send every headline to DeepSeek even if cached")
|
||||
args = ap.parse_args()
|
||||
band = args.band
|
||||
|
||||
golden = load_golden()
|
||||
heads = [g["headline"] for g in golden]
|
||||
print(f"golden set: {len(golden)} headlines, "
|
||||
f"{len({g['category'] for g in golden})} categories")
|
||||
|
||||
model = make_scorer(args.scorer, args.model)
|
||||
kw = KeywordScorer()
|
||||
ds = DeepSeekScorer(timeout=args.timeout, no_network=args.no_network)
|
||||
print(f"model: trained {model.meta['trained_at']} on "
|
||||
f"{model.meta['training_examples']} examples; "
|
||||
f"DeepSeek: {ds.model}, prompt {ds.prompt_sha1[:8]}")
|
||||
|
||||
m_res = [model.score(h) for h in heads] # headline only: golden has none
|
||||
k_res = [kw.score(h) for h in heads]
|
||||
d_res = ds.score_many(heads, force=args.force)
|
||||
|
||||
rows = []
|
||||
for g, m, k, d in zip(golden, m_res, k_res, d_res):
|
||||
rows.append({
|
||||
"headline": g["headline"], "category": g["category"],
|
||||
"exp": g["expected_xau_sign"], "rationale": g["rationale"],
|
||||
"model_label": m["label"], "model_cls": m["cls"],
|
||||
"model_score": round(m["score"], 4),
|
||||
"model_conf": round(m["confidence"], 4),
|
||||
"model_margin": round(m["margin"], 4),
|
||||
"model_cls_band": to_class(m["score"], band),
|
||||
"model_ms": round(m["ms"], 2),
|
||||
"kw_xau": round(k, 3), "kw_cls": to_class(k, band),
|
||||
"ds_s": None if d is None else d["s"],
|
||||
"ds_xau": None if d is None else d["xau"],
|
||||
"ds_cls": None if d is None else to_class(d["xau"], band),
|
||||
"ds_cached": None if d is None else d["cached"],
|
||||
})
|
||||
|
||||
scored = [r for r in rows if r["ds_cls"] is not None]
|
||||
missing = len(rows) - len(scored)
|
||||
if missing:
|
||||
print(f"WARNING: {missing} headlines have no DeepSeek score "
|
||||
"(network off or the call failed); DeepSeek rows use the "
|
||||
f"{len(scored)} that do")
|
||||
|
||||
exp_all = [r["exp"] for r in rows]
|
||||
exp_ds = [r["exp"] for r in scored]
|
||||
|
||||
hr("GOLDEN SET — 3-class accuracy against the reviewer's labels")
|
||||
blocks = {
|
||||
"model (native argmax label)": agreement_block(
|
||||
exp_all, [r["model_cls"] for r in rows]),
|
||||
f"model (score through band ±{band:.2f})": agreement_block(
|
||||
exp_all, [r["model_cls_band"] for r in rows]),
|
||||
f"DeepSeek live (xau through band ±{band:.2f})": agreement_block(
|
||||
exp_ds, [r["ds_cls"] for r in scored]),
|
||||
f"keyword fallback (band ±{band:.2f})": agreement_block(
|
||||
exp_all, [r["kw_cls"] for r in rows]),
|
||||
}
|
||||
for label, blk in blocks.items():
|
||||
print_agreement(label, blk)
|
||||
print(" (dir = expected non-neutral rows predicted with the right sign; "
|
||||
"sign = same sign when both lean)")
|
||||
|
||||
hr("Model band sweep (its score is P(bullish) - P(bearish))")
|
||||
sweep = {}
|
||||
for b in (0.05, 0.10, 0.15, 0.20, 0.30, 0.50):
|
||||
cls = [to_class(r["model_score"], b) for r in rows]
|
||||
hits = sum(1 for e, c in zip(exp_all, cls) if e == c)
|
||||
neutral_pred = sum(1 for c in cls if c == 0)
|
||||
sweep[str(b)] = {"hits": hits, "n": len(rows), "neutral_predicted": neutral_pred}
|
||||
print(f" band ±{b:.2f}: {fmt_pct(hits, len(rows)):<18} "
|
||||
f"neutral predictions {neutral_pred}")
|
||||
|
||||
hr("Per category (hits / n): model | DeepSeek | keyword")
|
||||
by_cat = defaultdict(list)
|
||||
for r in rows:
|
||||
by_cat[r["category"]].append(r)
|
||||
cat_table = {}
|
||||
for cat in sorted(by_cat):
|
||||
grp = by_cat[cat]
|
||||
grp_ds = [r for r in grp if r["ds_cls"] is not None]
|
||||
mh = sum(1 for r in grp if r["model_cls"] == r["exp"])
|
||||
dh = sum(1 for r in grp_ds if r["ds_cls"] == r["exp"])
|
||||
kh = sum(1 for r in grp if r["kw_cls"] == r["exp"])
|
||||
cat_table[cat] = {"n": len(grp), "model": mh, "deepseek": dh,
|
||||
"deepseek_n": len(grp_ds), "keyword": kh}
|
||||
print(f" {cat:<18} {mh:>2}/{len(grp):<2} | {dh:>2}/{len(grp_ds):<2} "
|
||||
f"| {kh:>2}/{len(grp)}")
|
||||
|
||||
print_confusion(blocks["model (native argmax label)"]["confusion"],
|
||||
"Model confusion")
|
||||
if scored:
|
||||
print_confusion(
|
||||
blocks[f"DeepSeek live (xau through band ±{band:.2f})"]["confusion"],
|
||||
"DeepSeek confusion")
|
||||
|
||||
hr("Paired McNemar (exact, two-sided) on the same headlines")
|
||||
tests = {}
|
||||
if scored:
|
||||
ha = [r["model_cls"] == r["exp"] for r in scored]
|
||||
hb = [r["ds_cls"] == r["exp"] for r in scored]
|
||||
b, c, p = mcnemar(ha, hb)
|
||||
tests["model_vs_deepseek"] = {"model_only_right": b, "deepseek_only_right": c, "p": p}
|
||||
print(f" model vs DeepSeek: model-only-right {b}, DeepSeek-only-right {c}, p={p:.4f}")
|
||||
ha = [r["model_cls"] == r["exp"] for r in rows]
|
||||
hb = [r["kw_cls"] == r["exp"] for r in rows]
|
||||
b, c, p = mcnemar(ha, hb)
|
||||
tests["model_vs_keyword"] = {"model_only_right": b, "keyword_only_right": c, "p": p}
|
||||
print(f" model vs keyword: model-only-right {b}, keyword-only-right {c}, p={p:.4f}")
|
||||
|
||||
if scored:
|
||||
rho = spearman([r["model_score"] for r in scored], [r["ds_xau"] for r in scored])
|
||||
print(f"\n Spearman(model score, DeepSeek xau) over {len(scored)}: {rho:+.3f}")
|
||||
else:
|
||||
rho = float("nan")
|
||||
|
||||
hr("Model misclassifications (expected -> model label, score, confidence)")
|
||||
for r in rows:
|
||||
if r["model_cls"] != r["exp"]:
|
||||
ds_txt = "" if r["ds_xau"] is None else f" DS {r['ds_xau']:+.2f}"
|
||||
print(f" exp {r['exp']:+d} -> {r['model_label']:<7} "
|
||||
f"{r['model_score']:+.2f} c={r['model_conf']:.2f}{ds_txt} "
|
||||
f"[{r['category']}] {r['headline'][:70]}")
|
||||
if scored:
|
||||
hr("DeepSeek misclassifications")
|
||||
wrong = [r for r in scored if r["ds_cls"] != r["exp"]]
|
||||
if not wrong:
|
||||
print(" none")
|
||||
for r in wrong:
|
||||
print(f" exp {r['exp']:+d} -> {r['ds_xau']:+.2f} "
|
||||
f"[{r['category']}] {r['headline'][:70]}")
|
||||
|
||||
hr("Latency")
|
||||
m_ms = [r["model_ms"] for r in rows]
|
||||
st = ds.stats()
|
||||
print(f" model: mean {statistics.fmean(m_ms):.2f} ms, median "
|
||||
f"{statistics.median(m_ms):.2f} ms, max {max(m_ms):.2f} ms per headline (in-process)")
|
||||
if st["headlines_sent"]:
|
||||
print(f" DeepSeek: {st['calls']} call(s), {st['headlines_sent']} headlines sent, "
|
||||
f"mean batch {st['batch_ms_mean']:.0f} ms, max {st['batch_ms_max']:.0f} ms, "
|
||||
f"≈ {st['per_headline_ms']:.0f} ms per headline; {st['cache_hits']} cache hits")
|
||||
else:
|
||||
print(f" DeepSeek: 0 headlines sent this run ({st['cache_hits']} cache hits)")
|
||||
|
||||
tag = ts_tag() + ("" if args.scorer == "tfidf" else f"_{args.scorer}") + (
|
||||
f"_{args.model.stem}" if args.model else "")
|
||||
summary = {
|
||||
"generated_at": tag, "band": band, "n": len(rows),
|
||||
"deepseek_scored": len(scored), "model": model.meta,
|
||||
"deepseek": st, "blocks": blocks, "band_sweep": sweep,
|
||||
"per_category": cat_table, "mcnemar": tests,
|
||||
"spearman_model_vs_deepseek": rho,
|
||||
"model_latency_ms": {"mean": statistics.fmean(m_ms),
|
||||
"median": statistics.median(m_ms), "max": max(m_ms)},
|
||||
}
|
||||
write_json(RESULTS_DIR / f"golden_{tag}.json", summary)
|
||||
write_csv(RESULTS_DIR / f"golden_{tag}.csv", rows)
|
||||
print(f"\nwrote results/golden_{tag}.json and .csv")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,253 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Live shadow run: fetch today's headlines through the real ForexBot2
|
||||
news engine, score every one with DeepSeek (live API) and with the
|
||||
scikit model, and measure how often they agree. Re-run it on later
|
||||
days: rows accumulate in results/live_shadow.jsonl (deduplicated by
|
||||
headline hash) and the report always covers the whole log, so the
|
||||
out-of-sample sample grows with time. This is the "shadow mode" the
|
||||
ML-NEWS WORKFLOW doc asks for before any routing goes live.
|
||||
|
||||
What is real here
|
||||
* The fetch is NewsEngine._fetch_news_sentiment_raw: same four feeds,
|
||||
same age window (overridable with --max-age-hours to get a bigger
|
||||
sample than the live 4 h), same dedup, same currency filter, same
|
||||
description cleaning. The engine's own DeepSeek call and the
|
||||
archive write are switched off for the fetch so this run neither
|
||||
spends inside the engine nor pollutes logs/newsdata.db.
|
||||
* DeepSeek is then called through the same _llm_headline_scores path
|
||||
in batches of 25, once per headline ever (disk cache).
|
||||
* The model sees headline + description (the shipped recipe) and, as
|
||||
a second column, the headline alone.
|
||||
|
||||
Truth here is DeepSeek, so this measures how well the student copies
|
||||
the teacher on headlines it never trained on ("not in training" =
|
||||
hash absent from the archive's DeepSeek-XAU rows). Independent truth
|
||||
is eval_golden.py.
|
||||
|
||||
Usage:
|
||||
venv/bin/python eval_live.py --max-age-hours 24
|
||||
venv/bin/python eval_live.py --report-only
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import statistics
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from eval_common import (DEFAULT_DB, LABEL_THRESHOLD_TRAIN, RESULTS_DIR,
|
||||
DeepSeekScorer, ModelScorer, agreement_block,
|
||||
fmt_pct, headline_sha256, hr, load_archive_rows,
|
||||
print_agreement, to_class, ts_tag, utc_now_iso,
|
||||
write_json)
|
||||
|
||||
SHADOW_LOG = RESULTS_DIR / "live_shadow.jsonl"
|
||||
|
||||
|
||||
def fetch_headlines(max_age_hours: float):
|
||||
"""Run the real RSS fetch with the engine's LLM step and the archive
|
||||
hook disabled. Returns the NewsSentiment list (keyword-scored)."""
|
||||
import news_engine
|
||||
from config import NewsConfig
|
||||
cfg = NewsConfig(headline_max_age_seconds=int(max_age_hours * 3600))
|
||||
engine = news_engine.NewsEngine(cfg)
|
||||
engine._apply_llm_sentiment = lambda headlines: None # instance-level
|
||||
saved = news_engine.news_archive.archive_headlines
|
||||
news_engine.news_archive.archive_headlines = lambda *a, **k: None
|
||||
try:
|
||||
return engine, engine._fetch_news_sentiment_raw()
|
||||
finally:
|
||||
news_engine.news_archive.archive_headlines = saved
|
||||
|
||||
|
||||
def load_log() -> List[Dict[str, Any]]:
|
||||
if not SHADOW_LOG.is_file():
|
||||
return []
|
||||
out = []
|
||||
with SHADOW_LOG.open(encoding="utf-8") as fh:
|
||||
for line in fh:
|
||||
line = line.strip()
|
||||
if line:
|
||||
out.append(json.loads(line))
|
||||
return out
|
||||
|
||||
|
||||
def report(log: List[Dict[str, Any]], thr: float) -> Dict[str, Any]:
|
||||
rows = [r for r in log if r.get("ds_xau") is not None]
|
||||
hr(f"LIVE SHADOW LOG — {len(rows)} DeepSeek-scored headlines over "
|
||||
f"{len({r['run_ts'][:10] for r in rows})} run day(s); labels at ±{thr}")
|
||||
if not rows:
|
||||
print(" nothing to report yet")
|
||||
return {}
|
||||
|
||||
def block(sub: List[Dict[str, Any]], pred_key: str, score_key: str) -> Dict[str, Any]:
|
||||
return agreement_block([to_class(r["ds_xau"], thr) for r in sub],
|
||||
[to_class(r[score_key], thr) if pred_key is None else r[pred_key]
|
||||
for r in sub],
|
||||
[r["ds_xau"] for r in sub], [r[score_key] for r in sub])
|
||||
|
||||
subsets = {
|
||||
"all headlines": rows,
|
||||
"mentions gold (XAU keyword)": [r for r in rows if r["mentions_gold"]],
|
||||
"not in training set": [r for r in rows if not r["in_training"]],
|
||||
"not in training & mentions gold": [r for r in rows if not r["in_training"] and r["mentions_gold"]],
|
||||
}
|
||||
out: Dict[str, Any] = {"n": len(rows), "subsets": {}}
|
||||
for name, sub in subsets.items():
|
||||
print(f"\n [{name}] n={len(sub)}")
|
||||
if not sub:
|
||||
continue
|
||||
b_full = block(sub, "model_cls", "model_score")
|
||||
b_head = block(sub, "model_h_cls", "model_h_score")
|
||||
b_kw = agreement_block([to_class(r["ds_xau"], thr) for r in sub],
|
||||
[to_class(r["kw_xau"], thr) for r in sub])
|
||||
print_agreement("model (headline+description) vs DeepSeek", b_full)
|
||||
print_agreement("model (headline only) vs DeepSeek", b_head)
|
||||
print_agreement("keyword fallback vs DeepSeek", b_kw)
|
||||
out["subsets"][name] = {"n": len(sub), "model_full": b_full,
|
||||
"model_head": b_head, "keyword": b_kw}
|
||||
|
||||
# DeepSeek's own stability on headlines it scored before (archive)
|
||||
same = [r for r in rows if r.get("archived_xau") is not None]
|
||||
if same:
|
||||
b = agreement_block([to_class(r["archived_xau"], thr) for r in same],
|
||||
[to_class(r["ds_xau"], thr) for r in same],
|
||||
[r["archived_xau"] for r in same], [r["ds_xau"] for r in same])
|
||||
exact = sum(1 for r in same if abs(r["archived_xau"] - r["ds_xau"]) < 1e-9)
|
||||
print(f"\n [DeepSeek today vs DeepSeek archived, same headline] n={len(same)}")
|
||||
print_agreement("teacher self-agreement (xau)", b)
|
||||
print(f" identical value {fmt_pct(exact, len(same))}")
|
||||
out["deepseek_self_agreement"] = {**b, "identical": exact}
|
||||
|
||||
# What the live platform displays for USD-only headlines is -overall,
|
||||
# not DeepSeek's own xau (news_engine._gold_direction_label). Side note.
|
||||
usd_only = [r for r in rows if not r["mentions_gold"] and "USD" in r["currencies"]]
|
||||
if usd_only:
|
||||
b = agreement_block([to_class(r["ds_xau"], thr) for r in usd_only],
|
||||
[to_class(-r["ds_s"], thr) for r in usd_only])
|
||||
print(f"\n [side note] USD-only headlines n={len(usd_only)}: the live gold "
|
||||
f"reading (-overall) matches DeepSeek's own xau on "
|
||||
f"{fmt_pct(b['hits'], b['n'])} (sign {fmt_pct(b['sign_hits'], b['sign_n'])})")
|
||||
out["usd_only_display_vs_xau"] = b
|
||||
|
||||
hr("Largest disagreements (model headline+description vs DeepSeek xau)")
|
||||
worst = sorted(rows, key=lambda r: -abs(r["model_score"] - r["ds_xau"]))
|
||||
shown = 0
|
||||
for r in worst:
|
||||
if to_class(r["model_score"], thr) == to_class(r["ds_xau"], thr):
|
||||
continue
|
||||
print(f" DS {r['ds_xau']:+.2f} model {r['model_score']:+.2f} c={r['model_conf']:.2f} "
|
||||
f"{'gold ' if r['mentions_gold'] else ' '}"
|
||||
f"{'TRAIN ' if r['in_training'] else ' '}{r['headline'][:78]}")
|
||||
shown += 1
|
||||
if shown >= 15:
|
||||
break
|
||||
|
||||
hr("Latency")
|
||||
m_ms = [r["model_ms"] for r in rows if r.get("model_ms") is not None]
|
||||
d_ms = [r["ds_batch_ms"] / r["ds_batch_size"] for r in rows
|
||||
if r.get("ds_batch_ms") and r.get("ds_batch_size")]
|
||||
if m_ms:
|
||||
print(f" model: mean {statistics.fmean(m_ms):.2f} ms, median "
|
||||
f"{statistics.median(m_ms):.2f} ms per headline")
|
||||
if d_ms:
|
||||
print(f" DeepSeek: ≈ {statistics.fmean(d_ms):.0f} ms per headline inside "
|
||||
f"batches of ≤25 (mean batch "
|
||||
f"{statistics.fmean(r['ds_batch_ms'] for r in rows if r.get('ds_batch_ms')):.0f} ms)")
|
||||
out["latency"] = {"model_ms_mean": statistics.fmean(m_ms) if m_ms else None,
|
||||
"deepseek_ms_per_headline": statistics.fmean(d_ms) if d_ms else None}
|
||||
return out
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--max-age-hours", type=float, default=24.0,
|
||||
help="RSS age window for the fetch (live uses 4 h)")
|
||||
ap.add_argument("--threshold", type=float, default=LABEL_THRESHOLD_TRAIN)
|
||||
ap.add_argument("--db", type=Path, default=DEFAULT_DB,
|
||||
help="archive used to flag training-set membership")
|
||||
ap.add_argument("--timeout", type=float, default=30.0)
|
||||
ap.add_argument("--no-network", action="store_true",
|
||||
help="no DeepSeek calls (cache only); the RSS fetch still runs")
|
||||
ap.add_argument("--report-only", action="store_true",
|
||||
help="skip the fetch; report the accumulated shadow log")
|
||||
args = ap.parse_args()
|
||||
|
||||
if not args.report_only:
|
||||
archive = {r["hash"]: r for r in load_archive_rows(args.db)}
|
||||
training_hashes = {h for h, r in archive.items()
|
||||
if r["score_source"] == "llm" and r["xau"] is not None}
|
||||
existing = {r["hash"] for r in load_log()}
|
||||
|
||||
engine, headlines = fetch_headlines(args.max_age_hours)
|
||||
print(f"fetched {len(headlines)} headlines within {args.max_age_hours:g} h "
|
||||
f"(currency-filtered, deduplicated); {len(existing)} already in the shadow log")
|
||||
fresh = [h for h in headlines if headline_sha256(h.headline) not in existing]
|
||||
print(f" {len(fresh)} new to the shadow log")
|
||||
|
||||
if fresh:
|
||||
model = ModelScorer()
|
||||
ds = DeepSeekScorer(timeout=args.timeout, no_network=args.no_network)
|
||||
d_res = ds.score_many([h.headline for h in fresh])
|
||||
run_ts = utc_now_iso()
|
||||
appended = 0
|
||||
with SHADOW_LOG.open("a", encoding="utf-8") as fh:
|
||||
for h, d in zip(fresh, d_res):
|
||||
if d is None:
|
||||
continue # retried on a later run if still fresh
|
||||
hsh = headline_sha256(h.headline)
|
||||
arch = archive.get(hsh)
|
||||
# Only a DeepSeek-scored archive row is a valid
|
||||
# "DeepSeek before" for the self-agreement check; the
|
||||
# batch-overflow rows carry the keyword score under
|
||||
# the same XAU key until a later cycle upgrades them.
|
||||
arch_llm = arch if arch and arch["score_source"] == "llm" else None
|
||||
m_full = model.score(h.headline, h.description)
|
||||
m_head = model.score(h.headline, None)
|
||||
kw_xau = engine._analyze_headline_sentiment(h.headline, "XAU")
|
||||
row = {
|
||||
"run_ts": run_ts, "hash": hsh, "headline": h.headline,
|
||||
"description": h.description, "publisher": h.publisher,
|
||||
"published_at": h.timestamp.isoformat() if h.timestamp else None,
|
||||
"currencies": list(h.currencies_mentioned),
|
||||
"mentions_gold": "XAU" in h.currencies_mentioned,
|
||||
"seen_in_archive": arch is not None,
|
||||
"in_training": hsh in training_hashes,
|
||||
"archived_source": arch["score_source"] if arch else None,
|
||||
"archived_xau": arch_llm["xau"] if arch_llm else None,
|
||||
"archived_s": arch_llm["score"] if arch_llm else None,
|
||||
"ds_s": d["s"], "ds_xau": d["xau"], "ds_cached": d["cached"],
|
||||
"ds_batch_ms": d.get("batch_ms"),
|
||||
"ds_batch_size": (ds._cache.get(ds.key(h.headline)) or {}).get("batch_size"),
|
||||
"model_label": m_full["label"], "model_cls": m_full["cls"],
|
||||
"model_score": round(m_full["score"], 4),
|
||||
"model_conf": round(m_full["confidence"], 4),
|
||||
"model_margin": round(m_full["margin"], 4),
|
||||
"model_ms": round(m_full["ms"], 2),
|
||||
"model_h_label": m_head["label"], "model_h_cls": m_head["cls"],
|
||||
"model_h_score": round(m_head["score"], 4),
|
||||
"model_h_conf": round(m_head["confidence"], 4),
|
||||
"kw_xau": float(kw_xau),
|
||||
}
|
||||
fh.write(json.dumps(row, ensure_ascii=False) + "\n")
|
||||
appended += 1
|
||||
st = ds.stats()
|
||||
print(f" appended {appended} rows; DeepSeek {st['calls']} call(s), "
|
||||
f"{st['headlines_sent']} sent, {st['cache_hits']} cache hits, "
|
||||
f"{st['failed_calls']} failed")
|
||||
|
||||
log = load_log()
|
||||
summary = report(log, args.threshold)
|
||||
tag = ts_tag()
|
||||
write_json(RESULTS_DIR / f"live_{tag}.json",
|
||||
{"generated_at": tag, "threshold": args.threshold,
|
||||
"log_rows": len(log), **summary})
|
||||
print(f"\nshadow log: {SHADOW_LOG} ({len(log)} rows); wrote results/live_{tag}.json")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,172 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
What do cheap "proper pipeline" steps buy on the SAME data?
|
||||
|
||||
Re-runs the expanding daily folds of eval_archive.py with variants of
|
||||
the text recipe and training, then trains each variant on all rows and
|
||||
grades it on the 78-headline golden set (independent truth).
|
||||
|
||||
Variants
|
||||
shipped headline + description, as trained today
|
||||
head headline only
|
||||
head+clean + Google News " - Publisher" suffix stripped
|
||||
head+clean+neg + negation marking: words after no/not/never/without/
|
||||
fails/n't get a NOT_ prefix until the clause ends
|
||||
(the classic bag-of-words negation trick)
|
||||
...+weight + training rows weighted by |DeepSeek score| so
|
||||
confident labels count more than weak ones
|
||||
full+clean+neg headline + description with the cleaning and negation
|
||||
|
||||
Usage:
|
||||
venv/bin/python experiment_recipe.py
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import re
|
||||
from collections import Counter
|
||||
from typing import Any, Callable, Dict, List, Optional
|
||||
|
||||
from eval_archive import usable_rows
|
||||
from eval_common import (CLASS_NAMES, DEFAULT_DB, LABEL_THRESHOLD_TRAIN,
|
||||
NEUTRAL_BAND_GOLDEN, NAME_TO_CLASS, agreement_block,
|
||||
fmt_pct, hr, load_golden, to_class)
|
||||
|
||||
NEG_CUES = re.compile(r"\b(?:no|not|never|without|fails?|neither|nor|cannot|"
|
||||
r"stops short of|unlikely to)\b|n't\b", re.IGNORECASE)
|
||||
CLAUSE_END = re.compile(r"[,.;:!?]|\b(?:as|after|amid|while|despite|but|and|"
|
||||
r"ahead of|before)\b", re.IGNORECASE)
|
||||
PUBLISHER_SUFFIX = re.compile(r"\s+[-–|]\s+[^-–|]{2,40}$")
|
||||
|
||||
|
||||
def strip_publisher(text: str) -> str:
|
||||
return PUBLISHER_SUFFIX.sub("", text)
|
||||
|
||||
|
||||
def mark_negation(text: str) -> str:
|
||||
"""Prefix every word after a negation cue with NOT_ until the clause
|
||||
ends, so "no rate hike" and "rate hike" become different features."""
|
||||
out: List[str] = []
|
||||
pos = 0
|
||||
for m in NEG_CUES.finditer(text):
|
||||
end = CLAUSE_END.search(text, m.end())
|
||||
stop = end.start() if end else len(text)
|
||||
out.append(text[pos:m.end()])
|
||||
span = text[m.end():stop]
|
||||
out.append(re.sub(r"\b(\w+)", r"NOT_\1", span))
|
||||
pos = stop
|
||||
out.append(text[pos:])
|
||||
return "".join(out)
|
||||
|
||||
|
||||
def make_text(row: Dict[str, Any], *, description: bool, clean: bool, neg: bool) -> str:
|
||||
from news_sentiment import article_text
|
||||
head = row["headline"]
|
||||
desc = row["description"] if description else None
|
||||
if clean:
|
||||
head = strip_publisher(head)
|
||||
if neg:
|
||||
head = mark_negation(head)
|
||||
if desc:
|
||||
desc = mark_negation(desc)
|
||||
return article_text(head, desc)
|
||||
|
||||
|
||||
def fit(train_rows, train_labels, weights: Optional[List[float]], seed=42):
|
||||
from news_sentiment import build_pipeline
|
||||
pipe = build_pipeline(random_state=seed, min_df=2, max_features=50_000)
|
||||
if weights is None:
|
||||
pipe.fit(train_rows, train_labels)
|
||||
else:
|
||||
pipe.fit(train_rows, train_labels, classifier__sample_weight=weights)
|
||||
return pipe
|
||||
|
||||
|
||||
def predict_cls(pipe, texts: List[str]) -> List[int]:
|
||||
classes = [str(c) for c in pipe.classes_]
|
||||
out = []
|
||||
for p in pipe.predict_proba(texts):
|
||||
by = {c: float(v) for c, v in zip(classes, p)}
|
||||
out.append(NAME_TO_CLASS[max(by, key=by.get)])
|
||||
return out
|
||||
|
||||
|
||||
VARIANTS: Dict[str, Dict[str, Any]] = {
|
||||
"shipped (head+desc)": dict(description=True, clean=False, neg=False, weight=False),
|
||||
"head": dict(description=False, clean=False, neg=False, weight=False),
|
||||
"head+clean": dict(description=False, clean=True, neg=False, weight=False),
|
||||
"head+clean+neg": dict(description=False, clean=True, neg=True, weight=False),
|
||||
"head+clean+neg+weight": dict(description=False, clean=True, neg=True, weight=True),
|
||||
"full+clean+neg": dict(description=True, clean=True, neg=True, weight=False),
|
||||
"full+clean+neg+weight": dict(description=True, clean=True, neg=True, weight=True),
|
||||
}
|
||||
|
||||
|
||||
def main() -> int:
|
||||
thr = LABEL_THRESHOLD_TRAIN
|
||||
rows = usable_rows(DEFAULT_DB)
|
||||
days = sorted({r["day"] for r in rows})
|
||||
golden = load_golden()
|
||||
g_exp = [g["expected_xau_sign"] for g in golden]
|
||||
print(f"{len(rows)} rows, {len(days)} days; golden {len(golden)}")
|
||||
|
||||
hr("Expanding daily folds (agreement with DeepSeek, OOF) and golden set (human truth)")
|
||||
print(f" {'variant':<24} {'OOF 3-class':>11} {'OOF F1':>7} {'OOF sign':>9} | {'golden':>7} {'gold dir':>9}")
|
||||
results = {}
|
||||
for name, v in VARIANTS.items():
|
||||
exp_all: List[int] = []
|
||||
pred_all: List[int] = []
|
||||
for d in days:
|
||||
train = [r for r in rows if r["day"] < d]
|
||||
test = [r for r in rows if r["day"] == d]
|
||||
if len(train) < 40 or not test:
|
||||
continue
|
||||
labels = [CLASS_NAMES[to_class(r["xau"], thr)] for r in train]
|
||||
dist = Counter(labels)
|
||||
if len(dist) < 3 or min(dist.values()) < 2:
|
||||
continue
|
||||
tx = [make_text(r, description=v["description"], clean=v["clean"], neg=v["neg"])
|
||||
for r in train]
|
||||
w = [0.5 + abs(r["xau"]) for r in train] if v["weight"] else None
|
||||
pipe = fit(tx, labels, w)
|
||||
te = [make_text(r, description=v["description"], clean=v["clean"], neg=v["neg"])
|
||||
for r in test]
|
||||
pred_all.extend(predict_cls(pipe, te))
|
||||
exp_all.extend(to_class(r["xau"], thr) for r in test)
|
||||
oof = agreement_block(exp_all, pred_all)
|
||||
|
||||
# final model on every row -> golden set (headline only there)
|
||||
labels = [CLASS_NAMES[to_class(r["xau"], thr)] for r in rows]
|
||||
tx = [make_text(r, description=v["description"], clean=v["clean"], neg=v["neg"])
|
||||
for r in rows]
|
||||
w = [0.5 + abs(r["xau"]) for r in rows] if v["weight"] else None
|
||||
pipe = fit(tx, labels, w)
|
||||
g_rows = [{"headline": g["headline"], "description": None} for g in golden]
|
||||
g_tx = [make_text(r, description=False, clean=v["clean"], neg=v["neg"]) for r in g_rows]
|
||||
g_pred = predict_cls(pipe, g_tx)
|
||||
gold = agreement_block(g_exp, g_pred)
|
||||
results[name] = {"oof": oof, "golden": gold}
|
||||
print(f" {name:<24} {100 * oof['accuracy']:10.1f}% {oof['macro_f1']:7.3f} "
|
||||
f"{fmt_pct(oof['sign_hits'], oof['sign_n']):>9} | "
|
||||
f"{gold['hits']:>3}/{gold['n']:<3} {fmt_pct(gold['directional_hits'], gold['directional_n']):>9}")
|
||||
|
||||
hr("Golden per category for the best headline-only variant vs shipped")
|
||||
best = "head+clean+neg+weight"
|
||||
for name in ("shipped (head+desc)", best):
|
||||
v = VARIANTS[name]
|
||||
labels = [CLASS_NAMES[to_class(r["xau"], thr)] for r in rows]
|
||||
tx = [make_text(r, description=v["description"], clean=v["clean"], neg=v["neg"]) for r in rows]
|
||||
w = [0.5 + abs(r["xau"]) for r in rows] if v["weight"] else None
|
||||
pipe = fit(tx, labels, w)
|
||||
g_tx = [make_text({"headline": g["headline"], "description": None},
|
||||
description=False, clean=v["clean"], neg=v["neg"]) for g in golden]
|
||||
pred = predict_cls(pipe, g_tx)
|
||||
by_cat: Dict[str, List[int]] = {}
|
||||
for g, p in zip(golden, pred):
|
||||
by_cat.setdefault(g["category"], []).append(int(p == g["expected_xau_sign"]))
|
||||
print(f" {name}: " + ", ".join(f"{c} {sum(h)}/{len(h)}" for c, h in sorted(by_cat.items())))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
How many feed headlines never reach the archive, and do they matter?
|
||||
|
||||
The live fetch (news_engine._fetch_news_sentiment_raw) keeps a headline
|
||||
only when it matches a tracked-currency keyword (dollar, Fed, gold,
|
||||
euro, ...). Everything else is dropped BEFORE scoring and archiving.
|
||||
This probe re-runs the real fetch over the last N hours with that
|
||||
filter observed instead of applied, sends the dropped headlines to
|
||||
DeepSeek (cached, batches of 25), and reports how many of them carry a
|
||||
gold direction. LLM step and archive hook are switched off during the
|
||||
fetch, exactly as in eval_live.py.
|
||||
|
||||
Usage:
|
||||
venv/bin/python probe_dropped_headlines.py --max-age-hours 24
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
from collections import Counter
|
||||
|
||||
from eval_common import (LABEL_THRESHOLD_TRAIN, DeepSeekScorer, fmt_pct, hr,
|
||||
to_class)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("--max-age-hours", type=float, default=24.0)
|
||||
ap.add_argument("--no-network", action="store_true")
|
||||
ap.add_argument("--timeout", type=float, default=30.0)
|
||||
args = ap.parse_args()
|
||||
|
||||
import news_engine
|
||||
from config import NewsConfig
|
||||
cfg = NewsConfig(headline_max_age_seconds=int(args.max_age_hours * 3600))
|
||||
engine = news_engine.NewsEngine(cfg)
|
||||
real_extract = engine._extract_currencies
|
||||
engine._extract_currencies = lambda h: real_extract(h) or ["_NONE"]
|
||||
engine._apply_llm_sentiment = lambda headlines: None
|
||||
saved = news_engine.news_archive.archive_headlines
|
||||
news_engine.news_archive.archive_headlines = lambda *a, **k: None
|
||||
try:
|
||||
headlines = engine._fetch_news_sentiment_raw()
|
||||
finally:
|
||||
news_engine.news_archive.archive_headlines = saved
|
||||
|
||||
kept = [h for h in headlines if h.currencies_mentioned != ["_NONE"]]
|
||||
dropped = [h for h in headlines if h.currencies_mentioned == ["_NONE"]]
|
||||
hr(f"Feed headlines in the last {args.max_age_hours:g} h")
|
||||
print(f" total after dedup/age filter: {len(headlines)}")
|
||||
print(f" kept by the currency filter (scored + archived live): {len(kept)}")
|
||||
print(f" dropped (never scored, never archived): {len(dropped)} "
|
||||
f"= {100 * len(dropped) / len(headlines):.0f}%")
|
||||
by_feed = Counter(h.source.split('/')[2] for h in dropped)
|
||||
print(" dropped by feed: " + ", ".join(f"{k} {v}" for k, v in by_feed.most_common()))
|
||||
|
||||
if not dropped:
|
||||
return 0
|
||||
ds = DeepSeekScorer(timeout=args.timeout, no_network=args.no_network)
|
||||
res = ds.score_many([h.headline for h in dropped])
|
||||
scored = [(h, d) for h, d in zip(dropped, res) if d is not None]
|
||||
thr = LABEL_THRESHOLD_TRAIN
|
||||
dist = Counter(to_class(d["xau"], thr) for _, d in scored)
|
||||
directional = dist.get(1, 0) + dist.get(-1, 0)
|
||||
strong = sum(1 for _, d in scored if abs(d["xau"]) >= 0.3)
|
||||
hr("DeepSeek's gold reading of the DROPPED headlines")
|
||||
print(f" scored {len(scored)}: bullish {dist.get(1, 0)}, bearish {dist.get(-1, 0)}, "
|
||||
f"neutral {dist.get(0, 0)}; directional {fmt_pct(directional, len(scored))}, "
|
||||
f"|xau| >= 0.3 on {fmt_pct(strong, len(scored))}")
|
||||
st = ds.stats()
|
||||
print(f" DeepSeek: {st['calls']} call(s), {st['headlines_sent']} sent, {st['cache_hits']} cached")
|
||||
print("\n strongest dropped headlines (gold score, headline):")
|
||||
for h, d in sorted(scored, key=lambda t: -abs(t[1]["xau"]))[:15]:
|
||||
print(f" {d['xau']:+.2f} {h.headline[:90]}")
|
||||
print("\n sample of neutral dropped headlines:")
|
||||
for h, d in [t for t in scored if to_class(t[1]["xau"], thr) == 0][:6]:
|
||||
print(f" {d['xau']:+.2f} {h.headline[:90]}")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"db": "../newsdata.db",
|
||||
"generated_at": "20260927_1900_transformer",
|
||||
"in_sample_or_mixed": {
|
||||
"headline": {
|
||||
"accuracy": 0.7133105802047781,
|
||||
"confusion": [
|
||||
[
|
||||
769,
|
||||
95,
|
||||
52
|
||||
],
|
||||
[
|
||||
95,
|
||||
677,
|
||||
124
|
||||
],
|
||||
[
|
||||
140,
|
||||
250,
|
||||
435
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.691556576680069,
|
||||
"directional_hits": 1204,
|
||||
"directional_n": 1741,
|
||||
"hits": 1881,
|
||||
"macro_f1": 0.7042783133948399,
|
||||
"mae": 0.24411205915813428,
|
||||
"n": 2637,
|
||||
"sign_agreement": 0.8624641833810889,
|
||||
"sign_hits": 1204,
|
||||
"sign_n": 1396,
|
||||
"spearman": 0.7415919015733857
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T18:58:27.596998+00:00",
|
||||
"training_examples": 2402
|
||||
},
|
||||
"out_of_sample": {
|
||||
"all": {
|
||||
"accuracy": 0.6438356164383562,
|
||||
"confusion": [
|
||||
[
|
||||
227,
|
||||
40,
|
||||
40
|
||||
],
|
||||
[
|
||||
29,
|
||||
270,
|
||||
67
|
||||
],
|
||||
[
|
||||
66,
|
||||
122,
|
||||
161
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5914634146341463,
|
||||
"directional_hits": 388,
|
||||
"directional_n": 656,
|
||||
"hits": 658,
|
||||
"macro_f1": 0.6401174660955584,
|
||||
"n": 1022,
|
||||
"sign_agreement": 0.7854251012145749,
|
||||
"sign_hits": 388,
|
||||
"sign_n": 494
|
||||
},
|
||||
"gold": {
|
||||
"accuracy": 0.744408945686901,
|
||||
"confusion": [
|
||||
[
|
||||
91,
|
||||
5,
|
||||
13
|
||||
],
|
||||
[
|
||||
7,
|
||||
33,
|
||||
19
|
||||
],
|
||||
[
|
||||
13,
|
||||
23,
|
||||
109
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7874015748031497,
|
||||
"directional_hits": 200,
|
||||
"directional_n": 254,
|
||||
"hits": 233,
|
||||
"macro_f1": 0.7131701631701631,
|
||||
"n": 313,
|
||||
"sign_agreement": 0.8849557522123894,
|
||||
"sign_hits": 200,
|
||||
"sign_n": 226
|
||||
},
|
||||
"macro": {
|
||||
"accuracy": 0.5994358251057827,
|
||||
"confusion": [
|
||||
[
|
||||
136,
|
||||
35,
|
||||
27
|
||||
],
|
||||
[
|
||||
22,
|
||||
237,
|
||||
48
|
||||
],
|
||||
[
|
||||
53,
|
||||
99,
|
||||
52
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.46766169154228854,
|
||||
"directional_hits": 188,
|
||||
"directional_n": 402,
|
||||
"hits": 425,
|
||||
"macro_f1": 0.559450371611602,
|
||||
"n": 709,
|
||||
"sign_agreement": 0.7014925373134329,
|
||||
"sign_hits": 188,
|
||||
"sign_n": 268
|
||||
}
|
||||
},
|
||||
"relevance_out_of_sample": {
|
||||
"direction_accuracy": 0.8871391076115486,
|
||||
"direction_n": 381,
|
||||
"f1": 0.7733026467203681,
|
||||
"n": 881,
|
||||
"precision": 0.6885245901639344,
|
||||
"recall": 0.8818897637795275
|
||||
},
|
||||
"rows": 2637,
|
||||
"threshold": 0.05
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"db": "../newsdata.db",
|
||||
"generated_at": "20260927_1907_transformer",
|
||||
"in_sample_or_mixed": {
|
||||
"headline": {
|
||||
"accuracy": 0.7375805839969662,
|
||||
"confusion": [
|
||||
[
|
||||
774,
|
||||
84,
|
||||
58
|
||||
],
|
||||
[
|
||||
64,
|
||||
715,
|
||||
117
|
||||
],
|
||||
[
|
||||
109,
|
||||
260,
|
||||
456
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7064905226881103,
|
||||
"directional_hits": 1230,
|
||||
"directional_n": 1741,
|
||||
"hits": 1945,
|
||||
"macro_f1": 0.7295831004270902,
|
||||
"mae": 0.30792290481607887,
|
||||
"n": 2637,
|
||||
"sign_agreement": 0.8804581245526127,
|
||||
"sign_hits": 1230,
|
||||
"sign_n": 1397,
|
||||
"spearman": 0.7678844230729466
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T19:03:25.366953+00:00",
|
||||
"training_examples": 2402
|
||||
},
|
||||
"out_of_sample": {
|
||||
"all": {
|
||||
"accuracy": 0.6565557729941291,
|
||||
"confusion": [
|
||||
[
|
||||
227,
|
||||
36,
|
||||
44
|
||||
],
|
||||
[
|
||||
26,
|
||||
266,
|
||||
74
|
||||
],
|
||||
[
|
||||
53,
|
||||
118,
|
||||
178
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6173780487804879,
|
||||
"directional_hits": 405,
|
||||
"directional_n": 656,
|
||||
"hits": 671,
|
||||
"macro_f1": 0.6564675567772849,
|
||||
"n": 1022,
|
||||
"sign_agreement": 0.8067729083665338,
|
||||
"sign_hits": 405,
|
||||
"sign_n": 502
|
||||
},
|
||||
"gold": {
|
||||
"accuracy": 0.7507987220447284,
|
||||
"confusion": [
|
||||
[
|
||||
91,
|
||||
4,
|
||||
14
|
||||
],
|
||||
[
|
||||
9,
|
||||
31,
|
||||
19
|
||||
],
|
||||
[
|
||||
10,
|
||||
22,
|
||||
113
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8031496062992126,
|
||||
"directional_hits": 204,
|
||||
"directional_n": 254,
|
||||
"hits": 235,
|
||||
"macro_f1": 0.7140550964455633,
|
||||
"n": 313,
|
||||
"sign_agreement": 0.8947368421052632,
|
||||
"sign_hits": 204,
|
||||
"sign_n": 228
|
||||
},
|
||||
"macro": {
|
||||
"accuracy": 0.614950634696756,
|
||||
"confusion": [
|
||||
[
|
||||
136,
|
||||
32,
|
||||
30
|
||||
],
|
||||
[
|
||||
17,
|
||||
235,
|
||||
55
|
||||
],
|
||||
[
|
||||
43,
|
||||
96,
|
||||
65
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5,
|
||||
"directional_hits": 201,
|
||||
"directional_n": 402,
|
||||
"hits": 436,
|
||||
"macro_f1": 0.5863598352269169,
|
||||
"n": 709,
|
||||
"sign_agreement": 0.7335766423357665,
|
||||
"sign_hits": 201,
|
||||
"sign_n": 274
|
||||
}
|
||||
},
|
||||
"relevance_out_of_sample": {
|
||||
"direction_accuracy": 0.8976377952755905,
|
||||
"direction_n": 381,
|
||||
"f1": 0.775881683731513,
|
||||
"n": 881,
|
||||
"precision": 0.6847389558232931,
|
||||
"recall": 0.89501312335958
|
||||
},
|
||||
"rows": 2637,
|
||||
"threshold": 0.05
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"db": "../newsdata.db",
|
||||
"generated_at": "20260927_1927_transformer",
|
||||
"in_sample_or_mixed": {
|
||||
"headline": {
|
||||
"accuracy": 0.7682973075464543,
|
||||
"confusion": [
|
||||
[
|
||||
764,
|
||||
117,
|
||||
35
|
||||
],
|
||||
[
|
||||
42,
|
||||
821,
|
||||
33
|
||||
],
|
||||
[
|
||||
82,
|
||||
302,
|
||||
441
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6921309592188397,
|
||||
"directional_hits": 1205,
|
||||
"directional_n": 1741,
|
||||
"hits": 2026,
|
||||
"macro_f1": 0.7589675529791181,
|
||||
"mae": 0.2953307546454304,
|
||||
"n": 2637,
|
||||
"sign_agreement": 0.9114977307110439,
|
||||
"sign_hits": 1205,
|
||||
"sign_n": 1322,
|
||||
"spearman": 0.7978166855256467
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.6,
|
||||
"trained_at": "2026-09-27T19:22:03.286521+00:00",
|
||||
"training_examples": 7460
|
||||
},
|
||||
"out_of_sample": {
|
||||
"all": {
|
||||
"accuracy": 0.7191780821917808,
|
||||
"confusion": [
|
||||
[
|
||||
231,
|
||||
52,
|
||||
24
|
||||
],
|
||||
[
|
||||
18,
|
||||
327,
|
||||
21
|
||||
],
|
||||
[
|
||||
37,
|
||||
135,
|
||||
177
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6219512195121951,
|
||||
"directional_hits": 408,
|
||||
"directional_n": 656,
|
||||
"hits": 735,
|
||||
"macro_f1": 0.7140787226553597,
|
||||
"n": 1022,
|
||||
"sign_agreement": 0.8699360341151386,
|
||||
"sign_hits": 408,
|
||||
"sign_n": 469
|
||||
},
|
||||
"gold": {
|
||||
"accuracy": 0.8370607028753994,
|
||||
"confusion": [
|
||||
[
|
||||
102,
|
||||
2,
|
||||
5
|
||||
],
|
||||
[
|
||||
8,
|
||||
46,
|
||||
5
|
||||
],
|
||||
[
|
||||
9,
|
||||
22,
|
||||
114
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8503937007874016,
|
||||
"directional_hits": 216,
|
||||
"directional_n": 254,
|
||||
"hits": 262,
|
||||
"macro_f1": 0.8184995932671942,
|
||||
"n": 313,
|
||||
"sign_agreement": 0.9391304347826087,
|
||||
"sign_hits": 216,
|
||||
"sign_n": 230
|
||||
},
|
||||
"macro": {
|
||||
"accuracy": 0.6671368124118476,
|
||||
"confusion": [
|
||||
[
|
||||
129,
|
||||
50,
|
||||
19
|
||||
],
|
||||
[
|
||||
10,
|
||||
281,
|
||||
16
|
||||
],
|
||||
[
|
||||
28,
|
||||
113,
|
||||
63
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.47761194029850745,
|
||||
"directional_hits": 192,
|
||||
"directional_n": 402,
|
||||
"hits": 473,
|
||||
"macro_f1": 0.6241344702371295,
|
||||
"n": 709,
|
||||
"sign_agreement": 0.803347280334728,
|
||||
"sign_hits": 192,
|
||||
"sign_n": 239
|
||||
}
|
||||
},
|
||||
"relevance_out_of_sample": {
|
||||
"direction_accuracy": 0.9422572178477691,
|
||||
"direction_n": 381,
|
||||
"f1": 0.8414481897627966,
|
||||
"n": 881,
|
||||
"precision": 0.8023809523809524,
|
||||
"recall": 0.884514435695538
|
||||
},
|
||||
"rows": 2637,
|
||||
"threshold": 0.05
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"db": "../newsdata.db",
|
||||
"generated_at": "20260927_1947_transformer",
|
||||
"in_sample_or_mixed": {
|
||||
"headline": {
|
||||
"accuracy": 0.7724687144482366,
|
||||
"confusion": [
|
||||
[
|
||||
773,
|
||||
97,
|
||||
46
|
||||
],
|
||||
[
|
||||
49,
|
||||
784,
|
||||
63
|
||||
],
|
||||
[
|
||||
78,
|
||||
267,
|
||||
480
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7197013210798392,
|
||||
"directional_hits": 1253,
|
||||
"directional_n": 1741,
|
||||
"hits": 2037,
|
||||
"macro_f1": 0.7657899696449985,
|
||||
"mae": 0.2876833522942738,
|
||||
"n": 2637,
|
||||
"sign_agreement": 0.9099491648511256,
|
||||
"sign_hits": 1253,
|
||||
"sign_n": 1377,
|
||||
"spearman": 0.8074118582323724
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T19:46:15.509042+00:00",
|
||||
"training_examples": 10690
|
||||
},
|
||||
"out_of_sample": {
|
||||
"all": {
|
||||
"accuracy": 0.7181996086105675,
|
||||
"confusion": [
|
||||
[
|
||||
229,
|
||||
45,
|
||||
33
|
||||
],
|
||||
[
|
||||
21,
|
||||
308,
|
||||
37
|
||||
],
|
||||
[
|
||||
38,
|
||||
114,
|
||||
197
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.649390243902439,
|
||||
"directional_hits": 426,
|
||||
"directional_n": 656,
|
||||
"hits": 734,
|
||||
"macro_f1": 0.7162846956964604,
|
||||
"n": 1022,
|
||||
"sign_agreement": 0.8571428571428571,
|
||||
"sign_hits": 426,
|
||||
"sign_n": 497
|
||||
},
|
||||
"gold": {
|
||||
"accuracy": 0.8306709265175719,
|
||||
"confusion": [
|
||||
[
|
||||
100,
|
||||
1,
|
||||
8
|
||||
],
|
||||
[
|
||||
9,
|
||||
40,
|
||||
10
|
||||
],
|
||||
[
|
||||
13,
|
||||
12,
|
||||
120
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8661417322834646,
|
||||
"directional_hits": 220,
|
||||
"directional_n": 254,
|
||||
"hits": 260,
|
||||
"macro_f1": 0.8093810390630178,
|
||||
"n": 313,
|
||||
"sign_agreement": 0.9128630705394191,
|
||||
"sign_hits": 220,
|
||||
"sign_n": 241
|
||||
},
|
||||
"macro": {
|
||||
"accuracy": 0.6685472496473907,
|
||||
"confusion": [
|
||||
[
|
||||
129,
|
||||
44,
|
||||
25
|
||||
],
|
||||
[
|
||||
12,
|
||||
268,
|
||||
27
|
||||
],
|
||||
[
|
||||
25,
|
||||
102,
|
||||
77
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5124378109452736,
|
||||
"directional_hits": 206,
|
||||
"directional_n": 402,
|
||||
"hits": 474,
|
||||
"macro_f1": 0.6382218663772061,
|
||||
"n": 709,
|
||||
"sign_agreement": 0.8046875,
|
||||
"sign_hits": 206,
|
||||
"sign_n": 256
|
||||
}
|
||||
},
|
||||
"relevance_out_of_sample": {
|
||||
"direction_accuracy": 0.931758530183727,
|
||||
"direction_n": 381,
|
||||
"f1": 0.8374851720047449,
|
||||
"n": 881,
|
||||
"precision": 0.7640692640692641,
|
||||
"recall": 0.926509186351706
|
||||
},
|
||||
"rows": 2637,
|
||||
"threshold": 0.05
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"db": "../newsdata.db",
|
||||
"generated_at": "20260927_2314_transformer",
|
||||
"in_sample_or_mixed": {
|
||||
"headline": {
|
||||
"accuracy": 0.7671596511186954,
|
||||
"confusion": [
|
||||
[
|
||||
777,
|
||||
86,
|
||||
53
|
||||
],
|
||||
[
|
||||
73,
|
||||
754,
|
||||
69
|
||||
],
|
||||
[
|
||||
87,
|
||||
246,
|
||||
492
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7288914417001723,
|
||||
"directional_hits": 1269,
|
||||
"directional_n": 1741,
|
||||
"hits": 2023,
|
||||
"macro_f1": 0.7610986239900465,
|
||||
"mae": 0.2995589685248388,
|
||||
"n": 2637,
|
||||
"sign_agreement": 0.9006387508871541,
|
||||
"sign_hits": 1269,
|
||||
"sign_n": 1409,
|
||||
"spearman": 0.802027157757526
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T23:12:37.970737+00:00",
|
||||
"training_examples": 15416
|
||||
},
|
||||
"out_of_sample": {
|
||||
"all": {
|
||||
"accuracy": 0.7152641878669276,
|
||||
"confusion": [
|
||||
[
|
||||
236,
|
||||
37,
|
||||
34
|
||||
],
|
||||
[
|
||||
42,
|
||||
292,
|
||||
32
|
||||
],
|
||||
[
|
||||
42,
|
||||
104,
|
||||
203
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6692073170731707,
|
||||
"directional_hits": 439,
|
||||
"directional_n": 656,
|
||||
"hits": 731,
|
||||
"macro_f1": 0.7135542131452324,
|
||||
"n": 1022,
|
||||
"sign_agreement": 0.8524271844660194,
|
||||
"sign_hits": 439,
|
||||
"sign_n": 515
|
||||
},
|
||||
"gold": {
|
||||
"accuracy": 0.7859424920127795,
|
||||
"confusion": [
|
||||
[
|
||||
99,
|
||||
1,
|
||||
9
|
||||
],
|
||||
[
|
||||
13,
|
||||
32,
|
||||
14
|
||||
],
|
||||
[
|
||||
19,
|
||||
11,
|
||||
115
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.84251968503937,
|
||||
"directional_hits": 214,
|
||||
"directional_n": 254,
|
||||
"hits": 246,
|
||||
"macro_f1": 0.7530266904525025,
|
||||
"n": 313,
|
||||
"sign_agreement": 0.8842975206611571,
|
||||
"sign_hits": 214,
|
||||
"sign_n": 242
|
||||
},
|
||||
"macro": {
|
||||
"accuracy": 0.6840620592383639,
|
||||
"confusion": [
|
||||
[
|
||||
137,
|
||||
36,
|
||||
25
|
||||
],
|
||||
[
|
||||
29,
|
||||
260,
|
||||
18
|
||||
],
|
||||
[
|
||||
23,
|
||||
93,
|
||||
88
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5597014925373134,
|
||||
"directional_hits": 225,
|
||||
"directional_n": 402,
|
||||
"hits": 485,
|
||||
"macro_f1": 0.6601699690090934,
|
||||
"n": 709,
|
||||
"sign_agreement": 0.8241758241758241,
|
||||
"sign_hits": 225,
|
||||
"sign_n": 273
|
||||
}
|
||||
},
|
||||
"relevance_out_of_sample": {
|
||||
"direction_accuracy": 0.8923884514435696,
|
||||
"direction_n": 381,
|
||||
"f1": 0.8143021914648213,
|
||||
"n": 881,
|
||||
"precision": 0.7263374485596708,
|
||||
"recall": 0.926509186351706
|
||||
},
|
||||
"rows": 2637,
|
||||
"threshold": 0.05
|
||||
}
|
||||
@@ -0,0 +1,568 @@
|
||||
hash,day,n_train,headline,label_xau,label_cls,cls,label,score,confidence,margin,kw_cls,head_cls,head_score,head_confidence
|
||||
9086db1d2d1c7c97b48b2d752ed7f360aef55fbaa03f0bcd8345fd1747debc67,2026-09-10,49,"Gold eases on chance of US rate hike, but bull case endures - Arabian Gulf Business Insight | AGBI",-0.4,-1,1,bullish,0.1619,0.4367,0.1482,-1,1,0.5892,0.705
|
||||
4d30f2180bc0e900e751b3ae2429fa5952780c490b0a561903c5e196fb5ae6de,2026-09-10,49,Brent's Break Above $100 Lifts Gold's Haven Bid Ahead of Fed Decision - Crux Investor,0.7,1,0,neutral,0.1257,0.4149,0.0594,0,0,0.1716,0.3993
|
||||
ff16314662c5bb8c35b1c87e06b9d0ff89533c17f5345e781cf02e1e827c2c8c,2026-09-10,49,Brent's Break Above $100 Lifts Gold's Haven Bid Ahead of Fed Decision - cruxinvestor.com,0.6,1,0,neutral,0.0938,0.3969,0.0485,0,0,0.1269,0.3826
|
||||
28faa74c28ca632d8a8248b4ca73cc154168a5abc63689c2e1550d3b36f5017b,2026-09-10,49,Gold Steady Ahead of U.S. Inflation Data - wsj.com,0.0,0,0,neutral,0.1145,0.4306,0.0886,0,0,0.1196,0.4165
|
||||
897696f96f17ba749ee41041c6ee5975bd60d09d535d595080ffca1064346f32,2026-09-10,49,Gold Steady Ahead of U.S. Inflation Data - WSJ,0.0,0,0,neutral,0.1739,0.4526,0.092,0,0,0.1677,0.4329
|
||||
8db1dd9f087656c859d077b67664e2bd093afd542c0ae7a2230402cecc2cf006,2026-09-10,49,"Gold steady near $4,400 as traders brace for US inflation data",0.0,0,0,neutral,0.1119,0.5709,0.3004,0,1,0.1566,0.4362
|
||||
4a6e08481574fc0e6182372a88f6b36501578e8bef586180ce5b10e32c5b4b38,2026-09-10,49,"Gold Steadies Near $4,400 as Traders Assess Fed Rate-Hike Outlook - NDTV Profit",-0.2,-1,-1,bearish,-0.0781,0.3915,0.0781,0,-1,-0.0026,0.3395
|
||||
d92614b4b63abc10e279e5630c241eb0a8a3588d053e31478c16039a67d10069,2026-09-10,49,Gold Price Faces a Crucial Test to Determine Its Next Direction – Analysis – 10-09-2026 - Economies.com,0.0,0,0,neutral,-0.1008,0.5026,0.2036,0,0,0.0626,0.574
|
||||
3a4d36f618b7eb33f30a18b578a7e7582f4dac0a8d1d1ed82fa9a0f82080e19e,2026-09-10,49,"Gold edges higher on weaker greenback, US inflation data in focus - The Business Times",0.5,1,1,bullish,0.1613,0.4102,0.0693,0,1,0.1684,0.3958
|
||||
c08db012f7a310674dc93b4236cecebf569bc905ccbe66938d751be3422b5dd7,2026-09-10,49,"Gold Steadies Near $4,400 as Traders Weigh Fed Rate-Hike Path - bloomberg.com",0.0,0,-1,bearish,-0.2853,0.4866,0.1747,0,-1,-0.2339,0.4436
|
||||
866ce236148f7e402de537a0fa648c86e2f6bc7e864efd28d3de1b8e56c180e0,2026-09-10,49,Challenger Gold Launches New Roadmap to First Production at Hualilán Project - TradingView,0.0,0,0,neutral,0.0746,0.501,0.2142,0,0,0.1285,0.5895
|
||||
9d45bb6f8199f5b6d88a3eba108398c06116bde9e47285765449fca910c6c59c,2026-09-10,49,Challenger Gold Launches New Roadmap to First Production at Hualilán Project - tradingview.com,0.0,0,0,neutral,0.0474,0.4776,0.1928,0,0,0.0925,0.5555
|
||||
5b4861151a3c0ab251fb9a5c5e5b046716914778c189d0bc8749f910f732c77b,2026-09-10,49,"Gold prices today, September 10th, surge as USD weakens, market influenced by the Fed; is the downward trend only temporary? - Vietnam.vn",0.8,1,0,neutral,-0.0167,0.4603,0.1821,-1,0,0.1284,0.5599
|
||||
4365f85239740f35647d7706472b41e9542b4680c37569dff4e78eedc37844e1,2026-09-10,49,"Gold edges higher on weaker dollar, US inflation data in focus - Reuters",0.6,1,1,bullish,0.2651,0.5337,0.2651,0,1,0.2443,0.5241
|
||||
261c45bb1b507efa0eb19b81e5ef5fbb4117d3a80645dde3d1c085ec6e9409c9,2026-09-10,49,Gold remains stuck between two key averages ahead of the US inflation test - FXStreet,0.0,0,1,bullish,0.2748,0.4973,0.217,0,1,0.2996,0.4507
|
||||
9e71aab8f0f7a7a72f1e007141e5794ec5657094423f11c13f410f27a38267a6,2026-09-10,49,Gold remains stuck between two key averages ahead of the US inflation test ,0.0,0,1,bullish,0.2819,0.5063,0.2371,0,1,0.3073,0.4529
|
||||
ab215771bd32ac44029e09a05e99d0b91bee4e24d08c2aec8fe535e7f64ac7de,2026-09-10,49,"US August CPI Preview: Will Inflation Reaccelerate? US Stocks, Dollar and Gold Face Key Test - tradingkey.com",0.0,0,1,bullish,0.1741,0.4602,0.1741,0,1,0.3789,0.5594
|
||||
d55716a87e550a1238e450223077abeffe74efc4ba8533ce1a42dff1ebd30f32,2026-09-10,49,"US August CPI Preview: Will Inflation Reaccelerate? US Stocks, Dollar and Gold Face Key Test - TradingKey",0.0,0,1,bullish,0.2082,0.4763,0.2082,0,1,0.4162,0.5775
|
||||
8d8c5b0b5092f0492575ed2805089466e599b0a278d714165da5a63c8fc41e54,2026-09-10,49,investingLive Asia-Pacific market news: Gold steady around $4400,0.0,0,0,neutral,0.1348,0.6656,0.431,0,0,0.2654,0.4545
|
||||
221d5613f51940a889421712e108031fa7fd9da28982815eb6da602e9837edaa,2026-09-10,49,"Gold holds steady above $4,400 as traders await US inflation data for Fed rate cues",0.1,1,1,bullish,0.3173,0.5433,0.3126,0,1,0.1777,0.4021
|
||||
b41f6cce0716c168ea2f003bd38061cb445395564a1fc20ee0a2403669e21d92,2026-09-10,49,"Gold holds steady above $4,400 as traders seem hesitant ahead of US inflation data",0.1,1,1,bullish,0.3916,0.583,0.3573,0,1,0.4375,0.5663
|
||||
b64fd9d0938e98786ecf0a439b90b70b4dd05d395adc1e1e812fa9cdcbdc31b9,2026-09-10,49,"Gold holds steady above $4,400 as traders seem hesitant ahead of US inflation data - FXStreet",0.0,0,1,bullish,0.4306,0.5843,0.3224,0,1,0.4326,0.564
|
||||
cde7d404a74d63a4c2c30ab4c985e9ea009d0a2ad1d1f5f728bb07b34b360960,2026-09-10,49,"Gold sticks to gains, eyes $4,450 as USD remains depressed ahead of US inflation data",0.7,1,1,bullish,0.2678,0.5201,0.2678,0,1,0.2344,0.5294
|
||||
c16ef91b1073f5116f897f794155171541b574eb2569764179234ad1767dc9df,2026-09-10,49,Gold price in India: Rates on September 10 - FXStreet,0.6,1,0,neutral,0.0349,0.6567,0.4675,0,0,0.0308,0.647
|
||||
4dabccddb89b1ec75c1261966303593c3e3572ee47575096f6b1b63f1324bc92,2026-09-10,49,"Gold edges higher on weaker dollar, US inflation data in focus - BusinessLine",0.6,1,1,bullish,0.2671,0.5391,0.2671,0,1,0.2498,0.5337
|
||||
8a37c6310b8e4453d1ead27d7d8e9462f40309cb2775ff0eaccf9d4f0748aca0,2026-09-10,49,Artemis Gold (TSXV:ARTG) Enters Production As Blackwater Ramp Up Tests Its Valuation - simplywall.st,0.1,1,0,neutral,0.0685,0.4523,0.1442,0,-1,-0.0546,0.3801
|
||||
e374c35c91f7864565172931284f456609526f8ab6dd05c4cd3ff99bdb210d0a,2026-09-10,49,"Gold holds steady above $4,400 as traders seem hesitant ahead of US inflation data - tmgm.com",0.2,1,1,bullish,0.3905,0.5622,0.296,0,1,0.4063,0.5507
|
||||
2d4b0fc56a1a638c606fccc5f22f737a3f912879c03dfbd9b47c8cfb9696a221,2026-09-10,49,"Gold Price Forecast: XAU/USD Eyes $4,449 Breakout as Weaker Dollar Battles $100 Oil Before PPI - fxleaders.com",0.7,1,1,bullish,0.2581,0.5878,0.2581,0,1,0.3546,0.6246
|
||||
697b14614f617eeaee9beafc5d26cbda85f2bcda0c8b3db206b026228b2f36a8,2026-09-10,49,"Gold Price Forecast: XAU/USD Eyes $4,449 Breakout as Weaker Dollar Battles $100 Oil Before PPI - FXLeaders",0.7,1,1,bullish,0.3283,0.6243,0.3283,0,1,0.4042,0.6496
|
||||
946b4b8867e61b4f46b42ecc45e7f6bc3a15e75031301e0b2634574b5c35ca1d,2026-09-10,49,"Gold, silver price prediction: Why gold, silver are under pressure; check outlook on September 10, 2026 - The Times of India",-0.6,-1,0,neutral,0.1558,0.544,0.2381,0,0,0.2932,0.5497
|
||||
c2ebb8e9befa193e685d9bb792e4ea0bf775845a9ac71b053bed3b005f9081c4,2026-09-10,49,"Gold Steadies Near $4,400 as Traders Weigh Fed Rate-Hike Path - Bloomberg.com",-0.2,-1,-1,bearish,-0.2853,0.4866,0.1747,0,-1,-0.2339,0.4436
|
||||
49e8ce8b627ed1dd50db08dca03c4f4e1f09b67bb5b7d21321003b027f439264,2026-09-10,49,Gold Broadly Stable Ahead of Key U.S. Inflation Figures - WSJ,0.0,0,0,neutral,0.083,0.4227,0.0925,0,0,0.0916,0.4801
|
||||
8c964fa10fd18cf320681e446aff10a4ea2f93835e593a4f7144d197601f5649,2026-09-10,49,Gold – Rejection of the key reference point and potential for downside [Video],-0.5,-1,0,neutral,0.216,0.4173,0.0179,0,0,0.2482,0.5477
|
||||
4180794db4c8fdc6a5a9193a1e8e0b4be052384ff3253c4d209c0d2f6fd564c9,2026-09-10,49,"Gold Above $4,400 As SEB Flags Dollar Debasement Risks - Gold Price Forecast - Exchange Rates UK",0.8,1,1,bullish,0.6288,0.7685,0.6288,0,1,0.6705,0.7884
|
||||
49570724db8d581ce4ed6440a367c512f06ebbe571caca731f8ce86d660878ce,2026-09-10,49,"Gold Rises Ahead Of US Inflation Data, Eyes US$4,500 - BusinessToday Malaysia",0.7,1,1,bullish,0.1746,0.5013,0.1746,1,1,0.2276,0.5587
|
||||
3434e3adcbae4665a86c0927b2b5f535356a0352c36314563ceedaa7b41a210f,2026-09-10,49,Gold price down but weathering ECB's 25 basis point rate hike - kitco.com,-0.4,-1,-1,bearish,-0.0598,0.4013,0.0598,-1,1,0.2676,0.5819
|
||||
d49fcdc9b0c9b903089ea4f1c19a0ed5a80d1af6635b905d4a83639d790a4387,2026-09-10,49,What Investors Should Know About Gold Mining Equities - Seeking Alpha,0.1,1,0,neutral,0.1789,0.6782,0.4278,0,0,0.098,0.7913
|
||||
c60f2e280e92b480e16f8ad6a0dd80faa000c0616cb98fa5da7f1a23bc037c2f,2026-09-10,49,Gold Price Moves Higher as Markets Await U.S. PPI and CPI Data - Yahoo Finance UK,0.6,1,1,bullish,0.2301,0.4802,0.2103,0,1,0.3394,0.5091
|
||||
43d27a56da6b271c3b68c03e93c70d6917e609b988e68f3007906d9250a51293,2026-09-10,49,"Gold Price Forecast: XAU/USD holds below $4,400 with Oil, yields surging",-0.6,-1,1,bullish,0.2072,0.4527,0.1509,0,0,0.1961,0.4638
|
||||
3f1d7d443f51fccb3d453fabe17a270a8812afc620e8d5053c08e0e741fbcfa2,2026-09-10,49,"Gold Price Forecast: XAU/USD holds below $4,400 with Oil, yields surging - FXStreet",-0.4,-1,1,bullish,0.1518,0.4519,0.1518,0,0,0.1881,0.4604
|
||||
dabd4b9276fba87aedf48dce7873abe0f894218cafce351add149b31c039b7ce,2026-09-10,49,Forecast update for Gold -10-09-2026 - Economies.com,0.0,0,0,neutral,0.1033,0.5016,0.2008,0,0,0.0222,0.6192
|
||||
5ce885e1683afeedc8aac53c545c6915eaeda36fed2c8f9dc5d0fcad651da34d,2026-09-10,49,Pan African expects HEPS to nearly triple on higher gold price - Business Day,0.5,1,1,bullish,0.0252,0.3458,0.0123,0,0,0.1051,0.5055
|
||||
3dde42e17ef556a6a97564495c04e1db93f527d940d46579849ce30e84e6fd13,2026-09-10,49,"Gold price today, Thursday, September 10, 2026: Gold prices steady ahead of inflation data and the Fed - Yahoo Finance",0.0,0,0,neutral,0.0536,0.6949,0.5156,0,0,0.0812,0.7096
|
||||
dcd3bed2e038b9519034d4269693d54b27b08ec69e0e04ef5692a058764b8025,2026-09-10,49,"Gold price today, Thursday, September 10, 2026: Gold prices steady ahead of inflation data and the Fed - finance.yahoo.com",0.0,0,0,neutral,0.0345,0.6782,0.5,0,0,0.0672,0.697
|
||||
2b589f0f61d67ab944fd98708184163fa3203bf343db65c146999aa44ba095e9,2026-09-10,49,Gold comes under pressure ahead of US PPI as Fed rate hike risks linger,-0.7,-1,1,bullish,0.2885,0.539,0.2885,-1,1,0.2479,0.4901
|
||||
569c674d47c925064d6eff8297be2f344bc3dc3b7536fb2f146008b9b7164e0a,2026-09-10,49,"Gold loses ground as US PPI reinforces Fed hike expectations, US Dollar and yields rise",-0.8,-1,1,bullish,0.214,0.5077,0.214,0,1,0.4558,0.6398
|
||||
bb5873803dafe81b0985f0dd1df36e63d7d01a7dc20d61ceb1f0dd2acf897a0d,2026-09-10,49,"Gold slides as US PPI reinforces Fed hike expectations, US Dollar and yields rise",-0.8,-1,-1,bearish,-0.2603,0.5733,0.2603,-1,-1,-0.5598,0.7499
|
||||
dccdde6032c35aa32fa1f966ac70a57e3de2ad14d623bacd8680fb522a81323f,2026-09-10,49,Gold comes under pressure ahead of US PPI as Fed rate hike risks linger - FXStreet,-0.5,-1,-1,bearish,-0.1232,0.4256,0.1232,-1,1,0.2372,0.485
|
||||
a8f3f4407c3cdb9b34507f2ee7e26bdcd6944d1e77312c6e7acb099f72c46330,2026-09-10,49,Gold price at the close of the session on September 10th: Market awaits inflation data to be announced soon - Laodong.vn,0.0,0,0,neutral,0.2529,0.5367,0.1785,0,0,0.255,0.6019
|
||||
c031365747d379ff48c1e03e0173e6aa3b6685a5118aa7e9d53f9aa47a1eaf87,2026-09-10,49,"Gold falls as dollar, yields rise ahead of inflation data - Reuters",-0.8,-1,-1,bearish,-0.065,0.3825,0.065,-1,-1,-0.4703,0.6518
|
||||
21cd5c8cac8b6a396855b8d836f99ff47be3278e247727e7d6e87c461a2306b9,2026-09-10,49,"Gold price today: Why gold is near $4,400 ahead of US inflation data | Hindustan Times - Hindustan Times",0.4,1,1,bullish,0.2207,0.4399,0.099,0,1,0.3554,0.5058
|
||||
25a33d9910d478177e2fb4545d8aecb87f1386b4e58ef1f03ca6c75b59e77779,2026-09-10,49,"Gold Price Forecast: $4,500 Resistance in Focus Ahead of CPI - FXEmpire",0.2,1,-1,bearish,-0.235,0.5498,0.235,0,-1,-0.1902,0.5257
|
||||
675ed0d89e6a9aef5ac101de75aeab456f3ab619b789f12879867f58213ed624,2026-09-10,49,"Spot gold price slides to $4,340/oz after August PPI rises 0.4%, core PPI rises 0.2% - kitco.com",-0.7,-1,-1,bearish,-0.2731,0.5524,0.2731,0,-1,-0.4155,0.6616
|
||||
8d9f65e68f5f487d4d5ff0f26b4c16acefb9891968c1a59b3426106525bda533,2026-09-10,49,"Spot gold price slides to $4,340/oz after August PPI rises 0.4%, core PPI rises 0.2% - KITCO",-0.7,-1,-1,bearish,-0.2384,0.5348,0.2384,0,-1,-0.373,0.6397
|
||||
7ef22b49123023576bdf7b7d6de6361cc9e8d64e8515129f793a4a2c850cdbac,2026-09-10,49,"Current price of gold as of September 10, 2026 - Fortune",0.0,0,0,neutral,0.1795,0.5876,0.2917,0,0,0.2034,0.5304
|
||||
9e5c86b936d41d999d671f0ca89e7ac1cc54f2aa2cb6b62938b7228751c08370,2026-09-10,49,"As yields/USD move higher, gold is falling sharply. The price cracks below it 100 day MA/trendline",-0.8,-1,1,bullish,0.177,0.4515,0.177,0,-1,-0.6159,0.7742
|
||||
9e32da8808a599908323181bece669a157b3b96b1b19c9bce3dbbb27f6d48f3e,2026-09-10,49,"Copper Dives On Tariff Report, Oil Prices, Yields; Silver, Gold Also Down - Investor's Business Daily",-0.6,-1,0,neutral,-0.0225,0.4044,0.0954,0,0,0.0668,0.598
|
||||
a7425939c64c372f6cd105fb076c5fdc9b06dc19b5a7ae40e111b6210cdaf6f5,2026-09-10,49,Gold: Near-term selling may only delay next leg higher - TD Securities,0.5,1,0,neutral,-0.0083,0.4842,0.2222,0,0,0.169,0.5681
|
||||
4486a60c8a4cfc45c829987fe2de2583a9b2e27510ac9ad9c207c0c44caf3933,2026-09-10,49,"Gold Price Steadies Near $4,400, Silver Holds Above $66 as Markets Brace for a Fed Decision Complicated by War - India Infoline",0.2,1,1,bullish,0.116,0.4369,0.116,0,0,0.0066,0.4616
|
||||
481ec04eb989cee77b9dba81896cfabcbdd04c1ecde7513984c1495f67eea18d,2026-09-10,49,"Gold Price Steadies Near $4,400, Silver Holds Above $66 as Markets Brace for a Fed Decision Complicated by War - indiainfoline.com",0.1,1,1,bullish,0.0638,0.4117,0.0638,0,0,-0.024,0.4478
|
||||
d4e33772f6d6f71e58228718c03f0c014016bbe553506666d8ea1192b1283185,2026-09-10,49,"Gold tumbles below $4,400, silver plunges 5% as crude above $100, rising yields, and stronger dollar weigh... - Moneycontrol.com",-0.9,-1,-1,bearish,-0.1172,0.5097,0.1172,-1,-1,-0.4344,0.6848
|
||||
6aba09b23252ddcbea75b27d8155b8c06f0af8296524929b45679ac1be192175,2026-09-10,49,Gold and Crypto Fall as Hot US Inflation Rattles Markets - BeInCrypto,-0.8,-1,-1,bearish,-0.4995,0.7098,0.4995,0,-1,-0.7437,0.851
|
||||
90280e11732023cc71da72f87142f2737ee1eb774c9ce65830e20ca48ff77b01,2026-09-10,49,Gold price down but weathering ECB's 25 basis point rate hike - KITCO,-0.5,-1,1,bullish,0.0441,0.3987,0.0441,-1,1,0.429,0.6746
|
||||
440a78f5bc746d44b08f1f78892353d3d28d0517df0dd697461ca52d00751603,2026-09-10,49,The battle of the Gold whales [Video],0.0,0,0,neutral,0.1096,0.4816,0.1676,0,1,0.3238,0.4431
|
||||
a3a2a24184e4ebd000123accdede9b5850a9a11a64efcda8ce87c464f23c3e5d,2026-09-10,49,"Gold Price Today on September 10, 2026 - USA Today",0.0,0,0,neutral,0.0309,0.856,0.7685,0,0,0.0354,0.8664
|
||||
a4f1050a73c2bb1ceaa83b24b10a7f05b6f66c692b7e0ed13cc7f57b116947ab,2026-09-10,49,"Gold Price Today on September 10, 2026 - usatoday.com",0.0,0,0,neutral,0.0323,0.7915,0.6711,0,0,0.0376,0.8276
|
||||
72bcae750f363abb4d3d2b954364be06ba3c5ed568c7bf7484221d1a6861e487,2026-09-10,49,Bitcoin and Gold Outlook: BTC and XAU drop as US PPI broadens rate-hike bets,-0.7,-1,1,bullish,0.3614,0.6247,0.3614,0,1,0.4951,0.7197
|
||||
2d3e4668927a74193fb671ae3b52d1fadb6b91dac565b6ce62c25751b54e6d4b,2026-09-10,49,"Limitless Metals: $105 Oil, Rising Treasury Yields and Fed Rate-Hike Expectations Reshape 2026 Gold Outlook - GlobeNewswire",-0.5,-1,1,bullish,0.0936,0.4176,0.0936,0,-1,-0.0095,0.3947
|
||||
fd0d337e699c0933ee22a50f5da1e8fe13ac402dc251ebf3072a056e3c32c9ba,2026-09-10,49,Gold News: Gold Price Drops as $100 Oil Drives 10-Year Yield Above 4.9% - FXEmpire,-0.7,-1,-1,bearish,-0.3639,0.6359,0.3639,-1,-1,-0.7183,0.8434
|
||||
cb8b1dda1e7b76cccc60ccff3eda609d9bee814b4c388e7d26baea8e02d2b48d,2026-09-10,49,"Gold bulls blink as hot US PPI, $100 Oil send yields flying",-0.8,-1,-1,bearish,-0.1566,0.4678,0.1566,0,1,0.3838,0.6092
|
||||
2882dde82000bced3a76584f0f4ffff6df2e1d725f552f5832de7171975e511c,2026-09-10,49,Gold Price Short-term Outlook: XAU/USD Bulls Fight to Stabilize at Pivotal Support - forex.com,0.4,1,1,bullish,0.3709,0.5684,0.3343,0,1,0.4609,0.5805
|
||||
5f448739345539e5ccb0f00bb15ee0afacdf51a3d01e8bc3b40e0e0ce9cedba5,2026-09-10,49,Gold Price Short-term Outlook: XAU/USD Bulls Fight to Stabilize at Pivotal Support - FOREX.com,0.4,1,1,bullish,0.3709,0.5684,0.3343,0,1,0.4609,0.5805
|
||||
0caeba0716f6fae8f9961dc1db9d6d3a6e494acd725b39fd1fa8ffc3688dabee,2026-09-10,49,Agnico Eagle Mines: Continued Upside Despite Risks To The Price Of Gold (NYSE:AEM) - Seeking Alpha,0.1,1,0,neutral,0.0134,0.7019,0.5462,0,0,0.0206,0.7098
|
||||
4325ff91ab2834acf0a23f32fa849688fd801cd8890689cfe5f2274be24e8bb2,2026-09-10,49,"Gold ETF Trading Jumps 83%, Holdings Climb To Record 4,189 Tonnes - Yellow.com",0.7,1,0,neutral,0.0096,0.463,0.1897,1,-1,-0.0846,0.3901
|
||||
a330ed3b70258297668e5033cbe222f5eef35d633da9772087713b7c5f8a2eee,2026-09-10,49,"Gold ETF Trading Jumps 83%, Holdings Climb To Record 4,189 Tonnes - yellow.com",0.6,1,0,neutral,0.0096,0.463,0.1897,1,-1,-0.0846,0.3901
|
||||
e85f8ce33884557c1f6f4dfc8f46b7ac9cc1a9e564af8a7dc8059bd060c7b2fa,2026-09-10,49,"Gold Rally 2026: Wall Street Forecasts, Fed Risks, and Reserve Diversification - deVere Group",0.7,1,0,neutral,0.0019,0.4205,0.1299,1,-1,-0.1754,0.4536
|
||||
db70a2601c164e4b7a871f519ae40e19a55564314edd921514afc12f7734d540,2026-09-10,49,"If these key gold price levels fail, expect accelerated near-term selling – TD Securities - KITCO",-0.7,-1,1,bullish,0.2857,0.5534,0.2857,0,1,0.3953,0.5823
|
||||
8d64d0cf56fde7a0cabdce71670044136208799c45d11696b8244474b97170ed,2026-09-10,49,"Watch out below! Copper, Gold and the AUDUSD are all tumbling to the downside today. ",-0.8,-1,1,bullish,0.2384,0.4258,0.0389,0,0,0.3444,0.5148
|
||||
99596ccd5fff5306e6d2b65ae4ec3d3c29c1862c9be34e9a6ff1af61d152bb11,2026-09-10,49,"Gold, silver prices retreat as US inflation, ECB rate hike pressure markets - aa.com.tr",-0.7,-1,-1,bearish,-0.231,0.5187,0.231,-1,1,0.2378,0.499
|
||||
c38430a0598e23380f3f865ada2288a8a3706c6e09bd455c00265e8f2b82ea32,2026-09-10,49,"Gold, silver prices retreat as US inflation, ECB rate hike pressure markets - Anadolu Ajansı",-0.6,-1,-1,bearish,-0.202,0.5023,0.202,-1,1,0.3042,0.5326
|
||||
861eee301e14e482146a49a88cf159523fa918ab637757b43a3f6746eccc05de,2026-09-10,49,"Debasement trade gains ground as nations reassess Dollars, bonds, and Gold [Video]",0.7,1,1,bullish,0.1212,0.3799,0.0185,0,1,0.3788,0.5258
|
||||
37df25128a22ba9b22b419cbb85f29d913358988242f64410a6a41188907f868,2026-09-10,49,ETF Gold holdings surged to record high in August,0.8,1,1,bullish,0.2111,0.4101,0.0193,1,-1,-0.0189,0.3898
|
||||
150ffe6ef353ada0e9cd585071b557b3078e114df939f20d2a34884962adbac0,2026-09-10,49,Gold Price Forecast: Key Support Tested as Range Tightens - FXEmpire,0.0,0,1,bullish,0.2111,0.5119,0.2111,0,1,0.2939,0.5532
|
||||
bf1a5696eb0da60a82a56efa97750b7a80be971ec62224b05335847667ecdc9f,2026-09-10,49,PL Gold Mine Restart Update - TradingView,0.0,0,0,neutral,-0.0248,0.4671,0.1883,0,0,0.0744,0.5355
|
||||
43d6eb05ffda9ea151e0afd36a6f5d699077f7b5506a356e75cbce531d37728e,2026-09-10,49,"Gold Set for Weekly Drop as Oil, Inflation Boost Rate-Hike Bets - Bloomberg.com",-0.7,-1,-1,bearish,-0.5487,0.7124,0.5487,0,-1,-0.7453,0.8378
|
||||
b49dcef050457f10d73a218d456ddc0bac1b2b1bdf8c85c0d097c98869b1f881,2026-09-10,49,"Gold Set for Weekly Drop as Oil, Inflation Boost Rate-Hike Bets - bloomberg.com",-0.7,-1,-1,bearish,-0.5487,0.7124,0.5487,0,-1,-0.7453,0.8378
|
||||
97b555fb319c68af92622b66542c91c6ada6cc6160b64f90787a988ae82a9047,2026-09-10,49,"Gold falls below $4,350 as rising oil prices, US PPI reinforces Fed hike bets",-0.8,-1,-1,bearish,-0.5529,0.7008,0.5496,-1,-1,-0.8034,0.8771
|
||||
c6225cc68e6a7d3ff3aead58e2944288a5bfbe09b4902db150652fdf7149564b,2026-09-11,136,Gold Price Nears Our Price Target – Analysis – 11-09-2026 - Economies.com,0.3,1,0,neutral,0.0147,0.7505,0.6184,0,0,0.08,0.7093
|
||||
13242d178f14818ca445f4ae8ec8b1774614cdd74bbe4ada96679e01fc96f81e,2026-09-11,136,Gold and Crypto Fall as Hot US Inflation Rattles Markets - mitrade.com,-0.8,-1,-1,bearish,-0.7364,0.8382,0.7364,0,-1,-0.8463,0.9014
|
||||
ae6a06e252a92f3004878790341cefb0e99c023025a3e14e5cbca3bc0e4ed560,2026-09-11,136,Gold and Crypto Fall as Hot US Inflation Rattles Markets - Mitrade,-0.8,-1,-1,bearish,-0.7548,0.8516,0.7548,0,-1,-0.8555,0.9087
|
||||
224d316e4688ea32f5855fb9f39a2e2149eb4bb35ee527ad2745d80534ff8a6f,2026-09-11,136,$10K Gold: Why This Analyst Is Loading Up on Aussie Miners - Stocks Down Under,0.6,1,0,neutral,0.0626,0.4045,0.0755,0,0,0.063,0.4108
|
||||
0faa1c75355f77983202bdc91018981540349344a4f115cd0456093a374d7a3e,2026-09-11,136,Gold Price Forecast: Will US CPI inflation revive XAU/USD uptrend? ,0.3,1,-1,bearish,-0.0701,0.3644,0.0231,0,1,0.2955,0.5209
|
||||
6a5ca6f2a7816079ff2e0f3d7a33e705815f3da49f4951263e525fbb1aed96ec,2026-09-11,136,Gold Price Forecast: Will US CPI inflation revive XAU/USD uptrend? - FXStreet,0.0,0,1,bullish,0.2466,0.5303,0.2466,0,1,0.1808,0.4491
|
||||
515c3e3c89b607c8348186290a726e289a012deefb998679d2eb35ea744e89fd,2026-09-11,136,"Gold eyes $4,300 break as USD sticks to gains amid Fed hike bets, ahead of US CPI",-0.5,-1,1,bullish,0.1766,0.504,0.1766,0,-1,-0.2352,0.5601
|
||||
58a4ae6b507178a675ab1eaf798fb90de0278a19cd21500a3647c08e1e3d662e,2026-09-11,136,Gold bounces off one-week low as USD bulls await US CPI; Fed hike bets to cap gains,0.2,1,1,bullish,0.4079,0.6309,0.4079,0,1,0.0285,0.4526
|
||||
f221cf8dab7cd4b174cdd0f87de4520ca348c853fd072cba0a15c5b6c65bc55a,2026-09-11,136,"Gold moves away from one-week low, climbs above $4,450 as USD edges lower ahead of CPI",0.8,1,1,bullish,0.5422,0.6836,0.5086,1,1,0.4947,0.6667
|
||||
1c5bbcd67bc191cdb35d40169e2db69fcde168d1fdf33cd8d2cfc80f3bc1f98b,2026-09-11,136,"Gold, silver prices today, 11 September: Check retail rates of 24K, 22K gold, 999 silver in Delhi, Mumbai and Kolkata - livemint.com",0.0,0,-1,bearish,-0.0369,0.349,0.0101,0,1,0.0004,0.3831
|
||||
96713b78a84717b74605fcfd0e1be1cf879c642f2826cf7b9f81a0a3b4789b8d,2026-09-11,136,"Gold, silver prices today, 11 September: Check retail rates of 24K, 22K gold, 999 silver in Delhi, Mumbai and Kolkata - Livemint",0.0,0,-1,bearish,-0.0559,0.3687,0.0501,0,-1,-0.0157,0.3988
|
||||
083a6d37640c5b5d60d41bec7f5c5a24f68444ea22aacfba25db5823d93630d8,2026-09-11,136,Gold price in Malaysia: Rates on September 11 - FXStreet,0.0,0,1,bullish,0.3145,0.4653,0.0812,0,1,0.3586,0.5123
|
||||
4ee483cb8d53cfc337cfc29597ed2519531cf8906c4177757f88c2267f33be23,2026-09-11,136,Gold price in India: Rates on September 11 - FXStreet,0.0,0,1,bullish,0.4093,0.566,0.2888,0,1,0.4603,0.6121
|
||||
b37b146c7f3b636bc6b63c245b82f706736a88ff5f48728a3bd7c14a23be4df0,2026-09-11,136,"Gold Price Drop: Yellow Metal Slips By Over Rs 1,600 To Below 1,51,000 On MCX - NDTV Profit",-0.7,-1,-1,bearish,-0.4029,0.6637,0.4029,0,-1,-0.7059,0.8303
|
||||
87eabdd6f6d2f69d6bc1ca937c0b17606a2dabe5a6b9e6550021e8b35ad5c3aa,2026-09-11,136,Gold price in United Arab Emirates: Rates on September 11 - fxstreet.com,0.0,0,0,neutral,0.2415,0.4359,0.0331,0,1,0.3293,0.4878
|
||||
fb912f9e8ec2c2581752c9b5f5670530924aaeecb57881570449776c938dc9f8,2026-09-11,136,Gold price in United Arab Emirates: Rates on September 11 - FXStreet,0.0,0,0,neutral,0.242,0.4287,0.0221,0,1,0.3411,0.5043
|
||||
8ff375db084d472eab6f261b6f7ba3c6cc127f0ae6f45de8d510776aad5c4774,2026-09-11,136,Gold price in Philippines: Rates on September 11 - FXStreet,-0.4,-1,1,bullish,0.3105,0.4685,0.0949,0,1,0.3572,0.5161
|
||||
1c2d97bcc1ee27b8e46d779b6ccbd84b0dd51820ecb8d39e113ad17515bef105,2026-09-11,136,Gold on track for third weekly loss as U.S. inflation data looms - CNBC,-0.6,-1,0,neutral,0.0363,0.4239,0.1176,0,0,0.0488,0.5187
|
||||
99f26f06ad869a220695623859e9ae7fd196a01a18862764a23b02b00af51fbd,2026-09-11,136,"Gold Wavers as High Oil Prices, Inflation Bolster Rate-Hike Bets - Bloomberg.com",-0.6,-1,-1,bearish,-0.7488,0.8026,0.659,0,-1,-0.7485,0.7924
|
||||
7a51c1465135807d890f8f4045fd06b21038be1e46777532ca631c9a85ba6b5e,2026-09-11,136,"Gold price falls by Rs 4,800 per tola - Onlinekhabar English",-0.7,-1,-1,bearish,-0.8002,0.8863,0.8002,-1,-1,-0.8862,0.9348
|
||||
0368967dd5ea37771b257a8c271dcd6aff2451c9be49f02479e12b585f7bf415,2026-09-11,136,UAE gold price today: 24K drops to Dh522 per gram as dollar strengthens - khaleejtimes.com,-0.4,-1,-1,bearish,-0.0621,0.4235,0.0621,-1,-1,-0.1514,0.4653
|
||||
03771da3a3bd1051ca520662852d74d8e634e9708b4488e5f573cd1bd0282d40,2026-09-11,136,UAE gold price today: 24K drops to Dh522 per gram as dollar strengthens - Khaleej Times,-0.5,-1,-1,bearish,-0.0193,0.4414,0.0193,-1,-1,-0.092,0.4815
|
||||
58544254bef3d69576829400d6aaa1eb6046fe980d8597bd194cb59a82c0cb74,2026-09-11,136,"Gold Rate Today, September 11: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - The Indian Express",0.0,0,0,neutral,0.11,0.5736,0.3054,0,0,0.1826,0.4651
|
||||
fe485083db8a46d3d2a9a9c8870a98c986793bb1e70903edcef15423def8343b,2026-09-11,136,"Gold Breaks Triangle Support: XAU/USD Eyes $4,287 as CPI Becomes the Decisive Test - FXLeaders",-0.5,-1,1,bullish,0.4698,0.6297,0.4193,0,1,0.3699,0.5232
|
||||
86de2855643f4f12f6f410dc1873a7a07ccc8b40fc411d122c11777b1a173d14,2026-09-11,136,Gold on track for third weekly loss as US inflation data looms - BusinessLine,-0.4,-1,1,bullish,0.0911,0.4139,0.0911,0,1,0.0913,0.3821
|
||||
c6f7e17c6dfb80cda1ae54cb202d277fec18042285552dd4851473b459d395ae,2026-09-11,136,Gold on track for third weekly loss as US inflation data looms - thehindubusinessline.com,-0.6,-1,1,bullish,0.1102,0.4139,0.1102,0,1,0.1056,0.3778
|
||||
c5e23f019e869a2763649837c841dc2f3623f5ffb7c62c742a9a5cb2566ff49d,2026-09-11,136,"Gold ETFs Fall Over 1%, Silver ETFs Drop Up To 3%: Is The Bullion Rally Losing Steam? - NDTV Profit",-0.7,-1,-1,bearish,-0.0583,0.4989,0.0583,1,-1,-0.5215,0.7426
|
||||
3034be3844643986e52ad52fd14f565600727565e2e820827b776b8ae1d0e5ed,2026-09-11,136,"Gold Price Forecast: PPI and Oil Prices Fuel Inflation Concerns, Can CPI Change Gold's Direction? - TradingKey",0.2,1,0,neutral,-0.1532,0.385,0.0009,0,0,-0.0888,0.3698
|
||||
c757344378e37a19ebad98b08127015d3cdc1c0cf4241385bcb807e34bb6201d,2026-09-11,136,"Gold Price Forecast: PPI and Oil Prices Fuel Inflation Concerns, Can CPI Change Gold's Direction? - tradingkey.com",0.2,1,0,neutral,-0.1312,0.4023,0.0379,0,0,-0.0709,0.3866
|
||||
7cc8e994945537c351b0a178130a5743c54a4285d981b753357bbecec0c3a695,2026-09-11,136,Gold and Silver Price Forecast: Will CPI Trigger a Breakdown? - FXEmpire,-0.4,-1,1,bullish,0.2413,0.5454,0.2413,0,-1,-0.0217,0.4054
|
||||
c6bec7c72f44a0531600e3ab38a58c65df202e4424ada89bb3d2fbf469636c69,2026-09-11,136,Gold on track for third straight weekly loss as US inflation data looms - thestar.com.my,-0.6,-1,1,bullish,0.0631,0.3711,0.0502,0,0,0.0742,0.4096
|
||||
fd061f9fd1e5bceffd373e20ba669a33c0cd59b1c1b09a56037c482a42d64cd8,2026-09-11,136,Gold on track for third straight weekly loss as US inflation data looms - The Star,-0.5,-1,1,bullish,0.049,0.3633,0.041,0,0,0.042,0.4302
|
||||
9be75a2c0d6dd2fe954b85f5c33ef14e343528f7bbe475e17b0a90b7d9c9edb4,2026-09-11,136,"Gold price prediction: Is it time to buy gold on dips? Check September 11, 2026 outlook - timesofindia.indiatimes.com",0.3,1,0,neutral,0.088,0.5301,0.2511,0,0,0.1494,0.5256
|
||||
f0da5580094ac44e143ac66224d4faa7dec7350fdfabe022c2409efdd6430cf7,2026-09-11,136,"Gold price prediction: Is it time to buy gold on dips? Check September 11, 2026 outlook - The Times of India",0.2,1,1,bullish,0.1523,0.3989,0.0444,0,1,0.2404,0.4369
|
||||
6365e6d61fda7a892309c6c22bdc776913cfd8c7392402d5c08f4d3966327f25,2026-09-11,136,gold price outlook September 2026 Archives - GoldSilver,0.0,0,0,neutral,0.0145,0.5535,0.323,0,0,0.0315,0.5291
|
||||
79f32afb96bc7e2aca0a336ebbc4fc2e30cd93ee0121cff33fb222a9223e4630,2026-09-11,136,Gold falls as inflation fears and high Oil prices weigh on the precious metal,-0.7,-1,-1,bearish,-0.5343,0.6927,0.5343,-1,-1,-0.8518,0.8879
|
||||
31e6f9d5bae507becebc089f9c46db6d5f82e64a9c854cfc51c9851daa1d6a95,2026-09-11,136,Gold Price Forecast: Fed Rate Hike Bets Rise as Oil and US Dollar Pressure Gold - Mitrade,-0.7,-1,-1,bearish,-0.8609,0.9126,0.8609,-1,-1,-0.8989,0.9366
|
||||
6fb866c16a50841b9a034db40e1e87b1df459814ebd466af5c22460b369e835f,2026-09-11,136,Gold Price Forecast: Fed Rate Hike Bets Rise as Oil and US Dollar Pressure Gold - mitrade.com,-0.7,-1,-1,bearish,-0.8371,0.8957,0.8371,-1,-1,-0.878,0.921
|
||||
03e6d8f7aaf40875687d95920271a64721132d2efac7895647e421e67e2ffcbd,2026-09-11,136,Gold Price Prediction: Yellow Metal Surged 13% In August; Will The Rally Continue In September? - news18.com,0.7,1,1,bullish,0.269,0.4497,0.0802,1,1,0.391,0.572
|
||||
d585514ab8144f0e100697e64061ad92fa116cdfb3094c1ad54cea049c9c351c,2026-09-11,136,Gold Price Prediction: Yellow Metal Surged 13% In August; Will The Rally Continue In September? - News18,0.7,1,1,bullish,0.2705,0.4578,0.1028,1,1,0.3961,0.5819
|
||||
c32916d58368d25f82bd931031443ac519fcd824763b1ee0dd907e675774433d,2026-09-11,136,"Gold Rebounds Toward $4,350 as Markets Await US CPI Data - Yahoo Finance",0.4,1,1,bullish,0.5749,0.7242,0.5749,0,1,0.6386,0.7878
|
||||
a9064ef21b007dc4fcd9b124c3a9ea36c8470ee820db7b4ac487192ae4739ec8,2026-09-11,136,"Gold Price Forecast: XAU/USD clings to a key support area around $4,300",0.1,1,1,bullish,0.2331,0.5243,0.2331,0,0,0.1084,0.649
|
||||
3c2e5077362e1500c59442867f5b89544cf5be3dcb8ef8a5830e2733f0439cc3,2026-09-11,136,"Gold Price Forecast: XAU/USD clings to a key support area around $4,300 - FXStreet",0.3,1,0,neutral,0.0908,0.4288,0.0978,0,0,0.0628,0.6565
|
||||
94a6ab809cd79dd91de25056e692e661f0cef9e05194bdb791c371f743e00128,2026-09-11,136,"Gold falls back into the major $4300 support ahead of US CPI, as surging oil prices increase rate hike bets",-0.7,-1,-1,bearish,-0.7694,0.8277,0.7136,-1,-1,-0.9348,0.957
|
||||
985dd3b7a945aded432c0dafbaca3072a54c888c7c36c0331f65546e8d2a89be,2026-09-11,136,Gold price drops in domestic market today - english.nepalnews.com,-0.7,-1,-1,bearish,-0.5283,0.7071,0.5283,-1,-1,-0.7846,0.8678
|
||||
f386dd44125cf8aec34b22fd7ec25129a53cba57a134eaf80abc9610effc11dc,2026-09-11,136,Gold price drops in domestic market today - Nepalnews.com,-0.6,-1,-1,bearish,-0.5441,0.7175,0.5441,-1,-1,-0.7865,0.8689
|
||||
1077a1077992d1ede91be6793b53055f7a7e4dd682c3a6ded81331edc64d2174,2026-09-11,136,Gold rebounds but Fed rate hike bets risks remain a headwind,0.3,1,-1,bearish,-0.5097,0.7264,0.5097,-1,-1,-0.6933,0.8277
|
||||
3b63518cd16af65219784b5529d8918efae73450e356d1fad4eac8581cc5f4af,2026-09-11,136,Gold rallies despite stronger Fed rate-hike expectations following US CPI,0.6,1,-1,bearish,-0.6279,0.7676,0.6279,0,-1,-0.7331,0.8501
|
||||
dddfe12f296bd2e41c6d930820b54f2d33d703aa12afb6d5ba9712cb8831ef08,2026-09-11,136,Gold holds ground as markets brace for US CPI data,0.1,1,1,bullish,0.1232,0.4297,0.1232,0,1,0.4572,0.5998
|
||||
7de8184db3ad8f88a844cfa8fcdff8fd44fb5420e44f12be84e5034a34ef0520,2026-09-11,136,Gold price in Bangladesh adjusted for 114th time this year - New Age BD,0.0,0,0,neutral,0.1237,0.4332,0.0879,0,1,0.1851,0.4715
|
||||
04f30f72d704f7115d63b805499f2a70df589b8578945e4720bd8f356537fb10,2026-09-11,136,"Gold outlook: Bears take a breather after 2% drop, traders eye US inflation data for fresh signals",-0.1,-1,1,bullish,0.1787,0.435,0.1262,0,1,0.3863,0.5481
|
||||
51ac0b31b1ec5d703d608270b39d008dad0010b75a3c8d857eb8af05d6bc716f,2026-09-11,136,"Gold price today, Friday, September 11, 2026: Gold opens at lowest level in over a month ahead of CPI data - finance.yahoo.com",-0.4,-1,0,neutral,0.1196,0.6585,0.428,0,0,0.1677,0.6512
|
||||
e72fc66166223772ae0c659d7e9b9c86300d41e78e9a32703a0d179ed699ad88,2026-09-11,136,"Gold price today, Friday, September 11, 2026: Gold opens at lowest level in over a month ahead of CPI data - Yahoo Finance",-0.4,-1,0,neutral,0.1405,0.6329,0.3791,0,0,0.1953,0.6167
|
||||
8fbf505c8a6bf1a590361f3f1cad7a8627ca8cc4b3f0f79bbad6b7c37d39ee86,2026-09-11,136,Gold Waits for the CPI Verdict. Forecast as of 11.09.2026 - LiteFinance,0.0,0,0,neutral,0.0158,0.6936,0.5325,0,0,-0.016,0.727
|
||||
7aecb44aa91e69ec3935618fb312ef60bc643dd8b56fc6066ddf494b30521128,2026-09-11,136,Gold (XAUUSD) Price Forecast: Value Versus Trend as Gold Stages Technical Bounce Ahead of CPI - FXEmpire,0.4,1,1,bullish,0.4105,0.6281,0.4105,0,1,0.343,0.5701
|
||||
3239473f9a1e6a56b415aa1b78975b22d24a6dc90768a4deedffd6129096298a,2026-09-11,136,Gold: Why CPI and Rising Yields Matter Before the Weekend - DailyForex,-0.5,-1,-1,bearish,-0.2915,0.5371,0.2915,0,-1,-0.5752,0.7081
|
||||
543a35cdd08440e6a2d3a3fe3dd11d127cb7e601fb3ed29889a46d4eaed9df23,2026-09-11,136,"Gold Price Today: Gold Falls 1.50% on September 11, 2026 - usatoday.com",-0.7,-1,-1,bearish,-0.3276,0.4463,0.0114,-1,-1,-0.6024,0.6742
|
||||
90bd0253d93572e020d89291025dc4b1e4d5d0e0c3b7bc447663fa598d397db2,2026-09-11,136,"Gold Price Today: Gold Falls 1.50% on September 11, 2026 - USA Today",-0.8,-1,0,neutral,-0.2204,0.566,0.2388,-1,-1,-0.4431,0.5222
|
||||
0e59f151854e0888ae56e02db5039ac4f6d10870cd1be7bd99d72c6d8d1c4c6a,2026-09-11,136,Bitcoin and Gold Prices Crash As Core CPI Runs Hot - finance.yahoo.com,-0.8,-1,1,bullish,0.0928,0.3911,0.0807,0,1,0.2281,0.4579
|
||||
fee1d19eba0ef16a07b2f607c38ffa2a17916814d5d2b4d2659b6e4d5c61b247,2026-09-11,136,Gold Gains on Softer Oil; US Inflation Data in Focus - ASHARQ AL-AWSAT English,0.5,1,1,bullish,0.703,0.7987,0.6931,0,1,0.7314,0.8407
|
||||
32022390f2ee682dbe1c1b6ae9921e9614cef9b3eae1d175a6a691b3d9fddb25,2026-09-11,136,"Gold prices inch up amid steady US inflation, b... - Pluang",0.2,1,0,neutral,0.2296,0.4573,0.0712,0,0,0.2292,0.5555
|
||||
fece0a8894db642d0a56716dd7bacc35f49a74489eed9ba57112ade97675544c,2026-09-11,136,"Gold prices inch up amid steady US inflation, b... - pluang.com",0.3,1,0,neutral,0.2281,0.4785,0.1037,0,0,0.2179,0.5819
|
||||
f5e8f4b3abcd75ad4a2079a948c9d759d31c20e263bbff556459f7f1d7275611,2026-09-11,136,Gold rallies despite stronger Fed rate-hike expectations following US CPI - FXStreet,0.5,1,-1,bearish,-0.6506,0.787,0.6506,0,-1,-0.7525,0.8579
|
||||
5d2ebd795dc6e94a3d1ac1f6a1066b2d8a4a09c65de83d3e25586e797969b4c0,2026-09-11,136,"Current price of gold as of September 11, 2026 - Fortune",0.0,0,0,neutral,0.0904,0.753,0.5843,0,0,0.1613,0.6828
|
||||
737c92196852850003ba20d83d45778a3d7a03cd4aaab489c3cf963c9c09db5a,2026-09-11,136,"Gold price drops ₹2,700 to ₹1.55 lakh/10g; silver slips by ₹10,000 - BusinessLine",-0.6,-1,-1,bearish,-0.7321,0.8342,0.7321,-1,-1,-0.8617,0.9187
|
||||
4fa42896879d68c41f70e9778faa11c114f3b209c817b564d0e809022168a46d,2026-09-11,136,No Fed Jitters? Gold Spikes Nearly 2% Even As US Inflation Stats Bolster Next Week Rate Hike Bets - NDTV Profit,0.5,1,-1,bearish,-0.4973,0.6855,0.4973,-1,-1,-0.7861,0.8563
|
||||
0d6e0114a329c9d8cdb307c83b37a62e452241372512afa9561e559e58554d7f,2026-09-11,136,Gold Weekly Forecast: Fed rate call and dot plot key for next directional action,0.0,0,-1,bearish,-0.0713,0.4248,0.0713,0,-1,-0.2972,0.4845
|
||||
382fdf8d0571c0565bee63b9580fa7e59c1009bae7ebf83786a8245b18dec7b7,2026-09-11,136,Gold Forecast: Fed rate decision and dot plot key for XAU/USD - FXStreet,0.0,0,-1,bearish,-0.162,0.454,0.162,0,-1,-0.082,0.3872
|
||||
104a55dd46f57c9907c0884a1ff16a1a7b5f494daf76866079b6a9eef9557cf8,2026-09-11,136,"Gold price holds near high after preliminary Consumer Sentiment falls to 47.8, inflation expectations spike - KITCO",0.4,1,1,bullish,0.1123,0.4566,0.1123,-1,1,0.0189,0.3525
|
||||
a7c78f0c7c311ecd0fb9a23ebab0a404ed26442d1cc6880844223571e170c101,2026-09-11,136,"Gold price holds near high after preliminary Consumer Sentiment falls to 47.8, inflation expectations spike - kitco.com",0.5,1,1,bullish,0.0749,0.4295,0.0749,-1,1,0.0227,0.3534
|
||||
8d1c8fb67ffa2ece1886fefe4a6fe0ad89b4ddd06fd9f0523917e3058ec48636,2026-09-11,136,Gold Price Forecast: Bulls Defend 200-Day EMA After Hot CPI - FXEmpire,0.2,1,1,bullish,0.156,0.4922,0.156,0,1,0.0967,0.4342
|
||||
ec7b981564eb88381834fe003a441ccff164e7e6ec092d505096dadb70e29e2c,2026-09-11,136,Gold Price Forecast: Bulls Defend 200-Day EMA After Hot CPI - fxempire.com,0.3,1,1,bullish,0.1684,0.4898,0.1684,0,1,0.1106,0.4313
|
||||
e292a22fdd503d0341cde541c90968103f7d88a3b52418222637a83df6b04cf1,2026-09-11,136,Gold Rebounds as US Inflation Data Cools Record-High Real Rates - BullionVault,0.7,1,1,bullish,0.72,0.8177,0.72,0,1,0.812,0.8877
|
||||
4ad1a20d7045e17becb9d44b14385500478ffc6d7e64771c9b88fc8db2088b44,2026-09-11,136,"Gold rebounds sharply after US CPI, but key resistance stands in the way ",0.6,1,1,bullish,0.1817,0.4174,0.0705,0,1,0.2066,0.503
|
||||
2d562d266ca68b864d7a4f2735d043e4759a2c82af96f0588d62cfadf7b1d3c4,2026-09-11,136,Gold Price Forecast – A Dangerous Crossroads for Markets - FXEmpire,0.0,0,1,bullish,0.2715,0.537,0.2715,0,1,0.3045,0.5383
|
||||
a35c573dc62dcd0edc56cec60f4229741a9e159a51d0f94c6f18206b59c86e02,2026-09-11,136,Gold Price Forecast – A Dangerous Crossroads for Markets - fxempire.com,0.0,0,1,bullish,0.2774,0.5272,0.2774,0,1,0.3061,0.5258
|
||||
64826856bc8c639fdade844d76cf995abddf2bf0380cbdebd04453f325a9a102,2026-09-11,136,"Gold climbs on dip-buying, Fed rate hike bets rise after US inflation data - koreatimes.co.kr",0.2,1,-1,bearish,-0.5559,0.6969,0.5347,0,-1,-0.534,0.6954
|
||||
dab370ecc6380aaf1e19af078304cb6f4638ecd0d56058d45ccd2beb0f4b19c0,2026-09-11,136,"Gold climbs on dip-buying, Fed rate hike bets rise after US inflation data - The Korea Times",0.4,1,-1,bearish,-0.5102,0.6833,0.5102,0,-1,-0.5187,0.6932
|
||||
091469673df358bb11e8b240e0f36fac8cce253992d4e0b070a37be677e5e77a,2026-09-11,136,Gold prices holding its ground following muted U.S. CPI data - KITCO,0.2,1,1,bullish,0.4295,0.5878,0.3337,0,1,0.4618,0.6005
|
||||
e263d1601bba6bbce1299bc2eefd8cfd2755ea8b1ca9eb35dcfec61828670bbd,2026-09-11,136,Gold rebounds but Fed rate hike bets risks remain a headwind - FXStreet,0.1,1,-1,bearish,-0.7441,0.8379,0.7441,-1,-1,-0.7166,0.8369
|
||||
596015e3587a7a42b609eb1049f4806e75ad47eedd6d4ab96071de0e50440a06,2026-09-11,136,"Gold Price Today on September 11, 2026 - USA Today",0.0,0,0,neutral,0.0311,0.8903,0.8199,0,0,0.0328,0.8893
|
||||
668be0a0a2cf2fd89a938461befa7f7280754548ee28376443f1355fbf460c9d,2026-09-11,136,"Gold Price Today on September 11, 2026 - usatoday.com",0.0,0,0,neutral,0.046,0.8606,0.7679,0,0,0.0402,0.8733
|
||||
4c1d6fd3df0871347ccde26b058c9adf335d9bd0b2b8f2228fbf191581826402,2026-09-11,136,Evening update for gold -11-09-2026 - Economies.com,0.0,0,0,neutral,0.0265,0.8545,0.7686,0,0,0.0286,0.8638
|
||||
2acd7926a715f364d916726c6ff6ec1bcaacc89877083f02b7f735133f8cbb74,2026-09-11,136,Bitcoin and Gold Outlook: BTC and Gold advance after US CPI holds steady in August,0.6,1,1,bullish,0.4948,0.6536,0.4659,0,1,0.7189,0.8234
|
||||
48dab580828b8fbe7d01c83891a8cc4c1a12335363a90c86ea1e15258b48fef7,2026-09-11,136,Fed Hike Odds Just Hit 90%. Gold Didn't Care. - GoldSilver,0.2,1,-1,bearish,-0.4447,0.626,0.4334,0,-1,-0.616,0.7334
|
||||
9fdfb845ff8d701887828a7cfe5389d79272c2c6408326037827a998903d2e80,2026-09-11,136,Gold and Silver Price Today: Market Insights - GoldSilver,0.0,0,1,bullish,0.2492,0.4939,0.2325,0,0,0.0107,0.363
|
||||
124548d889eb4c6341de896a2aa89509f9f459899782a017ee769f2bd19140d0,2026-09-11,136,Gold and silver WARNING: The risks could keep prices rising - KITCO,0.6,1,1,bullish,0.3879,0.6436,0.3879,0,1,0.2419,0.5243
|
||||
2e96488c60b31e0fe9de8e8e8a540d840a3a8dcc14dd29e5b812b1298e02d090,2026-09-11,136,Gold and silver WARNING: The risks could keep prices rising - kitco.com,0.4,1,1,bullish,0.3352,0.6093,0.3352,0,1,0.2269,0.512
|
||||
b81a6f72e94840f62378d426244769aacd8b9d6c4949b50c0116f243d7ba2a6b,2026-09-11,136,Gold price dodges CPI shock as US yields hand bulls lifeline,0.5,1,-1,bearish,-0.297,0.5773,0.297,0,-1,-0.3665,0.6422
|
||||
58974b70bcfa032c0f46ea9d4fb237ad9364b8fe9d9c047aa72f197243f12bc7,2026-09-11,136,Gold Price September 14 2026 - Robinhood,0.0,0,0,neutral,0.0266,0.8424,0.7504,0,0,0.0527,0.8019
|
||||
cd1a46ad9b808612f1e3eeeca378d0cf18c02c615551ce5701a3c956effa7b6b,2026-09-11,136,United States CFTC Gold NC Net Positions rose from previous $228.1K to $232K,0.3,1,0,neutral,0.1249,0.5503,0.263,0,0,0.2221,0.4824
|
||||
d12e1384cc28600b597e9a9d1f8de9cb0dbf02fb885cd7753e777d4cfaf498e6,2026-09-14,227,"DOREX WEEKLY GOLD MARKET UPDATE – w/e 11.09.26: Gold Holds US$4,300 Support as Markets Brace for Fed Decision - Press Release Distribution Australia",0.1,1,1,bullish,0.3804,0.54,0.2395,0,1,0.4559,0.5691
|
||||
4119ed818fdb295d39fde32c27827a1a4f923236d21c3ca9847ba26b56444051,2026-09-14,227,Global managers and South Korea boost gold ETF bets amid geopolitics - CHOSUNBIZ - biz.chosun.com,0.7,1,1,bullish,0.152,0.406,0.0661,0,0,0.1455,0.3958
|
||||
c43170394a781c3925eb9aed2e4389407730a5f478e8006f7eb612aeae98a37e,2026-09-14,227,Global managers and South Korea boost gold ETF bets amid geopolitics - CHOSUNBIZ - Chosunbiz,0.5,1,1,bullish,0.1673,0.4145,0.0761,0,0,0.1565,0.3968
|
||||
9a8fff07def9cb66e94524bf97430a48983c8bc871404bc90bc594bf9609f1ca,2026-09-14,227,Gold Edges Lower; Focus on U.S. Core Inflation - WSJ,-0.3,-1,1,bullish,0.2411,0.4833,0.2087,0,1,0.3212,0.5181
|
||||
be6a5847f6002402904742e0d85706fb1cfb99597fe3628b76743081e289e734,2026-09-14,227,Gold Edges Lower; Focus on U.S. Core Inflation - wsj.com,-0.4,-1,1,bullish,0.2465,0.4999,0.2465,0,1,0.3088,0.5126
|
||||
ab20027c777a8c528115ee33eede0fb3350f2d2820c05b52944a446893fa18ff,2026-09-14,227,Gold Edges Lower as Hot US Inflation Bolsters Fed Rate-Hike Bets - bloomberg.com,-0.7,-1,-1,bearish,-0.6209,0.7759,0.6209,0,-1,-0.659,0.7967
|
||||
8b6b1d588b1d8cf98686e9413400c6d617ea9bd5d724fcfe27a97e0f3a22d1ab,2026-09-14,227,Gold Price Continues to Trade Within the Bearish Corrective Track – Analysis – 14-09-2026 - Economies.com,-0.6,-1,0,neutral,0.1265,0.5925,0.3255,-1,0,0.1664,0.6086
|
||||
0cacecd8f598d30f16749ad19501c1ac3dab9792371544addc3b93a7c41bbf83,2026-09-14,227,"Ganesh Chaturthi 2026 Gold Prices: Check 24K, 22K Gold Rates In Mumbai, Delhi, Chennai, Kolkata, Bengaluru - NDTV Profit",0.0,0,0,neutral,-0.0456,0.652,0.4552,0,0,0.0156,0.6851
|
||||
137d5c588ed1b6957caf48eb5f3d0c43a9b9a6985386c5c956db14f834ea04a0,2026-09-14,227,Gold edges lower as hot US inflation bolsters Fed rate hike bets - The Business Times,-0.8,-1,-1,bearish,-0.3863,0.6737,0.3863,-1,-1,-0.5267,0.748
|
||||
6136dbee50c5fdb58d319a99c596fa762e5ab30d2ae13b796db33430138a860c,2026-09-14,227,Gold edges lower as hot US inflation bolsters Fed rate hike bets - businesstimes.com.sg,-0.7,-1,-1,bearish,-0.4581,0.7076,0.4581,-1,-1,-0.5365,0.7503
|
||||
9076450b3768910b5da75b62b28b76b3a201e9192ed6909dc7cebe02f80e3873,2026-09-14,227,Gold steady as hot US inflation bolsters chance of rate hike - businesstimes.com.sg,-0.4,-1,-1,bearish,-0.4113,0.6088,0.4113,-1,-1,-0.3557,0.5233
|
||||
7698b973e53be901130504a8ef076dd6eb00a9c23b3b06c6216d07163e4643e5,2026-09-14,227,"Gold slips as hotter US inflation lifts Fed hike bets, oil stokes price pressures - Investing.com",-0.8,-1,-1,bearish,-0.1667,0.5465,0.1667,0,-1,-0.2533,0.5937
|
||||
3a6fcf3962f57b9454c45064199111e42f8490b114159a3f9c35fc6643c29fd5,2026-09-14,227,"Gold edges lower below $4,350 on imminent Fed rate hike",-0.6,-1,-1,bearish,-0.4223,0.646,0.4223,-1,-1,-0.6419,0.7925
|
||||
fe1cdf04e5e01a60d96cae9593f19aa15eb091285c278eb8e027330d61176870,2026-09-14,227,"Gold edges lower below $4,350 on imminent Fed rate hike - fxstreet.com",-0.7,-1,-1,bearish,-0.6066,0.7402,0.6066,-1,-1,-0.7356,0.8223
|
||||
a60cee25e7a14a9ce31f3ef8c4abab80c94a6e29ec22c76b9270cc2371728109,2026-09-14,227,"Gold and silver price today, September 14: Check rates of 24K, 22K gold in Delhi, Mumbai, Kolkata other... - Moneycontrol.com",0.0,0,0,neutral,-0.0163,0.8444,0.7585,0,0,-0.0319,0.8163
|
||||
8417012399c15d637a65e18a022e104e474ad82f0061792d188dd10376af4527,2026-09-14,227,Oil Leaves Bitcoin and Gold Behind Ahead of Wednesday's Fed Decision - BeInCrypto,0.0,0,1,bullish,0.303,0.5558,0.303,0,1,0.3445,0.5725
|
||||
845eb2c0261fa18b25f1963613e8953422d52995fe20dc318ddbd5efcbf2c62c,2026-09-14,227,Oil Leaves Bitcoin and Gold Behind Ahead of Wednesday's Fed Decision - beincrypto.com,0.0,0,1,bullish,0.2806,0.5431,0.2806,0,1,0.321,0.5592
|
||||
d1f9b287413b391530c8dd749125d85466ff21a5107d3cdf8ca396a8bd3c5010,2026-09-14,227,Gold steady as hot US inflation bolsters chance of rate hike - Free Malaysia Today,-0.5,-1,-1,bearish,-0.268,0.4591,0.1091,-1,0,-0.2257,0.4846
|
||||
e8b9f5d538ebb201118e308d68aa5efafe1828642a12b40366c599b5e3ca666b,2026-09-14,227,Gold News: XAUUSD Price Slips Early Monday as Fed Hike Odds Hit 87% - FXEmpire,-0.8,-1,-1,bearish,-0.1049,0.4859,0.1049,0,1,0.058,0.4579
|
||||
b097ad026f51eacb2f6d60bb60d8e10d437baa9989bd7bdebb6e735659b1afdc,2026-09-14,227,Gold slips as oil rally fans rate-hike bets ahead of Fed meeting - reuters.com,-0.6,-1,-1,bearish,-0.576,0.7132,0.5635,1,-1,-0.7553,0.8379
|
||||
98e42a57a0b15d7b0b44b48e256a568e5e60822d9547f2754ed980cf7dbe2344,2026-09-14,227,Gold Price Forecast: Fed’s rate decision to drive XAU/USD’s next move,0.0,0,0,neutral,0.179,0.3957,0.0041,0,1,0.4163,0.5418
|
||||
9b0832e15f8b94046e37de51ac531e6ad85098a5151670340970d7d9de6fbd12,2026-09-14,227,Gold Price Forecast: Fed’s rate decision to drive XAU/USD’s next move - fxstreet.com,0.0,0,0,neutral,0.1089,0.4289,0.089,0,0,0.1639,0.4824
|
||||
e2a386eb7b3d0acd95d7f5fc97f02ffce5821f3a0ad1863de8652ee94e44f94e,2026-09-14,227,Gold Price Forecast: Fed’s rate decision to drive XAU/USD’s next move - FXStreet,0.0,0,0,neutral,0.1848,0.4255,0.0458,0,0,0.2539,0.4589
|
||||
828676d356406799ea521e36e43ca86e95a0fc6c710827b712860f0c10c286ed,2026-09-14,227,Gold slips as oil rally fans rate hike bets ahead of Fed meeting - CNBC,-0.7,-1,-1,bearish,-0.6166,0.7571,0.6166,0,-1,-0.8096,0.8842
|
||||
4eed917a5ea2e6b52b1d880a08ec8a2ef6f3a247a2118b33535d28aee24bdffe,2026-09-14,227,Gold slips as oil rally fans rate hike bets ahead of Fed meeting - The Edge Malaysia,-0.6,-1,-1,bearish,-0.4377,0.6349,0.4377,0,-1,-0.6789,0.7934
|
||||
325616f30820c4403c2dd94a5d44fcd33f87ef5384ee4ec706a265de00aac827,2026-09-14,227,"Malaysia Gold price today: Gold falls, according to FXStreet data",-0.3,-1,-1,bearish,-0.6485,0.7446,0.5854,-1,-1,-0.8333,0.8786
|
||||
833aa3afdf1873f4f5b426fdb469445a6846d6264f10524ba03f372d9b9ec724,2026-09-14,227,Gold price in Malaysia: Rates on September 14 - fxstreet.com,-0.3,-1,0,neutral,-0.012,0.7617,0.6365,0,0,-0.0408,0.7079
|
||||
a83e0f431732356024100772302d03ec41b0c74ad56788bdfb4f25ea273aaacd,2026-09-14,227,Gold price in Malaysia: Rates on September 14 - FXStreet,0.0,0,0,neutral,0.016,0.7873,0.6729,0,0,0.0066,0.7262
|
||||
77284c4f21fe2c1123b08dc9cb5455925954777fb847913a431efd4f28cf1b5b,2026-09-14,227,"India Gold price today: Gold falls, according to FXStreet data",-0.3,-1,-1,bearish,-0.6626,0.7856,0.6626,-1,-1,-0.8723,0.9153
|
||||
94d34ee27114bc3969411f868960535ef110ac41947eb1dbb3dd1e40528d6b8c,2026-09-14,227,"Pakistan Gold price today: Gold falls, according to FXStreet data",-0.4,-1,-1,bearish,-0.8148,0.8685,0.7906,-1,-1,-0.9064,0.9341
|
||||
023d1ba3c302626f13b0d2e0ac88f0c8a1275a9c9621c1aaf119900c98a7b23e,2026-09-14,227,"Gold flat lines above $4,300 as firmer USD caps upside amid hawkish central bank bets - FXStreet",-0.3,-1,-1,bearish,-0.0911,0.4662,0.0911,-1,-1,-0.2263,0.4569
|
||||
28db079002229d079485c3e3fd29be0859cd74ff2fb3d1619c9f617a79465850,2026-09-14,227,"Gold weakens to $4,300 neighborhood as firmer USD meets hawkish Fed expectations",-0.8,-1,-1,bearish,-0.6567,0.8006,0.6567,-1,-1,-0.9472,0.9701
|
||||
6b5fc6628879ec20a25608b95cbab4fb57285336de05a4f409667e0e8e01c9b7,2026-09-14,227,"Gold flat above $4,300 as firm USD caps upside before Fed decision - fxstreet.com",-0.3,-1,1,bullish,0.3496,0.5513,0.3044,0,0,0.1951,0.4303
|
||||
7071e430e8d0a043fb95e5cae0518d9618465b0a120f8e39685fe4b8a3428172,2026-09-14,227,"Gold flat lines above $4,300 as firmer USD caps upside amid hawkish central bank bets",-0.3,-1,-1,bearish,-0.134,0.4759,0.134,-1,-1,-0.1253,0.4421
|
||||
bc41e258b8753193d5bb4b3dab2316b7602450e317223919cab7943948c07d8c,2026-09-14,227,"Gold extends the range play above $4,300 amid firmer USD, ahead of central bank events",0.2,1,1,bullish,0.3526,0.5791,0.3526,0,0,0.2468,0.4321
|
||||
c2c00f1c9dc322b0bc3e9502a331f8e3e4632e395c55fd6e3b9c996e22bf015b,2026-09-14,227,"Gold flat lines above $4,300 as firmer USD caps upside amid hawkish central bank bets - fxstreet.com",-0.4,-1,-1,bearish,-0.1559,0.4947,0.1559,-1,-1,-0.2627,0.476
|
||||
c8a14a1bac3868a6a8932253e38d3c6da2a5d96656b6a3180c2bccf78c899cea,2026-09-14,227,"United Arab Emirates Gold price today: Gold falls, according to FXStreet data",-0.4,-1,-1,bearish,-0.3599,0.472,0.0561,-1,-1,-0.6335,0.7086
|
||||
9d350245832eef371de5bddd386c7c216267ae0b5686a5b2a36617732cea5b29,2026-09-14,227,Gold Price Decreases in Nepali Market - Ratopati,-0.4,-1,0,neutral,0.2004,0.4418,0.0625,0,0,0.2359,0.4491
|
||||
334f02e31928779cdf895a31dac181cf7c68167294f2e1220ddf41ed527ef81c,2026-09-14,227,"Philippines Gold price today: Gold falls, according to FXStreet data",-0.4,-1,-1,bearish,-0.8571,0.9008,0.8452,-1,-1,-0.9249,0.9479
|
||||
78fa593214a4265d3aa87d70b05211f1b0a8ab1ade939b88179455519b844a88,2026-09-14,227,Gold price in Philippines: Rates on September 14 - fxstreet.com,-0.4,-1,0,neutral,-0.1619,0.5942,0.3103,0,0,-0.2245,0.5178
|
||||
9fb065032c28f334314250e107f6d1ce90cfc382c20233cb43f63df91d661237,2026-09-14,227,Gold price in Philippines: Rates on September 14 - FXStreet,0.0,0,0,neutral,-0.1188,0.626,0.3796,0,0,-0.1663,0.5366
|
||||
9614078ed6e173ba69821d1db3803f66fb1c49a69792d65df72d815c505ff5d0,2026-09-14,227,Gold price in Saudi Arabia: Rates on September 14 - FXStreet,0.0,0,0,neutral,-0.0407,0.7543,0.6111,0,0,-0.0722,0.6769
|
||||
c96a1b2adcaee409f739a78f186cdd9585c48f8ce43d1fbf7f110ff81cff0e03,2026-09-14,227,Gold price in Saudi Arabia: Rates on September 14 - fxstreet.com,0.0,0,0,neutral,-0.0758,0.7194,0.5412,0,0,-0.1254,0.6484
|
||||
d78df99bf64e2509df4503d611ce9771e0808db7fec1ca95e125c1935d3c2f99,2026-09-14,227,"Saudi Arabia Gold price today: Gold falls, according to FXStreet data",-0.5,-1,-1,bearish,-0.8214,0.8708,0.7911,-1,-1,-0.9117,0.9368
|
||||
02ec2d8228f8101d5d9060e1085e641f7210fdb9f67726d1ec64de27aa63374c,2026-09-14,227,"Gold Stays Heavy Below $4,401: Fed Hike Odds Near 87% Put $4,286 Back in Focus - FXLeaders",-0.8,-1,1,bullish,0.0902,0.4725,0.0902,0,1,0.0332,0.4744
|
||||
e0fd372d6baee465705ee8a87d9d8de320b5f3cf1f4ace2afe3a49ef19048133,2026-09-14,227,"Gold price falls below $4,400 again in commodity markets - Apa.az",-0.7,-1,-1,bearish,-0.7855,0.8709,0.7855,-1,-1,-0.9403,0.9645
|
||||
662a5a76a4de8def3c822d80657e8a83987d5b8b7b2c888da58db982e924b846,2026-09-14,227,Gold and Silver Price Forecast: Fed Hike Risk Threatens Support - FXEmpire,-0.6,-1,-1,bearish,-0.019,0.3897,0.019,0,-1,-0.2161,0.486
|
||||
e69b12baa74ee633d9a4ddc64cb9d04680af524857b10b84a47f95dea916f69d,2026-09-14,227,Gold prices rise - VnExpress International,0.5,1,1,bullish,0.5414,0.6788,0.4951,0,1,0.7631,0.8452
|
||||
5bfa0c6c52d380dd72eb8e6d04c65b2c87c14537e6bae3d7dcb017d66a8878ff,2026-09-14,227,Gold: Sideways near support before FOMC – OCBC,0.1,1,1,bullish,0.0513,0.4367,0.0513,0,1,0.4114,0.605
|
||||
62fbfc338d07246280f81ee063977682fd8d663e21c05023537cf58a989077ea,2026-09-14,227,"Gold Price Today, September 14: Gold pressured by Middle East tensions, dollar, US CP - Check retail rates of - india.com",-0.5,-1,0,neutral,0.1065,0.5178,0.2235,0,0,0.2375,0.4301
|
||||
e7bb137b0027136203fff443794218a22d9cef201a89421d1c9716274140f95a,2026-09-14,227,"Gold Price Today, September 14: Gold pressured by Middle East tensions, dollar, US CP - Check retail rates of - India.com",-0.5,-1,0,neutral,0.1065,0.5178,0.2235,0,0,0.2375,0.4301
|
||||
063e9c75c6b7774c4d1a14ba19991dca0d0805d8b5c191d8b47af8dc7e8863bf,2026-09-14,227,Ahead of the Fed meeting: Gold remains under pressure,-0.5,-1,-1,bearish,-0.1855,0.4108,0.0468,0,0,-0.1028,0.3999
|
||||
e714aeb918659ed25eadf9e0a3f0c12307e37aa09d695e9eb127a65a5fb5e1e9,2026-09-14,227,"Gold rate today (September 14, 2026): Check 24k, 22k, 20k and 18k gold jewellery prices from Malabar Gold - The Economic Times",0.0,0,0,neutral,0.0526,0.7324,0.5723,0,0,0.1043,0.7055
|
||||
736f96e29dd1bc09dd00fdf9f78296033fdf0449e85c7ce7de1e6b2fc58b825a,2026-09-14,227,"Gold slips toward $4,300 as hotter inflation lifts Fed hike bets - Investing.com",-0.8,-1,1,bullish,0.1791,0.5348,0.1791,0,1,0.0416,0.4688
|
||||
47955a2d43b262e1de1c20a86ad54125ff5145fe8783a32448478f2f1883c00e,2026-09-14,227,EUR/USD breaks bearish – Is 1.1500 next as Gold and Silver turn heavy? [Video],-0.5,-1,1,bullish,0.0983,0.4025,0.0983,-1,1,0.2181,0.4644
|
||||
98c60da4a958a5a831b69c136b0d80a56935a9f5be02bb5c496ce2bf89550efa,2026-09-14,227,EUR/USD breaks bearish – Is 1.15 next as Gold and Silver turn heavy? [Video],-0.4,-1,1,bullish,0.1268,0.4195,0.1268,-1,1,0.2661,0.4943
|
||||
a39488155050feb30b67b3a07bea4ca147dcfd509ed52d87bfea008d4c584622,2026-09-14,227,"Gold softens near $4,300 as strong USD and Fed hike bets weigh - FXStreet",-0.8,-1,-1,bearish,-0.2195,0.5346,0.2195,0,-1,-0.3552,0.6091
|
||||
043e20e56c1c0b2fb68faac6159e357b44bb446adfef98626c722fc372f004a2,2026-09-14,227,"Gold tests the major $4,300 support again, as rate hike bets and rising oil threaten a breakdown",-0.8,-1,-1,bearish,-0.606,0.7724,0.606,-1,-1,-0.7967,0.8856
|
||||
2f4dbcf21fd0826ea99ff9a3e5870842753e594342b8dd2945df2f0363cf50ad,2026-09-14,227,Fed Rate Hike Gold Impact: Market Reaction to Inflation Data - The Cryptonomist,-0.3,-1,-1,bearish,-0.1479,0.4057,0.0691,-1,-1,-0.3354,0.5398
|
||||
f10a0077278bee37cf6d8a37a41b4c6d7f30d305b6c216ca2313ef6d963c1337,2026-09-14,227,90% of Gold and Silver traders expect a 0.25% rate rise [Video],-0.6,-1,1,bullish,0.1226,0.3974,0.0696,0,1,0.0546,0.4194
|
||||
9f32e444f04589f026fe71ec0adb9fa7ff8c5ebe83ccddf42b61228bc5724e15,2026-09-14,227,"Gold remains depressed above $4,300 as USD sticks to gains amid Fed hike bets, Iran risks - FXStreet",-0.7,-1,-1,bearish,-0.0316,0.4572,0.0316,0,-1,-0.2077,0.5651
|
||||
130ad98c27292b5f15fadde60eb9efe58693d863937dd96cebf2d39b93080c05,2026-09-14,227,Infographic: Global and domestic SJC gold prices see little fluctuation - Nhan Dan Online,0.0,0,1,bullish,0.0781,0.3892,0.0781,0,0,0.2079,0.4064
|
||||
fe2eb0d17f65fa73c10751cf68c7b200bb72d30465fdcef83a0536c6b0d89cd7,2026-09-14,227,Infographic: Global and domestic SJC gold prices see little fluctuation - en.nhandan.vn,0.0,0,1,bullish,0.2035,0.4615,0.1811,0,1,0.3341,0.4961
|
||||
807d9284d5eac32575ab6302eeb4b7c4ff28893073651b9fadd30a10e093c211,2026-09-14,227,"Gold: $4,275 sets up a make-or-break test for sellers",0.6,1,-1,bearish,-0.2203,0.5577,0.2203,0,-1,-0.0162,0.3416
|
||||
bdcf7fd961b745eb0fd3425c704badb0dab659fd6a0416e54aeef388ed96edc8,2026-09-14,227,What if crypto doesn't replace gold but simply puts gold on the blockchain?,0.0,0,1,bullish,0.1276,0.425,0.1276,0,0,-0.0142,0.4334
|
||||
190e523d955a2ec92124b160a61707aab5cbd1344b957374827f3477a9aa90c3,2026-09-14,227,"Gold Falls Toward $4,300 as US Inflation Raises Fed Rate Hike Expectations - Yahoo Finance",-0.8,-1,-1,bearish,-0.8009,0.8941,0.8009,-1,-1,-0.9449,0.9702
|
||||
7aa7ae87c9c20efae818d35ea55ff979862802fe6e529e95982983c9e1b4feb2,2026-09-14,227,"Gold Falls Toward $4,300 as US Inflation Raises Fed Rate Hike Expectations - finance.yahoo.com",-0.8,-1,-1,bearish,-0.8809,0.9352,0.8809,-1,-1,-0.9667,0.9816
|
||||
dc13b300c8f23a45aa2a526729a1c0b470b14802ae36d448c99f44029de613cf,2026-09-14,227,Gold Prices Decline as Markets Price 88% Chance of September Fed Rate Increase - Yahoo Finance UK,-0.8,-1,-1,bearish,-0.3991,0.6272,0.3991,0,-1,-0.5769,0.7484
|
||||
cb5e327b6e520a67db038d5ebaf126c4ded2d73cf712c8946808d8508844cba8,2026-09-14,227,Gold prices slip as strong US inflation raises fed rate hike odds - The Statesman,-0.7,-1,-1,bearish,-0.3404,0.6098,0.3404,-1,-1,-0.496,0.7066
|
||||
190636307c0b05dc9b0b178cada5d832a331ef458f30e9b090dc38cced9f4f71,2026-09-14,227,"Gold price in Pakistan falls Rs3,800 per tola - mettisglobal.news",-0.3,-1,-1,bearish,-0.813,0.8837,0.813,-1,-1,-0.8992,0.9378
|
||||
60d4738ed5dcfaf75dd93e53f523be9b183e3a6c5cb9f29fdcbd445f14f142d3,2026-09-14,227,"Gold price in Pakistan falls Rs3,800 per tola - Mettis Global",-0.5,-1,-1,bearish,-0.8652,0.9188,0.8652,-1,-1,-0.9381,0.9634
|
||||
3e934216b1ea935c7054e3f077ca99175b24f6d732d22ccca14187c6a05d27f1,2026-09-14,227,China gold market update: Official buying accelerated in August | Post by Ray Jia | Insights - World Gold Council,0.6,1,0,neutral,0.2181,0.5261,0.1801,0,0,0.1814,0.6718
|
||||
4e84bffa92cc7393fed861470458cb06e1967842b635f1cee60ec00ac8b8b302,2026-09-14,227,"Gold slips below $4,300 as oil surge fuels Fed rate-hike bets - Moneycontrol.com",-0.8,-1,-1,bearish,-0.7241,0.8442,0.7241,0,-1,-0.8964,0.9389
|
||||
e806b1656c38e7c1d97cf9e29ba80d3c0783c7b48a22453a4511d6181d543d46,2026-09-14,227,China gold market update: Official buying accelerated in August | Post by Ray Jia | Insights - gold.org,0.5,1,0,neutral,0.1506,0.6193,0.3537,0,0,0.1697,0.6825
|
||||
be2a5bc80e514d90e2619aed0f7a4ca6e1490ecaa01cace52dcf4ffc63c481c3,2026-09-14,227,Gold output rose 57% at TRX Gold in 2026 - Stock Titan,0.0,0,0,neutral,0.1136,0.675,0.4556,0,0,0.1753,0.6061
|
||||
ea2117b85b0e95d9fb65c3868aff94cf8b9fbd3a031c5a64a68d11375c132385,2026-09-14,227,"Gold price risks deeper drop on break below $4,300 ahead of Fed decision",-0.7,-1,-1,bearish,-0.5425,0.7282,0.5425,0,-1,-0.7262,0.8479
|
||||
321632f4b16c5f30235351f5087703fa92b7355aadde06a83ed6873ec1ac3d78,2026-09-14,227,TRX Gold Delivers Record Q4 2026; Achieves Top End of Production Guidance - The Manila Times,0.1,1,1,bullish,0.3791,0.5083,0.1458,0,1,0.3629,0.4758
|
||||
d05fe79592fbcb52b1cf4d66159e25cbfe3cc764360e0157ae322626171611cf,2026-09-14,227,TRX Gold Delivers Record Q4 2026; Achieves Top End of Production Guidance - manilatimes.net,0.1,1,1,bullish,0.3368,0.4552,0.0289,0,1,0.3647,0.4563
|
||||
ecfbc52ee8706ac1e07831a743f4411bb2795b724b31e9b2f58afed68fc7b62c,2026-09-14,227,Forecast update for Gold -14-09-2026 - Economies.com,0.0,0,0,neutral,0.0476,0.8925,0.815,0,0,0.0481,0.8919
|
||||
b0b139acae299f9cba41a24bff697c997f8aad63c8f3f1ef138eed2c6c669b70,2026-09-14,227,Gold price falls for fourth week in a row due to higher oil prices and interest rate expectations - marketscreener.com,-0.7,-1,-1,bearish,-0.6777,0.7994,0.6777,-1,-1,-0.8618,0.9145
|
||||
470ac7a0e75e833b8ee1c7ea4c3de146f8d552e213307a7f8949bdabfc0a9954,2026-09-14,227,Gold slip as firm inflation bolsters Fed hike bets By Investing.com - Investing.com UK,-0.7,-1,1,bullish,0.0292,0.4567,0.0292,0,1,0.1187,0.4984
|
||||
31a17c3b043a3fb06eefc3e53331339a168b7d5633933a6c93e9f05be2eee361,2026-09-14,227,"Gold Loses Glitter As Fed Decision Nears, Slips Below $4,300 On Strong Rate Hike Bets - ndtvprofit.com",-0.8,-1,-1,bearish,-0.5746,0.7669,0.5746,-1,-1,-0.7061,0.8361
|
||||
c6f31681bab5aef40b9880a20b4574ca3838446acba330d370f128869805e31c,2026-09-14,227,"Gold Loses Glitter As Fed Decision Nears, Slips Below $4,300 On Strong Rate Hike Bets - NDTV Profit",-0.7,-1,-1,bearish,-0.6339,0.8011,0.6339,-1,-1,-0.6368,0.8033
|
||||
10efdc4a5ef83c206fb91f412f621ffa91ad8ce6fdd9afccdb65ba100a4231d8,2026-09-14,227,Gold awaits Fed decision as rising rate hike bets pressure prices,-0.6,-1,-1,bearish,-0.3161,0.6122,0.3161,-1,-1,-0.6604,0.8014
|
||||
1405484fbf05c8644273df0648838c4e039edde6cf60fa09a61af869d6775ded,2026-09-14,227,Gold awaits Fed decision as rising rate hike bets pressure prices - FXStreet,-0.7,-1,-1,bearish,-0.6328,0.765,0.6328,-1,-1,-0.7046,0.8118
|
||||
1cc13a390b6916f1fc795130bcb72694077437c0997724d7d953fd3bee99f197,2026-09-14,227,"Gold prices today, Monday, September 14, 2026: Gold sinks following new attacks on Saudi pipeline and more - Yahoo Finance",-0.6,-1,0,neutral,0.0429,0.6509,0.4549,0,0,0.0262,0.6722
|
||||
976659a8d7c630d52e73c54f7312a6a150b50a750f85080180e3b8886618b83d,2026-09-14,227,Monday Gold Price at JD87.7 for 21-Karat Gram - وكالة الانباء الاردنية,0.0,0,0,neutral,-0.022,0.4342,0.1404,0,0,0.0468,0.4429
|
||||
838be4da39beceaabe272113244ce75e0e3b2653e6334d0121a02f1a5bdc3de3,2026-09-14,227,Gold starts the week lower as traders await Fed verdict,-0.5,-1,1,bullish,0.0074,0.3714,0.0074,0,1,0.1411,0.446
|
||||
93ab2fc546af4eb7bd22e5998d0316dfc4ef116ba9922a052d57687addcfa7fc,2026-09-14,227,"Gold falls as Fed rate hike bets, rising Oil push Treasury yields to 5%",-0.8,-1,-1,bearish,-0.863,0.918,0.863,-1,-1,-0.9877,0.9929
|
||||
a7602ccd9d718caa7914cae9f2a31ec7d3e146975a920008217e8875c10248bf,2026-09-14,227,"Weekly forex forecast: EUR/USD, XAU/USD, GBP/USD, USD/JPY, Bitcoin and more [Video]",0.0,0,1,bullish,0.1163,0.4646,0.1163,0,1,0.1304,0.4297
|
||||
24a711c3a0a1f2909d00c5afbdf6bb3c973224d40af1454031c4d8227aabb9d0,2026-09-14,227,Monday Gold Price at JD87.7 for 21-Karat Gram - Fana News -,0.0,0,0,neutral,0.0638,0.4562,0.1524,0,0,0.1108,0.519
|
||||
9fd8d89bba66f73ed6d54e0cfd5f0561ac3b0cc60a7618c1b74f25486676b1cf,2026-09-14,227,Gold Slides Rs 500 Amid Oil Surge & Strong US Dollar - Rediff MoneyWiz,-0.7,-1,-1,bearish,-0.7081,0.8415,0.7081,-1,-1,-0.912,0.9518
|
||||
2d4ae807b3578912ca1e664b2dbb7ae4c58410cef2015d3021ed7a6c9db37b7a,2026-09-14,227,"Gold slips below Rs 1.51 lakh, silver falls nearly 2% on MCX as Fed rate cut hopes fade - Moneycontrol.com",-0.7,-1,-1,bearish,-0.5934,0.7654,0.5934,0,-1,-0.3999,0.661
|
||||
98f7422754e3afad4095c36ad74e55ed34c2b63d9d9662527cde84cc9df9400b,2026-09-14,227,"Gold Falls Rs 500 On Crude Surge, Strong Dollar - Deccan Chronicle",-0.6,-1,-1,bearish,-0.7549,0.8682,0.7549,-1,-1,-0.899,0.9445
|
||||
b06ee5a7978988e1655c82dbf3065796fb1eb1155409fd5154ff384fc27ffa6b,2026-09-14,227,"Gold Falls Rs 500 On Crude Surge, Strong Dollar - deccanchronicle.com",-0.7,-1,-1,bearish,-0.7709,0.8762,0.7709,-1,-1,-0.9091,0.9497
|
||||
32748523f717450012d679b42b3cd194e35d08e3d556d9b06754e041512ae3f6,2026-09-14,227,Gold falls on growing Fed rate hike bets ahead of policy meeting - Reuters,-0.8,-1,-1,bearish,-0.8361,0.8923,0.8361,-1,-1,-0.9467,0.9674
|
||||
35b26b8711e7b09c64c9691d2c33a069fc04ea8b5fcc5c6891254e591ef01fd8,2026-09-14,227,"Gold Below $4300, Fed 90% Sure to Raise Rates as Oil Jumps - BullionVault",-0.8,-1,-1,bearish,-0.1806,0.5124,0.1806,1,-1,-0.5123,0.6975
|
||||
17099d867ae8f8a67f0b40e9c9e0b297c6f623147ffc61cecff18634f3a7f232,2026-09-14,227,"Current price of gold as of September 14, 2026 - Fortune",0.0,0,0,neutral,0.0212,0.9039,0.8453,0,0,0.0399,0.8772
|
||||
700c6e2bf9b0ae8aab86dd6163e736ecfe7f9c97539334162ecd9b3ca1149c53,2026-09-14,227,Sailfish Enters Into Non-Binding 20-year Gold Purchase Agreement with Mako Mining; Plans to Implement a Gold Price-Linked Dividend and Declare Special Dividend of US$1 per Share - TMX Newsfile,0.0,0,1,bullish,0.0707,0.3782,0.064,0,1,0.2194,0.4701
|
||||
0818ad21f39d289c8bec83c684049dd3245b338674f41933a86367bc118aa1c5,2026-09-14,227,"Technical outlook on Gold, GBP/USD, BTC/USD [Video]",0.0,0,1,bullish,0.3452,0.5336,0.2554,0,1,0.2468,0.5033
|
||||
05c40f2b9842091e337fc5020902418efbf3bf19b44d529460bfbac01e5140d8,2026-09-14,227,Gold: CTA liquidation and dip-buying narrative – TD Securities,-0.4,-1,1,bullish,0.5587,0.7138,0.5587,0,1,0.4795,0.6271
|
||||
11e51b1469cb4986c7ff120a6804b0d1ee70a744402c366169473b61b66c4407,2026-09-14,227,Gold price fall nearly 2% as oil surge and near-5% Treasury yields bolster Fed rate-hike expectations - Kitco AM Report - KITCO,-0.8,-1,-1,bearish,-0.7893,0.8872,0.7893,0,-1,-0.9102,0.951
|
||||
6518697fd0abf4cfc47ef6916f295a6edf1dfec85d54470d515ef3fbc75066b1,2026-09-14,227,Gold price fall nearly 2% as oil surge and near-5% Treasury yields bolster Fed rate-hike expectations - Kitco AM Report - kitco.com,-0.8,-1,-1,bearish,-0.792,0.8887,0.792,0,-1,-0.9112,0.9519
|
||||
6918150cd5e1a78abae5a760c803a3747ca253afee9d679d685c9e4f0d9b39ba,2026-09-14,227,"Gold Price Forecast: $4,325 Support in Focus Ahead of Fed - FXEmpire",0.1,1,1,bullish,0.6102,0.6951,0.475,0,1,0.6299,0.7193
|
||||
906eb38cd3ac5bad79fb5b2ab657ec78974fe0f272bf696933f40afe7e2c8d13,2026-09-14,227,"Gold slides Rs 500 as oil surge, strong US dollar weigh on bullion - The New Indian Express",-0.7,-1,-1,bearish,-0.7745,0.8712,0.7745,-1,-1,-0.9263,0.9542
|
||||
94dfe9cd8e339cfadb35fcc925d2dbac6f69ba07982317b9fb6fd64fc815cc65,2026-09-14,227,"Gold falls to over one-month low as oil rally, inflation data boost rate hike bets - Bangkok Post",-0.8,-1,-1,bearish,-0.9093,0.9479,0.9093,-1,-1,-0.9558,0.9744
|
||||
2403d04b6af6e88ad50ceb0fbe8b9fd1c45967debfe633eea9e05aef977dc257,2026-09-14,227,Gold Price Outlook 2026: Can Fed Rate Hike Expectations Stop the Next Rally? - equiti.com,-0.5,-1,-1,bearish,-0.3643,0.5841,0.3643,0,-1,-0.5103,0.6661
|
||||
735fe93e554c605de6c4b0a949f48077237f2253cf7a487b6625a7723650482a,2026-09-14,227,"Gold, silver prices retreat as oil prices surge, inflation and rate-hike concerns mount - The Economic Times",-0.6,-1,-1,bearish,-0.7001,0.8183,0.7001,0,-1,-0.8171,0.8797
|
||||
c40069bdad114522410848ccc2604406058ccdd2af863c57320761d3c9c113da,2026-09-14,227,"Gold, silver prices retreat as oil prices surge, inflation and rate-hike concerns mount - economictimes.indiatimes.com",-0.8,-1,-1,bearish,-0.7253,0.8288,0.7253,0,-1,-0.8122,0.8736
|
||||
f19dbb0d6ce0c120dfafb36015c929a9954132b14b09b6fc9da5c51ab8858034,2026-09-14,227,"Gold, silver prices retreat as oil prices surge, inflation and rate-hike concerns mount - economictimes.com",-0.7,-1,-1,bearish,-0.7539,0.8444,0.7539,0,-1,-0.834,0.8864
|
||||
c637c92685c69a296f65cdea795fd4574cfcf702b812f8ffa1340b686516d99f,2026-09-14,227,Gold: The Key Three Drivers Of The Price - Forbes,0.0,0,0,neutral,-0.1046,0.3852,0.0255,0,0,-0.0289,0.5027
|
||||
db3f2345117e666aa9dc04ba6ab4fdbb192e08f1b8105f941ce5e753355d63da,2026-09-14,227,Gold SWOT: Jeff Currie sees Treasury buybacks as bullish for gold - KITCO,0.7,1,1,bullish,0.2482,0.5017,0.2482,1,1,0.0752,0.3985
|
||||
baaa29150c05c8d41da4c08413f2d563b4aa6c7ae1e26aac742d18dad591cca1,2026-09-14,227,Gold slides after the meeting that did not happen,-0.5,-1,-1,bearish,-0.5021,0.6431,0.4271,-1,-1,-0.9295,0.9534
|
||||
e78ebd8a06e82673b2f0216f0ce6572c3372c6078f361740c5b94dc9f7e12d41,2026-09-14,227,Gold’s biggest shift in decades? ,0.0,0,0,neutral,0.2031,0.5332,0.1983,0,1,0.2155,0.4585
|
||||
82a0d482d3318666d58950826b929c12f798e2cc7079c8efb9bbf0e9519693c0,2026-09-14,227,Central Banks Are Buying Gold Like De-Dollarization Is Already Happening — Are They Right? - Modern Diplomacy,0.7,1,1,bullish,0.0334,0.403,0.0334,0,1,0.4299,0.5972
|
||||
4ce106fb9e497a729ff4a9598a9a36587a4ab00a27f580d98458bc43ea253cfe,2026-09-14,227,Evening update for gold -14-09-2026 - Economies.com,0.0,0,0,neutral,0.0486,0.8801,0.7959,0,0,0.0531,0.874
|
||||
0090b3bfc59ec791a6e6ad68b29854eae35c07c6aaa26bf4e70a872b2a568dce,2026-09-14,227,Gold Mining Stocks: A Unique Market Response - goldsilver.com,0.0,0,0,neutral,0.2471,0.6488,0.3496,0,0,0.2137,0.7155
|
||||
27eb7e93b24cf3155cc881e3cfb4a8885f01838be4ec97bed7c0aac506dd508e,2026-09-14,227,Gold Mining Stocks: A Unique Market Response - GoldSilver,0.0,0,0,neutral,0.2049,0.7135,0.4679,0,0,0.2133,0.7229
|
||||
4d00f6967cfae9ff3e786e580c0c843434dfc849331c59ffa63655ff7ef63845,2026-09-14,227,"Gold Price Today on September 14, 2026 - usatoday.com",0.0,0,0,neutral,-0.0118,0.9114,0.8612,0,0,-0.0107,0.9107
|
||||
a7f0e9a32431ebdd96a7999cc378124a8083d5d59876046464bfd74f945f0dbc,2026-09-14,227,"Gold Price Today on September 14, 2026 - USA Today",0.0,0,0,neutral,-0.0114,0.933,0.8937,0,0,-0.0089,0.9324
|
||||
e375455af936287c486f9a19ecb9717af622c1ac79d860f6b5ca92c34373425c,2026-09-14,227,The Gold Sitting in American Jewelry Drawers Is an Untapped Asset - observer.com,0.1,1,1,bullish,0.2843,0.4971,0.2069,0,1,0.2707,0.4509
|
||||
c8e4940e161ef5d2a92bdacfa1d805b402832deae91502ef4d90381cdf38dfa7,2026-09-14,227,What a Fed rate hike could mean for gold and silver prices - CBS News,-0.6,-1,-1,bearish,-0.3049,0.5069,0.2157,-1,-1,-0.4609,0.5945
|
||||
67430886f2443187451ccb6183b6ebc9c45d0e999f3d07f6f72445e473153c30,2026-09-14,227,Gold has delivered 23% returns since 2019: Why investors should factor in inflation when estimating future returns - Livemint,0.4,1,1,bullish,0.2807,0.4648,0.1138,0,1,0.4365,0.5747
|
||||
a9da6b2e7fa37d48682aebae55b6256c384fdb7cbd96ae82d6b06abc60e1a475,2026-09-14,227,The Macro Case for Gold Got Louder. The Price Got Cheaper. - Barchart.com,0.5,1,0,neutral,-0.0439,0.488,0.2101,0,0,-0.1078,0.5134
|
||||
920e8895181dcb9bfca96f471fc5cb09b5340b8a5efb7b7773a414d35c1cece1,2026-09-14,227,Gold Price September 15 2026 - Robinhood,0.0,0,0,neutral,0.0343,0.8314,0.7299,0,0,0.041,0.8468
|
||||
e80f32866e8c7deba19c025fd841cf3e403cbc3d6df2d25d212359c10576af2e,2026-09-14,227,Gold Price September 15 2026 - robinhood.com,0.0,0,0,neutral,0.0317,0.8163,0.7086,0,0,0.038,0.8343
|
||||
fff3f110fd11a3c89798fe3adfad06a2d46449c2e2ab77c7718d470ee553d752,2026-09-14,227,Gold gets squeezed by 5% Treasury yields as FOMC week begins,-0.8,-1,-1,bearish,-0.1372,0.4796,0.1372,0,-1,-0.0622,0.4756
|
||||
92b41e763092477d97e31f1e14c9137234195bd6ce9cce59ef0d3bb8be23c65b,2026-09-14,227,Gold dips amid rising dollar as Fed rate hike bets ramp up to near certainty - Investing.com Canada,-0.7,-1,-1,bearish,-0.3924,0.6657,0.3924,-1,-1,-0.4917,0.7241
|
||||
7b2757de6a659b48a8008eefe4b0c9c3897548f8c4345d3533a54d711ff8e660,2026-09-14,227,"Gold falls below $4,300 as higher US yields bolster Fed rate hike bets",-0.8,-1,-1,bearish,-0.887,0.934,0.887,-1,-1,-0.9668,0.9823
|
||||
2711d4215e1976e34e687139f05dac144359566539281ef7770e4acd7ac8f73f,2026-09-14,227,"Gold retests breakout support near $4,250 after pullback from August high. What to watch.",0.2,1,1,bullish,0.4298,0.5786,0.3059,0,1,0.8762,0.9174
|
||||
2d54b2717040393991b5dd9a44c66cbd39531ac8c38640ab577d9453a41b3581,2026-09-15,357,Gold Price Faces Downside Pressure Limiting Recovery Potential – Analysis – 15-09-2026 - economies.com,-0.5,-1,-1,bearish,-0.054,0.4097,0.054,0,1,0.159,0.5173
|
||||
91e05722f45e2087551779b91cbc8e85256b97dd13776d8bfcfac2a7b9df708b,2026-09-15,357,Gold Price Faces Downside Pressure Limiting Recovery Potential – Analysis – 15-09-2026 - Economies.com,-0.6,-1,-1,bearish,-0.054,0.4097,0.054,0,1,0.159,0.5173
|
||||
9dd752402e3203617c466caa1261870dda03ccaa2f74b0adde43f3648f6616b5,2026-09-15,357,"Gold, silver under pressure: How oil, dollar and Fed outlook are shaping prices - CNBC TV18",-0.5,-1,-1,bearish,-0.722,0.8257,0.722,0,-1,-0.7612,0.85
|
||||
c0625f42cb1538dab07f4c5c242a4dfa3af8eb91963bf2afdd0e9b0be33c7a9b,2026-09-15,357,"Gold and silver price today, September 15: Check rates of 24K, 22K gold in Delhi, Mumbai, Kolkata other... - Moneycontrol.com",0.0,0,0,neutral,-0.0331,0.9095,0.8477,0,0,-0.0389,0.9099
|
||||
4b86f9bda71d50a6623755d3b67f594778c589f05fa52b9e27ea10ae7c2480bb,2026-09-15,357,"Gold Rate Today: Check 24K, 22K Gold Prices In Mumbai, Delhi, Chennai, Kolkata, Bengaluru On September 15 - NDTV Profit",0.0,0,0,neutral,-0.0058,0.899,0.8456,0,0,0.0083,0.9291
|
||||
639b1f6dabbab04380f356ce6c38379a5a44ff4ee24fdba8f423f37831aedb79,2026-09-15,357,"Gold Rate Today: Check 24K, 22K Gold Prices In Mumbai, Delhi, Chennai, Kolkata, Bengaluru On September 15 - ndtvprofit.com",0.0,0,0,neutral,-0.0034,0.9104,0.8639,0,0,0.0021,0.9368
|
||||
da06db847e5f4721c2a93e27fb66656800abe22646fc0265f39f370e428997a7,2026-09-15,357,"Gold Price Today, September 14: International prices under pressure, domestic MCX increases marginally – Chec - India.com",-0.4,-1,-1,bearish,-0.4763,0.6135,0.3642,0,-1,-0.5785,0.6865
|
||||
17b7e7392c2d259aace02c1e189ad8fec3c16ac45252b68a26112ecf0aa68f45,2026-09-15,357,"$4,275: Gold skating on thin ice as eyes remain on Mideast conflict, Fed ",0.1,1,-1,bearish,-0.1152,0.4356,0.1152,0,-1,-0.0878,0.4442
|
||||
4b9fed01f956086a5d6ff380ce5c67039853373e1903f4551836e75ce8dac791,2026-09-15,357,"$4,275: Gold skating on thin ice as eyes remain on Mideast conflict, Fed - FXStreet",0.4,1,-1,bearish,-0.1927,0.4915,0.1927,0,-1,-0.2354,0.4696
|
||||
f16165285b79e22b884339ae59a5c7f743f45026cd5a802b4c719296f8a6fdc4,2026-09-15,357,"Gold prices at Rs 1.52 lakh/10 grams, silver down Rs 3,300/kg in 2 days ahead of US Fed decision. Key leve - The Economic Times",0.3,1,-1,bearish,-0.1141,0.3925,0.0636,0,0,-0.0085,0.4266
|
||||
46d28dfa18a50ff69e892a97380c2e26b0802637b72df43e0d8daebbcf2f1723,2026-09-15,357,"Gold remains vulnerable near one-month low, below $4,300 amid Fed hike bets, bullish USD",-0.8,-1,-1,bearish,-0.1736,0.539,0.1736,1,-1,-0.5476,0.7515
|
||||
5da3bb6a15002a4527684648a078665a1aa0e05143d03c7016dcdfc6e25602a4,2026-09-15,357,Gold bounces off 50-SMA support; bearish bias remains amid Fed hike bets and firmer USD,-0.3,-1,1,bullish,0.1576,0.5408,0.1576,-1,-1,-0.2568,0.6027
|
||||
def0fbebdf669c7f76d741b259b844818d170b43282708067d9132ad88a0c14d,2026-09-15,357,Gold bounces off 50-SMA support as Fed hike bets cap upside - FXStreet,-0.3,-1,-1,bearish,-0.2293,0.5766,0.2293,0,-1,-0.368,0.6584
|
||||
e40867137e335243b6102a879a1e154990d29c5a30059b091f0d99ea2dda5a9f,2026-09-15,357,"Gold struggles below $4,300, near one-month low as USD sticks to gains ahead of Fed",-0.6,-1,-1,bearish,-0.2787,0.5705,0.2787,0,-1,-0.4512,0.6926
|
||||
f5dd441fc826dd13fdd98074694708cf5049b319ce8318f0e099c4e3658b34aa,2026-09-15,357,Gold bounces off 50-SMA support; bearish bias remains amid Fed hike bets and firmer USD - FXStreet,-0.5,-1,-1,bearish,-0.2673,0.5702,0.2673,-1,-1,-0.3777,0.6532
|
||||
8dd2458f39f68ca7286f016191661b6c995ec87a4785d50bf254cbdc92fb7697,2026-09-15,357,"Malaysia Gold price today: Gold steadies, according to FXStreet data",0.0,0,-1,bearish,-0.4423,0.5976,0.3505,0,-1,-0.2692,0.4386
|
||||
6250a37048156da3f9c47ca192aa51beddd532ba386b16f70f952574b024a38d,2026-09-15,357,"India Gold price today: Gold steadies, according to FXStreet data",0.0,0,-1,bearish,-0.2972,0.5453,0.2972,0,-1,-0.1741,0.4107
|
||||
ebb34a18bac97b1aba0133e310526fb15d1add9a2b032df82a7e714b4864c495,2026-09-15,357,Gold price in India: Rates on September 15 - FXStreet,0.0,0,0,neutral,0.1533,0.6353,0.3763,0,0,0.1653,0.6331
|
||||
97d57d90aae4bb252e738ed0485c1d907e288f16c765e48700d57bb3ec981ccb,2026-09-15,357,Gold price in Pakistan: Rates on September 15 - FXStreet,0.5,1,0,neutral,-0.0613,0.7582,0.6066,0,0,-0.0457,0.7804
|
||||
7f6baf947e1726e2e9c85aedebc493cfe207e4f2caa23cb2433e0615d1c01b80,2026-09-15,357,Gold price in Philippines: Rates on September 15 - FXStreet,0.3,1,0,neutral,-0.2629,0.5488,0.1917,0,0,-0.2445,0.5739
|
||||
154316641d0d694e1647724c66ef3ba5a7791a1e82e5f311622ad3c3886ded7e,2026-09-15,357,"Gold Rate Today, September 15: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - The Indian Express",0.3,1,0,neutral,0.0168,0.8744,0.8032,0,0,0.0097,0.88
|
||||
e8f5b8c281e4f3f716e10d58678c3b0d76508a07d7f11e1c6f2262f427f80b76,2026-09-15,357,"Gold Rate Today, September 15: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - indianexpress.com",0.0,0,0,neutral,0.0132,0.8677,0.795,0,0,0.0061,0.8775
|
||||
1d1a9154ffde2c792d2606fdedbd8e6170302e7d083c00d62ed1b48d1ab0730d,2026-09-15,357,Gold price in Saudi Arabia: Rates on September 15 - FXStreet,0.0,0,0,neutral,-0.0057,0.89,0.8321,0,0,-0.0025,0.8956
|
||||
91e95e6a36c5fb6955779d5b47385893eba2e9e18b449ca5cb3078c4861deb02,2026-09-15,357,"Dubai gold price steady as oil rises, Fed rate hike weighs on market - Khaleej Times",-0.4,-1,-1,bearish,-0.8345,0.8848,0.8197,0,-1,-0.8046,0.8472
|
||||
7af9d71731e939f61c6f6ff28d119baf39d16b21c75cdb4c7f46b2556a9a41bb,2026-09-15,357,Gold and silver prices drop - Onlinekhabar English,-0.6,-1,-1,bearish,-0.8781,0.9205,0.8781,0,-1,-0.9673,0.9765
|
||||
7a281144f3a54eed1bad4aa993e848f72a47610e03f3bcca701741f072b7baf8,2026-09-15,357,"Gold falls ₹115 on US interest rate hike fears, silver declines ₹461 - business-standard.com",-0.7,-1,-1,bearish,-0.9765,0.9864,0.9765,-1,-1,-0.9933,0.996
|
||||
9f1ae9312cb4494906989aa0fa4f1d4c3cd81320f8ab6de6ab9c1be37fb937d8,2026-09-15,357,"Gold falls ₹115 on US interest rate hike fears, silver declines ₹461 - Business Standard",-0.7,-1,-1,bearish,-0.9711,0.9832,0.9711,-1,-1,-0.9923,0.9955
|
||||
6b19216ae7aee4792197aef9ce665b3d2fa3e78a067d02b9f38b87827d63f57e,2026-09-15,357,"Gold price prediction today: Will bearish bias continue? Check outlook for September 15, 2026 week - The Times of India",-0.3,-1,-1,bearish,-0.005,0.3362,0.0037,-1,1,0.0486,0.3888
|
||||
2370b5b203cd2b59b3ae7dc4cb9ea7e17c541752b061129dffd917499998e640,2026-09-15,357,XAU/USD price outlook: Gold Spot/US Dollar tests 1 (100%) Arc ,0.0,0,1,bullish,0.3568,0.5614,0.3274,0,1,0.2995,0.5512
|
||||
24e371ed17aabf453e4e098c116a039f51ec3e3f3eaeb43fc6f3fd6d9dcb1ffd,2026-09-15,357,"Gold remains vulnerable near one-month low, below $4,300 amid Fed hike bets, bullish USD - FXStreet",-0.8,-1,-1,bearish,-0.6021,0.754,0.6021,1,-1,-0.619,0.7798
|
||||
12044834385cfc933f583a1ecfd1db63374476a5d4b5dd33340f6c35f8480eb3,2026-09-15,357,Gold: Fed risk keeps bullion vulnerable – ING - FXStreet,-0.6,-1,-1,bearish,-0.0234,0.3453,0.0126,0,-1,-0.0965,0.4094
|
||||
8d970c73987ed8ac09a7d4f589e34d4e3a96998b71807b212f052e3107615bca,2026-09-15,357,Gold: Fed risk keeps bullion vulnerable – ING,-0.5,-1,-1,bearish,-0.4088,0.6813,0.4088,0,1,0.1138,0.4723
|
||||
926d1fabb4450ec6f11d1e57452dcb470fdfdf254810368b9abcfc93a40b99c3,2026-09-15,357,"Gold and silver rate today (September 15, 2026): Check 24k, 22k, 20k and 18k gold jewellery prices from Ma - The Economic Times",0.0,0,0,neutral,-0.041,0.8125,0.6983,0,0,-0.0385,0.8223
|
||||
50cf6a83511ba713b3ff06776a97a74aeba72e7e561de1a9c1a5d4cfe764d7a8,2026-09-15,357,Gold prices dip - VnExpress International,-0.5,-1,1,bullish,0.3373,0.5518,0.3181,0,1,0.1692,0.4357
|
||||
f876df2b563d3d1e0912cb693736065884b39b88bc9c737414f6ac921248a55a,2026-09-15,357,Gold – Bigger crash incoming? [Video],-0.8,-1,-1,bearish,-0.3326,0.5516,0.3222,0,0,-0.0476,0.582
|
||||
c1daace1905a01e0647e55794a2345f1a3cdc6502b1c93f8fc348a8ffaeaf5f8,2026-09-15,357,"US Treasury Yields Hit Nearly 20-Year High, Dragging Gold Below $4,300: Will Gold Keep Falling? - TradingKey",-0.8,-1,-1,bearish,-0.4346,0.6734,0.4346,0,-1,-0.7627,0.8668
|
||||
ccaf9284bbca086a2e82c609e5b4ec5f2745a3f229cce92c4744715dd5dab325,2026-09-15,357,"US Treasury Yields Hit Nearly 20-Year High, Dragging Gold Below $4,300: Will Gold Keep Falling? - tradingkey.com",-0.8,-1,-1,bearish,-0.4394,0.6766,0.4394,0,-1,-0.7666,0.869
|
||||
b9a6d9048805fdc8c4308ad6532abd5db154f3a08b240f4e00ef08a5f1d79398,2026-09-15,357,Gold head and shoulders pattern [Video],-0.2,-1,0,neutral,-0.1364,0.5001,0.1819,0,0,-0.0414,0.6146
|
||||
38bf6c292c879ddb2a583461e62248a55e6845d32fcae281b7d9924ba5f3614e,2026-09-15,357,Gold Is Falling With Stocks and Bonds Are the Reason - FOREX.com,-0.6,-1,-1,bearish,-0.2888,0.554,0.2888,0,-1,-0.6796,0.8078
|
||||
3985f3aa89d217e3e7ee0d6333bdf91aacf0a63b19d2db63a59022e0026d05d3,2026-09-15,357,"Now's the time to buy gold miners, says JP Morgan as it launches sector dashboard - Proactive Investors",0.7,1,1,bullish,0.4538,0.5978,0.3395,0,1,0.6123,0.7229
|
||||
25b5855a00188fc2285825c35e9b83c7e76f52069c82c34709d040d2168b64c6,2026-09-15,357,Citi Trims Gold Positions Amid Tighter Fed Policy View - tradingpedia.com,-0.6,-1,1,bullish,0.1629,0.4732,0.1629,0,1,0.3517,0.6248
|
||||
da5a68f5bae5c3ad7123ae4be7c2cb0840f73c26b737cbe7d237cfdf3d20031a,2026-09-15,357,Citi Trims Gold Positions Amid Tighter Fed Policy View - TradingPedia,-0.6,-1,1,bullish,0.2476,0.5016,0.2476,0,1,0.4602,0.6734
|
||||
fa3e921e78771b98f77a4a923c2b5985b678057ec0cd5a5624c67833ac34f3b3,2026-09-15,357,"Gold prices today, Tuesday, September 15, 2026: Gold sees lowest open in weeks as Treasury yields keep rising - Yahoo Finance",-0.8,-1,-1,bearish,-0.4121,0.5895,0.3563,0,-1,-0.5324,0.6371
|
||||
74da901647174503530a322d6deb929d482066d76814efe2f71f78c398683745,2026-09-15,357,Gold (XAUUSD) Price Forecast: 10-Year Yield Above 5% Keeps Sellers in Control - FXEmpire,-0.8,-1,1,bullish,0.3243,0.5338,0.2773,0,1,0.4634,0.5973
|
||||
c7babe28c1c5fe90459a99fe2de55e59715cbabe0388812ecbb217417eb108b6,2026-09-15,357,Watch. Gold price volatility explained: What’s next for gold & silver? | Trending commodity picks | EP 115 - BusinessLine,0.0,0,-1,bearish,-0.08,0.3959,0.08,0,0,0.0316,0.3609
|
||||
22f4109340d0d99f27f48d658049696e4fd69e421af707d3f92c77c5e210a33b,2026-09-15,357,Gold finds support near one-month low ahead of Fed interest rate decision,-0.1,-1,1,bullish,0.1488,0.4299,0.1408,0,1,0.4506,0.6026
|
||||
fa09a581669777070c6d3f355dbd5e36763012739819604ad030b3e9b8b2f0f5,2026-09-15,357,Gold bears retain control as markets brace for Fed rate hike,-0.7,-1,-1,bearish,-0.592,0.7728,0.592,-1,-1,-0.3475,0.6465
|
||||
8c4ac535bdd469c69a6333c652e4a35957508c37513c4807b6078e384110d791,2026-09-15,357,"Gold miners still have room to run, says JP Morgan in new sector dashboard - Yahoo! Finance Canada",0.4,1,-1,bearish,-0.1041,0.4202,0.1041,0,-1,-0.1391,0.4308
|
||||
99fa268ceada352acdb73fa359b30ff8dd0643deff30c7a703f81c4d8c5802c2,2026-09-15,357,Gold sellers dominate as Fed faces high stakes rate challenge,-0.8,-1,-1,bearish,-0.3779,0.6184,0.3779,0,-1,-0.2366,0.4975
|
||||
9d674700a944fe69120634f19a192be4f8d46dbaf33c290bb4e55f96b21d9741,2026-09-15,357,Gold remains under pressure ahead of the FOMC as markets focus on the dot plot,-0.5,-1,-1,bearish,-0.6241,0.7206,0.5378,0,-1,-0.1809,0.4548
|
||||
26815df545e96978051898a0c50d94048b19965f9f4994e2606b0ddf0debc446,2026-09-15,357,Gold price struggling to catch a bid as New York Fed's Empire State survey drops to 7.6 - kitco.com,-0.3,-1,-1,bearish,-0.1534,0.5258,0.1534,-1,1,0.047,0.4758
|
||||
13d5b9fa01b840b89f503e92666592d2dbb2f78feced53ce46609b2acc2b4831,2026-09-15,357,"Current price of gold as of September 15, 2026 - Fortune",0.0,0,0,neutral,0.0112,0.9233,0.8794,0,0,0.0184,0.9191
|
||||
2f62e105df1dbd88a6c246204839c7a64a2498e6d97f06f1e5cb1e1fa3e85f06,2026-09-15,357,"Current price of gold: Month Day, Year - Fortune",0.0,0,0,neutral,0.0991,0.6221,0.3836,0,0,0.1092,0.6088
|
||||
6bc4d41016f5ade1365c7b0cd175a19a2b21faa74830a85b39d7367da94a82a8,2026-09-15,357,"Current price of gold as of September 15, 2026 - fortune.com",0.0,0,0,neutral,0.0091,0.9055,0.8537,0,0,0.0175,0.9032
|
||||
4ff76278a58974deafc94179f7adad9f35e1d6ff439c7f47314eb273f4a4d2e4,2026-09-15,357,"Gold Plunges Rs 1,000 to 5-Week Low Amid Fed Hike Fears - Rediff MoneyWiz",-0.8,-1,-1,bearish,-0.8036,0.8877,0.8036,-1,-1,-0.8999,0.9444
|
||||
c812a272650bdd3c66a30304c4cf6ed3a38547181def576fb5880c4260c7a3fa,2026-09-15,357,"Gold Plunges Rs 1,000 To Hit 5-Week Low Of Rs 1.54 Lakh/10 Grams In Delhi - ETV Bharat",-0.8,-1,-1,bearish,-0.3543,0.5994,0.3543,-1,-1,-0.5612,0.727
|
||||
8da52b775a98cafaa5d4dad033e673c017a78bca0efc6027076da447815aea09,2026-09-15,357,"Gold, Bitcoin and EUR/USD Forecast: Three Fed Scenarios Traders Should Watch - FXEmpire",0.0,0,0,neutral,0.047,0.5451,0.2942,0,0,0.0125,0.4742
|
||||
de674245f31878e6f523a9417a412b9424c8846d403b05b1d1a178c4c7be9c05,2026-09-15,357,Gold Price Forecast: 200-Day EMA in Focus Ahead of Fed - FXEmpire,0.0,0,1,bullish,0.7746,0.8346,0.7292,0,1,0.7444,0.8129
|
||||
372f23d60146fdf91a9d557c38f123bb59199ef078c5ee3ce4edc96c65c3d7c7,2026-09-15,357,"Silver price steadies, gold price falls as oil shock lifts rate pressure - Kitco AM Report - KITCO",-0.5,-1,-1,bearish,-0.8732,0.9249,0.8732,-1,-1,-0.9173,0.9525
|
||||
fcf42a40574959b5fd9b2c9b9f6c72628a2b94c063b25857f8f708c2ecd3c3b6,2026-09-15,357,"Silver price steadies, gold price falls as oil shock lifts rate pressure - Kitco AM Report - kitco.com",-0.5,-1,-1,bearish,-0.8707,0.9248,0.8707,-1,-1,-0.9197,0.9546
|
||||
176222e5e3dcac3743c9e5ed395dc9fcae223de9a69e7f3e1389848b56de91a6,2026-09-15,357,Gold Ignored an 18-Year Yield High. Here's Why. - GoldSilver,0.3,1,0,neutral,0.1991,0.5304,0.1961,0,0,0.2761,0.4969
|
||||
6115ae3f85213e910a96adea230a15fe08afc56a16e0111ad56df9d5dd5e7a2d,2026-09-15,357,Gold: CTA selling intensifies ahead of Fed decision - TD Securities,-0.6,-1,-1,bearish,-0.2301,0.5414,0.2301,0,1,0.143,0.4915
|
||||
dc138fb9d7ec7eb21dbcbc04c121e1e4a39c6bd82bbf37408df942c6d3634fb1,2026-09-15,357,"PAX Gold Price Prediction Holds Near $4,350 as Gold ETFs Surge and Pepeto Nears $11M - TechBullion",0.7,1,1,bullish,0.6934,0.8285,0.6934,0,1,0.7905,0.8861
|
||||
db326ea7105ba13bba7a3e99092b46834a0b1eede96cec515be5fa045c7d9638,2026-09-15,357,"Gold prices could rally a little on a Fed hike, but a lot on a hold, with $5,000/oz back on the table – Jesse Columbo - kitco.com",0.6,1,1,bullish,0.1892,0.5642,0.1892,1,1,0.4099,0.6673
|
||||
61a00ddab9d9203ec0b849d29f4a24047518229d166cc158cb3017a3afb38273,2026-09-15,357,Gold price struggling to catch a bid as New York Fed's Empire State survey drops to 7.6 - KITCO,-0.3,-1,-1,bearish,-0.0823,0.4843,0.0823,-1,1,0.0442,0.468
|
||||
b2cecf25524b51ed66ad3e1a096fe7868b6bb1c0281e32cff2edadaac9b2b926,2026-09-15,357,Bitcoin and Gold Outlook: BTC pulls back as valuation ceilings hold while XAU weakness persists,-0.6,-1,1,bullish,0.0854,0.3785,0.0503,0,1,0.3427,0.5674
|
||||
585d193c0f4aca2768cae7b2a5433b7de599d6083485a944217181a310ebaa9e,2026-09-15,357,Opinion: Gold is starting to move on something a lot bigger than inflation - marketwatch.com,0.5,1,1,bullish,0.3522,0.5605,0.3292,0,1,0.4102,0.5965
|
||||
70dd30b50d705bc8b018bc8e204e6a561e6a527370735a70b9a6f85d649a3407,2026-09-15,357,Opinion: Gold is starting to move on something a lot bigger than inflation - MarketWatch,0.6,1,1,bullish,0.3872,0.5681,0.3172,0,1,0.4463,0.6032
|
||||
377e155efa4798759e8dca8c37ed8b035535e1f02723048f84a83558dd51f357,2026-09-15,357,The Fed Votes Wednesday. Gold’s Other Vote Lands Friday. - GoldSilver,0.0,0,0,neutral,0.2121,0.5955,0.2872,0,0,0.1035,0.6513
|
||||
77ea93cb3ce3ef569eb7d4a612cf31fc91ed9558bb153bd5ce954b5ac0f07485,2026-09-15,357,"Gold set to fall toward $4,000 as Warsh faces a Fed rate-hike dilemma",-0.8,-1,-1,bearish,-0.8681,0.9185,0.8681,0,-1,-0.981,0.9882
|
||||
5199fca86d3058e80dd6662a66a3ef6a976bd57bf2568795c91cd6e7d27d55b3,2026-09-15,357,Gold could do well as Trump admin and Fed face a reckoning over interest rates - Commerzbank - KITCO,0.6,1,1,bullish,0.1136,0.4376,0.1136,0,1,0.115,0.4811
|
||||
9e5bf84182e632e9089ce158c2a5d3f5e81817290ce89b9fdd3989fd00a4fd39,2026-09-15,357,Gold could do well as Trump admin and Fed face a reckoning over interest rates - Commerzbank - kitco.com,0.5,1,1,bullish,0.0544,0.42,0.0544,0,1,0.1166,0.492
|
||||
5f41deb2d6028a679fc78889957e0a8ffee7a14308c9f5816a120dd2a3ec1ea8,2026-09-15,357,Gold Price September 16 2026 - Robinhood,0.0,0,0,neutral,0.0063,0.9296,0.8912,0,0,0.0083,0.9274
|
||||
e5147777848937889737e701d347d196b5b24313093ed5e696164867d2fd5077,2026-09-15,357,Gold Price September 16 2026 - robinhood.com,0.0,0,0,neutral,-0.0018,0.9115,0.8664,0,0,0.0033,0.9117
|
||||
57100d66f6c2d9e1046076df57fb6d7e1eb9da86228bc0b82bdfc9b66ffe8f86,2026-09-15,357,Gold holds steady despite rising US bond yields and Fed rate hike fears amid Middle East tensions. - Pluang,0.1,1,-1,bearish,-0.3225,0.5781,0.3225,-1,-1,-0.4356,0.664
|
||||
703e7f4d9c5dcb1436bc051fc568a1bf00ce51c27d5cc09c015fdbcbd9408c74,2026-09-15,357,Gold bulls hit 100-day SMA wall as US yields bite,-0.6,-1,1,bullish,0.4031,0.6488,0.4031,0,1,0.6497,0.7992
|
||||
1c7830f29fcfc11c19368a9a1b40e233d0bfe75f8a4ca4f7594b0a794e234199,2026-09-15,357,"Gold prices could rally a little on a Fed hike, but a lot on a hold, with $5,000/oz back on the table – Jesse Columbo - KITCO",0.8,1,1,bullish,0.2426,0.5893,0.2426,1,1,0.4023,0.6597
|
||||
031f1d0232b5628fcc708ea369e5dfcca3ce689742c5797a7d8258f36101346d,2026-09-15,357,"Gold may rally if Fed holds rates, potentially reaching $5,000, but a 25bps hike could still bring mild gains. - Pluang",0.7,1,1,bullish,0.4703,0.6928,0.4703,1,1,0.7795,0.8759
|
||||
c66a9996c349ef70d0807a61a4ef6f1d55cef0011a58ce8ef1952e717fc46232,2026-09-15,357,"Gold may rally if Fed holds rates, potentially reaching $5,000, but a 25bps hike could still bring mild gains. - pluang.com",0.6,1,1,bullish,0.4265,0.6734,0.4265,1,1,0.7527,0.862
|
||||
58ba539a9a3dfa3ee6a8e006a169b39de0897eb7b825fd129a491d5014b55d4f,2026-09-15,357,Namibia in the process of building its initial Gold reserves,0.3,1,0,neutral,0.0598,0.558,0.3071,0,0,0.3267,0.4505
|
||||
f62e25df409675b50e665602c97d9573046a94d536b7b8afaafc5a307e7ab294,2026-09-15,357,Gold Price Forecast: Key Support Holds as Downside Risk Builds - FXEmpire,-0.4,-1,1,bullish,0.3203,0.544,0.3117,0,1,0.2702,0.5303
|
||||
b21a54e4399228d8ec0bb056f1635da46afe238d83f9787f6fff76418ce9767a,2026-09-15,357,Orezone Maps Out 14 Years Of Gold At Casa Berardi - Finimize,0.2,1,0,neutral,0.0497,0.5083,0.2375,0,0,0.1265,0.4363
|
||||
06fc5513f29073cf8db739d3094e0fc935e9eefc13f995cc721e69a832cc460c,2026-09-15,357,"Gold declines below $4,300 as US yields climb, Fed rate decision looms",-0.8,-1,-1,bearish,-0.9173,0.9526,0.9173,-1,-1,-0.9812,0.9889
|
||||
1a8ea6649e9e1e079ed85219fcefc999540021670270b5c1778ace5f2f27655d,2026-09-15,357,"Gold price falls by Rs4,000 per tola - The Nation (Pakistan )",-0.5,-1,-1,bearish,-0.8455,0.9088,0.8455,-1,-1,-0.9111,0.9472
|
||||
2cb8eafe58006328659605d40be1c18e27aa65209dc337e695acfdcd3d4fcdef,2026-09-16,441,"Gold Rate Today: Check 24K, 22K Gold Prices In Mumbai, Delhi, Chennai, Kolkata, Bengaluru On September 16 - NDTV Profit",0.0,0,0,neutral,0.0056,0.9306,0.8931,0,0,0.0121,0.9435
|
||||
88d5ccfeab0dd762908307947a0bf1ce27b66d52a0ee04c3b5f7215df5ec90a2,2026-09-16,441,Gold price may dip with Fed rate hike - Bangkok Post,-0.6,-1,-1,bearish,-0.7978,0.8722,0.7978,-1,-1,-0.8166,0.8953
|
||||
5382d8018268752d6a2f97d6d453d02e0c4872de58f2676b6dccecb514869fc7,2026-09-16,441,Gold Price Under Increasing Corrective Pressure – Analysis – 16-09-2026 - economies.com,-0.6,-1,-1,bearish,-0.377,0.5271,0.2044,1,-1,-0.4498,0.5874
|
||||
665cfe007f82e038690de094de64b8de6e8e342de00d034e5475a4ee38f5b9f7,2026-09-16,441,Gold Price Under Increasing Corrective Pressure – Analysis – 16-09-2026 - Economies.com,-0.6,-1,-1,bearish,-0.377,0.5271,0.2044,1,-1,-0.4498,0.5874
|
||||
88deba1e8bbb8dd0ec3260325605ee8b21a7152ee14626583a738777a54562dd,2026-09-16,441,Gold's Fate Hinges on Fed Decision Night: Market Cares More About Credibility Than the Hike Itself - finance.biggo.com,0.2,1,-1,bearish,-0.1446,0.4935,0.1446,0,1,0.0068,0.4346
|
||||
7cfe2a7bacd67b9cfa6c31afad51cb2a3b8bd3c951671997fd1ee55f798a447a,2026-09-16,441,Gold gains with Fed rate decision in spotlight - Reuters,0.4,1,1,bullish,0.17,0.4722,0.17,0,1,0.5886,0.7505
|
||||
86e1cc1d1e59b18f7cd8b714fd3a0d08993f47e6a631dc247c5e15dfaa41e78e,2026-09-16,441,"Gold slips ahead of Fed decision as oil, yields keep rate-hike bets elevated - Investing.com India",-0.6,-1,-1,bearish,-0.9238,0.9491,0.9234,0,-1,-0.9538,0.9709
|
||||
c4584ea8222e3817297535b0100d773594e7b1bddb613fea4bb2ebc15eba5fce,2026-09-16,441,"Gold slips ahead of Fed decision as oil, yields keep rate-hike bets elevated - Investing.com Australia",-0.7,-1,-1,bearish,-0.9249,0.9504,0.9249,0,-1,-0.9418,0.9637
|
||||
1dc73f7406736c0a555f43b26e48f026bfd0e5854a9cad89a1190aad481f87bd,2026-09-16,441,"Gold slips ahead of Fed decision as oil, yields keep rate-hike bets elevated - Investing.com Nigeria",-0.5,-1,-1,bearish,-0.9277,0.9509,0.9249,0,-1,-0.957,0.9726
|
||||
25654fb837823fa6561b3099032c0130546ce7520c4ff3d0ae3fe5dae50bb9f4,2026-09-16,441,Gold Risks a Deeper Pullback with the Fed Decision Up Next - Action Forex,-0.4,-1,1,bullish,0.3719,0.4701,0.0384,0,1,0.494,0.6148
|
||||
ba086059e6ea6494d5ac62bda6ed32b8b9bac642d61c658194023dc101a22a8f,2026-09-16,441,Gold Risks a Deeper Pullback with the Fed Decision Up Next - actionforex.com,-0.6,-1,1,bullish,0.3926,0.5165,0.1569,0,1,0.4854,0.626
|
||||
7771dc2ed9f6fb2943a1833922296c2b5175b1b73273710241f31504f5ec3188,2026-09-16,441,"Gold Price Forecast: XAU/USD defends key $4,280 support ahead of Fed verdict ",0.3,1,1,bullish,0.2878,0.5135,0.2527,0,0,0.1765,0.5797
|
||||
ebaed7ed1ecc768f6b4e7cefb89d5c17f8fad7ea046e19feefee8a2dd7943aaf,2026-09-16,441,"Gold Price Forecast: XAU/USD defends key $4,280 support ahead of Fed verdict - FXStreet",0.3,1,0,neutral,0.1278,0.6024,0.3398,0,0,0.0921,0.6795
|
||||
283cbf269bb4f530d0868b911fd89caeb4fb1bdafe12974cd500a2a305543b6b,2026-09-16,441,"September Fed Rate Decision Preview: Is a Rate Hike a Foregone Conclusion? US Stocks, Dollar, and Gold Face a Critical Test - TradingKey",-0.3,-1,0,neutral,-0.1612,0.6703,0.4248,-1,0,-0.2154,0.5473
|
||||
3bef62f2ffb2700b20298b9e566cba48448dd8a3e54167a57b32ade447de38f1,2026-09-16,441,"Gold and silver price today, Sept 16: Check retail rates of 24K, 22K gold and 999 silver in Delhi, Mumbai, other cities - Livemint",0.0,0,0,neutral,-0.0287,0.8576,0.7721,0,0,-0.0569,0.8691
|
||||
e4c3eac4172b9f332200131d2296141e72dab9a4e6058d7760740748e9b1ed1f,2026-09-16,441,"Gold prices at Rs 1,300/10 gram, silver rallies Rs 4,000/kg. Key levels to track ahead of US Fed decision - The Economic Times",0.5,1,1,bullish,0.2121,0.5065,0.2121,0,1,0.3539,0.5823
|
||||
f7a83c2169bc16a4937ef254a1a538c08f332cb4739b6b19c832960ff2df672f,2026-09-16,441,"Gold prices at Rs 1,300/10 gram, silver rallies Rs 4,000/kg. Key levels to track ahead of US Fed decision - economictimes.com",0.3,1,-1,bearish,-0.0351,0.4177,0.0351,0,1,0.1152,0.452
|
||||
37bf02678a3b14852177cad76744912483ca8f5b572793affc337c42c6307200,2026-09-16,441,"Gold sticks to modest gains below $4,350 as USD bulls await Fed rate decision",0.3,1,1,bullish,0.3568,0.6555,0.3568,0,1,0.5428,0.7558
|
||||
4f8673b1ee9381337a29511bf1704c4ce3e7459e01fd62063b9d0e46e795f305,2026-09-16,441,Gold gains some positive traction as USD bulls turn cautious ahead of Fed rate decision,0.6,1,1,bullish,0.5695,0.7645,0.5695,0,1,0.7798,0.8751
|
||||
56c5afdfb2bd29beb5756edf561f05ce5da35bb4810583baca58ed216ccf7425,2026-09-16,441,Gold gains some positive traction as USD bulls turn cautious ahead of Fed rate decision - fxstreet.com,0.6,1,1,bullish,0.2118,0.5579,0.2118,0,1,0.514,0.7346
|
||||
d6ef8cf383082dea5c32d4e6ba06037bcd79a548d5443fa609f6fa9ca3ad84d4,2026-09-16,441,"Gold bulls seem hesitant below $4,350 as focus remains on Fed rate decision",0.1,1,1,bullish,0.3602,0.6341,0.3602,0,-1,-0.1997,0.5336
|
||||
f68ff2e1d9f3357655065bbd12a26d5b075eb4a58b6714b3423c2b3c996ab01e,2026-09-16,441,Gold gains some positive traction as USD bulls turn cautious ahead of Fed rate decision - FXStreet,0.4,1,1,bullish,0.5057,0.6949,0.5057,0,1,0.7342,0.8435
|
||||
65d4c73c374e389df34e6aa5923686ca73ecfee9e27de1c0fd3c05cc92fa15e4,2026-09-16,441,Gold price in Malaysia: Rates on September 16 - FXStreet,0.3,1,0,neutral,-0.0027,0.7695,0.6529,0,0,-0.006,0.7864
|
||||
81dfa7d26a95af4c4116eb2723a7107ef20f2b49c794d5c74cbe9e133201097c,2026-09-16,441,Gold price in Malaysia: Rates on September 16 - fxstreet.com,0.0,0,0,neutral,-0.1507,0.6275,0.3659,0,0,-0.1343,0.6581
|
||||
511af8bfc9c55cec39a93c0905355425641c0fdd2dafa9da806ceb631587e5b0,2026-09-16,441,"Gold rises ₹1,291 amid Fed rate-hike concerns, silver jumps ₹3,667 - Business Standard",0.2,1,-1,bearish,-0.5431,0.7613,0.5431,1,-1,-0.3558,0.6722
|
||||
d6e6e7d3254ab11de0827e8a528b1e99bf921a64a7483b8b8ddd6701bb89f83b,2026-09-16,441,Gold price in India: Rates on September 16 - fxstreet.com,0.0,0,0,neutral,0.031,0.6407,0.4455,0,0,0.0405,0.6568
|
||||
f2557a87e87337c0a9e7c05743c9fff35bddb4220585adc07894d88f7fa7da4b,2026-09-16,441,Gold price in India: Rates on September 16 - FXStreet,0.3,1,0,neutral,0.1279,0.7451,0.5538,0,0,0.1245,0.7528
|
||||
913c865133f787adb02ed8a1d1df38cc75413a810f96f3eb7f8b231536576cd8,2026-09-16,441,Gold prices gain - VnExpress International,0.7,1,1,bullish,0.464,0.7115,0.464,0,1,0.6771,0.8279
|
||||
43047ca252ee248da117bcbcac57d8c9366974a525ad0e9439df3d73401f002a,2026-09-16,441,India's Gold Rush Gets A Reality Check As Prices Fall 20% From Record High - NDTV,-0.4,-1,1,bullish,0.0857,0.4701,0.0857,1,1,0.1718,0.4853
|
||||
123466f1165dbcfed87e7895b6d8764544cc8041187a79a69da217ff7a07a056,2026-09-16,441,Gold Price Increases by NPR 800 in Nepali Market - english.ratopati.com,0.5,1,-1,bearish,-0.5034,0.6929,0.5034,0,-1,-0.3391,0.5845
|
||||
c93172b3dc458c7cf5b6ca8c4036702f3a02ee037e5cf94926e953a301759662,2026-09-16,441,Gold Price Increases by NPR 800 in Nepali Market - Ratopati,0.4,1,-1,bearish,-0.4758,0.6693,0.4758,0,-1,-0.3289,0.5706
|
||||
0b2932ebf2308c2b19f934f835aca44b468d60338c71727abf666d24eb60d2d7,2026-09-16,441,"Gold, silver prices rise - Onlinekhabar English",0.5,1,-1,bearish,-0.237,0.455,0.1281,0,0,-0.1942,0.4337
|
||||
d8b915d570d70392d9e1edd94ee87d2bec3ef77c78649eefc77e398b6084d903,2026-09-16,441,"Gold Rate Today, September 16: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - The Indian Express",0.1,1,0,neutral,0.2336,0.6611,0.3748,0,0,0.2078,0.6848
|
||||
dbb381978ada3173e11b3b9f317d4f4f3f7716b5890a08efaf48266f7cafeb8d,2026-09-16,441,Gold prices today: Yellow metal inches higher ahead of Fed decision - Gulf News,0.4,1,1,bullish,0.1761,0.451,0.1761,0,1,0.4155,0.5833
|
||||
483cd46a0f238041a9dd4946b90fc0c68770cf475fe40e11b26ed3e960d9316e,2026-09-16,441,"Gold price prediction today: Will gold continue bearish trend? Check September 16, 2026 outlook - The Times of India",-0.4,-1,-1,bearish,-0.0561,0.4151,0.0561,-1,-1,-0.0633,0.4296
|
||||
6054efad1dafa2b44d100d36ea6b61729b19d83ebfae0f8dd3415cf5ddab2223,2026-09-16,441,"Gold price prediction today: Will gold continue bearish trend? Check September 16, 2026 outlook - timesofindia.indiatimes.com",-0.6,-1,1,bullish,0.0642,0.4059,0.0642,-1,1,0.0295,0.3924
|
||||
278b351cb2de85c49a5874f312a7d66ccb2eb41dcd46697d9870fb338b165dd7,2026-09-16,441,"Gold Prices Jump Nearly Rs 1,300 To Above Rs 1,51,000; Silver Prices Surge By Rs 3,800 Ahead Of US Fed Policy - ndtvprofit.com",0.5,1,1,bullish,0.0892,0.5184,0.0892,0,1,0.4913,0.7295
|
||||
5fc7cf0469086fd2b004148448a7381ba556ad263f3337c8a375ce8e5fbceaa5,2026-09-16,441,"Gold Prices Jump Nearly Rs 1,300 To Above Rs 1,51,000; Silver Prices Surge By Rs 3,800 Ahead Of US Fed Policy - NDTV Profit",0.7,1,1,bullish,0.0804,0.5158,0.0804,0,1,0.5681,0.7696
|
||||
068c97de8290be6aa429011733c3f82c45e3b9090eb8a7821f679a594d970587,2026-09-16,441,"Gold rebounds toward $4,350 ahead of Fed decision as hike bets stay elevated - Investing.com",0.2,1,1,bullish,0.2401,0.576,0.2401,0,1,0.4543,0.7064
|
||||
2846fcdd26357f343fcaa1106c43f6824748181b476911d07005b93ab11e3b2d,2026-09-16,441,"Gold bulls seem hesitant below $4,350 as focus remains on Fed rate decision - fxstreet.com",0.2,1,-1,bearish,-0.3138,0.5681,0.3138,0,-1,-0.493,0.6861
|
||||
ba8a24729abc21e1824ebdac231f4da8cd54b4bd1d9eec5a4ec247ba4359cec9,2026-09-16,441,"Gold bulls seem hesitant below $4,350 as focus remains on Fed rate decision - FXStreet",0.2,1,-1,bearish,-0.0562,0.4028,0.0562,0,-1,-0.2714,0.5474
|
||||
231352b5df7cd4a279f16df767e28d16bce6e4d4cd4feeb1c3f2b7ffc40e54b7,2026-09-16,441,"Gold, Silver Prices Rise In Futures Trade - Deccan Chronicle",0.5,1,-1,bearish,-0.2688,0.4639,0.1227,0,0,-0.1886,0.4703
|
||||
676c06bd5f021b102a46fc0ff78c51b549077983e5c4cce92bca6d393e3f51a6,2026-09-16,441,"Gold Rebounds Above $4,320 as Fed Decision Puts $4,366 Breakout in Focus - FXLeaders",0.7,1,1,bullish,0.8119,0.8961,0.8119,0,1,0.7988,0.8924
|
||||
181d4c5d2f6028a907d8fa253040656539109818e57dbd3104fddae0518e2aa5,2026-09-16,441,Gold held inside of the previous week's [Video],0.0,0,-1,bearish,-0.6379,0.7512,0.6156,0,-1,-0.3151,0.4775
|
||||
20f380504b4c3a84081565ada3d36062cfb0c12764d7678b1d0fce20ae415ae3,2026-09-16,441,"Gold Price Forecast September 2026: Gold Rebounds Above US$4,300 Before the Fed Decision - mitrade.com",0.4,1,1,bullish,0.5451,0.6793,0.4929,0,1,0.7692,0.8509
|
||||
8f89855c918fb7c68b8b354f9015cc168b6dc67d46780653be3ff9b41e27ed2e,2026-09-16,441,"Gold Price Forecast September 2026: Gold Rebounds Above US$4,300 Before the Fed Decision - Mitrade",0.5,1,1,bullish,0.5908,0.7008,0.5117,0,1,0.8146,0.8765
|
||||
015d8c385386ef46a24cd7ef9c6363363ba3b813b5b1c53861f9d88c3e84bd44,2026-09-16,441,"Gold traders seem noncommittal below $4,350; eyes Fed rate decision for fresh impetus - FXStreet",0.1,1,-1,bearish,-0.4508,0.5514,0.2033,0,-1,-0.4939,0.5964
|
||||
9684be47446f4e4701edda6bf42aadc1fc3c6a2e22563b5b4756725b0cdd37ac,2026-09-16,441,"Gold traders seem noncommittal below $4,350; eyes Fed rate decision for fresh impetus - fxstreet.com",0.1,1,-1,bearish,-0.6529,0.7208,0.5095,0,-1,-0.6782,0.7469
|
||||
542916a0e3e377e8c3a9327584445a322910882c8263c1cb75dbb0ad242265bf,2026-09-16,441,Gold (XAU/USD) & Silver Price Forecast: Fed Rate Path Takes Center Stage as Metals Recover - FXEmpire,0.3,1,-1,bearish,-0.2973,0.4827,0.1508,0,0,-0.2439,0.5106
|
||||
57be5f155880111b4ede9b04cd9873f65f561f56f907e2eb1617f44b92082497,2026-09-16,441,"Gold vs. Bitcoin: XAU/USD Rebounds as BTC Tests $75,000 - FXEmpire",0.4,1,1,bullish,0.7272,0.8261,0.7272,0,1,0.7831,0.8463
|
||||
dfbb662b4d0f4abd630070d34a01cdb582cfcae0bacaa1fb56800fc26d98e433,2026-09-16,441,Gold and Silver Price Forecast: Key Support at Risk Ahead of Fed Decision - FXEmpire,-0.5,-1,0,neutral,-0.1131,0.5314,0.2405,0,0,-0.1635,0.4916
|
||||
e3b570e8743990f612fe9c699d720fba62819cbf7bc215091099cfb487129a6a,2026-09-16,441,This Gold Analysis Looks Bullish Ahead of the Fed: What to Watch,0.6,1,0,neutral,0.1473,0.5481,0.2486,1,0,0.1718,0.5684
|
||||
aef7962eb506be52a15f3479a80a705596839f681c012d6747831aaa7f57eff3,2026-09-16,441,"Gold to $6,000? Ole Hansen on the Drivers Reshaping Precious Metals - deVere Group",0.8,1,1,bullish,0.3655,0.5681,0.3387,0,1,0.3064,0.4874
|
||||
4206c76716970163bd4880bef46624cf12fd715a15092b411229cf251d17eaa9,2026-09-16,441,"Gold, silver prices rise up to 1 pc ahead of Fed decision - Telangana Today",0.7,1,0,neutral,-0.0598,0.5701,0.3252,0,0,-0.0899,0.5354
|
||||
2d95fe517bb85374755f89ba58dcafa261ef529607b363423a8681f68d3ed37d,2026-09-16,441,Gabelli Gold Fund Q2 2026 Commentary (GLDIX) - Seeking Alpha,0.2,1,0,neutral,0.1261,0.6885,0.4697,0,0,0.1199,0.7259
|
||||
fe17d912023edba534c1e247a49330977d7459d43e2b2d04d56e43b2bd1efe71,2026-09-16,441,Gold traders await the FOMC decision for the next direction. What details to watch?,0.0,0,1,bullish,0.3498,0.4783,0.0851,0,0,0.1464,0.6183
|
||||
33eb84c50727452cd35f929a4fc961784c567a37eb9874966a5fa1c53ba2e83a,2026-09-16,441,"Gold price uncertainty may ease after Fed decision, says IBJA - CNBC TV18",0.1,1,1,bullish,0.2683,0.5169,0.2683,0,1,0.3665,0.6
|
||||
28a347fd72488b3fac95a8e61187e22b4fcd748edcfe349067887a824b61dd0c,2026-09-16,441,Gold Price Forecast: XAU/USD builds bullish momentum below resistance - fxstreet.com,0.6,1,-1,bearish,-0.4206,0.626,0.4206,1,-1,-0.2657,0.4905
|
||||
518683a147ea81f3dbb9625e869d4226eafd125728f969af2975e2cc94435af0,2026-09-16,441,Gold Price Forecast: XAU/USD builds bullish momentum below resistance - FXStreet,0.6,1,-1,bearish,-0.1267,0.4312,0.1267,1,0,-0.0145,0.3956
|
||||
d0d0fbc2c3b149267e07ff8ff5385f65d6707bf1646595ae571a169d0eb0e9e4,2026-09-16,441,"Gold Price Forecast: XAU/USD consolidates below $4,350 ahead of Fed decision",0.0,0,-1,bearish,-0.1459,0.4435,0.1459,0,0,-0.0259,0.6552
|
||||
289edfe54c83d12261b7fd453c18a7634424a995ad46f1b70086be02340d4945,2026-09-16,441,"Gold price today, Wednesday, September 16, 2026: Gold holds in the $4,300 range, awaiting the Fed's decision - finance.yahoo.com",0.1,1,0,neutral,-0.0564,0.6536,0.4521,0,0,-0.0684,0.6425
|
||||
fe73065503f0b6d399d2f7dc75ba1fbd7a08bd777a3f5e7a7576c4629bc51a34,2026-09-16,441,"Gold price today, Wednesday, September 16, 2026: Gold holds in the $4,300 range, awaiting the Fed's decision - Yahoo Finance",0.0,0,0,neutral,0.0103,0.6578,0.4815,0,0,-0.0079,0.6459
|
||||
28e04aea577e3bed2861757c6301f6859e08f22cd25476a7bbf2bd15a64dc81a,2026-09-16,441,Gold extends gains ahead of key Fed decision - AzerNews,0.7,1,1,bullish,0.6097,0.7085,0.5159,0,1,0.8337,0.8855
|
||||
3599b2f62bf8114b9ef6544c20fb1405d63ed0cdf66e061e546b0280ea29bf41,2026-09-16,441,Gold rebounds as traders position for Fed interest rate decision - TradingKey,0.6,1,1,bullish,0.3584,0.6084,0.3584,0,1,0.5081,0.716
|
||||
54bd3d8a11ad52d1c98aed9148b11f6e1d4a98b2d1e7ba2b04090a4f1ef0edd8,2026-09-16,441,Gold recovers ahead of Fed: Can the rebound survive a rate hike? - fxstreet.com,0.3,1,-1,bearish,-0.1762,0.553,0.1762,-1,-1,-0.0153,0.4912
|
||||
7a9c1149966ba65878e8c5d6bd1c0f7be7e0acb44b9be048d3ca5ed75cb0b3d3,2026-09-16,441,Gold rebounds as traders position for Fed interest rate decision,0.4,1,1,bullish,0.1529,0.4989,0.1529,0,1,0.5119,0.727
|
||||
9780c4830ae067a72ecb80fc73288f52956096d3068c397921604cc82de5a5da,2026-09-16,441,Gold consolidates gains as traders brace for Fed interest rate decision,0.1,1,-1,bearish,-0.0094,0.4536,0.0094,0,1,0.3364,0.5665
|
||||
ad82d31ca5bb5b055595b716357577c78d6e8e312a0f00f53266668fd615fdb3,2026-09-16,441,Gold price at the close of the session on September 16: Strong increase - Laodong.vn,0.7,1,0,neutral,0.1353,0.6034,0.3375,0,0,0.213,0.6056
|
||||
2ae7979efd98a19980bafdbeba8691404468ece0bf7b13871026ab2aa4da7af1,2026-09-16,441,Gold Price Right Before The Hike - Barchart.com,-0.6,-1,-1,bearish,-0.1592,0.5072,0.1592,0,1,0.0859,0.4908
|
||||
4f4c6c38ccbf61bd973d822628ec1319a5c4f4eaba197ad94754abcae70cae92,2026-09-16,441,"Gold price jumps Rs7,900 per tola to Rs457,236 in Pakistan - The Nation (Pakistan )",0.5,1,1,bullish,0.4183,0.6894,0.4183,1,1,0.7634,0.871
|
||||
899934443d39744111862383fb78bd8d4e1202d3833ea739f6b9cdcdef2c906d,2026-09-16,441,"Gold price jumps Rs7,900 per tola to Rs457,236 in Pakistan - nation.com.pk",0.4,1,1,bullish,0.3168,0.6393,0.3168,1,1,0.7047,0.8412
|
||||
aaae0cfad55dfcc30630ee4c28222d8740f354d0f8c414dd9f2034113e6e0a5e,2026-09-16,441,"RBC Capital Adjusts Royal Gold Price Target to $325 From $305, Maintains Outperform Rating - marketscreener.com",0.2,1,1,bullish,0.4265,0.6106,0.4054,0,1,0.3821,0.5974
|
||||
21f24c18a4803d911fd52f720cdc79f8806360083e70846bdb3f9c8850b22a4f,2026-09-16,441,"Gold price trades at $4,340/oz after retail sales rise 1.2% in August - kitco.com",-0.5,-1,1,bullish,0.139,0.4744,0.139,0,1,0.3154,0.5356
|
||||
f3a0cd0cabe6875a0362c955743feef5e54bb7c6a9dd39cd790e96d17eddf8f8,2026-09-16,441,Has Gold overreacted to the threat?,-0.3,-1,-1,bearish,-0.1094,0.4292,0.1094,0,1,0.4278,0.6266
|
||||
45367b8f0719c9bc22f5c27040d57d35e7e7e2e371eef3a30f10bc83387caaa6,2026-09-16,441,"Gold Rebounds Rs 1,200 As Bargain Buying, Easing Crude Oil Prices Lift Sentiment - etvbharat.com",0.6,1,1,bullish,0.6185,0.7845,0.6185,1,1,0.7316,0.8471
|
||||
d6975b4a1a223148cc35403dc5ede2ab2e7c507d72ebcc3d17046da25089c8c6,2026-09-16,441,"Gold Rebounds Rs 1,200 As Bargain Buying, Easing Crude Oil Prices Lift Sentiment - ETV Bharat",0.5,1,1,bullish,0.6776,0.8126,0.6776,1,1,0.7697,0.8651
|
||||
b6edf2fc5974998ebeb17ac995ea9b92478446aa901325878c3d99c4a449e5e8,2026-09-16,441,"Gold, silver prices rise as oil eases before Fed decision - Kitco AM Report - KITCO",0.6,1,-1,bearish,-0.3388,0.6008,0.3388,0,-1,-0.3248,0.5897
|
||||
201eb610685daa04805852574f79ec623203e27a0a8255cdfebe3aa7d0e767a2,2026-09-16,441,"Current price of gold as of September 16, 2026 - Fortune",0.0,0,0,neutral,0.0059,0.9611,0.9387,0,0,0.0082,0.9575
|
||||
49c4ab267e7e71b2b1e786b7cc9b51b202b067666fa81e16b7baca107658407e,2026-09-16,441,"Current price of gold as of September 16, 2026 - fortune.com",0.0,0,0,neutral,0.0044,0.9507,0.9238,0,0,0.0068,0.949
|
||||
1aeada7cd6684fcdfbbffa9e5fc5b548e0a453329a197e4f05873700a4cbb14a,2026-09-16,441,"Gold News: XAUUSD Price Gains as Yields Ease, but Warsh Holds the Key - FXEmpire",0.5,1,1,bullish,0.2096,0.5718,0.2096,0,1,0.4443,0.7083
|
||||
c243df9e092fcc0fb0baa6028b43fe4a953a304a8a4a5386446efe0f030f9eb9,2026-09-16,441,Gold Price Forecast: 200-Day EMA Holds Ahead of Fed Decision - FXEmpire,0.2,1,0,neutral,0.233,0.6207,0.3146,0,0,0.1954,0.6035
|
||||
e02feade42bba174897f821107de344a8f054ff74fe6be933a0a923119832f35,2026-09-16,441,Either Gold or the Market 'Wrong' About Fed Rate Forecasts - BullionVault,0.3,1,1,bullish,0.086,0.3916,0.086,0,1,0.1561,0.4179
|
||||
2d88257816bf27804791ff18f9846ee76ea28153fbcbefe65a5d02ca029642f6,2026-09-16,441,Gold Technical Outlook: XAU/USD Bulls Regroup at a Critical Pivot Ahead of Fed - FOREX.com,0.3,1,1,bullish,0.4632,0.6056,0.3537,0,1,0.4747,0.5661
|
||||
c79eb4b0ba181e3f601efa1b16d89be73a5eac21b4a5d777677e2f926096afbb,2026-09-16,441,Is Royal Gold Benefiting From Its 2025 Portfolio Expansion Actions? - TradingView,0.1,1,0,neutral,0.3547,0.5052,0.0805,1,1,0.5915,0.6586
|
||||
ebbf41fce65b2ca85d2ff128f343d5f09410cea31289efb7484caf85b8405edb,2026-09-16,441,Is Royal Gold Benefiting From Its 2025 Portfolio Expansion Actions? - tradingview.com,0.0,0,0,neutral,0.3403,0.4812,0.0517,1,1,0.5779,0.6594
|
||||
0aa5647c70583971e9a9f65248b7c3976041964c4422b6caedc7ddc07be487a9,2026-09-16,441,A hawkish Fed won't keep gold price down for long - FxPro's Kuptsikevich - kitco.com,0.6,1,-1,bearish,-0.4451,0.6765,0.4451,-1,-1,-0.4559,0.6912
|
||||
aacab9b37781d223694ed431a44418c223f2abe991854bbf298bbbe160ae097c,2026-09-16,441,A hawkish Fed won't keep gold price down for long - FxPro's Kuptsikevich - KITCO,0.6,1,-1,bearish,-0.4164,0.6551,0.4164,-1,-1,-0.385,0.6506
|
||||
2c64a0e7980138930f93b138e2d7bad99828782eae203bd6689a7deb9bdb668a,2026-09-16,441,"Gold Steadies Below $4,300 as Markets Await Fed Rate Decision - Bloomberg.com",0.0,0,-1,bearish,-0.3917,0.5804,0.3495,0,-1,-0.3808,0.5671
|
||||
9710a7f507a30a41c5b305223fd25c2effbf6e8e579e4eac65fbaa901d1e3146,2026-09-16,441,"Gold Steadies Below $4,300 as Markets Await Fed Rate Decision - bloomberg.com",0.0,0,-1,bearish,-0.3917,0.5804,0.3495,0,-1,-0.3808,0.5671
|
||||
3123df87a8b92955043e508757c10227b75fc8e8675208568c069bb0905faf86,2026-09-16,441,Gold Price Right Before the Hike - FXEmpire,-0.3,-1,-1,bearish,-0.1649,0.5013,0.1649,0,1,0.0534,0.4613
|
||||
2ad38ff45c5d2e37b6788abb7d7daf993b35306b622d585913a3208f45cbae07,2026-09-16,441,"Gold price trades at $4,340/oz after retail sales rise 1.2% in August - KITCO",-0.5,-1,1,bullish,0.2082,0.5011,0.2082,0,1,0.3202,0.5223
|
||||
68604b76dd3025b9863c1a6d85def35a3418359894a0b2a29bf9fc5c46807424,2026-09-16,441,Gold recovers ahead of Fed: Can the rebound survive a rate hike? - FXStreet,-0.5,-1,1,bullish,0.2643,0.5803,0.2643,-1,1,0.4174,0.6875
|
||||
d7b871b7106d7cdf079a8543d2b994853082b932c7f27031f1f5c36eaf7fb609,2026-09-16,441,"Gold Price Today on September 16, 2026 - USA Today",0.0,0,0,neutral,-0.0094,0.9473,0.9162,0,0,-0.0065,0.9547
|
||||
fc56c9ef43e6a4f64546a51d689e9a5c27dc186c6f69e8c2023dafc3a3154cdb,2026-09-16,441,"Gold Price Today on September 16, 2026 - usatoday.com",0.0,0,0,neutral,-0.0141,0.9271,0.8836,0,0,-0.0091,0.9404
|
||||
2f9b83e5863ba4fbc45880a3dd870d5c9cf0846bf11607559f0806ed5a84dcc8,2026-09-16,441,"Gold price up by Rs 1,700 per tola in domestic market - Khabarhub",0.5,1,-1,bearish,-0.3726,0.5674,0.3297,0,-1,-0.1641,0.4404
|
||||
39633f2b82160f49c62705f3516094440bb0ba934b17c53aece33f8cb3b5339f,2026-09-16,441,"Gold price up by Rs 1,700 per tola in domestic market - english.khabarhub.com",0.4,1,-1,bearish,-0.4321,0.6145,0.4115,0,-1,-0.2044,0.4739
|
||||
862cbeab8dad06a9b8d8fd4419b17956452687443288619c7ca706a123a108c7,2026-09-16,441,Gold price right before the hike,-0.5,-1,-1,bearish,-0.3397,0.5117,0.1954,0,1,0.1425,0.5128
|
||||
57067f4dd2e745a1651f7d59918bab557f5d938d3078c386ea82a0aaa76f11f9,2026-09-16,441,"Fed Decision Could Decide Gold’s Next Move: Will XAUUSD Reject $4,355 or Break Above $4,388? - Cryptonews.net",0.0,0,1,bullish,0.6102,0.7321,0.5861,0,1,0.7067,0.8055
|
||||
0c5a90f1100884fa22644570448007cc9dec5f950b4c34c6c7fdc23df0c51492,2026-09-16,441,Bitcoin and Gold Outlook: BTC defends support as XAU rebounds ahead of Fed decision,0.4,1,1,bullish,0.8111,0.8819,0.8111,0,1,0.7544,0.8576
|
||||
d30814a798d4a85d8546727099d0b6513b5aa966d43538304f5fbfc7af2e5e8d,2026-09-16,441,Gold price buckles under Warsh’s inflation fixation as Fed hikes rates - KITCO,-0.8,-1,-1,bearish,-0.1619,0.5492,0.1619,0,-1,-0.3091,0.6304
|
||||
373dd350feb6b583928b455ca9d50b0b5b2b5591596ab790e46a5aa6555446f4,2026-09-16,441,5 Gold & Silver Stories the Fed Had Nothing to Do With - GoldSilver,0.0,0,0,neutral,0.0229,0.6449,0.4559,0,0,0.0527,0.5381
|
||||
eae5d7efacdea40c715cba302a6c755f20fe63f506ecfa1917bda2a9c6b66a65,2026-09-16,441,5 Gold & Silver Stories the Fed Had Nothing to Do With - goldsilver.com,0.0,0,0,neutral,-0.0388,0.5766,0.3455,0,0,0.0309,0.5074
|
||||
27c903eeb4df1cd724f4481aec2289278880806cda10d81041a6e2a5c8b6999e,2026-09-16,441,"Gold (XAUUSD), Silver, Platinum Forecasts – Gold Rebounds Ahead Of Fed Decision - FXEmpire",0.3,1,1,bullish,0.6718,0.7962,0.6718,0,1,0.7416,0.8482
|
||||
9163583f2eb3e64ecc4971612b66876baecb6a7a6364d150a5f17989233cc33e,2026-09-16,441,Federal Reserve hawkish hike sent Gold price lower,-0.7,-1,-1,bearish,-0.1787,0.5198,0.1787,-1,-1,-0.8411,0.9086
|
||||
46e000f884c1f1096de3e5d36cb755fd425ac8d3b0c66c11de9c272f9cc34f87,2026-09-16,441,Gold price retreats after Fed delivers rate hike - Mining.com.au,-0.8,-1,-1,bearish,-0.5982,0.7573,0.5982,-1,-1,-0.7086,0.8275
|
||||
669def46f16c34cf616db1ef748698566e1ed4463379f2353b78723c707b1155,2026-09-16,441,Gold ETF Outflows Reach Six Hundred Million Dollars - GoldSilver,-0.6,-1,0,neutral,0.3523,0.5183,0.1013,0,0,0.2958,0.6024
|
||||
73b5038439d533f6a45e2685903bbed3a5fc0a515fda693521d85b6f2a769e95,2026-09-16,441,Gold ETF Outflows Reach Six Hundred Million Dollars - goldsilver.com,-0.6,-1,0,neutral,0.3368,0.474,0.0426,0,0,0.2948,0.5728
|
||||
e024fdf5a2f6e76e1ca8d17cca8b1132d523ff62d53c1c2f244e5b4bb02adc9f,2026-09-16,441, US Federal Reserve sends Gold to fresh one-month lows ,-0.8,-1,1,bullish,0.035,0.4148,0.035,0,-1,-0.1504,0.4878
|
||||
81d8ffdfafbc798f49268ab9972c999c4b5eddad085d615e1be2c4c82a3793ce,2026-09-16,441,Gold price buckles under Warsh’s inflation fixation as Fed hikes rates - kitco.com,-0.8,-1,-1,bearish,-0.2637,0.6025,0.2637,0,-1,-0.2771,0.6156
|
||||
d956e670392ac558683baf3aaa94d0d5375b7f342721f5a768de719cc9737928,2026-09-16,441,Peter Schiff: “The Fed Has Already Lost The Battle Against Inflation” & BTC vs GOLD Debate - CryptoRank,0.5,1,1,bullish,0.3284,0.4935,0.1522,0,0,0.3134,0.4613
|
||||
7b1635f6ccc2e630783355e28926440dbc471f03f2432aad5b414f806fed6234,2026-09-16,441,"Gold Falls Below $4,300 as Fed Hikes Rates and Signals More Tightening - News and Statistics - IndexBox",-0.8,-1,-1,bearish,-0.95,0.9673,0.95,-1,-1,-0.9829,0.9894
|
||||
579b7bfb4f9cee79437ab415f8f880afcd3abf8921bad4a1cd63ba9d6e4ee846,2026-09-16,441,"Fed Decision Could Decide Gold’s Next Move: Will XAUUSD Reject $4,355 or Break Above $4,388? - CryptoRank",0.0,0,1,bullish,0.6178,0.7352,0.5877,0,1,0.6859,0.7946
|
||||
7129012b92c23a496659afdeb1ab8837266256395e45d11c29cc8466b654adbf,2026-09-16,441,"Gold falls to near $4,250 after Fed delivers rate hike - FXStreet",-0.8,-1,-1,bearish,-0.9155,0.9522,0.9155,-1,-1,-0.9836,0.9905
|
||||
ed9abf5c60394b3987604a9954ba2626f9c87c2acd9b2493fd7c7354a0dda492,2026-09-16,441,"Gold falls to near $4,250 after Fed delivers rate hike ",-0.8,-1,-1,bearish,-0.7982,0.8849,0.7982,-1,-1,-0.9827,0.9906
|
||||
f003bee3848d93d89373be2c8ae274ed31228ac9665380a0abf10e5f0e5e4cc1,2026-09-16,441,Gold Holds Decline After Fed Tilts Hawkish and Raises Rates - Bloomberg,-0.8,-1,-1,bearish,-0.8091,0.8788,0.8091,-1,-1,-0.9357,0.9609
|
||||
38fbbca03dadb1768324f1181cf10d37baf687ec93635e4688eeb96e5fdfece1,2026-09-17,556,"Gold price update morning of September 17: Price fluctuates strongly, Fed increases basic interest rate by 0.25% - Laodong.vn",-0.6,-1,1,bullish,0.4007,0.5694,0.3077,0,1,0.4257,0.6103
|
||||
f73541291745596fdef4f75d2de1baaddedfdf73fd210b78467d64ca912f5d67,2026-09-17,556,"Gold price drops to $4,310/oz as Fed votes 12-0 in favor of 25 bps rate hike, with 16 of 18 policymakers seeing another hike in 2026 - KITCO",-0.9,-1,-1,bearish,-0.9334,0.9585,0.9334,-1,-1,-0.9858,0.991
|
||||
0a2a0e175f45641c70fd24c65fc7cae005fb3c562a7fac9c4483ababf61006eb,2026-09-17,556,Gold rebounds after Fed rate rise as banks back long-term demand outlook - scmp.com,0.4,1,1,bullish,0.789,0.8845,0.789,0,1,0.8463,0.9159
|
||||
7f545a564f292e531b9da3b07b5ca28dabfe25dadb6961ea38c6486cb58668bb,2026-09-17,556,Gold Ticks Up as Markets Weigh Fed Path - WSJ,0.3,1,1,bullish,0.144,0.4159,0.1036,0,1,0.1896,0.4734
|
||||
a9c9f3dca70da03b30525afb8f6b83ca16d2dbd66cda05227ca8019be21ef773,2026-09-17,556,Gold Shows Further Signs of Weakness – Analysis – 17-09-2026 - Economies.com,-0.5,-1,0,neutral,-0.1312,0.5107,0.2004,0,0,-0.1318,0.5638
|
||||
ac63a80975e3d9c344e228585a1f2d843d0d6efd5dcb1528a09813929f5567fe,2026-09-17,556,Gold Shows Further Signs of Weakness – Analysis – 17-09-2026 - economies.com,-0.7,-1,0,neutral,-0.1312,0.5107,0.2004,0,0,-0.1318,0.5638
|
||||
345b027fcbb04a38e3baf7f370966ba2d2e22e282ac05f757726b03c20ea0126,2026-09-17,556,How US Fed Rate Hike Will Impact Gold Prices — Key Factors To Watch - NDTV Profit,-0.7,-1,-1,bearish,-0.532,0.6943,0.532,-1,-1,-0.4398,0.6675
|
||||
5f24f6ab96d487fba3ef223052ed836c56a67043d8f4b96f85292904ac12ba0a,2026-09-17,556,Fed rate decision sends gold lower - Mining.com.au,-0.7,-1,1,bullish,0.0,0.4198,0.0,0,-1,-0.0932,0.4425
|
||||
d649ec9d73d3e61db79865a123cb0ba8080ec8b7b868e7ae3431ff33c8d810d3,2026-09-17,556,"Gold Price Forecast: Fed Hikes Rates as Expected, May Raise Again This Year; Can Gold Hold $4,200? - TradingKey",0.2,1,0,neutral,-0.0267,0.4559,0.1705,0,1,0.1919,0.4525
|
||||
4fa3ce9ae1d185160038a83de418e2ba3412ef24005f5b9058d05ae96554b78f,2026-09-17,556,Gold Price Forecast: XAU/USD bounces but not out of the woods yet - FXStreet,0.3,1,0,neutral,0.3739,0.4907,0.0491,0,0,0.2524,0.6559
|
||||
f96129fa9005071a7b6533ed711d6b6f234544844e054b946ae20f388826119d,2026-09-17,556,Gold Price Forecast: XAU/USD bounces but not out of the woods yet ,0.3,1,1,bullish,0.2791,0.5545,0.2791,0,0,0.3094,0.5929
|
||||
166d0759edd90cad6efc37b13415327cd3fb33b61c5587bd45e702e687da3009,2026-09-17,556,"Gold retakes $4,300 amid modest USD pullback but hawkish Fed caps upside",0.4,1,1,bullish,0.3978,0.6858,0.3978,-1,-1,-0.7095,0.8391
|
||||
4323e37b9e6f10fe365dc8288def3cefaef8f1f572275f8baed61b9d7c1ed5e9,2026-09-17,556,Gold stalls recovery from six-week low as USD preserves post-Fed gains amid Iran risks,-0.3,-1,1,bullish,0.408,0.6931,0.408,0,1,0.6491,0.8203
|
||||
89f5c1905c4222ff572fb4e34a4d51dc44750df1c42dcba7015244e29bab8dea,2026-09-17,556,Gold struggles to build on recovery gains as hawkish Fed and Iran risks underpin USD,-0.5,-1,-1,bearish,-0.1337,0.5489,0.1337,-1,-1,-0.2177,0.5813
|
||||
5f8c32c869b13452bf9797ecb91867674583ddbb3ace2ac38bcd662f2506efc5,2026-09-17,556,"Antam's gold price rose by Rp5,000 to Rp2,598,000 per gram on Thursday morning. However, the buyback price or buyback did not move and remained at Rp2,438,000 per gram. - VOI.ID",0.3,1,1,bullish,0.2502,0.4462,0.0885,0,1,0.3388,0.5177
|
||||
f12124f5e0b7852b7053f9113ce54123ffdb839f8a92aeabf6034043470c5c13,2026-09-17,556,"Antam's gold price rose by Rp5,000 to Rp2,598,000 per gram on Thursday morning. However, the buyback price or buyback did not move and remained at Rp2,438,000 per gram. - VOI.id",0.1,1,1,bullish,0.2502,0.4462,0.0885,0,1,0.3388,0.5177
|
||||
d7bf3f27823d967b4e150ffb5282daf643bc2a64f6cac7cd1e0d21a8c554dedc,2026-09-17,556,"Gold Price Reclaims $4,300 After a $125 Fed Whipsaw, but Futures Still Trail Settlement - TechStock²",0.7,1,1,bullish,0.4609,0.6499,0.4609,0,1,0.2685,0.5246
|
||||
ce4c086463bed94a7fdfad7d05a3ebc3bd98c2622779032f69f49f954e143652,2026-09-17,556,"Malaysia Gold price today: Gold rises, according to FXStreet data",0.3,1,1,bullish,0.1868,0.4564,0.1823,1,1,0.5013,0.6547
|
||||
634f12e249b47508e34e7bb25158f1867248e51efff4f37d807f44706b4b6a9c,2026-09-17,556,"Gold prices fall Rs 2,000/10 gram, silver dips Rs 4,600/kg as US Fed hikes rate after 3 years. Time to sel - The Economic Times",-0.8,-1,-1,bearish,-0.2428,0.6012,0.2428,0,-1,-0.4268,0.6995
|
||||
d0666002038b9ed457109a06db8695276b7b2af9481faa28bcf5731fe5b4e500,2026-09-17,556,"Gold prices fall Rs 2,000/10 gram, silver dips Rs 4,600/kg as US Fed hikes rate after 3 years. Time to sel - economictimes.indiatimes.com",-0.7,-1,-1,bearish,-0.4118,0.6892,0.4118,0,-1,-0.5856,0.7817
|
||||
86204011f4cc2c2664fea3bbe3d76134e994b2dfdc4fa7b5a9db2cada4002473,2026-09-17,556,"India Gold price today: Gold rises, according to FXStreet data",0.3,1,1,bullish,0.1849,0.4672,0.1849,1,1,0.4682,0.6469
|
||||
97a4c991ecb0c60bd723a0230b23236d807453dfc07204f2dd1139cdec284ccc,2026-09-17,556,"Pakistan Gold price today: Gold rises, according to FXStreet data",0.4,1,1,bullish,0.386,0.6264,0.386,1,1,0.6758,0.7892
|
||||
a047e2d77358fd945b9d17b6be93f0a4f237587bca2182d6ce73cc911c1c9b43,2026-09-17,556,"United Arab Emirates Gold price today: Gold rises, according to FXStreet data",0.4,1,0,neutral,0.1338,0.4317,0.0806,1,1,0.4088,0.5476
|
||||
4be9b3634f5d2fb89efb0c51adeac4074e5cd717e2a4ffa0147ddd3a8042f080,2026-09-17,556,"Philippines Gold price today: Gold rises, according to FXStreet data",0.4,1,1,bullish,0.1104,0.4775,0.1104,1,1,0.497,0.6892
|
||||
b14e76682a30521ea98764176e97193f6823dcfae421cdcd60b50317e6255e1c,2026-09-17,556,"Saudi Arabia Gold price today: Gold rises, according to FXStreet data",0.4,1,0,neutral,0.0664,0.4478,0.1384,1,1,0.3567,0.5194
|
||||
229cfd5877fc8ada7af442f47561f1e1d420dbd71f9803650e76c72397147365,2026-09-17,556,"Gold Rate Today, September 17: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - The Indian Express",0.0,0,0,neutral,0.3627,0.5398,0.1284,0,0,0.3489,0.5476
|
||||
b5d03bd8b0c8a08683226ff8b3fd0dfe7930af8d728a4f2150a8de569ebcf921,2026-09-17,556,"Gold Rate Today, September 17: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - indianexpress.com",0.0,0,0,neutral,0.1866,0.7212,0.4886,0,0,0.177,0.726
|
||||
3e23c3a861135397822615c7ad0c7911275e584b4d03f655746d17daf5847af8,2026-09-17,556,"Gold Spot/US Dollar pressing against 1 (100%) support Arc – Potential breakdown toward 4,212 ",-0.7,-1,-1,bearish,-0.4193,0.6042,0.3932,0,-1,-0.3808,0.6665
|
||||
a100f1338628acba0bc18e0a8f7105de01cd13cf2c6f159f68fe9796357432cc,2026-09-17,556,"Gold Gets Cheaper By Nearly Rs 2,000; Silver Prices Crash Over Rs 4,500 After US Fed Rate Hike - NDTV Profit",-0.8,-1,-1,bearish,-0.4906,0.7385,0.4906,-1,-1,-0.4264,0.7067
|
||||
1abf7cc963f95e48be3290f61c9ec8a9d75b308cab019cfdf9a62e7d77ea5f38,2026-09-17,556,STARPRIME responds to diverging gold market demand with AM/PM Fixing and XAU24/7,0.0,0,0,neutral,-0.0336,0.4099,0.098,0,0,0.0641,0.4057
|
||||
3b877171f71fa3afa1f9d1ebc8d5717456fd751f407e246cd7eb620e3d0e08e3,2026-09-17,556,EUR/USD and GBP/USD break support – Gold and Silver on a knife’s edge [Video],-0.3,-1,0,neutral,-0.2063,0.4675,0.0981,0,0,-0.2133,0.6387
|
||||
390f071862e95ed44c7d4096e76cc1f8bd3d7e910c729c3ded359f44d5f2063a,2026-09-17,556,Gold: Higher yields cap recovery prospects – OCBC,-0.5,-1,-1,bearish,-0.5385,0.7391,0.5385,0,-1,-0.4302,0.7001
|
||||
53e8307a839878d0f7bc584b4ba0a160823be62cd87e75dca53acdd32cfd28eb,2026-09-17,556,"Gold Rebounds Above $4,300 After Fed Hike, but Hawkish Guidance Keeps $4,316 in Focus - FXLeaders",-0.3,-1,1,bullish,0.4767,0.7311,0.4767,-1,1,0.5295,0.7593
|
||||
55bfef078cce5ac33c586fb7cf169fe2e395ff58e90727ece1517dc3739df6e1,2026-09-17,556,Gold (XAU/USD) & Silver Price Forecast: Metals Rebound but Hawkish Fed Caps Upside - fxempire.com,-0.5,-1,-1,bearish,-0.1786,0.5415,0.1786,-1,-1,-0.2683,0.5724
|
||||
888dd66b75b360886b6b207f127354294fc15d0a9083c2f71a1da49a36af6df1,2026-09-17,556,Gold (XAU/USD) & Silver Price Forecast: Metals Rebound but Hawkish Fed Caps Upside - FXEmpire,-0.4,-1,-1,bearish,-0.1713,0.5466,0.1713,-1,-1,-0.2371,0.5647
|
||||
d34201d9850fde0a58d856df89603edbb627e86f9963e78a99b9f9da96d45f9d,2026-09-17,556,Gold Price Reaches JD 87.5 per Gram... - jordannews.jo,0.4,1,-1,bearish,-0.1768,0.4561,0.1768,0,-1,-0.1203,0.4147
|
||||
c5bf2831010b1059065948d241a5bd8cddc864b7c8ff52bb459a52707d7d65d2,2026-09-17,556,Gold extends fragile recovery from multi-week low as softer bond yields weigh on USD - FXStreet,0.7,1,1,bullish,0.4531,0.6887,0.4531,0,1,0.6124,0.783
|
||||
e8740a5c916da1c879e069fd95580a14eda399848a8ca2367a6767311a1ab9f0,2026-09-17,556,India gold market update: Cautious festive optimism | Post by Kavita Chacko | Insights - World Gold Council,0.3,1,1,bullish,0.5527,0.6819,0.4929,0,1,0.6064,0.7144
|
||||
403b39b33f90d73946f97efd6baa0f6cada5814b7297925294c3401d8cd6aa12,2026-09-17,556,This XAUUSD gold analysis video shows where the gold trade is after the Fed last night,0.0,0,-1,bearish,-0.1852,0.4215,0.0794,0,1,0.2683,0.5408
|
||||
c2ef0ed73b624c263bb23b6c5e3ce276198d389ee6bbfdf4c89771d84bf371ad,2026-09-17,556,Gold prices slip - VnExpress International,-0.4,-1,-1,bearish,-0.216,0.555,0.216,0,-1,-0.3373,0.6093
|
||||
099af09928409daf95f2ce4df5d83ef019a066cf674c944a3dc1077dc8a62379,2026-09-17,556,"Gold, silver price prediction: Will gold, silver continue to fall? Check outlook on September 17, 2026 - timesofindia.indiatimes.com",-0.4,-1,-1,bearish,-0.5122,0.6775,0.5122,0,-1,-0.434,0.6174
|
||||
4a919b1a6ca8079bcb528121ce287abf748dbbcd81f4968577f641cf7622a248,2026-09-17,556,"Gold, silver price prediction: Will gold, silver continue to fall? Check outlook on September 17, 2026 - The Times of India",-0.4,-1,-1,bearish,-0.6056,0.7322,0.5909,0,-1,-0.5074,0.6641
|
||||
2ea81037c81aff0a7c5eceedc33eac5103070752adf46f5cd217c27dc40dad74,2026-09-17,556,Gold rebounds after Fed rate rise as banks back long-term demand outlook - South China Morning Post,0.4,1,1,bullish,0.877,0.9313,0.877,0,1,0.883,0.9353
|
||||
c6c75024399edf24fee2168cba52dea61eb3cb793672e1723aceba73c9398f18,2026-09-17,556,"Gold Price Absorbs Hawkish Fed Hike—Will 4,368 Confirm a Reversal? - Action Forex",-0.6,-1,-1,bearish,-0.6883,0.8132,0.6883,-1,-1,-0.7281,0.8467
|
||||
ab9eb8bbce2b6e14dceecc706683d065adda92d4938dcb77f6981e1ee514551e,2026-09-17,556,"Gold Price Forecast September 2026: Fed Hikes Rates, Gold Rebounds Above US$4,300 - Mitrade",-0.5,-1,1,bullish,0.8136,0.8704,0.7976,0,1,0.8704,0.9132
|
||||
6fb6ccc0f15fdec32a391784afd7bf0172a0534d5488b581633ca71f186b1553,2026-09-17,556,21-Karat Gold Price Stands at JD87.5 in Local Market - وكالة الانباء الاردنية,0.0,0,0,neutral,0.1062,0.7039,0.5028,0,0,0.1318,0.7445
|
||||
3f9a9e8e09a0b4ba602308d1dbe8b1f9dfff77ee4e1d68b175975c19f69b6fb5,2026-09-17,556,Gold Price Forecast: Fed Hike and 5% Treasury Yields Test Recovery - fxempire.com,-0.8,-1,-1,bearish,-0.5897,0.7343,0.5897,0,-1,-0.6946,0.7956
|
||||
44595afa0603f90884e03692c151a48ea52fa4b5fa5e0a024b5e8d488789d426,2026-09-17,556,Gold Price Forecast: Fed Hike and 5% Treasury Yields Test Recovery - FXEmpire,-0.6,-1,-1,bearish,-0.6549,0.7824,0.6549,0,-1,-0.7509,0.8369
|
||||
edf1abffb96349cd594081f2e14f889a6e5ca64362b2165ef42db9598b2bd342,2026-09-17,556,"Gold Rises as Traders Reassess Positions after Fed Rate Hike, Oil Rally Eases - ASHARQ AL-AWSAT English",0.6,1,-1,bearish,-0.093,0.5412,0.093,1,1,0.1611,0.5774
|
||||
4be88e19794c369dbed503021a185e866d02343c623cfce4925b1c1a97d4609a,2026-09-17,556,Gold (XAU/USD) analysis: The market overreacts to Fed decision; Middle East and data now in focus,0.3,1,1,bullish,0.1777,0.4269,0.1028,0,1,0.6558,0.7217
|
||||
3a84ae43846bf32f3cc4e7964a7643deecb2f5515977cb7ccd705fc821804831,2026-09-17,556,"Gold Price Forecast: XAU/USD gains as oil rally eases, upside seems limited amid hawkish Fed bets",0.3,1,1,bullish,0.4245,0.6986,0.4245,0,1,0.5707,0.7761
|
||||
3b7d42d8239b574eff148841de1af4287753383a8d9ae3315adaa472b302381a,2026-09-17,556,"Gold price today, Thursday, September 17, 2026: Gold prices relatively stable following Fed rate increase - Yahoo Finance",-0.7,-1,0,neutral,-0.2093,0.4281,0.0375,0,0,-0.1015,0.5744
|
||||
1971380f5697d36e5839317f5e0c07ad82872e233a3eb08bad89bed0736f5d44,2026-09-17,556,"Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price - Taiwan News",0.1,1,0,neutral,0.0154,0.5873,0.3732,0,0,0.1254,0.5959
|
||||
a55d1797e3c74161fda768ced13c93360686d5c0abf4e534240b6ff22d338d02,2026-09-17,556,"Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price - taiwannews.com.tw",0.0,0,0,neutral,-0.0512,0.5734,0.3345,0,0,0.0748,0.5717
|
||||
8f99a949e572dbc9121743456bdee3f249bd61d4d0452163c52762231ea64a76,2026-09-17,556,"Gold price at the close of the session on September 17: World gold surges, domestic decreases - Laodong.vn",0.6,1,1,bullish,0.7411,0.8003,0.6599,1,1,0.8389,0.8714
|
||||
54299d403ab464a572c89c62dac257cbabeecad142a9c7594c32bcb3c302165a,2026-09-17,556,"Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price - markets.businessinsider.com",0.1,1,0,neutral,-0.0506,0.5774,0.3409,0,0,0.0763,0.5708
|
||||
15bc52f4ae2995e51e4fc9899848df3a9c0c6a3d42d839093f2fba48124b8f00,2026-09-17,556,Gold prices rise after Bank of England holds ra... - Pluang,0.5,1,1,bullish,0.945,0.9614,0.9391,0,1,0.9701,0.9795
|
||||
4a8ff4e8567fed2e1380bd0cc9586e932ede4a462616f40dfe245ac6c56e46f7,2026-09-17,556,"Gold recovers after Fed-led sell-off, but hawkish outlook caps gains",0.3,1,1,bullish,0.2565,0.6166,0.2565,-1,1,0.4872,0.7375
|
||||
5cdf93b2f981745aa7cf06a4bfe09c127a10afac92bba09c7756ead532374e8e,2026-09-17,556,Gold climbs over 2% as US Dollar trims post-Fed gains,0.8,1,1,bullish,0.43,0.7061,0.43,1,1,0.7865,0.8898
|
||||
17bf9c163fb3ebfbf717ade8731a53da06556af9163ef28aa6ee7f367435a792,2026-09-17,556,"Bitcoin vs Gold Forecast: BTC Consolidates, Gold Retests $4,200 as Markets Price in 2 More Rate Hikes - coingape.com",-0.4,-1,1,bullish,0.0566,0.369,0.0504,-1,-1,-0.1026,0.4238
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,101 @@
|
||||
hash,headline,day,archived_xau,today_xau,today_s,archived_cls,today_cls,oof_model_cls,oof_model_score
|
||||
a4f1050a73c2bb1ceaa83b24b10a7f05b6f66c692b7e0ed13cc7f57b116947ab,"Gold Price Today on September 10, 2026 - usatoday.com",2026-09-10,0.0,0.0,0.0,0,0,0,0.0323
|
||||
e9f2a380030da0a1395b0cc11948eef2c420ac625fc962a51601f7a6dd8a4ce8,"Gold at $15,000: Fantasy, forecast - or warning? - kitco.com",2026-09-08,0.5,0.3,0.3,1,1,,
|
||||
47955a2d43b262e1de1c20a86ad54125ff5145fe8783a32448478f2f1883c00e,EUR/USD breaks bearish – Is 1.1500 next as Gold and Silver turn heavy? [Video],2026-09-14,-0.5,-0.4,-0.3,-1,-1,1,0.0983
|
||||
828676d356406799ea521e36e43ca86e95a0fc6c710827b712860f0c10c286ed,Gold slips as oil rally fans rate hike bets ahead of Fed meeting - CNBC,2026-09-14,-0.7,-0.6,-0.5,-1,-1,-1,-0.6166
|
||||
4119ed818fdb295d39fde32c27827a1a4f923236d21c3ca9847ba26b56444051,Global managers and South Korea boost gold ETF bets amid geopolitics - CHOSUNBIZ - biz.chosun.com,2026-09-14,0.7,0.5,0.4,1,1,1,0.152
|
||||
515c3e3c89b607c8348186290a726e289a012deefb998679d2eb35ea744e89fd,"Gold eyes $4,300 break as USD sticks to gains amid Fed hike bets, ahead of US CPI",2026-09-11,-0.5,-0.6,-0.4,-1,-1,1,0.1766
|
||||
9e5c86b936d41d999d671f0ca89e7ac1cc54f2aa2cb6b62938b7228751c08370,"As yields/USD move higher, gold is falling sharply. The price cracks below it 100 day MA/trendline",2026-09-10,-0.8,-0.7,-0.6,-1,-1,1,0.177
|
||||
0a2a0e175f45641c70fd24c65fc7cae005fb3c562a7fac9c4483ababf61006eb,Gold rebounds after Fed rate rise as banks back long-term demand outlook - scmp.com,2026-09-17,0.4,0.3,0.2,1,1,1,0.789
|
||||
dabd4b9276fba87aedf48dce7873abe0f894218cafce351add149b31c039b7ce,Forecast update for Gold -10-09-2026 - Economies.com,2026-09-10,0.0,0.0,0.0,0,0,0,0.1033
|
||||
edf1abffb96349cd594081f2e14f889a6e5ca64362b2165ef42db9598b2bd342,"Gold Rises as Traders Reassess Positions after Fed Rate Hike, Oil Rally Eases - ASHARQ AL-AWSAT English",2026-09-17,0.6,0.4,0.3,1,1,-1,-0.093
|
||||
703e7f4d9c5dcb1436bc051fc568a1bf00ce51c27d5cc09c015fdbcbd9408c74,Gold bulls hit 100-day SMA wall as US yields bite,2026-09-15,-0.6,-0.6,-0.5,-1,-1,1,0.4031
|
||||
e134f728a32cea4ee00f643ec4f9867161552a6df5bd4ea39d407ffa7c92fea4,"Gold Price Today on September 09, 2026 - USA Today",2026-09-09,0.0,0.0,0.0,0,0,,
|
||||
86e81133adebf697dd07c0ef29cd4306bb891d63fc4f8dce126fc02da8d4e7f4,"Gold slumps to near $4,350 amid oil-driven inflation fears, US inflation data in focus",2026-09-08,-0.6,-0.6,-0.5,-1,-1,,
|
||||
bb5873803dafe81b0985f0dd1df36e63d7d01a7dc20d61ceb1f0dd2acf897a0d,"Gold slides as US PPI reinforces Fed hike expectations, US Dollar and yields rise",2026-09-10,-0.8,-0.7,-0.6,-1,-1,-1,-0.2603
|
||||
2e96488c60b31e0fe9de8e8e8a540d840a3a8dcc14dd29e5b812b1298e02d090,Gold and silver WARNING: The risks could keep prices rising - kitco.com,2026-09-11,0.4,0.3,0.2,1,1,1,0.3352
|
||||
7698b973e53be901130504a8ef076dd6eb00a9c23b3b06c6216d07163e4643e5,"Gold slips as hotter US inflation lifts Fed hike bets, oil stokes price pressures - Investing.com",2026-09-14,-0.8,-0.7,-0.6,-1,-1,-1,-0.1667
|
||||
b6edf2fc5974998ebeb17ac995ea9b92478446aa901325878c3d99c4a449e5e8,"Gold, silver prices rise as oil eases before Fed decision - Kitco AM Report - KITCO",2026-09-16,0.6,0.4,0.3,1,1,-1,-0.3388
|
||||
d1acfac114aa7b4ce6c159bfce04e9bc75d8c93f72a828edd6c3ce47d746bf8e,"Gold Price Forecast: $4,511 Breakout Could Spark Momentum - FXEmpire",2026-09-08,0.6,0.5,0.4,1,1,,
|
||||
634f12e249b47508e34e7bb25158f1867248e51efff4f37d807f44706b4b6a9c,"Gold prices fall Rs 2,000/10 gram, silver dips Rs 4,600/kg as US Fed hikes rate after 3 years. Time to sel - The Economic Times",2026-09-17,-0.8,-0.7,-0.6,-1,-1,-1,-0.2428
|
||||
382fdf8d0571c0565bee63b9580fa7e59c1009bae7ebf83786a8245b18dec7b7,Gold Forecast: Fed rate decision and dot plot key for XAU/USD - FXStreet,2026-09-11,0.0,0.0,0.0,0,0,-1,-0.162
|
||||
1971380f5697d36e5839317f5e0c07ad82872e233a3eb08bad89bed0736f5d44,"Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price - Taiwan News",2026-09-17,0.1,0.1,0.1,1,1,0,0.0154
|
||||
5f41deb2d6028a679fc78889957e0a8ffee7a14308c9f5816a120dd2a3ec1ea8,Gold Price September 16 2026 - Robinhood,2026-09-15,0.0,0.0,0.0,0,0,0,0.0063
|
||||
58974b70bcfa032c0f46ea9d4fb237ad9364b8fe9d9c047aa72f197243f12bc7,Gold Price September 14 2026 - Robinhood,2026-09-11,0.0,0.0,0.0,0,0,0,0.0266
|
||||
4f8673b1ee9381337a29511bf1704c4ce3e7459e01fd62063b9d0e46e795f305,Gold gains some positive traction as USD bulls turn cautious ahead of Fed rate decision,2026-09-16,0.6,0.4,0.3,1,1,1,0.5695
|
||||
043e20e56c1c0b2fb68faac6159e357b44bb446adfef98626c722fc372f004a2,"Gold tests the major $4,300 support again, as rate hike bets and rising oil threaten a breakdown",2026-09-14,-0.8,-0.6,-0.5,-1,-1,-1,-0.606
|
||||
a832a48cf7b38e2328d544f216273ad96b1fed83ee68c56682625497191f2994,Why Barrick Mining Can Rise Despite Risks To Gold Prices (NYSE:B) - Seeking Alpha,2026-09-08,0.0,0.1,0.1,0,1,,
|
||||
3034be3844643986e52ad52fd14f565600727565e2e820827b776b8ae1d0e5ed,"Gold Price Forecast: PPI and Oil Prices Fuel Inflation Concerns, Can CPI Change Gold's Direction? - TradingKey",2026-09-11,0.2,0.0,0.0,1,0,0,-0.1532
|
||||
4be88e19794c369dbed503021a185e866d02343c623cfce4925b1c1a97d4609a,Gold (XAU/USD) analysis: The market overreacts to Fed decision; Middle East and data now in focus,2026-09-17,0.3,0.0,0.0,1,0,1,0.1777
|
||||
c8e4940e161ef5d2a92bdacfa1d805b402832deae91502ef4d90381cdf38dfa7,What a Fed rate hike could mean for gold and silver prices - CBS News,2026-09-14,-0.6,-0.6,0.3,-1,-1,-1,-0.3049
|
||||
d34201d9850fde0a58d856df89603edbb627e86f9963e78a99b9f9da96d45f9d,Gold Price Reaches JD 87.5 per Gram... - jordannews.jo,2026-09-17,0.4,0.0,0.0,1,0,-1,-0.1768
|
||||
fe485083db8a46d3d2a9a9c8870a98c986793bb1e70903edcef15423def8343b,"Gold Breaks Triangle Support: XAU/USD Eyes $4,287 as CPI Becomes the Decisive Test - FXLeaders",2026-09-11,-0.5,-0.5,-0.3,-1,-1,1,0.4698
|
||||
48dab580828b8fbe7d01c83891a8cc4c1a12335363a90c86ea1e15258b48fef7,Fed Hike Odds Just Hit 90%. Gold Didn't Care. - GoldSilver,2026-09-11,0.2,0.3,0.2,1,1,-1,-0.4447
|
||||
27eb7e93b24cf3155cc881e3cfb4a8885f01838be4ec97bed7c0aac506dd508e,Gold Mining Stocks: A Unique Market Response - GoldSilver,2026-09-14,0.0,0.0,0.0,0,0,0,0.2049
|
||||
a55d1797e3c74161fda768ced13c93360686d5c0abf4e534240b6ff22d338d02,"Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price - taiwannews.com.tw",2026-09-17,0.0,0.2,0.4,0,1,0,-0.0512
|
||||
569c674d47c925064d6eff8297be2f344bc3dc3b7536fb2f146008b9b7164e0a,"Gold loses ground as US PPI reinforces Fed hike expectations, US Dollar and yields rise",2026-09-10,-0.8,-0.7,-0.5,-1,-1,1,0.214
|
||||
926d1fabb4450ec6f11d1e57452dcb470fdfdf254810368b9abcfc93a40b99c3,"Gold and silver rate today (September 15, 2026): Check 24k, 22k, 20k and 18k gold jewellery prices from Ma - The Economic Times",2026-09-15,0.0,0.0,0.0,0,0,0,-0.041
|
||||
21cd5c8cac8b6a396855b8d836f99ff47be3278e247727e7d6e87c461a2306b9,"Gold price today: Why gold is near $4,400 ahead of US inflation data | Hindustan Times - Hindustan Times",2026-09-10,0.4,0.2,0.1,1,1,1,0.2207
|
||||
46d28dfa18a50ff69e892a97380c2e26b0802637b72df43e0d8daebbcf2f1723,"Gold remains vulnerable near one-month low, below $4,300 amid Fed hike bets, bullish USD",2026-09-15,-0.8,-0.6,-0.4,-1,-1,-1,-0.1736
|
||||
e80f32866e8c7deba19c025fd841cf3e403cbc3d6df2d25d212359c10576af2e,Gold Price September 15 2026 - robinhood.com,2026-09-14,0.0,0.0,0.0,0,0,0,0.0317
|
||||
d78df99bf64e2509df4503d611ce9771e0808db7fec1ca95e125c1935d3c2f99,"Saudi Arabia Gold price today: Gold falls, according to FXStreet data",2026-09-14,-0.5,-0.3,-0.2,-1,-1,-1,-0.8214
|
||||
85ef9a417d17cf82c366f0d9f39d461536ca2438da0d79598d696b70d637b43f,Chart of the Week: Will the gold price continue to fall? - Morningstar Australia,2026-09-09,-0.5,-0.4,-0.3,-1,-1,,
|
||||
123466f1165dbcfed87e7895b6d8764544cc8041187a79a69da217ff7a07a056,Gold Price Increases by NPR 800 in Nepali Market - english.ratopati.com,2026-09-16,0.5,0.2,0.2,1,1,-1,-0.5034
|
||||
81d8ffdfafbc798f49268ab9972c999c4b5eddad085d615e1be2c4c82a3793ce,Gold price buckles under Warsh’s inflation fixation as Fed hikes rates - kitco.com,2026-09-16,-0.8,-0.8,-0.6,-1,-1,-1,-0.2637
|
||||
99596ccd5fff5306e6d2b65ae4ec3d3c29c1862c9be34e9a6ff1af61d152bb11,"Gold, silver prices retreat as US inflation, ECB rate hike pressure markets - aa.com.tr",2026-09-10,-0.7,-0.6,-0.5,-1,-1,-1,-0.231
|
||||
12044834385cfc933f583a1ecfd1db63374476a5d4b5dd33340f6c35f8480eb3,Gold: Fed risk keeps bullion vulnerable – ING - FXStreet,2026-09-15,-0.6,-0.5,-0.3,-1,-1,-1,-0.0234
|
||||
49e8ce8b627ed1dd50db08dca03c4f4e1f09b67bb5b7d21321003b027f439264,Gold Broadly Stable Ahead of Key U.S. Inflation Figures - WSJ,2026-09-10,0.0,0.0,0.0,0,0,0,0.083
|
||||
4fa3ce9ae1d185160038a83de418e2ba3412ef24005f5b9058d05ae96554b78f,Gold Price Forecast: XAU/USD bounces but not out of the woods yet - FXStreet,2026-09-17,0.3,0.1,0.0,1,1,0,0.3739
|
||||
e806b1656c38e7c1d97cf9e29ba80d3c0783c7b48a22453a4511d6181d543d46,China gold market update: Official buying accelerated in August | Post by Ray Jia | Insights - gold.org,2026-09-14,0.5,0.4,0.3,1,1,0,0.1506
|
||||
e40867137e335243b6102a879a1e154990d29c5a30059b091f0d99ea2dda5a9f,"Gold struggles below $4,300, near one-month low as USD sticks to gains ahead of Fed",2026-09-15,-0.6,-0.6,-0.4,-1,-1,-1,-0.2787
|
||||
32022390f2ee682dbe1c1b6ae9921e9614cef9b3eae1d175a6a691b3d9fddb25,"Gold prices inch up amid steady US inflation, b... - Pluang",2026-09-11,0.2,0.2,0.1,1,1,0,0.2296
|
||||
cde7d404a74d63a4c2c30ab4c985e9ea009d0a2ad1d1f5f728bb07b34b360960,"Gold sticks to gains, eyes $4,450 as USD remains depressed ahead of US inflation data",2026-09-10,0.7,0.7,0.6,1,1,1,0.2678
|
||||
e8c9876861775ade92adf2374dfa93aa9b3cd85bc6b10cd3316c12c73f0d0ccc,"Stock Market Today: Dow and Nasdaq Drop as Oil Hits $100, Gold price at $ 4,399 - Eurasia Business News",2026-09-09,0.6,0.3,0.2,1,1,,
|
||||
8b6b1d588b1d8cf98686e9413400c6d617ea9bd5d724fcfe27a97e0f3a22d1ab,Gold Price Continues to Trade Within the Bearish Corrective Track – Analysis – 14-09-2026 - Economies.com,2026-09-14,-0.6,-0.5,-0.4,-1,-1,0,0.1265
|
||||
190636307c0b05dc9b0b178cada5d832a331ef458f30e9b090dc38cced9f4f71,"Gold price in Pakistan falls Rs3,800 per tola - mettisglobal.news",2026-09-14,-0.3,-0.3,-0.3,-1,-1,-1,-0.813
|
||||
8c964fa10fd18cf320681e446aff10a4ea2f93835e593a4f7144d197601f5649,Gold – Rejection of the key reference point and potential for downside [Video],2026-09-10,-0.5,-0.5,-0.4,-1,-1,0,0.216
|
||||
ab9eb8bbce2b6e14dceecc706683d065adda92d4938dcb77f6981e1ee514551e,"Gold Price Forecast September 2026: Fed Hikes Rates, Gold Rebounds Above US$4,300 - Mitrade",2026-09-17,-0.5,0.2,0.1,-1,1,1,0.8136
|
||||
7ef22b49123023576bdf7b7d6de6361cc9e8d64e8515129f793a4a2c850cdbac,"Current price of gold as of September 10, 2026 - Fortune",2026-09-10,0.0,0.0,0.0,0,0,0,0.1795
|
||||
b14e76682a30521ea98764176e97193f6823dcfae421cdcd60b50317e6255e1c,"Saudi Arabia Gold price today: Gold rises, according to FXStreet data",2026-09-17,0.4,0.3,0.3,1,1,0,0.0664
|
||||
3b877171f71fa3afa1f9d1ebc8d5717456fd751f407e246cd7eb620e3d0e08e3,EUR/USD and GBP/USD break support – Gold and Silver on a knife’s edge [Video],2026-09-17,-0.3,-0.4,-0.3,-1,-1,0,-0.2063
|
||||
81dfa7d26a95af4c4116eb2723a7107ef20f2b49c794d5c74cbe9e133201097c,Gold price in Malaysia: Rates on September 16 - fxstreet.com,2026-09-16,0.0,0.0,0.0,0,0,0,-0.1507
|
||||
6250a37048156da3f9c47ca192aa51beddd532ba386b16f70f952574b024a38d,"India Gold price today: Gold steadies, according to FXStreet data",2026-09-15,0.0,0.1,0.1,0,1,-1,-0.2972
|
||||
c6bec7c72f44a0531600e3ab38a58c65df202e4424ada89bb3d2fbf469636c69,Gold on track for third straight weekly loss as US inflation data looms - thestar.com.my,2026-09-11,-0.6,-0.6,-0.5,-1,-1,1,0.0631
|
||||
1d1a9154ffde2c792d2606fdedbd8e6170302e7d083c00d62ed1b48d1ab0730d,Gold price in Saudi Arabia: Rates on September 15 - FXStreet,2026-09-15,0.0,0.0,0.0,0,0,0,-0.0057
|
||||
da06db847e5f4721c2a93e27fb66656800abe22646fc0265f39f370e428997a7,"Gold Price Today, September 14: International prices under pressure, domestic MCX increases marginally – Chec - India.com",2026-09-15,-0.4,-0.3,-0.3,-1,-1,-1,-0.4763
|
||||
091469673df358bb11e8b240e0f36fac8cce253992d4e0b070a37be677e5e77a,Gold prices holding its ground following muted U.S. CPI data - KITCO,2026-09-11,0.2,0.3,0.2,1,1,1,0.4295
|
||||
662a5a76a4de8def3c822d80657e8a83987d5b8b7b2c888da58db982e924b846,Gold and Silver Price Forecast: Fed Hike Risk Threatens Support - FXEmpire,2026-09-14,-0.6,-0.6,-0.5,-1,-1,-1,-0.019
|
||||
4dabccddb89b1ec75c1261966303593c3e3572ee47575096f6b1b63f1324bc92,"Gold edges higher on weaker dollar, US inflation data in focus - BusinessLine",2026-09-10,0.6,0.5,0.4,1,1,1,0.2671
|
||||
d585514ab8144f0e100697e64061ad92fa116cdfb3094c1ad54cea049c9c351c,Gold Price Prediction: Yellow Metal Surged 13% In August; Will The Rally Continue In September? - News18,2026-09-11,0.7,0.6,0.5,1,1,1,0.2705
|
||||
669def46f16c34cf616db1ef748698566e1ed4463379f2353b78723c707b1155,Gold ETF Outflows Reach Six Hundred Million Dollars - GoldSilver,2026-09-16,-0.6,-0.4,-0.4,-1,-1,0,0.3523
|
||||
15bc52f4ae2995e51e4fc9899848df3a9c0c6a3d42d839093f2fba48124b8f00,Gold prices rise after Bank of England holds ra... - Pluang,2026-09-17,0.5,0.4,0.3,1,1,1,0.945
|
||||
fd061f9fd1e5bceffd373e20ba669a33c0cd59b1c1b09a56037c482a42d64cd8,Gold on track for third straight weekly loss as US inflation data looms - The Star,2026-09-11,-0.5,-0.6,-0.5,-1,-1,1,0.049
|
||||
d8b915d570d70392d9e1edd94ee87d2bec3ef77c78649eefc77e398b6084d903,"Gold Rate Today, September 16: Check 18, 22 and 24 carat gold prices in Chennai, Mumbai, Delhi, Kolkata and other cities - The Indian Express",2026-09-16,0.1,0.0,0.0,1,0,0,0.2336
|
||||
8d970c73987ed8ac09a7d4f589e34d4e3a96998b71807b212f052e3107615bca,Gold: Fed risk keeps bullion vulnerable – ING,2026-09-15,-0.5,-0.5,-0.4,-1,-1,-1,-0.4088
|
||||
62fbfc338d07246280f81ee063977682fd8d663e21c05023537cf58a989077ea,"Gold Price Today, September 14: Gold pressured by Middle East tensions, dollar, US CP - Check retail rates of - india.com",2026-09-14,-0.5,-0.4,-0.3,-1,-1,0,0.1065
|
||||
b81a6f72e94840f62378d426244769aacd8b9d6c4949b50c0116f243d7ba2a6b,Gold price dodges CPI shock as US yields hand bulls lifeline,2026-09-11,0.5,0.5,0.4,1,1,-1,-0.297
|
||||
94dfe9cd8e339cfadb35fcc925d2dbac6f69ba07982317b9fb6fd64fc815cc65,"Gold falls to over one-month low as oil rally, inflation data boost rate hike bets - Bangkok Post",2026-09-14,-0.8,-0.7,-0.6,-1,-1,-1,-0.9093
|
||||
3a4d36f618b7eb33f30a18b578a7e7582f4dac0a8d1d1ed82fa9a0f82080e19e,"Gold edges higher on weaker greenback, US inflation data in focus - The Business Times",2026-09-10,0.5,0.4,0.3,1,1,1,0.1613
|
||||
0cacecd8f598d30f16749ad19501c1ac3dab9792371544addc3b93a7c41bbf83,"Ganesh Chaturthi 2026 Gold Prices: Check 24K, 22K Gold Rates In Mumbai, Delhi, Chennai, Kolkata, Bengaluru - NDTV Profit",2026-09-14,0.0,0.0,0.0,0,0,0,-0.0456
|
||||
3a84ae43846bf32f3cc4e7964a7643deecb2f5515977cb7ccd705fc821804831,"Gold Price Forecast: XAU/USD gains as oil rally eases, upside seems limited amid hawkish Fed bets",2026-09-17,0.3,0.3,0.2,1,1,1,0.4245
|
||||
35b26b8711e7b09c64c9691d2c33a069fc04ea8b5fcc5c6891254e591ef01fd8,"Gold Below $4300, Fed 90% Sure to Raise Rates as Oil Jumps - BullionVault",2026-09-14,-0.8,-0.8,-0.7,-1,-1,-1,-0.1806
|
||||
6bc4d41016f5ade1365c7b0cd175a19a2b21faa74830a85b39d7367da94a82a8,"Current price of gold as of September 15, 2026 - fortune.com",2026-09-15,0.0,0.0,0.0,0,0,0,0.0091
|
||||
e69b12baa74ee633d9a4ddc64cb9d04680af524857b10b84a47f95dea916f69d,Gold prices rise - VnExpress International,2026-09-14,0.5,0.4,0.3,1,1,1,0.5414
|
||||
8d8c5b0b5092f0492575ed2805089466e599b0a278d714165da5a63c8fc41e54,investingLive Asia-Pacific market news: Gold steady around $4400,2026-09-10,0.0,0.0,0.0,0,0,0,0.1348
|
||||
596015e3587a7a42b609eb1049f4806e75ad47eedd6d4ab96071de0e50440a06,"Gold Price Today on September 11, 2026 - USA Today",2026-09-11,0.0,0.0,0.0,0,0,0,0.0311
|
||||
32748523f717450012d679b42b3cd194e35d08e3d556d9b06754e041512ae3f6,Gold falls on growing Fed rate hike bets ahead of policy meeting - Reuters,2026-09-14,-0.8,-0.7,-0.6,-1,-1,-1,-0.8361
|
||||
668be0a0a2cf2fd89a938461befa7f7280754548ee28376443f1355fbf460c9d,"Gold Price Today on September 11, 2026 - usatoday.com",2026-09-11,0.0,0.0,0.0,0,0,0,0.046
|
||||
899934443d39744111862383fb78bd8d4e1202d3833ea739f6b9cdcdef2c906d,"Gold price jumps Rs7,900 per tola to Rs457,236 in Pakistan - nation.com.pk",2026-09-16,0.4,0.4,0.4,1,1,1,0.3168
|
||||
99fa268ceada352acdb73fa359b30ff8dd0643deff30c7a703f81c4d8c5802c2,Gold sellers dominate as Fed faces high stakes rate challenge,2026-09-15,-0.8,-0.6,-0.5,-1,-1,-1,-0.3779
|
||||
43047ca252ee248da117bcbcac57d8c9366974a525ad0e9439df3d73401f002a,India's Gold Rush Gets A Reality Check As Prices Fall 20% From Record High - NDTV,2026-09-16,-0.4,-0.3,-0.4,-1,-1,1,0.0857
|
||||
96713b78a84717b74605fcfd0e1be1cf879c642f2826cf7b9f81a0a3b4789b8d,"Gold, silver prices today, 11 September: Check retail rates of 24K, 22K gold, 999 silver in Delhi, Mumbai and Kolkata - Livemint",2026-09-11,0.0,0.0,0.0,0,0,-1,-0.0559
|
||||
02ec2d8228f8101d5d9060e1085e641f7210fdb9f67726d1ec64de27aa63374c,"Gold Stays Heavy Below $4,401: Fed Hike Odds Near 87% Put $4,286 Back in Focus - FXLeaders",2026-09-14,-0.8,-0.7,-0.6,-1,-1,1,0.0902
|
||||
8f99a949e572dbc9121743456bdee3f249bd61d4d0452163c52762231ea64a76,"Gold price at the close of the session on September 17: World gold surges, domestic decreases - Laodong.vn",2026-09-17,0.6,0.5,0.4,1,1,1,0.7411
|
||||
325616f30820c4403c2dd94a5d44fcd33f87ef5384ee4ec706a265de00aac827,"Malaysia Gold price today: Gold falls, according to FXStreet data",2026-09-14,-0.3,-0.3,-0.3,-1,-1,-1,-0.6485
|
||||
c96a1b2adcaee409f739a78f186cdd9585c48f8ce43d1fbf7f110ff81cff0e03,Gold price in Saudi Arabia: Rates on September 14 - fxstreet.com,2026-09-14,0.0,0.0,0.0,0,0,0,-0.0758
|
||||
b21a54e4399228d8ec0bb056f1635da46afe238d83f9787f6fff76418ce9767a,Orezone Maps Out 14 Years Of Gold At Casa Berardi - Finimize,2026-09-15,0.2,0.1,0.2,1,1,0,0.0497
|
||||
13d5b9fa01b840b89f503e92666592d2dbb2f78feced53ce46609b2acc2b4831,"Current price of gold as of September 15, 2026 - Fortune",2026-09-15,0.0,0.0,0.0,0,0,0,0.0112
|
||||
166d0759edd90cad6efc37b13415327cd3fb33b61c5587bd45e702e687da3009,"Gold retakes $4,300 amid modest USD pullback but hawkish Fed caps upside",2026-09-17,0.4,0.4,0.3,1,1,1,0.3978
|
||||
373dd350feb6b583928b455ca9d50b0b5b2b5591596ab790e46a5aa6555446f4,5 Gold & Silver Stories the Fed Had Nothing to Do With - GoldSilver,2026-09-16,0.0,0.1,0.1,0,1,0,0.0229
|
||||
6a5ca6f2a7816079ff2e0f3d7a33e705815f3da49f4951263e525fbb1aed96ec,Gold Price Forecast: Will US CPI inflation revive XAU/USD uptrend? - FXStreet,2026-09-11,0.0,0.3,0.2,0,1,1,0.2466
|
||||
54bd3d8a11ad52d1c98aed9148b11f6e1d4a98b2d1e7ba2b04090a4f1ef0edd8,Gold recovers ahead of Fed: Can the rebound survive a rate hike? - fxstreet.com,2026-09-16,0.3,0.3,0.2,1,1,-1,-0.1762
|
||||
|
@@ -0,0 +1,189 @@
|
||||
{
|
||||
"generated_at": "20260917_2322",
|
||||
"gold_rows": 616,
|
||||
"golden": {
|
||||
"gold+macro (backfilled)": {
|
||||
"accuracy": 0.5384615384615384,
|
||||
"confusion": [
|
||||
[
|
||||
16,
|
||||
4,
|
||||
12
|
||||
],
|
||||
[
|
||||
1,
|
||||
6,
|
||||
1
|
||||
],
|
||||
[
|
||||
11,
|
||||
7,
|
||||
20
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5142857142857142,
|
||||
"directional_hits": 36,
|
||||
"directional_n": 70,
|
||||
"hits": 42,
|
||||
"macro_f1": 0.5255712050078247,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.6101694915254238,
|
||||
"sign_hits": 36,
|
||||
"sign_n": 59
|
||||
},
|
||||
"gold-only (shipped data)": {
|
||||
"accuracy": 0.5,
|
||||
"confusion": [
|
||||
[
|
||||
13,
|
||||
2,
|
||||
17
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
5
|
||||
],
|
||||
[
|
||||
12,
|
||||
1,
|
||||
25
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5428571428571428,
|
||||
"directional_hits": 38,
|
||||
"directional_n": 70,
|
||||
"hits": 39,
|
||||
"macro_f1": 0.3985266422953362,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.5671641791044776,
|
||||
"sign_hits": 38,
|
||||
"sign_n": 67
|
||||
}
|
||||
},
|
||||
"macro_label_distribution": {
|
||||
"bearish": 350,
|
||||
"bullish": 228,
|
||||
"neutral": 383
|
||||
},
|
||||
"macro_rows": 961,
|
||||
"pooled_oof": {
|
||||
"gold/g+m": {
|
||||
"accuracy": 0.6155202821869489,
|
||||
"confusion": [
|
||||
[
|
||||
164,
|
||||
27,
|
||||
52
|
||||
],
|
||||
[
|
||||
15,
|
||||
74,
|
||||
32
|
||||
],
|
||||
[
|
||||
47,
|
||||
45,
|
||||
111
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6165919282511211,
|
||||
"directional_hits": 275,
|
||||
"directional_n": 446,
|
||||
"hits": 349,
|
||||
"macro_f1": 0.6038188006599577,
|
||||
"n": 567,
|
||||
"sign_agreement": 0.7352941176470589,
|
||||
"sign_hits": 275,
|
||||
"sign_n": 374
|
||||
},
|
||||
"gold/g-only": {
|
||||
"accuracy": 0.6437389770723104,
|
||||
"confusion": [
|
||||
[
|
||||
165,
|
||||
23,
|
||||
55
|
||||
],
|
||||
[
|
||||
13,
|
||||
83,
|
||||
25
|
||||
],
|
||||
[
|
||||
40,
|
||||
46,
|
||||
117
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6322869955156951,
|
||||
"directional_hits": 282,
|
||||
"directional_n": 446,
|
||||
"hits": 365,
|
||||
"macro_f1": 0.6362979163521462,
|
||||
"n": 567,
|
||||
"sign_agreement": 0.7480106100795756,
|
||||
"sign_hits": 282,
|
||||
"sign_n": 377
|
||||
},
|
||||
"macro/g+m": {
|
||||
"accuracy": 0.5183129855715871,
|
||||
"confusion": [
|
||||
[
|
||||
174,
|
||||
127,
|
||||
38
|
||||
],
|
||||
[
|
||||
43,
|
||||
244,
|
||||
58
|
||||
],
|
||||
[
|
||||
61,
|
||||
107,
|
||||
49
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.4010791366906475,
|
||||
"directional_hits": 223,
|
||||
"directional_n": 556,
|
||||
"hits": 467,
|
||||
"macro_f1": 0.47589676446146534,
|
||||
"n": 901,
|
||||
"sign_agreement": 0.6925465838509317,
|
||||
"sign_hits": 223,
|
||||
"sign_n": 322
|
||||
},
|
||||
"macro/g-only": {
|
||||
"accuracy": 0.38401775804661487,
|
||||
"confusion": [
|
||||
[
|
||||
137,
|
||||
71,
|
||||
131
|
||||
],
|
||||
[
|
||||
70,
|
||||
96,
|
||||
179
|
||||
],
|
||||
[
|
||||
65,
|
||||
39,
|
||||
113
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.44964028776978415,
|
||||
"directional_hits": 250,
|
||||
"directional_n": 556,
|
||||
"hits": 346,
|
||||
"macro_f1": 0.3833425073738865,
|
||||
"n": 901,
|
||||
"sign_agreement": 0.5605381165919282,
|
||||
"sign_hits": 250,
|
||||
"sign_n": 446
|
||||
}
|
||||
},
|
||||
"threshold": 0.05
|
||||
}
|
||||
@@ -0,0 +1,961 @@
|
||||
{"hash": "f6fe65ce8267928d5045909f8343160f7e2449384a52b7fa21e5d322f44cdb96", "headline": "U.S. Treasury sells $58 billion of 3 or notes at a high yield of 4.474%", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010745+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "5dbcc4bebf9fe24951dd5898cd2dd9316e5a6ef7aea3f5ac49482573d2da9944", "headline": "NY Fed survey: Expectations for rising unemployment rise to highest since April 2020", "day": "2026-09-08", "s": -0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.010766+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "dedd6dce703a5c52e5321846bc4131561e662a4430b91cd9267c253da7d47437", "headline": "Bank of England comments highlight worries about energy inflation", "day": "2026-09-08", "s": -0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.010776+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "896db2bba2a75e5ea423eec95296149c20c17b89278274a67b7a540e9b8e7e9d", "headline": "British Pound: Supportive BoE outlook with range trade against US Dollar – Scotiabank", "day": "2026-09-08", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010782+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "1f3cd672937438e3859850de601669a66fc1570a19c7b810f0410ca6eaad956a", "headline": "The Japanese Yen spikes and unwinds on the best pay data in decades", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010795+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "ec2d7757ad78aba43e579be5894e0d3d73900c0c9154907b3f15ced178d653bb", "headline": "Canadian Dollar trims gains as risk aversion supports US Dollar despite higher Oil prices", "day": "2026-09-08", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.010801+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a9f08d4dbdd44d9b339887c6a562941df0926845e74d81d9a246cacab1a8507b", "headline": "The Euro's rate hike does not come with a gas cargo", "day": "2026-09-08", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010807+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "c15899698d238df42ce3952f5f02616bcb4c07d2d58867aff719f32a0e6a77db", "headline": "Cryptocurrencies price prediction: XRP, Bitcoin & ZEC – American Wrap 08 September", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010812+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "770441e31107591e44a787a24d2cacb5c0f2d6de06c5e14530f1869b4e226bd0", "headline": "Pound Sterling Price News and Forecast: GBP/USD edges higher as Bailey calms recession fears", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010818+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3fa01223ffc738f7563f6c5e4a615f84b628dea3765879900207ca6ae80b3361", "headline": "NY Fed Survey of Consumers shows inflation relief, jobs-market unease", "day": "2026-09-08", "s": -0.1, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.010825+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "39716e51e8c7a5c9f22ee39931185a5ddfa89f5d8fe8191cbcb780825f2e9b9b", "headline": "Colombian Peso: Downside risk bias against US Dollar – TD Securities", "day": "2026-09-08", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010830+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "5aa8f4a2d1d0f16b4170862d563ac08634c5f6cfa64527882d3ce6ab2bf1e7b7", "headline": "British Pound edges higher as Bailey calms recession fears", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010837+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "56396444f67584d4017d6b28b182b597001e9fe4e81c8762abb62d13864d5d3b", "headline": "Australian Dollar holds firm on hawkish RBA stance, softer US Dollar", "day": "2026-09-08", "s": 0.4, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.010842+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "52789f73a58c14537b5906931efc6fd6b6b9735ddffd8fbd6c5f4dea1aa30a52", "headline": "US Dollar: Fed hold tempers dollar rebound – NBC", "day": "2026-09-08", "s": 0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.010848+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "6cea4ecf1b2f60f0b354bcca4b90cfa4c6028a59387f020d50a7e4e0bb943cb4", "headline": "Canadian Dollar: Uptrend resumes with fair value focus against US Dollar – Scotiabank", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010854+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "fd8bc0f9e8e54897b517cd6a7e0d5968b0d22cbe6489b103b6580b4907bd2f77", "headline": "Japanese Yen: Bullish momentum extends against US Dollar – Societe Generale", "day": "2026-09-08", "s": 0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010860+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "01598baf2cd7d7f069f5d7a7c8635b543f5a32e243ca13e00b39978fe46390c6", "headline": "\"Risks to inflation are to upside\": BoE's Bailey sounds a cautious note", "day": "2026-09-08", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.010866+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "82f0cdb5cb175c435df37721b5ce4cf50b87fd19b35803de85bf7ad78922309b", "headline": "Euro: ECB expectations support EUR against US Dollar – Scotiabank", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010874+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "620fb4547a51908171ee9154870a3fac804f9d6403229c7905cfa06700508624", "headline": "New Zealand Dollar retreats as Chinese imports fall short of expectations", "day": "2026-09-08", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010880+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "940d9cd823e56ebffa35a4b5f6c1e9e9331a264003e290058ba7f2da342b9990", "headline": "Japanese Yen: Carry unwind boosts gains against US Dollar - DBS", "day": "2026-09-08", "s": 0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010885+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "5a2930c0c49312ff13fd056933ec0cd1d18b00a10583a02ab0fc42b56bc4b2b5", "headline": "Canadian Dollar: Loonie rally pauses before fresh gains - NBC", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010890+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "f7637a13267ea206dfb4ab09c3e6a2d214c3f32a38432c4c6af8f8295605be85", "headline": "Gold trades lower despite weaker US Dollar as Fed hike bets weigh - FXStreet", "day": "2026-09-08", "s": -0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.010905+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "e3e9a2c82d204e681c9b2dda321f0085e866195f3265826d58acf088b1560a2d", "headline": "Gold Price Falls in Delhi; Silver Rises Amid Global Trends - Rediff MoneyWiz", "day": "2026-09-08", "s": 0.0, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.010911+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "f4a5a50ca24578383316ef084d4ab57f689fdd6b6b6f1bd3ccc286ff78155934", "headline": "Canada's retaliatory tariffs worth CA$27.6 billion take effect as trade rift with U.S. deepens", "day": "2026-09-08", "s": -0.4, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.010916+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "d988798de79829e1edc5b76a4648c78fa95f3a2b96cefc4cdda1634f34ac6679", "headline": "Japan's foreign reserves drop by a record $80 billion in August following yen intervention", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010922+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "5de492a197db649f12d33eeda01605cf7cd800b2794dc755891ccb87bce756f1", "headline": "Euro rebounds against British Pound on diverging ECB-BoE interest rate paths", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010927+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ce5f1fc9858a1ce798283e98e7102532e019e81326d0e194df67a57085a18015", "headline": "Japanese Yen: Policy scenarios favor stronger JPY against US Dollar – BBH", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010933+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "6210fcb528adc844d422d4c88b8f1e89114bad59b254d19d1c4bcb95b49046bf", "headline": "Euro: Upside bias within defined range against US Dollar – UOB", "day": "2026-09-08", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010938+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6e01a46708c3eddd3a7ef7d946d64a46c5f05a31f41f146cd0a6b850b6ca3199", "headline": "US Dollar: Mixed performance with Fed and trade risks – Scotiabank", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010943+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "26a16e5d754746522691f40cbbfcdffde5a662370cbb7cc06de0c4f4e1a62bee", "headline": "Why the Fed's interest rate call could come down to a few hundredths of a percentage point", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010949+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6cc548fbfba98cc037a9b6dd875c2a170d10480ec2c5396e9f93d816d2fed022", "headline": "Swiss Franc: Sideways consolidation inside tight band against US Dollar – UOB", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010954+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "571ddc8b4d0c6ebea7c81be64a0783d46d38577282088547776d4c3c441f97d0", "headline": "Japanese Yen: Intervention risk and key levels in focus against US Dollar – Scotiabank", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010959+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "20b0c2cf3eb08edbcf708be6fd6464a44ab1c7c8594b1cfd90d46f027a8f493f", "headline": "British Pound: Short term bias tilts higher against US Dollar – UOB", "day": "2026-09-08", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010964+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ed3f10391e0c5436f9d5f86dad282359f0ba41780cc801f5e71c933e50886495", "headline": "Forex Today: China’s inflation looms, as Lagarde tees up ECB decision", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010970+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ec7ea34b5bf4beca5e5250b75065d55237d4e8ac5aa8dc4044a21e5d8fcb51a8", "headline": "World's largest Sovereign wealth fund to cut U.S. treasury holdings", "day": "2026-09-08", "s": 0.0, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.010975+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "f00408f43d7e384d14c46926cdbdf648ecd66c40a38f395bf080b2124a73431b", "headline": "Forex Today: China’s inflation looms as Lagarde tees up ECB decision", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010979+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "d4633f7d1e4b11823319b898357db032bab05eac5512ee4e6a88f93f21b933e9", "headline": "investingLive Americas FX news wrap 8 Sept: USD mixed, yields rise. Trader await inflation data.", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010984+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "df41333918e96f065828a16623b5fcbfe50994138e4e9912eb393ef8f17e5b5c", "headline": "The Pound sits still through a hawkish hearing and the priciest gilt sale", "day": "2026-09-08", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.010989+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "3ff2428ada58c87f55c56d37ca9c48b88c3f65108c3d4a1e36bb8b6ffebbcaa5", "headline": "USD/JPY Price Forecast: Hammer teases rebound after 650-pip slide", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010994+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "70009f334cb536053befdd742bb066d842e533529aa3f12fac164f3bb267235d", "headline": "The Japanese Yen spikes on a generational wage print and balks by the closing bell", "day": "2026-09-08", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.010998+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "0687111c7238d66706217677116d51e75230ef8b7e10e7b196ebd5a427308e98", "headline": "RBA weighing further rate rise this month as Dep gov Hauser cites three-headed risk", "day": "2026-09-08", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011003+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "0a73269d43411892a2994d16feb09f1d6093b6658d9fd94cb8ca64fc2be6801b", "headline": "Australian Dollar bulls run into Oil wall amid looming Fed decision", "day": "2026-09-08", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011008+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "fc7317508647e925bb1ca2c6731f8c2eab5bd1c8f797e330b8dabd6543affab5", "headline": "USD/JPY and the \"I am the House now\" trade", "day": "2026-09-09", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011017+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "609178b06f473d474d65497c699e248ce1c6a6cee0a080cdfdd41ca06645fc72", "headline": "Taiwan Dollar: Range trade expected after CPI surprise against US Dollar – Commerzbank", "day": "2026-09-09", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011023+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ceb956b637a250c202fcf7790769d4a69fb6c049c1d7f1237ad6621bbe93a6c9", "headline": "EUR/USD Price Forecast: Buyers seek a decisive break above the 200-day SMA", "day": "2026-09-09", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011029+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "9d31d51500fa4065dc16dce0f1b3228fc90f8bb4d949adf44ba8ba500fc01b5e", "headline": "Pound Sterling Price News and Forecast: GBP/USD catches bid as Oil-USD link breaks ahead US CPI", "day": "2026-09-09", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011034+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "03426063cf20b3f9e968f6f09b3e8ba4c1e58235aa20ffa65f9c19622ad47ce3", "headline": "Forex Today: Attention shifts to the ECB and US PPI", "day": "2026-09-09", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011039+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "10111a32130cf31a9d01440f4614e1c9fe4e7dd95c78a6986dbc7c5bd0b3fb9f", "headline": "Australian Dollar Price Forecast: Immediate target comes at 0.7280", "day": "2026-09-09", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011043+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "973e23fd128b6fba6f6de28fdc5dfa9bca67f725552bcf47e931cbcb9d51f130", "headline": "Dow Jones Industrial Average slides all session as the Treasury bid falls short", "day": "2026-09-09", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011048+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "aa77dd74e97f80d1adb0511ac3e1bd7d7d9b2ce97d18fba102d50ad3441b2e6a", "headline": "Australian Dollar stabilizes as rebound in US yields supports USD", "day": "2026-09-09", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011052+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "910eaa629a3da066437e0996ccd8f5a30dacc9bb829305a903e9c4e7ed30618e", "headline": "Japanese Yen pauses advance as Treasury announcement supports US Dollar", "day": "2026-09-09", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011057+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "d436cb3f2f7afd895fca4a84757fc36e796614d5da1fd0978e4ce075956a3e34", "headline": "Japanese Yen: Strength builds against US Dollar ahead of BoJ decision – Scotiabank", "day": "2026-09-09", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011062+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "d12b9adc6bdb6a44a5df9955f0d23ddd132b3226814b9a858bbf062727763b3b", "headline": "Private credit books a Fed hike as income until borrowers stop paying", "day": "2026-09-09", "s": 0.1, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011067+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b5b9f9ae13b6da7646a7f58a1fb1a59b691be69f53113e42a399f4733e4a434f", "headline": "U.S. reveals import ban on slew of Canadian goods as trade war escalates", "day": "2026-09-09", "s": -0.5, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.011072+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "59c1f49bfce5a06543dc5106ff8e6aadaf7d69c9ad02f50a6443feb24b7c3ae3", "headline": "Chinese Yuan: Uptrend intact with muted inflation against US Dollar – BBH", "day": "2026-09-09", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011077+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "ba1f7a74e420f43523f5108b54b8e801721c0cb2e809dd78c5ff001e3aa638ab", "headline": "NZD/USD Price Forecast: SMA cluster wobbles as US yields bite", "day": "2026-09-09", "s": 0.1, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011082+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "18215428a41c926b4a8268dce58464f4b377929b7b832ecdcd1b5f263f648cf7", "headline": "GBP/JPY Price Forecast: Bears Eye 207.00 as downtrend holds", "day": "2026-09-09", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011087+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "f9eb204c728c7a36e6db4c3d75c58cfaaa955d452ea99d711a3ce53002c01ffd", "headline": "Treasury Yields Firm With Bessent Set To Calm 'Fever' - Investor's Business Daily", "day": "2026-09-09", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011092+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "87d48e2b3a5dcef5391a0bda1dee1edcc867cce378d9e78ed541981466fd1c42", "headline": "Pound Sterling awaits the Fed's two-strike inflation test", "day": "2026-09-09", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011097+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "08e5d4c440b3357a3b29eda69e2c9c6253c65dc2e81656136214b95549e9a5f2", "headline": "Australian Dollar flatlines as US yield ripples meet RBA hawks", "day": "2026-09-09", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011102+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "70c1e21871844b9ca2235dfc36bcc7024a63888ef21b2264ebd9544b9bdc4e50", "headline": "Euro braces for ECB tone today as ING sees a 25bp hike either way", "day": "2026-09-10", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011106+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "06a458678e70efa0266bd032047da06b5bf84001f7c154d434590ca5686e5058", "headline": "PBOC is expected to set the USD/CNY reference rate at 6.7074 – Reuters estimate", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011111+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "64d0192e622eb79106aa515aec989ec9c0b3fd141b73fbc1196543c2b29cda82", "headline": "Euro steadies above 1.1600 ahead of ECB rate decision, US PPI data", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011117+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "32c203726f9eeb9d4750838a8637a03a7205a5e2afe94d494f691ced99c65fd8", "headline": "BoJ to raise rates to 1.25% this month — Reuters poll", "day": "2026-09-10", "s": 0.4, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011125+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b8ec1f24866c2640729db23c926a5ee235329e7b52e1a173aae8e8d63c22e3a9", "headline": " PBOC sets USD/ CNY reference rate for today at 6.7766 (vs. estimate at 6.7074)", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011131+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "1bd27645c7f5816f7e63589986f2751d0888c3f674939fd8de0e8ef0a959fca1", "headline": "Australia Consumer Inflation Expectations remains unchanged at 4.9% in September", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011136+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e82ac2aaaef0a70b0c0e6ad061af893c36b9e534b269289d4381f7b419b0c5dc", "headline": "Japanese Yen retreats from multi-month top vs USD as traders await US inflation data", "day": "2026-09-10", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011142+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "140b328048aabcf95e5921ad8553cb1e2caf709a9b0a16b5da03ab6ceecbb22a", "headline": "PBOC sets USD/CNY reference rate at 6.7766 vs. 6.7769 previous", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011147+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "9e38958dfc7a0de134c23ab76d9999246b8fb6cb9ec9cf14f87c1ab96ffce7cc", "headline": "BoJ’s Masu says expect to continue raising rates given current accommodative financial conditions", "day": "2026-09-10", "s": 0.4, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011151+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "f89ff95713c590e7dc12d8343eee73d915365507bc9d4d80b2123077aa07e70c", "headline": "Australian Dollar weakens to near 0.7200 as traders await US PPI inflation data ", "day": "2026-09-10", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011159+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "67aee7589fcd090ee82072e2c43d2894eeaad89787266173b50ee4e345f35df1", "headline": "Weak yen, oil costs and food prices in focus as BOJ's Masu talks hikes", "day": "2026-09-10", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011163+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b473522e407e9af1cc1dad0db436d4a422f6634baaaee87194245fbec9e74a8f", "headline": "Canadian Dollar consolidates as higher oil prices offset USD uptick ahead of US PPI", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011168+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "ac2c619cb894d21a6662f7597aef384936d061d39bdccc5e6725ce8d84cdb468", "headline": "British Pound rises as US Dollar weaken ahead of PPI data", "day": "2026-09-10", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011173+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "de0af03fbd953392ad7a6712a8bdd0c1fac0d05c6b38083a9eb2384d317f7713", "headline": "New Zealand Dollar edges higher to near 0.5850 ahead of US PPI inflation data", "day": "2026-09-10", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011177+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "59b2ec6c69187e9de64c7b82591fa81efb6e1bbcfec700ee7d7f0f7b0ae9b3b5", "headline": "Silver Price Forecast: XAG/USD trades firmly near $67.60 ahead of US PPI, CPI data", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011182+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "7acb2e2ecbd30a1c3afec79cbd29acc1788737ead3e433ae1f7e6125d6a39f79", "headline": "United States Dollar Index weakens ahead of critical US inflation reports", "day": "2026-09-10", "s": -0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.011187+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "5b041679e0f4bdfd845d9884dbf32b2e667d162db94ec9a3372ed94e2e62cb5a", "headline": "EUR/USD Price Forecast: Sticks to gains above 1.1600 as bulls await ECB, US PPI", "day": "2026-09-10", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011192+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "03fe9bc5d1dfae764157666911279515a00b02cfeb92d76d9a1b56bd7ed96092", "headline": "Swiss Franc gains as US Dollar weakens on Fed uncertainty", "day": "2026-09-10", "s": 0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.011196+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "dbaee4679636f4afb2cdba9f38fa8e3f93c80be4ee966351aa6698e3aeb45ed1", "headline": "AUD/USD Price Forecast: Sits near May 14 high, above 0.7200 as US inflation data looms", "day": "2026-09-10", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011202+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "38b026e2e8ad8e95d5b43b547df2d322f954f2c407df70c37afee651120bc5e7", "headline": "Morning briefing: Euro could continue to rise towards 1.1700", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011206+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "86a7164e67ce3acf56b04f5f4ca8641252700406d45462faf50e047381022c51", "headline": "EUR/JPY Price Forecast: Stays near 178.50 amid ongoing bearish bias", "day": "2026-09-10", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011213+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1d43f640636aa500fe6a38e8e0f46fb21233e9d638f2342abbbd53ccb1203e10", "headline": "US Treasury bond buyback: Why yields are still rising", "day": "2026-09-10", "s": -0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011217+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "40fdbf87d25995b8c3e58222ca736b0d5c895882a5ca5bc42b93365778e6ec56", "headline": "AUD/JPY Price Forecast: Softens below 111.00, bearish vibe prevails below 100-day SMA", "day": "2026-09-10", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011222+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "5b33b7d0249b4b352af5aa2b4dbba4a0ab95444fee02111016b04f4cd8f6ea03", "headline": "Oil tops USD 100/bbl as ECB prepares to hike, not guide", "day": "2026-09-10", "s": 0.5, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.011227+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "177cff6011278633d78484f1f62784be5c44e47930472e8aee2210b117a98dfb", "headline": "Japanese Yen remains firm against US Dollar amid hawkish BoJ bets, US PPI data eyed", "day": "2026-09-10", "s": 0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011236+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "715247c607fc52ae3ef74269bf9c61e1eb334b7d29292ca6c1a66cf2b70dc7e4", "headline": "BoJ’s Masu: Underlying inflation gradually approaching 2% but don't see it overshooting ", "day": "2026-09-10", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011241+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "403b0114eafff501cc05bbd8540f74bdd714a05d243adf2eeb68e7b046c4aa88", "headline": "Euro: Firms against US Dollar as ECB hike in focus – Danske Bank", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011247+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "16bef9c855faa7b3879d210e0a12332f88247684c471dfaff25d02b873ccf561", "headline": "Oil tops US$100, with ECB decision and US PPI data ahead", "day": "2026-09-10", "s": 0.5, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.011253+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "51379e9cd049e9db27568ed8c268193cdcbe32f68d7333c9632e6408f9ec7c6d", "headline": "Euro holds recent gains despite high Oil prices with ECB decision in focus", "day": "2026-09-10", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011258+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "808ad9cba0fc1d7f52369272fb98ef0b5db6e222ccd2a8818ccd400b271c13f5", "headline": "British Pound strengthens above 1.3550, all eyes on US PPI inflation release", "day": "2026-09-10", "s": 0.4, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011263+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "8e7299964de4c6372887a0ff37a79510de6ac21c06a79521734b336689c0de48", "headline": "AI trade ignores inflation risks, as ECB set to hike, investors ponder Apple’s latest iPhone", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011269+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "8361d98f20fd983cbf96677125555a6f0e0a59479f39bc024564e23e64ce5c3f", "headline": "Japanese Yen: Intervention risk supports against US Dollar – Commerzbank", "day": "2026-09-10", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011275+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "6d850277165d858eff3a065c124ee28cc0026482581f10b6dcf42d9cae9d2a6d", "headline": "USD/CAD Price Forecast: Wobbles around 1.3800 ahead of US PPI data", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011281+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "cb37028a3e769da4fcfde710d77374d1e876f22085c03502d1d27977a1fef370", "headline": "British Pound: Neutral stance inside narrower band against US Dollar – UOB", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011285+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "8c6c70b688d5e18901104bbe938b024beafe4c4656e13c5bdbb18939ecaa45b7", "headline": "British Pound moves away from YTD low as Yen consolidates hawkish BoJ-inspired rally", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011291+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "5e2295d15f15395bf59ec21a2f1d051cffb774eed9f9ff94c2fea309914ff831", "headline": "Energy shock deepens as markets brace for a more hawkish ECB", "day": "2026-09-10", "s": 0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011296+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "ccf2ae0ac204ad145cceef8839970da2dc18e605e8f24d8cd3af7317e72e9d34", "headline": "ECB preview: What major banks and analysts expect from Lagarde and interest rates", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011300+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "4e353c3a4721e09d40e143c00bac7b15e4a505fae037c6d7859e0080a5ee8058", "headline": "JPY: Hikes, hikes, hikes – Watch these levels", "day": "2026-09-10", "s": 0.5, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011305+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "0dc9e6dc271c131226a6156f42448c565a491739839b6cd6f3849054321b3da1", "headline": "Euro wavers around 0.8590 against British Pound with all eyes on the ECB", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011311+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ce9f9bd6d52063fce726a39d46526ff33e59cdd8e82de679252a8199faf053ef", "headline": "GBP/USD hits two-week high as markets reassess the Bank of England’s stance", "day": "2026-09-10", "s": 0.4, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011315+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "adf9fb0d187e3bcadb20aa4d9159b33f87a4db7283d7bd7d71811a835539e8b7", "headline": "Silver Price Forecast: XAG/USD awaits acceptance above $68.00 before the next leg up", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011321+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "485121a93788f21abd92950751ab8c9648854e73ad82057dba46f0d0c32696e8", "headline": "European stocks edge higher as investors brace for ECB decision", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011326+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "0004762f71401972b37127c1c63fa57e3f7322a72a0e0bfe7031f00f887528cd", "headline": "A head and shoulders pattern has been completed in EUR/JPY for a sell signal [Video]", "day": "2026-09-10", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011331+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "5bcfa456f0ea2e9dff7bc15f049d1fce69bda13d88e966320514c0dbf0378075", "headline": "ECB preview: what is expected, what is priced in and what could surprise", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011339+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "959b86e821cf691e593d5c67e37178a3c1e2a57461091b3c254ea7dda276f5a0", "headline": "Japanese Yen: Structural support from regional flows – BNY", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011344+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "88095e864e169ff0d03f3b1ee83cbe7cca6aea171f6c0126378e1307d9b6b5cc", "headline": "Australian Dollar struggles for direction against US Dollar with US PPI in focus", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011353+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b2afefaa1c9e4e829b571dd04d9c06177ae09818c319e68a4fffe707948897bb", "headline": "US Dollar Index Price Forecast: Holds losses below 99.00 as bearish bias prevails", "day": "2026-09-10", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.011358+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "f7c662a4b36c8099f79bd0ec1628a79e745a8dc8e49869a86883462b5c51d4ea", "headline": "Forex Today: ECB rate decision, US producer inflation data to lift volatility", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011363+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e5a707fd43c1fe796a32af924f1d6f8f544b4f105b8a06d8106184cd3f1a9424", "headline": "NZD/USD Price Forecast: Bears remain in control with 0.5800 support eyed ", "day": "2026-09-10", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011367+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "2f4260ca57cff4118b9b0dc3c1dc4328a9c69ce3332f5aff6f4480bf0955606d", "headline": "Swiss Franc: Range trading with limited momentum against US Dollar – UOB", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011372+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "aefb86c49decf0f9102c63d83269331e39ae3d86407c1d7dd4f9095f3a18ec94", "headline": "Euro: Difficult path for gains against US Dollar – Commerzbank", "day": "2026-09-10", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011378+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b1f3252806fa7bcc0190dfa4e07576e265dc922f0df163d3e6e6292578dffae4", "headline": "Australian Dollar slips against Japanese Yen due to increased risk aversion", "day": "2026-09-10", "s": -0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011383+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "40ffe673c3135523707e3c5f71dd93de36a942d16ed789db32617632526fa095", "headline": "Euro sticks to modest recovery gains vs Yen; remains close to YTD low ahead of ECB", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011388+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "23bc6050c0427dbfb44183fe2ed54d6d7f52dfa827b64599b18f839ac9974c3b", "headline": "Swiss Franc gives back gains, but US Dollar struggles with Inflation data on tap", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011393+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "0d58ff67403200f4f8c5662d1c286f12828e17e561f92b441df3288703f6e607", "headline": "EUR/USD Price Forecast: Consolidates around 1.1640 in countdown to ECB’s policy decision", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011398+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "3c058dcab5df8c10de219cb8d26ef7ed1918166571155b3f2eeb002fa5c3dc46", "headline": "USD/CAD sellers eye a break below 1.3770 on potential CPI miss", "day": "2026-09-10", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011403+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "b1a79861397906088271a514a19fd1fad18c7bde1f1d93543a06575371300233", "headline": "Euro in focus as Dollar weakness continues", "day": "2026-09-10", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.011408+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "b19a889cd2afb6c5de9152b04aeb1395e18adb08f6522fbcee786fd549e4ecaa", "headline": "Euro: Second hike seen as energy clouds outlook – Societe Generale", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011413+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "4767282bef85b9778375ac3f45e783828c6cfa91ad7365fb93e92061510538e9", "headline": "Euro remains steady vs Canadian Dollar ahead of key ECB decision", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011418+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "62a173ddef8d8148f7a43a870410c654a4cea549dd76c3bc0ecef6927c7694a1", "headline": "GBP/USD Price Forecast: Positions above 1.3550, nine-day EMA support", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011423+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "065b6ed26ed42e11319a3e401231b7be668cfca7de3fba3b9ecb28228568e238", "headline": "USD/JPY Price Forecast: Trades above 153.50 ahead of US inflation; bearish bias remains", "day": "2026-09-10", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011427+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "c5a503e777d47102cfb6cdcb7aae37bb2693815e77ba20d3eb42b87c077b7503", "headline": "The debasement trade goes mainstream: Ether and Silver challenge the Dollar together", "day": "2026-09-10", "s": 0.4, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.011432+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "4b72b60aa1d2144839a84478755ecbb7c9a8cdbc597038c237ddef15e10ed626", "headline": "CHF/JPY price outlook: Swiss Franc/Japanese Yen pressing against 0.786 support arc ", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011437+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "7d042ba2497911495c6d332e075ff2e35f81f6134dc6c22279c52bae65f590ab", "headline": "ECB in the market’s focus", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011442+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "77cb4d2b76a9bc0e6ded281e5f1337be6053f0a54ba70e4f73c8627eca354b58", "headline": "Czech Koruna: CNB stance leaves room for weakness against Euro – ING", "day": "2026-09-10", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011447+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "c99cc33625880e452b1ecff75a4fc60dba411e59d5f5c967c634a8632043bf9a", "headline": "US Dollar: Bond buybacks reshape yield dynamics – MUFG", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011453+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "86690254df4897ef2809eba18f03cec2ea2edbd19160fd2d57ab74e2fc2ab57b", "headline": "The Yen is strengthening before our very eyes", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011461+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "a6fc65361b331bf1c2ecda7c112a90a2b423ba6c311774ee49dcf6adf9e92892", "headline": "EUR rates rising? WTI falling despite attacks – Forex trading GBP/USD in rising wedge [Video]", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011467+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "6179a9109d8f322fa86dba001a8b0d237ac957afa46fc3a58f07c1d125784e58", "headline": "ECB quarter point settled with Dec left to today's projections", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011473+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "74022372d7e2b6aa2074a64c37858c7f680334fabfa677229f7b6f99971e4680", "headline": "Australian Dollar: Gradual upside within capped range against US Dollar – UOB", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011477+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "adc99a6ce3fb78dc3677c0ee130fc74b39cdba07f469c5b82078df007a7cd9a0", "headline": "EUR/USD almost erased Warsh-driven selloff ahead of the ECB decision. What to watch next?", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011483+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "3b83704911cab3db2a515e89e5e8ad06e18a7e609b95e906cbadb5577db96277", "headline": "Dollar comeback case 'a decent one' – September Fed hike 'back in play' ", "day": "2026-09-10", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011488+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "019737f260b2c89e098fc43b8c336553dd432ff7b35a16b5e9de6f75f801bb61", "headline": "Silver Price Forecast: XAG/USD tumbles below $66 as US Dollar recovers ahead of US PPI data", "day": "2026-09-10", "s": -0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011494+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "dd32ad21ee287ac2182a79fa11679012c46143c0378e446263a2cdd8b0b2db86", "headline": "Euro: Yield support into ECB decision – MUFG", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011499+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "58ec7803ed75434deb57d022b17e4de18fb96c21f465be19d15c63200edf45c0", "headline": "Japanese Yen: Strength stabilising against US Dollar – UOB", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011504+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "d893d35f083cce14c737c81214114c21c027226094d58af9eaf5964f1498ce76", "headline": "US Treasury yields hit fresh long-term highs amid surging Oil prices, US Treasury's buybacks", "day": "2026-09-10", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011510+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "578f18402313832afba5444f96e9a0e6a3ef0885153a463fc178e5f4a9e57e2e", "headline": "What is giving the Japanese Yen room to appreciate across Asia-Pacific currencies?", "day": "2026-09-10", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011515+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "02e270a8be3c3b1ced5d8dc6feadd78b52402f3fb267e02369e7346f05003add", "headline": "Canadian Dollar weakens against US Dollar ahead of key US inflation data", "day": "2026-09-10", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011519+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "9ffdc0d0491c71128e7580dec92a5fe0d553d401b9a685ab0384128279ea7c43", "headline": "United States Dollar Index turns positive ahead of US PPI data", "day": "2026-09-10", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011524+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "975c26dcdbaa99393bbd8eb8f0ab170084e520bdeac5db281bdd9805a2f0e432", "headline": "US Dollar: CPI and Fed path guide Greenback – BBH", "day": "2026-09-10", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011529+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "8d3fce6635f6885d1cbe884e4fb43336474097d53491b4d71b0d0351495c1499", "headline": "GBP/JPY Price Forecast: RSI signals exhaustion after a steep 4% decline", "day": "2026-09-10", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011535+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "6d835f47387549eb070a30d127c3056006b85489a3a3da8199bf16a4f2f1b31c", "headline": "Euro: Upside bias within defined band against US Dollar – UOB", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011539+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "82fefc738dd4547a3241c56cc5d4107d853aec97528d2fc1ec3265d424e88298", "headline": "Polish Zloty: Scope for weakness against Euro as NBP underwhelms – ING", "day": "2026-09-10", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011544+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "63dd12e21bbe6ecf56a54cd183bbbbf1d939a3d4e80796f590557ccbeab2597c", "headline": "US Treasury yields hit fresh long-term highs amid surging Oil prices, bond buybacks", "day": "2026-09-10", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011550+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "04d3ed0b255e059cb724c7ece0c073bc9663d9d43ac048db2606d1e1f1815d78", "headline": "investingLive European markets wrap: Oil and bond yields push higher as ECB decision looms", "day": "2026-09-10", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011555+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "0ed0e86535802aaf1e776e60ad20e5aa132df8e7110bb1e09524e7de3c716ac0", "headline": "ECB hikes by 25 basis points, as expected", "day": "2026-09-10", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011560+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "37fe5f5491f4434a0fe83ede51b40f3cf9819e89dc6a721b52abffed02bf2157", "headline": "Eurozone ECB Rate On Deposit Facility meets forecasts (2.5%)", "day": "2026-09-10", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011564+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "8c8c569c00d891919e8829d7a18b28967fe7ba659afc1f24ced207458ad5fe22", "headline": "Eurozone ECB Main Refinancing Operations Rate meets forecasts (2.65%)", "day": "2026-09-10", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011574+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "c900d6336e501e2a88cbfc748bb8cf88b36a9b6a5bbd606d9c122047f02bb3ba", "headline": "Canada: Limited trade shock from new U.S. tariffs – RBC", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011579+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "199c88b57219762462ac5d594383db92eec310d2458f0129868499275e9bf6b4", "headline": "Surging oil prices and sinking bonds have decided the Fed need to hike", "day": "2026-09-10", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011585+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "2327c1a25a7bd7b43ccae8bc4531f4c440bd47e31373a8630331feb60cd5db61", "headline": "Euro weakens despite ECB rate hike as US PPI comes in hot", "day": "2026-09-10", "s": -0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011590+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "f24c2d1baf95ccffd39daf159ea8528b4bb79e5ee7a20321cab9de46a6446d41", "headline": "ECB's Lagarde: The economy is proving resilient", "day": "2026-09-10", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011595+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "d26757ad4b73847bc627bc6d02da53fc70b520bbd28b183d59cb7e329afa6c9b", "headline": "ECB won’t commit to future hikes, which weighs on the Euro", "day": "2026-09-10", "s": -0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011600+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "d79df381ffd7fae0351b8d1b4284f8987ac049c83e064c157280ac1c68b4cdb5", "headline": "Japanese Yen comes under pressure as US PPI data boost US Dollar", "day": "2026-09-10", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011605+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3976f94e182ce5cac2d7fa2716008fe0f66600ffc2b3fa351f3b87f1f5ad571a", "headline": "Japanese Yen: BoJ risks skewed to stronger Yen – BBH", "day": "2026-09-10", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011611+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b2abd9598994219c699b9cfff1ccedda66c303e4015f3058c4863bc5c3e1291e", "headline": "Canadian Dollar: Range trade with upside bias against US Dollar – Scotiabank", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011616+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ca511981876792595c51b4440e889ab8fcadb0d1afe24cad681258655ba89cd2", "headline": "Energy prices may force ECB's hand over rate hikes as bank's economic projections leave", "day": "2026-09-10", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011622+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "a94db5276d62d09b7debd1630093c1635c7002ee558d51d450ac447e84644311", "headline": "Euro gains modestly against British Pound after ECB delivers widely expected hike", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011627+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a02a2567c2f106656912893afd62ea587f1d9c1e4f5df9c78a4e528ea7486595", "headline": "Cryptocurrencies price prediction: XRP, Bitcoin & Altcoins – American Wrap 10 September", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011632+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "8bb4c82614239fea53c6a2490e8098b55f50208eb448f8984984217be223e7f1", "headline": "The likelihood of a Fed interest rate hike next week just got a lot higher", "day": "2026-09-10", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011637+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "32ea12e578ebcd1cb283251574739bcb3e00114f4bb0262716b80e9242a88e38", "headline": "Australian Dollar eases from four-month high ", "day": "2026-09-10", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011642+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "72781cca614f87171c5dbe740420242514e34feed7ca1518c4e3a173d0010653", "headline": "British Pound: Consolidation against US Dollar before UK data and BoE – Scotiabank", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011647+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "18672e19e404707696a35cc332a1fd1b77788349cd29cc311a97b46848c5004e", "headline": "British Pound feels the heat as hot PPI puts Fed hike in play", "day": "2026-09-10", "s": -0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011652+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "a17a28a9df75488caf0d04bd8e96bb1de60160e50e52e9ea2e0e1a85e38d4fdb", "headline": "Silver selloff deepens as us PPI lifts Fed hike expectations", "day": "2026-09-10", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011657+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "7990240d480babbf4c922f648e361e54c2b55adcaa00e41e6f84e92ab273a55a", "headline": "Silver slides below $65 as US PPI revives Fed rate-hike bets", "day": "2026-09-10", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011662+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "230e5c39e9d45291867ee7a3dad4e781552d792d27abc601aae73831e106960b", "headline": "Canadian Dollar trades under pressure as US PPI data supports Fed hike bets", "day": "2026-09-10", "s": -0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011667+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "63dd39f485de13085b8bfcad4bc83894a348e6b297bff2ed84460e4b9d3b46ed", "headline": "British Pound under pressure as hot PPI puts Fed hike in play", "day": "2026-09-10", "s": -0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011671+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "381c98ba528369ac1ee362509bcf06742c17e79905079dafa556eee4c96d4f22", "headline": "USD safe from Bessent, for now", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011676+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "21c553aebf65f6047e5767a32734a4525a3de0f3c6f7715675d5180ee33b7016", "headline": "Canadian Dollar firms as US Dollar loses momentum, Oil prices extend rally", "day": "2026-09-10", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011684+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "808de14a74bf0377d438d63f17f8211b884ae8e0e01d07641269659f50d328f8", "headline": "Silver selloff deepens as US PPI lifts Fed hike expectations", "day": "2026-09-10", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011688+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "13a50dafd185117b2ab221ba79a32d6a6b4e72e433055df933ebbca821e48332", "headline": "Silver slides below $65 as US PPI reinforces Fed rate-hike bets", "day": "2026-09-10", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011693+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "0388494230be5e028491348ae41b16ea273b2666680e58b117fa8918c15d85dc", "headline": "Japanese Yen: Defensive Yen as BoJ turns hawkish – Scotiabank", "day": "2026-09-10", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011699+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1b6ef9a58e8ea88c57a1fb48425e03f3a7d7106e5f00eaf466402d891a6c8c15", "headline": "ECB review: A “no-brainer” hike and more to follow ", "day": "2026-09-10", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011705+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "ceaa7f2f28fafcfc612d25ea0304bff631236415b37da51227dd22065b61043a", "headline": "US treasury sells $22 billion of 30 year bonds at a high yield of 5.308%", "day": "2026-09-10", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011710+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "c0a35384aa86501ea884ff3af7252705a3b8459e6b351b5cf20187dde640056a", "headline": "Pound Sterling Price News and Forecast: GBP/USD under pressure as hot PPI puts Fed hike in play", "day": "2026-09-10", "s": -0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011715+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3c8b236f66613cd7d18e9cff26ef7373d730f9bfd6056638e48bc6213f9d8093", "headline": "ECB recap: A hawkish hike despite downside growth risks", "day": "2026-09-10", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011720+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "560e710d4832540801900beb7af0782de441a1d7c87ac6f6a00d33e5d5d9cb06", "headline": "Euro steadies against the Yen after ECB lifts rates", "day": "2026-09-10", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011725+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "2e335fd3db3afa54cfecbae4cf77eb677b1ed754f7bb7bfd53e23df1253f206b", "headline": "ECB sources say further tightening remains likely – Reuters", "day": "2026-09-10", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011730+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "3eed70b555e2598d1e7d9c14e29fa7a7d295248c227000088801eafcd91b08f7", "headline": "The US Treasury bought $5.187 billion in 10-20 year notes", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011735+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "cb77bc4a8c283738aaab8b5b40483c663c3b7a6a0afba609c08885d86df7d89a", "headline": "NZD/USD Price Forecast: Kiwi breaks 0.5800 as bears take control", "day": "2026-09-10", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011739+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "fb4f20fdac756ffbbe7daa792af85a394eefea75ec3734316d06b7717b742753", "headline": "Chinese Yuan: Uptrend eyes breakout 6.7000 against US Dollar – UOB", "day": "2026-09-10", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011744+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "7024b8a2913c7267a97218be36385f88ce6a87a5b30c1708a8f63a71334e06f6", "headline": "Forex Today: US Dollar rebounds on hot PPI ahead of US CPI", "day": "2026-09-10", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.011750+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "1f75b2a42c190c04cf8d20f68b5560dea06010f78fa8ed3962b1cff05772c6fd", "headline": "NZD/USD Price Forecast: Kiwi breaks below 0.5800 as bears take control", "day": "2026-09-10", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011754+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "5eb50b534e9b4bbfa8924b13b7caa3b96242b0c073e665ba3a7fed001804bc13", "headline": "Treasury department announces even bigger bond buyback; Market shrugs", "day": "2026-09-10", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011759+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "91f7b723e15954cc71fdcb707beae441a44b4803e643849a05498662954e09d4", "headline": "New Zealand Dollar steadies after two-month low slide", "day": "2026-09-10", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011764+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "d3115f5feee57c31f498112149385cdec2e4ce078793f55fa4fd1573c7886da7", "headline": "New Zealand Business NZ PMI fell from previous 54.3 to 53.1 in August", "day": "2026-09-10", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011768+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "0ccc5f6bfd2e258a61e867fae8ed738098494df0d976ab689320a997aa70033b", "headline": "AUD/JPY Price Forecast: Yen strength keeps 110.00 in sight", "day": "2026-09-10", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011773+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ca76ef5c9b92dca378b1dddb847ba030c729075131ff6c008dbadff22a181733", "headline": "Australian Dollar slides as US yields jump before pivotal CPI", "day": "2026-09-10", "s": -0.4, "xau": 0.5, "labelled_at": "2026-09-17T23:21:54.011777+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "010d65be143ed68bb47bb97fe9003ff6ca35531e654c8ef9f6d6dccc9f1e4e55", "headline": "Japan wholesale inflation stays hot in August, cements case for BOJ hike", "day": "2026-09-11", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011782+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "0dc7b47cf3d297ada8408e5fd9c76faa0c0f4802d6e57da7737b7a9aafb42ecf", "headline": "PBOC is expected to set the USD/CNY reference rate at 6.7174 – Reuters estimate", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011799+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e0e5552e7e896a4f1d5cec617d812f76f6511946d024099b789fb28c759b5d01", "headline": "Euro flatlines above 1.1600 despite ECB hawkish hike, traders brace for US CPI data", "day": "2026-09-11", "s": 0.1, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011805+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "0852f36c015956c0a912181b9993d335787a5ad9a221d0a8ea43590cec0c40d8", "headline": "PBOC sets USD/ CNY reference rate for today at 6.7743 (vs. estimate at 6.7174)", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011810+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "7e0455233097638134aae3cbc55d3526f69cdfdb52c3f3219fab3b873142f3de", "headline": "PBOC sets USD/CNY reference rate at 6.7743 vs. 6.7766 previous", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011815+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "bd00f87dff60e883a1a7d870bfc85f60792ae6efd91cba1084370f353951df0e", "headline": "Japanese Yen edges higher as PPI reaffirms BoJ rate hike bets and USD bulls await US CPI", "day": "2026-09-11", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011819+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "826bee7d8d329c1f1103442d35d2d9e3a9d838f1071e62f925cb7d089cd75f8b", "headline": "Coming up: What Lagarde may say next, two days after the ECB's rate rise", "day": "2026-09-11", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.011824+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "5a5f57a92b884ad70fc93615879edb4ad551f213ecb60292baafe965582f50b3", "headline": "British Pound holds steady above 1.3500 ahead of US CPI inflation release", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011829+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "9e5ea56af9d1f1473b4e9e06f5f72d921b45e83177e6af8d1cc98528a3ada413", "headline": "Preview: August CPI due Friday to decide odds of first Fed hike since 2023", "day": "2026-09-11", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011833+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "36663838fce5b4b812337d7f2aa0f67239be7c3246846a4d2d68c7dc6940957b", "headline": "New Zealand Dollar recovers from six-week low vs USD; upside seems capped ahead of US CPI", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011838+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "b5ae8240f091de853af4b63a9820cc280282f08bf0185ab76f49ac12663d2a89", "headline": "Canadian Dollar struggles as oil prices decline", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011843+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "2471608a611d08abf3f831cc6f7b25becab9703c51f5cc2565a172baa434e754", "headline": "ANZ sees ECB hiking again in December, lifting deposit rate to 2.75%", "day": "2026-09-11", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.011848+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "067d271a6f5f83dfb3b46aa2ad633ec926ea53397edd72198c72c94f5c74e19d", "headline": "Australian Dollar softens to near 0.7150, US CPI inflation data looms", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011853+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a363a78acd71691c4eb001c53efbffba85ca370248e6cd75abd51c8223a73418", "headline": "BoJ sets to raise interest rates by 25 bps next week - Reuters", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011858+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "41097d1d3f21f2bdec43672fd4cf0cf93508d983b3b68b26b4a296af04b3f2ad", "headline": "Silver Price Forecast: XAG/USD slips below $63.50 amid rising Fed rate hike odds", "day": "2026-09-11", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011863+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "7e788b06f6b0cb18c1f7b310ab8b4a1a6a3b576ba5aab5728af8feb70edf014d", "headline": "BOJ hike next week is a given, the real question is pace and terminal rate", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011868+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1e360eac9a070f6b5ac281a298207f4fcd10451ac68f492b8ffea6c7315a33ce", "headline": "United States Dollar Index holds onto gains above 99 ahead of US CPI data", "day": "2026-09-11", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011872+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "7f9e1f2ea40faeeba395e3740b52ba380f995a4cd28554fbb262571c5a9b44b3", "headline": "BoJ set to raise interest rates by 25 bps next week - Reuters", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011877+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "5c640e23998a1bf41a63f5f11c8a68011726b22959008e0479f0bf7ee5f0df8b", "headline": "Swiss Franc declines as US Dollar strengthens on rising Fed hike bets", "day": "2026-09-11", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.011882+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "712ba2710636eaeb4af20352839e892beba276dd88aa0fb475e357343a024f0a", "headline": "Morning briefing: EUR/USD sees near-term weakness against the US Dollar", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011887+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "6a73900941973235b51d335e36e01ea8bca2916083cc6a741ccc8486dcad9fb9", "headline": "Asian Stocks decline as surging oil prices stoke inflation fears and lift Fed hike bets", "day": "2026-09-11", "s": -0.5, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011892+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "455aa986619f07775b2bdd210fd66374f7adabff25916b39c9b2e1b59329d3fa", "headline": "EUR/JPY Price Forecast: Softens to near 179.00, bearish bias remains intact below 100-day SMA", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011897+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "e5183c196513f168045336892a1cad9ccc42baf6c83d4711f4106952f0f1548a", "headline": "Euro struggles near 1.1600 vs USD as Fed hike bets and hawkish ECB clash ahead of US CPI", "day": "2026-09-11", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011905+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "61613d64761a160f5b77f1a05848d5c32b392528d51ff89ea67b97bf2091ef72", "headline": "Indonesian Rupiah weakens against US Dollar amid budget pressures", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011910+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "6517d88bb0dd7183b0cee21ba7fae9a3cc6d8a112cfe494e8ef419c05c0b8ed5", "headline": "Scattered gains for the euro after the ECB hikes as expected", "day": "2026-09-11", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011915+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ee03c2e084cfaf86216af17393820486ccebea95adf4618f5f1813d4728e35e6", "headline": "Indian Rupee extends decline on fresh escalation in hawkish Fed bets", "day": "2026-09-11", "s": -0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011920+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1bf19b41d9c0a54400d2e9d795b880989b635fd7466b1b92455554131276a019", "headline": "USD/CAD Price Forecast: Trades near 1.3850 after breaking above nine-day EMA", "day": "2026-09-11", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011924+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "59748758e3825ada00064e9a532074e511ddafc4aebfe537d9796ae1c54beeef", "headline": "British Pound jumps after strong UK monthly GDP data", "day": "2026-09-11", "s": 0.5, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011929+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "a6d3db4755612d5e8ee8150e84d28b712c2408c8c0c0f542a029443c66af26f4", "headline": "Euro: Downside risks while 1.1585 holds against US Dollar – UOB", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011934+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "91107b7987c0839397ce815c4d3543786e67da904397316a8aa830213e7cc62f", "headline": "Euro retreats from weekly highs against British Pound as UK data beats expectations", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.011939+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "5f9fa8d83f23372fe0d9c7ab5bb9fac3e2f0adc012ccd5462d85fc8e96a20603", "headline": "ECB’s Nagel: Too early to speculate on rate hikes", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011944+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "1e7660ddc293201ea862a7160b81d13f87ae8b64521e1327b8d1fd70fd70b26e", "headline": "Equities: Oil shock and ECB hawkishness keep selloff contained – Danske Bank", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011949+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "cf8679aa5c7bb5aac2e670a7198eb7b0970486f1c40f81e3862063509f277a75", "headline": "New Zealand Dollar gathers strength above 0.5800, all eyes on US CPI inflation data", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011955+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "922e5920522059073d2dc9ae5c2fa90d09c995948ac10e0341c6caa548b0df8e", "headline": "AUD/USD Price Forecast: Positive Divergence with RSI backs further recovery", "day": "2026-09-11", "s": 0.3, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011960+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "2691c1d94e43b352e601473b12b328008c2ecda36dd05f20336a88ac52a04155", "headline": "ECB leaves door open to December hike as Lagarde 'downplays neutral rate'", "day": "2026-09-11", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.011964+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "e79b128094ac2962a0aedefd5b5722be667b476ba317d581a9afce3605caa657", "headline": "US Dollar/Japanese Yen tests 1 (100%) Arc – Awaiting directional confirmation ", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011969+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "d9ce1cc8410f3a3b855c7a889fd248f06740cb4e26181a91b0516144d92bd923", "headline": "JPY pairs find a floor – US 10-year yields near 5% [Video]", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011974+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "c3678d12b035d3009e131f1e44435f6c9d3f300a346170c259b5b9f83d3d1a54", "headline": "Indian Rupee continues downtrend due to US hot PPI-driven hawkish Fed bets", "day": "2026-09-11", "s": -0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.011980+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "dba0c086261fa0f7991a79baac5df57a72121c39e1fd2acbcf371e65df1d435b", "headline": "British Pound remains weaker against Japanese Yen following UK economic data", "day": "2026-09-11", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011985+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "dce09bcfb03890b0acc01f0a7e6ae18575dd944673f04e50dc18d180d693672c", "headline": "Swiss Franc: Downtrend eyes 0.8155–0.8175 zone against US Dollar – UOB", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.011989+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "f74c4774f50681dc224fd8e043ac7cefd3c6eedd462d14bfbd02e038c6b27a93", "headline": "USD/JPY Price Forecast: US Dollar recovery, likely to be tested at 155.20", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.011995+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "22e316427cb245723db9bc578867113965be681e1f8d01c1ce998cd5c29fe0c9", "headline": "Silver Price Forecast: XAG/USD bounces off 38.2% Fibo. near $63.00; bearish bias remains", "day": "2026-09-11", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.011999+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "78bd2f7067d3f6ef47ed7214bb5099b7cad7d792cb4304232de7953912146353", "headline": "Forex Today: US Dollar consolidates gains as focus shifts to cricital inflation report", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012004+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "58c6a7277025fb2f7e7849078ce045b268bdcd298ffadcacf4b5b877184fdf5c", "headline": "The ECB’s hawkish stance did little to help the Euro, as markets focused on the Fed", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012012+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "4bf1599602abaf7e13b51ce9acbec7072eb8c11cf856dfbe09428a7245ac4200", "headline": "EUR/USD Price Forecast: Likely find direction after US CPI data", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012018+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "a21ae08fb49be2808d1a71daaf43679fa35e86950a7f1b20164f8b0aa7dac99f", "headline": "Euro steadies against Canadian Dollar amid ECB hawkish sentiment, lower oil prices", "day": "2026-09-11", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012022+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "1c9553dd4d8666d5bee8a481526b9f83fe6bf7457ac68b62d797c72ddfa972eb", "headline": "United States Dollar Index Price Forecast: DXY consolidates around 99.00 ahead of US CPI", "day": "2026-09-11", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.012027+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "0604e35a28294f1c25b8e7c8ce65def541acb74ebb66b8ea4f6835e77dfe9c13", "headline": "US core CPI data set to ease in August as markets reprice Fed September rate decision", "day": "2026-09-11", "s": -0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.012032+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "e16aa5bae9b44643595d5482316067302a1807fc41e3c1196bddc4ae669c2b4b", "headline": "British Pound: Strong data clashes with dovish BoE view – ING", "day": "2026-09-11", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012037+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "340266e1ee340c8dfc8e2a8d9d46b6259264fb28447be705a7c01daf170f1ff0", "headline": "Chart Analysis EUR/JPY - 2026-09-11 08:17", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012042+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "d04ebf2a38b387429d9f387dca04ac81521156deebf934aed7810ab0603745b7", "headline": "Australian Dollar: Fresh downside momentum targets 0.7120 against US Dollar – UOB", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012047+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "712be2cf85b1f369f41f3049b36074ffba106dcfc3ae634036d2e9eee79ea536", "headline": "Euro fails at 179.50 as BoJ tightening hopes underpin Japanese Yen ", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012052+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "0ddf3b1624e087164dcfb403a6a416677972b653fb20f1384abdcf709375541a", "headline": "GBP/USD Price Forecast: Flat lines near 1.3500 as bulls shrug off UK GDP ahead of US CPI", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012057+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "adfe940006c7731168df2e97bf6237a0fcdb1387a043be19d7507adf64353792", "headline": "ECB 'not assigning too much importance' to neutral rate, December hike now more likely", "day": "2026-09-11", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.012061+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "487889b63413bc77b34f4b02672facd657aa2e7f1865f05e56754ee0bc6256cb", "headline": "US Dollar: CPI outcome to steer rate expectations – MUFG", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012066+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "e712f647b0ecc26a18f26b2b2815c8287aa142712e3a751095ab84635c58d596", "headline": "Canadian Dollar underperforms as Oil prices correct significantly", "day": "2026-09-11", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012072+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "3ab09709eff997224b0f473aaaf067a99a2b7c48b857810f8709186236b118e8", "headline": "Swedish Krona: Higher Oil and ECB stance pressure currency – Danske Bank", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012076+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "af23f90489ddb5dbc1afeec9e41251afb1a1bdfb860a62f87ffb36f0a527dc46", "headline": "Week ahead – Fed, BoJ and BoE decide amid inflation dilemma", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012082+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "758d7fdc5ffdd35794c1115d400f6a6d4395c3137f26cbeb1b9317a353e46fec", "headline": "Euro: Hawkish ECB fails to lift Euro – Commerzbank", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012087+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "5a5e37afaffe7176f1b33b402223fff7641649a3934db345bee9699a040fcbc9", "headline": "Czech Koruna: CZK faces downside risks against Euro into CNB – ING", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012092+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "ca50e606a831b1f690bb3c3a42d3a1e9a483c568c54f3d991a0ea1f260757a6f", "headline": "Australian Dollar steadies vs Japanese Yen as hawkish RBA signals offset JPY strength", "day": "2026-09-11", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012097+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "fca3659227a6e4662f5de6168efbae61bbed95a2358c7e4dfabe714b72f51a68", "headline": "US core CPI set to show a small decline, testing odds of a September Fed rate hike", "day": "2026-09-11", "s": -0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.012102+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "8d1caef9babedc9cc527bbf9d3ee8c9b48f28ef47b104dbc31c3cb592b7b3f66", "headline": "British Pound: Support at 1.3495 under pressure against US Dollar – UOB", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012107+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "ece9cd630285169b0e6a5445f076af0791078548abc5691a4db35d8806bf0ba0", "headline": "Bank of England: On hold amid aggressive market pricing", "day": "2026-09-11", "s": 0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012112+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "4f0c5e1fdb9df9f8e735257ee14cc708473a2080ab456c586e76f5d143cfcf3d", "headline": "SNB’s Schlegel: Inflation accelerates in recent months but remains within stability range", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012120+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a679df06d97a92cf125917b9290a3e36ae4bce124bf782442e81b30842d14799", "headline": "Swiss Franc nears monthly lows as investors brace for US CPI data", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012126+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "bd78317b674fdcfac6d543a2521f60e491de7730381d00b1d1e6bb43e25406f7", "headline": "ECB speakers ratify October pricing, Bund and gilt yields at multi-decade highs", "day": "2026-09-11", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.012131+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "2973bc0594e035ee03ebb5e78e84e2254450904af209159a1b3d9878de26144f", "headline": "US August CPI expected to rise steadily as markets reassess Fed rate hike bets", "day": "2026-09-11", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012136+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "709e1edb7acfb406f50e56f415d2a8b7812681dbee9366baea7adfa37469178d", "headline": "September Fed hike hangs on today's 'critical' inflation data, 'unusually high' Dollar 'volatility'", "day": "2026-09-11", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012141+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "c0402aac18802c6d7ecc1aedc6ffa940300456e2576978b63ea1efe81d5d90bb", "headline": "US Dollar: CPI volatility risk and limited upside – BBH", "day": "2026-09-11", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.012146+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "446736ae23776af5b2386f26019ebd66caf43fa74d3522a5334d5546b4fd834c", "headline": "Australian Dollar climbs on RBA rate hike expectations as traders await US CPI", "day": "2026-09-11", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.012151+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "c93f6fd22adc8f0e3d78d261e9fd4b21ddbd23f068a9f560eee8f3903edf5a33", "headline": "NZD/USD rebound runs into resistance ahead of US CPI ", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012156+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "44d40257467d685557386b2a4cb82ca60099117b2044be57544648deb4cd2ba2", "headline": "Japanese Yen outperforms this week as market bets on BoJ's extended tightening cycle", "day": "2026-09-11", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012161+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "851746ce66fd1fc1bb8fef15035d43d42ca40c0263a19c19a3ecdbaea0fb2154", "headline": "India FX Reserves, USD: $785.71B (August 31) vs $740.8B", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012166+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "f88dbe52a3b8057a43d1defd753ba3b42fd2f4309c4cefb9bfefa5ed22562464", "headline": "DXY price outlook: US Dollar Index navigating between arc levels", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012170+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "fea2796c3ec45a73d10ad93ec723545abc8f0863018d0647b79f6ead888ec962", "headline": "Euro retreats below 1.1600, Dollar appreciates heading into the US CPI release ", "day": "2026-09-11", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012175+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "af8fdbf0ea6218369d1471f56d03c3c406b2e517ea67c4a164272435b08b3d2d", "headline": "Japanese Yen: Yield pressure risks fresh losses against US Dollar – OCBC", "day": "2026-09-11", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012180+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "c2de76d6a875518cd35410d7117d822aacdcf0e2132318e3da27157a1408d159", "headline": "US Dollar: Strength builds on yields – ING", "day": "2026-09-11", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.012186+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "d434c62fb23127cc10ef4d21e00f3af12655b92a85aafa65bc0901439ed06261", "headline": "EUR/GBP Price Forecast: Neutral bias holds as 0.8600 caps the upside", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012192+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "29783cc7a0833e292ef08adf73df4ca99d3aa53f6599009fae5aa780c979fca0", "headline": "Forex Kickstart: USD mixed as markets await the US CPI report", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012196+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "1d69ac40d1627b11e754afb7636b6ae0329edbfb849f18cc607c19a1b455d3fb", "headline": "Pound Sterling Price News and Forecast: GBP/USD flat lines near 1.3500", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012201+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "5787c47fe64a8ae4e5c658e8260634389480739fda9cdb9cb7e57b5410f59349", "headline": "Euro: ECB hawkish path supports pair – BBH", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012206+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "0e29372fb82c7cefbd082bcbb4c50646c7646c3eebaea8189b03ee6601174deb", "headline": "Inflation persisted in August, potentially locking in a Fed interest rate hike", "day": "2026-09-11", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012211+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "ab84df4eb6a7ff699346920b14baffb8505633fd968c5a293eb84fdd2e2c2ff3", "headline": "Japanese Yen strengthens as US inflation fails to sustain Dollar rebound", "day": "2026-09-11", "s": 0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.012216+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "3f55473d242701ec45638bb01037eb8b8efd17151de90a4d5306b9008e9a9ead", "headline": "Euro steadies against US Dollar after volatile reaction to US CPI", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012221+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b4104b3f66f5d19ef334c6121ed250961aaae242ea42d8ead9a527f3b9f7cade", "headline": "Bank of Japan: Hawkish hike prospects grow – DBS", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012229+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "ecb957db0102ecfb09ee155ee7985757e34b2d56bfd76a9e84017a46791b4ee7", "headline": "European Central Bank: Hawkish rate path supports Euro – UOB", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012234+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "3ca54b568d95061d6e7226d782aa0b0e39e32e0fed75163b6766bf5865dbcaea", "headline": "Polish Zloty: Dovish stance leaves PLN vulnerable against Euro – ING", "day": "2026-09-11", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012241+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "afa97a6899bff2f3bdac7ce70b44bace70e0a4ff811f17e09942c9158e6debc8", "headline": "Canadian Dollar slides with Oil prices, US CPI fails to keep US Dollar higher", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012247+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "94fb96f788090fb617bc178306a5b19b2e5b00f0b8e2ff0e6c89897b132c50f0", "headline": "Japan: BoJ tightening path in focus – ING", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012254+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "25a968e87c7637b158d42888a22346930b9d3de2c8b88fbfa6d3aba45e5f37fb", "headline": "August CPI makes Fed decision a 'close call'", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012259+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "264ec4e492d7f8339e250da68b515094441dc6ffd79de57f5f296b2efc6b6eda", "headline": "Swiss Franc struggles even as US Dollar gives back CPI-led gains", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012264+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "346264f0c21f7e9fe292ab336bd4831dc4e619dc47096312162f43a035be5cef", "headline": "EUR/USD Weekly Forecast: To hike or not to hike? Kevin Warsh between a rock and a hard place", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012269+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "621cff4a835a5e1c5d19b21e3aaa37325337542d39bf1630d75535f9ab6b1cd6", "headline": "Australian Dollar holds firm as hotter US inflation fails to cement Greenback's advantage", "day": "2026-09-11", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012274+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "1f223d3ef3d5b5418435c095d813c33bd8c7c7530127298c461d1e927ffc200f", "headline": "British Pound shakes off US CPI jolt as UK growth steals spotlight", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012279+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "a1ca598a6ddaeaca918aec0a7b8a11ca0e75177e0fd490ef8c78fe01803952b1", "headline": "ECB rate hike gives Euro little to work with as Pound holds firm", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012283+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "9b387ea7b77b83ca680adc6ed059ca13f70ececdedffc56479011843862838e2", "headline": "Pound Sterling Price News and Forecast: GBP/USD shakes off US CPI jolt as UK growth steals spotlight", "day": "2026-09-11", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012288+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "f1db0489b4425eeda200c760e99940359004c568472ccae67ddbc4ff46a2dfe0", "headline": "Cryptocurrencies price prediction: XRP, Bitcoin & Cryptos – American Wrap 11 September", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012293+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "73c4375f616b58b3f3f3dd7cac00691a554b806e53224a546411c30a9af34909", "headline": "US Dollar Weekly Forecast: No country for soft landings", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012299+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "965da1856f0b5e60fec6414399c948cb2056553e1ecd5e9c8c43058c9857d508", "headline": "ECB's Lane: If the rise in energy prices persists, maybe it will hit consumption", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012303+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "0a24c0f7ae0b0d8f68a62e5e04653b4d3bf65e297acb32c15d8dac706dab0faf", "headline": "United States Dollar Index retreats from post-CPI high, all eyes on Fed", "day": "2026-09-11", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012308+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "10e257215baae97fecc4bfdf2bed9c18f908ec9996e15f435ae11fe49974e3d3", "headline": "The Yen’s rescue had almost nothing to do with the Treasury", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012313+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "2a925ed318765ceefbbcb7958c4bf2cda3c3ea62efc25e829f953b3e4592a85c", "headline": "JPMorgan now sees the Fed hiking in September and December", "day": "2026-09-11", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012318+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "2afd1a932a0c1e8c0ecedd71f3762c3c8dad102e67537e81e5664692fd7c2079", "headline": "Japanese Yen rises as the Greenback's inflation bounce fades", "day": "2026-09-11", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012323+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "72d5ea798ed64c584f2ea66f8fcb22a3ab8683223d6db55d8e909111499df22f", "headline": "US Treasury yields ease after CPI, but Fed hike risks linger", "day": "2026-09-11", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012328+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "e212bab3f673e902507afc563a7c9f694150903136909e854ac6ed5389716521", "headline": "Bank of Japan: Gradual path toward neutral rate – ING", "day": "2026-09-11", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012332+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "3b1274004b5c433cc8cf77151d9bdb41fed7eb1776b87c437394b7394cbade18", "headline": "US Treasury yields ease after CPI as Fed hike risks linger", "day": "2026-09-11", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012341+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "391c61b048771a250f8c75a426436e59a6caa3c117e0afe072217cf82bca6a65", "headline": "Forecasting the upcoming week: Fed, BoE and BoJ headline a central bank triple-header", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012346+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "06ae8dc0fae17da6f1375db0303c763212b019d69d858809591eb74d9ba1f986", "headline": "Chinese Yuan: Bullish bias fades against dollar – UOB", "day": "2026-09-11", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.012351+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "a43a72d94b69f2efd2849a5668b1c1f29adfb3dfa17272baf6a04d0ee2c87bef", "headline": "Japan CFTC JPY NC Net Positions: ¥10.8K vs ¥-92.2K", "day": "2026-09-11", "s": 0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012357+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "9b8ec19af001265840f66186f2e9e83fb5f0a926821ef8833c8b7f3591a9d403", "headline": "Eurozone CFTC EUR NC Net Positions dipped from previous €-24.9K to €-42.6K", "day": "2026-09-11", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012362+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "341b37b951be7b6d27c83f3c4fa7917e218f10f137574da0ba974b5b0ac731d2", "headline": "Australia CFTC AUD NC Net Positions climbed from previous $-39.4K to $-34.9K", "day": "2026-09-11", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012368+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a0bdafe3b8137d06c8d9c61b45cf81996fd3202b7e9e32fa9129e2fb0b73d1e0", "headline": "United Kingdom CFTC GBP NC Net Positions dipped from previous £-49.6K to £-58.8K", "day": "2026-09-11", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012373+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "5738b76583a7eadac265c157a5c487e29f3fc8cde9ae93abb3aa201eadc5f80f", "headline": "Taiwan Dollar: CBC seen on hold before December hike – DBS", "day": "2026-09-11", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012378+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "972802948eccf1a6118680509b71de3041facb13e442f3607f1e62723e42dab4", "headline": "PBOC is expected to set the USD/CNY reference rate at 6.7083 – Reuters estimate", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012384+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "17b760f82bf83a2f4d7ad80c9c1bc8f30315ee22769fb715ba266226ce20ce1f", "headline": "Carney explores Canada as EU associate member, WSJ reports", "day": "2026-09-13", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012389+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "bffe4729a0f8824e95f764a31b65f55f345a2a2e307948d59db9d796ff860e10", "headline": "ECB chief Lagarde says euro-area inflation shock will last longer than expected", "day": "2026-09-13", "s": 0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.012394+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "0e709871c9e419cf58dd4bfebe9d6a012628ee7bebf128f73d7287ac17a35e43", "headline": "Euro softens below 1.1600 as markets price in Fed rate hike ", "day": "2026-09-14", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012399+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b59db0dd5f59b9a62342441ba38b0107e06679ed38759173ca7aee70be4433ba", "headline": "Australian Dollar declines to near 0.7150 as hot US inflation data boost case for Fed rate hike", "day": "2026-09-13", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012403+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "cd2e24d363493f780951ba23a7da78933b95cb8859b705ea1a92cc8f02cc1b56", "headline": "New Zealand Business NZ PSI increased to 51.2 in August from previous 50.6", "day": "2026-09-13", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012408+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "be3470475400d358606532dcbf152f6af88ac338c090f8a7f2e19b1a1e4ae67a", "headline": "New Zealand Visitor Arrivals (YoY) up to 8.5% in July from previous 8.1%", "day": "2026-09-13", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012413+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "9dc7a21e02ca69ceb6b9cddfdf9f963e670d6b4a1ff8c893cc4c13cf04d0913f", "headline": " PBOC sets USD/ CNY reference rate for today at 6.7698 (vs. estimate at 6.7083)", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012418+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "1b69571323e72e214901bb52f98d0344202ad27d11a3caea76144616b4bb28e2", "headline": "British Pound consolidates above 1.3500 vs USD ahead of this week's UK data, Fed, BoE", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012422+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b6b744b836c030ad6d7a8ec930054f7fb46fad51fbcf82b2a1754b10f7696006", "headline": "PBOC sets USD/CNY reference rate at 6.7698 vs. 6.7743 previous", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012427+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "0ae3230c465647ffba4146dea2e994decf344360129c692946e02a8bfe04bce0", "headline": "Japanese Yen edges lower vs USD amid Middle East jitters as Fed, BoJ meetings loom", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012432+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "8b500ea46036e3b4c6129d67d279e43d7402a6f9aef34be2ec1c859e44d85bcc", "headline": "Canadian Dollar gains support from higher oil prices amid Saudi pipeline disruptions", "day": "2026-09-14", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012437+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "af50eeb7de3b9332c9ac4174cee901f246df467d49f1f5f45e1b29ff83567750", "headline": "Silver Price Forecast: XAG/USD bears have the upper hand below $64.75-$64.85 confluence", "day": "2026-09-14", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012442+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "0c8d9506388c0e37b03387c1a5791df2baf6cbbd706e98937ce192ae946aff5a", "headline": "New Zealand Dollar weakens below 0.5800 on RBNZ dovish signals ", "day": "2026-09-14", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012449+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "0a8d80f49491a085763f03d6d66f3faeb10cfdf57f32f253a3c77a4c0aa1f849", "headline": "United States Dollar Index rises to near 99.50 as Fed rate hike bets increase", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012454+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "f7529ae1e9fbf86a848acfc927a1d63d1244616038f4fb0a996f5bfdc701c6e8", "headline": "AUD/USD Price Forecast: Shows resilience below 38.2% Fibo. near mid-0.7100s", "day": "2026-09-14", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012459+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "785edfda79592e7ffac7a99438b47094b14e257efb98ec112814cd9268832b2d", "headline": "EUR/JPY Price Forecast: Trades near 178.50 after rebounding from descending channel bottom", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012464+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6d5b82e97c395b796cd8c5e2f3a16ef7a6624f67ea75a8829971b6d1e2b51fcb", "headline": "EUR/USD trapped below resistance — Can buyers force a breakout?", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012469+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e63018637b5ccf158d3bd3412445d082ee761c353c8d84016026e44c6ba1e84e", "headline": "EUR/USD Price Forecast: Slides to four-week low as hawkish Fed bets accelerate", "day": "2026-09-14", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012474+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "822611d8b434ce5bbb5338b99ee5ae07b970ecfd8cc5af7ebb7963f743cc2c2f", "headline": "AUD/JPY Price Forecast: Holds steady near 110.00, bearish technicals persist ", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012479+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "705f5f1c08d21cee97ce9cf1753696414bd02c7490000f857daa01afbd47e544", "headline": "Swiss Franc weakens as US Dollar gains on Fed rate hike odds", "day": "2026-09-14", "s": -0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012484+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "3f2aade0426d68165a34cc9cedabc75338dd0732b575db6697d4b3e3415689cf", "headline": "British Pound trades higher at start of UK data-packed, BoE policy week", "day": "2026-09-14", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012488+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "99f05c226aa5d4ec1d9c01c578e9bc45d48412e65a88b3ed93ab79e15d576500", "headline": "Brent jumps again to USD 107/bbl", "day": "2026-09-14", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012493+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "0b58f272e9bdaf62ec5ea2edbf964b9f0e8741036a50f5cb54327b78f834a833", "headline": "Fed rate hike bets surge as Wall Street analysts converge on September move", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012498+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "aca5108bff19514fe9683185eb43bfe788e563c6c83ac8e4cc91f6a9e27006a4", "headline": "Euro: Support at 1.1565 watched against US Dollar – UOB", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012503+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "30a30c74b296c8b0683db74340463f975ef9bee6dd0ec47d39a2fbe9dca18fca", "headline": "Fed rate hike inbound?", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012508+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "cc8af0e08f009eb9dc62b86d2e5adac6effb65452efeed0c72b50dc4a5ed990c", "headline": "British Pound weakens to near 1.3500 on Fed hike bets ", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012512+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "09dd2f78e6d63e1a78611b04589882d7818f2c3d82881428f1b887a57f72ece1", "headline": "British Pound/US Dollar rebounds from 1 (100%) Arc – Potential decline toward 1.3480 ", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012517+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "46d66d2faab80c88b06b54116cbbe11804295dd1fd90fedd71028cc506e7e754", "headline": "ECB’s Lagarde: The current shock is longer-lasting", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012523+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "de24285f2d3149d3ec76e9df736798ccba73094d2844a90788f7b1cc45983539", "headline": "Silver Price Forecast: XAG/USD hovers above a key support in the $63.00 area", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012528+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "156dea43d47245c78c4f25a3a5d56aa27a0ca6c9aa6313a4cbb3d2e659507e0c", "headline": "US Dollar Index rebounds from 0.5 support Arc – Potential advance toward 99.58", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012533+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "2023542ade93ff68f041a6913c4f866469155084ffe5cd0745b0d5beb2db980b", "headline": "USD/JPY Price Forecast: Likely trade sideways ahead of Fed-BoJ policy meetings", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012539+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "f12bd19b96fdbadbd1432d1423d621dbd49ef4b8d361b469bf6935d981ad93a8", "headline": "British Pound: Growth distortions and rate risks – Commerzbank", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012543+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "5e55fe952400a244293cdab0e80cda6f1e518b236cef994f08063adf4d2df79b", "headline": "Indonesian Rupiah slips due to stronger US Dollar, soaring oil prices", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012549+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "012448b1a02f2ce326b9be787f6bef52c7c2805dcb7eef3edcc355ce27f2e341", "headline": "USD/CAD Price Forecast: Edges higher above 1.3850, but bearish bias persists", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012559+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a194cb99c994554e1e4f37cf64294c18903d7aa1382b5a6a7935405551ba59d1", "headline": "European stocks open lower as oil surge and Fed rate-hike fears weigh on risk sentiment", "day": "2026-09-14", "s": -0.5, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.012563+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "d5ea23894c57661243a0e720e5623288be20e44866b48b61b1e4ff0cc38b4734", "headline": "US Dollar Index Price Forecast: Extends recovery above 20-day EMA", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012568+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "2f20760a1cae7ad4f311b692e8a0c9c06920ea05acf0c3d52e509a6b381829ee", "headline": "New Zealand Dollar declines as US Dollar gains on Fed rate hike bets", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012573+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "539c9108911acefd16580703796f242d3100302f753cf1f65c7b8a76d8179c8f", "headline": "Japanese Yen: Bullish but momentum slowing against US Dollar – UOB", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012578+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "50eddce4116591c20f7c92b8ccafddcbdd8c38ca99b4ca76a994eac669281511", "headline": "Canada CPI expected to show steady inflation in August", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012583+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "2faa9a229174f4e0be85e3216bddddf152f0eb3dec27ab2e770120a5c6d04310", "headline": "Euro extends losses against British Pound amid high Oil prices and risk-off markets", "day": "2026-09-14", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.012589+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "80ca30250f4a7a21fe5508a3bb5f5f87ca2867d0fde1a195096b31f415c2c6e2", "headline": "NZD/USD Price Forecast: Falls to July 29 lows as bears retain control below 0.5800", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012594+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "c64e13a549a55bb5f5e0ee6a947a3cc4b3185360416406006f3ab1355fe90b05", "headline": "Canadian Dollar: CPI test for BoC inflation warning – BBH", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012599+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "95b2c0a1669490e8f60028afc8661a816f58eb7f70a718e6fc9649f90f41f47f", "headline": "Silver Price Forecast: XAG/USD falls to near $63.50 amid Fed hike bets, higher oil prices", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012604+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "e746a375f953fc0e5a2d04cbe13a10090d6f1c88d37031948b02cb4c2866a170", "headline": "US Dollar Index: Fed guidance key for next leg – OCBC", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012609+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "0dd80e3ee9983be0dd411a5acf04e31adf77d3087c3df58a7f346c1e82c04790", "headline": "Dow Jones futures dip as Fed hike bets, AI safety concerns weigh on markets", "day": "2026-09-14", "s": -0.5, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.012615+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "add8fd43b8da1208b77d507fd302335080d696e28780be5f5555c3bd4fcc8a6f", "headline": "ECB Simkus: Can't exclude action at any meeting", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012619+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e6872c8edd1d54b29da489ad7b3e834db8a77e18b91bcdf8ab6003b3f0a497f2", "headline": "Euro drops to monthly lows below 1.1550 amid high Oil pisces, Fed hiking bets", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012624+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "acf305783ddd2e4e72fc3c3b48bc43f252e40862fb934a2a3dea3bed358c5e84", "headline": "USD/JPY – Ready for the bounce? [Video]", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012629+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e0d2af1e49e55d705f789b292998d01a2a052e905b0a0fe8ca1c4e9ce57aff5e", "headline": "Australian Dollar underperforms amid risk-off mood", "day": "2026-09-14", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.012634+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "0a6629e9874a4a9f687debbb53394ed20e1c1ae686245915afeae8375399ba40", "headline": "The Fed policy meeting on Wednesday is this week’s highlight", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012639+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "3658403a93f8d23ef2dd893c436708684da84f52c9fb90dc18b8ddacfdce7b13", "headline": "GBP/JPY Price Forecast: Clings to gains above 208.00; bearish bias intact ahead of BoE/BoJ", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012644+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "586c8dde2d65b887ee436bbe32d3e46e7380a921290a8c73c49970f55012ea60", "headline": "ECB’s Kazimir: Will consider all options for next policy decision", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012649+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "62bdb063f08084437468e9cf13726b4e2bc58ca5964751fa28abbb47e5665763", "headline": "US Dollar: Inflation-driven rate risks and premium – Commerzbank", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012654+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "40c147436d9b832c89e2b9fb5682f03d78f1d49792c5b66dc8f8cb21f6f655d1", "headline": "Euro drops against Canadian Dollar amid energy shocks, growing Fed rate hike pressures", "day": "2026-09-14", "s": 0.2, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012660+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "870d89cb8b172bf4ab524400eb785b034e9dec171523c82b0b47dd484c854c19", "headline": "New Zealand Dollar: Growth check and scope for dovish repricing – BBH", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012667+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "85186551ed2f479d7be9908c701575d4c4347bf2f72f826642b81c62078b35a9", "headline": "Swiss Franc: Downtrend capped with 0.8185 against US Dollar – UOB", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012673+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "11acb0f96dbaa5192808a8d074988c0fd3bc48e850bfd5563f0d2720a48cb65d", "headline": "GBP/USD Price Forecast: Bears flirt with monthly low, near 1.3480-1.3470 confluence ", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012679+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "252b7b7587a20078e099e8e0c0156379ff180775d0a2487b542fd004df178b4e", "headline": "Japanese Yen weakens as rising risk aversion lifts US Dollar", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012683+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "93866fe50b62e6881aef231414533538386389535928a26322f3e6906abffdb6", "headline": "Euro: Further downside favoured against US Dollar - ING", "day": "2026-09-14", "s": 0.2, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012688+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "f643329e2e043c258cdf4665fb14cd2b1ec208b6681f2cea7409246b3aa6b24b", "headline": "Fed hike is now expected after August CPI, though it remains a 'close call' - new", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012693+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "4f0cd52b03b2131a4c9bdbc4af15d70877f6936f4bd5ce2f1d7c05658768b3e4", "headline": "Euro advances against Japanese Yen despite BoJ rate hike expectations", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012698+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ddcee29d4a32755c8c92f72fbf5f556db957698423bf7a27188c5179896eacc0", "headline": "Swiss Franc nears yearly lows as Fed rate hike bets boost US Dollar", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012703+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "d1a2d7c0fe08c7b76d3361c9d2a550ec8c9565eeb1417acd3bca719860a45173", "headline": "Japanese Yen: BoJ guidance crucial for further gains against US Dollar – OCBC", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012707+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "cf001972d4bdeb416362ac2b2c7df8e7e09a6dc96146f0dbf18c0de5164db176", "headline": "Fed hike is now expected after August CPI, though it remains a 'close call' ", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012713+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "cec60dfbdd81fda24c59b2b5b93e696f4c93f3715d7e183df49fc6a001461e7e", "headline": "US stock futures slide as AI worries hit tech stocks ahead of Fed decision", "day": "2026-09-14", "s": -0.5, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.012717+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "3b4fe1ae84250bc7bd695f120c5ace5295badf96810fc878555882250ef28d59", "headline": "British Pound: Downside pressure persists against US Dollar - UOB", "day": "2026-09-14", "s": 0.2, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012722+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "473790a2461d24a0e4cd076f6a7027239c4dbce4be73adccffcfd529c5fa1e7f", "headline": "Canada’s August CPI rates could shake the Loonie", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012727+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "f261762d3c49c8c226db72574416b216ce120593acb607ae3144187d101e975d", "headline": "USD/CAD Price Forecast: US Dollar gains momentum and targets 1.3940 area ", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012732+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "e31f9c23541b3052ae701d644db1abf3faac4feb98198fce55c439a231ea397e", "headline": "Bitcoin at risk of a \"sell the fact\" reaction on the CLARITY Act vote as FOMC decision looms", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012737+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "014794328489e530f310a093f31f46059a9a3a7f402efbce1d4a96b9e92be911", "headline": "Bessent talk keeps Bitcoin supported ahead of Fed decision", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012742+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "5408571a7e4d7ac60ec3fa5bf472bdfa5d04f71b07a562495b07bc22f4ddd624", "headline": "The crypto market is unfazed by the impending Fed rate hike", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012747+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "ac75eed24f4d5976c096b8a5d0f0b3d6c8c4ae20e5450306ca17392d43c1a8a2", "headline": "UK economy 'remarkably resilient' – BoE hawkish pivot would 'be a surprise'", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012751+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e34a0dc0d227a689631b6180a3f4a7c56e0b005e0eb7256d9d68250d00b3cbbb", "headline": "Oil stays hot, yields kiss 5%, AI gets tested — Fed decision looms", "day": "2026-09-14", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.012757+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "34898c2dea87c967bbc239f4427a87d532d82de4fb6aea067adc8f627dddc230", "headline": "Fed to raise interest rates to 3.75%-4.00% on September 16 – Reuters poll", "day": "2026-09-14", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012763+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "295169e806c2a1de57f5741123831a77652d8bb87aebfb1d003541ff1ea981a2", "headline": "USD/JPY bear flag points towards 151.70", "day": "2026-09-14", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012768+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "363b03e7c454a64621a5961f1c80aabd8f21bfe18e5302abdf0b6eda23611237", "headline": "Canada CPI Preview: Inflation forecast to remain stable in August", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012776+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c0d4cf11f419ca2e9911ae4cdcaac98fd963651fc246aa0668f531eec92bb87b", "headline": "Bitcoin Price Forecast: BTC recovery faces headwinds from ETF outflows and elevated Fed rate-hike bets", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012780+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "936e152d3ffa1b09a0ad583aaaa7ced5b32237d44fa49c80759ab161fa6afa47", "headline": "AUD/USD Price Forecast: Aussie bears aim for a key support area around 0.7110", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012802+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "c70436e07954f84c5fa5481902bb0a5597c0d48b5444add9662945365eed0a2c", "headline": "US Dollar: Fed hike expectations and limited gains – MUFG", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012807+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "fa9aec6de9e77525b39614cd4194dc45c4aa80dfbfae4f04be6ad32f5b0c4eed", "headline": "ECB’s Schnabel: Recent energy-price developments have been quite concerning", "day": "2026-09-14", "s": -0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.012813+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "7ccfaaf989e0e933d49c0b981191cb93adbda3336bf42fbdcc7c3cdfeb4a3f68", "headline": "Will the Fed deliver the hawkishness markets are pricing in?", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012818+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "89609cef28e7b3feabec7fd1e82e4db52fc2b8046d50e5bdf2d535e541e90716", "headline": "Federal Reserve: Rate hike path and data support – Deutsche Bank", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012824+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "537675db67c4ad31c850c426c1c6ff82ae8cd74e87650636cd7fdcf5159010b3", "headline": "Czech Koruna: Dovish CNB may weaken CZK against Euro - ING", "day": "2026-09-14", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012829+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "a01bd89e1ab5b4ff2f17881d7f1f2f8496a3f57235e8c35a972f3b0b4397e0ab", "headline": "US Dollar jumps on Fed expectations", "day": "2026-09-14", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012834+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "0354e43fafd3763e5524a3a77a9399b92e2b64f142c5462174165e8c51033372", "headline": "The Fed is about to start a new tightening cycle", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012839+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "c91cc2a3e337aeae9ffa7be3671a675ab912668bd265bf6b5e4a1e2d21f83f11", "headline": "British Pound: BoE hold, slower QT and dovish repricing risk – BBH", "day": "2026-09-14", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.012844+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "6ba2d67b1cdad18cbe4fc586684af51268f5e06201b13454d7cf5c961a904864", "headline": "Japanese Yen trims gains with Fed and BoJ decisions looming", "day": "2026-09-14", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.012850+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "221f6f636cc490cc2326fb0b1518509b541b4c8285a1572903339baaa912d6e9", "headline": "Pound Sterling Price News and Forecast: GBP/USD bears flirt with monthly low", "day": "2026-09-14", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012855+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "935d0cc4a3956b6e4434a10f97f227f05bba2cda4af532b8ce3d967a1b9c9d17", "headline": "investingLive European markets wrap: Oil surges, Fed rate hike bets rise as AI fears hit stocks", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012860+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "ec3fa48c9c6d1aebddc5388ad1d409dc220aff6be74b6ce875857a936254ad50", "headline": "Japanese Yen: Policy-regime shift backs JPY against US Dollar – DBS", "day": "2026-09-14", "s": -0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.012865+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1efc4112110bdeae5420e620697ae2dbc6ffd9eafc0080f72983d05d99c43837", "headline": "New Zealand Dollar extends losses as US Dollar strengthens on Fed bets", "day": "2026-09-14", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012871+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "e359df699375e8ad0da80f681e853e62230de6eee367cf3725a8815189d1ae8f", "headline": "Canada Manufacturing Sales (MoM) registered at -0.4%, below expectations (-0.2%) in July", "day": "2026-09-14", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012876+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "80c2e8d7c9000a1e6cc3fc20839ded9dd77cd7e9f10478f41351a2a8e13f5580", "headline": "Morning Kickstart: Central-bank week begins with the USD higher and stocks under pressure", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012881+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "df7c3b7282effbe7b1c517076bc601280f6cd6501ff7d24a47209846c18149f6", "headline": "Canada August CPI 3.0% y/y vs 3.0% expected", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012885+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6bcab5a39422f5e1ec508dd28945df4abe31f5543982294fb23d2b52a5a14d49", "headline": "Silver holds around key $63 support, but hawkish Fed and oil surge threaten further downside", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012890+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "74fed70ab088a26b5297a4fd16e7f5a1cebe0bc5f28786feed1998728e028cb6", "headline": "Federal Reserve: Inflation keeps pressure on – Commerzbank", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012895+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "eca5a0dd559411289b3fe7143ee5901a32c723851ba91b6251d16cd5148b5f65", "headline": "Canada Consumer Price Index - Core (MoM) remains unchanged at 0.2% in August", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012904+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c66433fc3bd7dbc60492bdb6bcda6fb4512fd7eee68369c18d2f64c97c9760ee", "headline": "Canada BoC Consumer Price Index Core (YoY) rose from previous 2.3% to 2.4% in August", "day": "2026-09-14", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.012909+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "5c2660dbcaefef29f67377f55b49a86d4e61727d23dd816cc328e23ad5ad9c86", "headline": "Canada Consumer Price Index (MoM) below forecasts (0%) in August: Actual (-0.1%)", "day": "2026-09-14", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012915+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "2e30a43a0a0762a7967ac314645f13fbd871de075dfdf0ae4a20884cd1ddfc81", "headline": "Canada Consumer Price Index (YoY) in line with expectations (3%) in August", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012920+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "830c13a0b644301c2a05e58b4b93e9c00d1bec358f8ecbd0f97f50306bca8dc0", "headline": "Canada BoC Consumer Price Index Core (MoM) below expectations (0.2%) in August: Actual (0.1%)", "day": "2026-09-14", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012925+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "4615237dd737ff13ae5763d8e8a8df1acb6baaca950d0d16c56a2a81b2b98ed0", "headline": "Canadian Dollar remains under pressure following mixed inflation data", "day": "2026-09-14", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012930+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "3773fd9b52c3591f66ada2f43a58b683b7f5aa2e00fe77a01b6fcdda4e0f7d7e", "headline": "Dollar surges as markets prepare for central bank week", "day": "2026-09-14", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012935+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "b61cd7eddf15d41aa39aae516be6096425aad5966b5149a79c7f801877826275", "headline": "Euro: ECB credibility may offer support against Dollar – DBS", "day": "2026-09-14", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.012940+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "1007e6970d9f5ca8137daa6c7c7e8af50f57e7738c501c437fa95cec3b469c6a", "headline": "XAG/USD tests key support as hawkish Fed bets mount", "day": "2026-09-14", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012946+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "c048e6afb94af9adacef4407b1713f429ea03ca1ebab381b493ca594437fe5a5", "headline": "Can Bitcoin hold above 76k ahead of Fed and clarity act vote", "day": "2026-09-14", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012951+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "603d52b8430a9c8347714af470dfa40cb12f113ee646ef2508f9d3f8d7783ad5", "headline": "Dollar breakout manifesting [Video]", "day": "2026-09-14", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012955+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "632126b1f05f7df893dafe98d5f0292a744bd52f0b4be80049f9c29c78f2a193", "headline": "British Pound loses ground as markets brace for Fed, BoE monetary decisions", "day": "2026-09-14", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012960+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "5bdb93a9e1f5c2f7fc1985154ae60a2501e28a0b0e2e004376f6657d588cc676", "headline": "British Pound: BoE risks in focus – Scotiabank", "day": "2026-09-14", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.012965+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "910950ce5426e1f859118dfba5d3380630aed7cebe1c520b6268b01054d8011c", "headline": "The 'house' is losing, USD/JPY rises over 155.00", "day": "2026-09-14", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.012970+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "eaa9f8999fdc79fca7b79deb9e60879e2dca0d2e7a83791976a85c568c3fc300", "headline": "Federal Reserve: One-off September hike view – ING", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.012975+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "44c62ba0477e8196cd51b9e089df6c8fd9e4e5a39226652cbb2b3fa5b5d3a1a7", "headline": "Euro tumbles to one-month low as Fed rate hike bets dominate", "day": "2026-09-14", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.012980+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "dbbe016d41db2df2bf1d12753439cd4024d61716f434ee2d90cec348d5958581", "headline": "Canada: Contained inflation pressures support steady BoC – RBC", "day": "2026-09-14", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.012985+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "4a53ec70bb010e70e556831e590aa3532fc3f57c38a43d7516061e6f9646a033", "headline": "Japanese Yen: Further gains favored against US Dollar - BBH", "day": "2026-09-14", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.012991+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "c5e9c1dd3ea23de3073d81d90e675b0e01d86ef35dbe0d79d60a8700e798a796", "headline": "US 10-year yield crosses 5% rubicon as Fed hike looks locked", "day": "2026-09-14", "s": 0.6, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.012996+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "32f83f3ac5f01ec1a41d5e43345b3ecef93a8e00e75de8d5235937b7e6fd38df", "headline": "Euro: Support seen near 1.15 against US Dollar – Scotiabank", "day": "2026-09-14", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013000+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "0cc0a773ec5f01dfd8b18c0f1ef65629d870a0c3a07b3d3e61645a39c817662b", "headline": "XRP Price Forecast: Momentum builds despite elevated Fed rate hike bets", "day": "2026-09-14", "s": -0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013006+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "caf59c676108105418c8b37263b3ef191ab73293e441c86698dbab6a6e406e48", "headline": "Japanese Yen: JPY underperforms into BoJ – Scotiabank", "day": "2026-09-14", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013014+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "963f3767c580a012552b095775b03e2e7bbe9f931e5f16a1eca10f43954b7823", "headline": "Federal Reserve: Forward guidance impact – Commerzbank", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013019+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "d79570ed0c0aa115d0c27b96a8e52f037466231415d9ca3ffea3007904f0f8f5", "headline": "Australian Dollar slides to monthly low as Fed hike odds firm", "day": "2026-09-14", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013025+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "31ac726e9176ed4bc38dfc8d865ac1ae90f783c1f0c4d6aaab8f2efe049b10fb", "headline": "Euro area: Supply chain risks and core goods outlook – Societe Generale", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013029+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e931cc3e21524dd0768c874bfc3935c127fa9008cbec7f93d4c26565ed0a78b0", "headline": "Japanese Yen weakens at the start of a central bank-heavy week", "day": "2026-09-14", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013035+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1be391df77f8e95aee5b22ac15b7f0faea24da319011d7834b76ee0c77f70ca0", "headline": "The Dollar Index climbs on Fed hike bets and stalls at its usual ceiling", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013040+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "1523d061522df5889d1cb31f10d50e945296255e1d13841f8285b308be7381b9", "headline": "US stocks dive on Monday as CEOs mull AI 'slowdown', soaring Oil and Fed hike", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013045+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "52eddd71319371e6daee7885d1f462b06a3f1f12e0c3c4370b5da8f64030d4a8", "headline": "Euro falls as higher Oil prices support Canadian Dollar amid mixed inflation data", "day": "2026-09-14", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013050+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "31569698b75191f0ad489d37de3060d24adc14440e6f8fb6b6206b333e863934", "headline": "British Pound buckles as the US yields rise puts Fed in command", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013055+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "aedf269d8c2be0875eb597f77d6dcc3344ca63812e8b059339acdfad0b536e81", "headline": "Euro slides against the Pound as a UK jobs test looms", "day": "2026-09-14", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013060+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "662f228454557e70c483c6d6a00efdac2f4558fe56a3d7cfd089811fee4fc60a", "headline": "Eight reasons why the Fed should raise rates", "day": "2026-09-14", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.013065+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "a75bcc174fad8e422e04809de5a55c55f9e14eb1c782cf22a572d86b9af594a4", "headline": "British Pound buckles as US yields rise puts Fed in command", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013070+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "8ea417f965d356ce9314cadf40bda974399a4cfbad830df0e843d4b07363e872", "headline": "Australian Dollar Price Forecast: Correction should be temporary", "day": "2026-09-14", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013075+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "7cf035a76d2069783ef26b949794427c8b0c73756f818f4874c30386279a2081", "headline": "Cryptocurrencies Price Prediction: Jasmy, XRP & Bitcoin – American Wrap 14 September", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013079+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6a2715971c8d4d205aa4c6b606860bd43bbb491bcc063e001966a3021eb74d7b", "headline": "Pound Sterling Price News & Forecast: GBP/USD tests five-week lows as US Treasury yields surge", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013085+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "473e0d84bb26b57b2cda6423f044498513ba78c858edcc3f1dfddd3e131d67a7", "headline": "USD/CAD Price Forecast: Buyers challenge 100-day SMA after double-bottom formation", "day": "2026-09-14", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013090+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ea851bed537aeb65c23ee0609796d33295d3ed6c92ca30eb1b87fb3a84c1b84c", "headline": "Evening update for gold -14-09-2026 - economies.com", "day": "2026-09-14", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013095+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "2705599cf2a9ef8b33bc4606a03417cb5ad22e221ef70d704272b52bbad27858", "headline": "US Dollar Index: Fed pricing supports gains – Scotiabank", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013100+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "af0a61fad5c44957c0ca104feeecc534847c35dd00fbdcb994ccbdb39d626890", "headline": "US Dollar: Hawkish Fed may offer only limited gains - BBH", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013105+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3cb4da04b6f54a291f29312cf50d511403f98b50295f1d72108fdaf04ff5b62d", "headline": "Counting the votes: Warsh faces a tough battle as the Fed girds for expected interest rate hike", "day": "2026-09-14", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.013110+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "c9c0ab925beed908ce8178bd6db27783cc55f25ed8237ba7281d10f7af65bbd4", "headline": "Forex Today: US Dollar firms ahead of UK jobs and a midweek Fed decision", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013115+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "0523f2c2a895ae7a0e6057936971a0222fbfb28d344ea4b9035fa98dfcf4e12b", "headline": "Gold has delivered 23% returns since 2019: Why investors should factor in inflation when estimating future returns - livemint.com", "day": "2026-09-14", "s": 0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013123+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "e9dd8dd98bebc8e2a526fd3a16e91ecee33fcd28c75af18fc0448b17a7cf2def", "headline": "Bitcoin pushes past $79K as markets anticipate Fed meeting, Strategy stays put", "day": "2026-09-14", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013129+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "3aae1f67beaf126e03d9bba7c2ecc02e95870ad3ae001764369aaf96269ad689", "headline": "USD/CHF Price Forecast: Shooting star warns bulls below 0.8200", "day": "2026-09-14", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013134+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ed19f3d28355f88f839316fd4907867c1e9a334f46d8e594dfcceb34b4a56248", "headline": "Japanese Yen recedes as Fed and BoJ decisions loom", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013139+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "939f77e98a96bf64ec8c81e6aaac77cbbdd78df3643e783b95df5411a1919cba", "headline": "Preview: Goldman Sachs sees yen and Nikkei risk building on faster BoJ rate path", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013144+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "fa086e3b87a1869839745711ebfb45eb974936014ba4f0d1ddb8452a65b79d21", "headline": "New Zealand Dollar sinks to two-month low as Greenback firms", "day": "2026-09-14", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013149+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "482565c6f0e4d27acb09dd74c1ac6a6cc2f3cbbae7f914c9ac36179a521779c6", "headline": "GBP/JPY Price Forecast: Bears circle 207.00 as RSI rebounds", "day": "2026-09-14", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013154+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "11e17be841cf088f03c6ac952999de97ada8b9627ac617f0f44ebc2ee1a2521b", "headline": "The Pound tests an August low on the Fed's hike odds", "day": "2026-09-14", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013159+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "70495a4d9e348659260f38d8fb441d97d1166f1f8a18176dcab41df2fb61916a", "headline": "The Euro breaks both its moving averages as the Fed's hike becomes certain", "day": "2026-09-14", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.013164+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "05102e42952bad40a15811c93e2f95eec4942df33459c674b74623cb748ae57e", "headline": "New Zealand Electronic Card Retail Sales (MoM) dipped from previous 1.3% to -0.9% in August", "day": "2026-09-14", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013169+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "67c3346cb92a4e83e4ae14c2d8fcaee4030e5a85c10b026183f5ad73e5cbc931", "headline": "New Zealand Electronic Card Retail Sales (YoY) fell from previous 3.4% to 0.2% in August", "day": "2026-09-14", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013174+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "26bd13acf65a6d92fd60c36f044a0d6f7a5c0e4543ab8f982a1f18662d141627", "headline": "Australian Dollar gets caught between AI selloff and 5% US yields", "day": "2026-09-14", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013179+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "5db16812ddf3b3019c8d7c4b9edf34a70fb5561f11d986e2f8bf0154ded2b0b8", "headline": "Why a Fed rate hike can't fix oil and diesel prices, but may still curb inflation", "day": "2026-09-15", "s": 0.1, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013184+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "84773ae7d0e42d3c0be8dce262a8f0a137ae966d2e0f887b03852e930c0f64da", "headline": "PBOC is expected to set the USD/CNY reference rate at 6.7051 – Reuters estimate", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013189+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "f7a7351df05a61892e62965e3191604a05a4d24ed0b0d261864412e475233967", "headline": "Japanese Yen weakens as Fed rate hike looms", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013195+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "515478b37ede52cd317e148cfe91f41a07c357ec8f8a4f633e67c650b3e9c6aa", "headline": "Canadian Dollar consolidates near 1.3900 as oil gains offset bullish USD ahead of Fed", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013199+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6893fb120ab4a6433b32e269e70704a1a8d597619b32598100a3c5a96adf630e", "headline": "PBOC sets USD/ CNY central rate at 6.7670 (vs. estimate at 6.7051)", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013204+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "119c7a3467dfea4094d06cd0469166951342f435247c14811fbfdab5d9b89983", "headline": "PBOC sets USD/CNY reference rate at 6.7670 vs. 6.7698 previous", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013209+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "eead3c0cedfb889053df7d4a6f285377f63201f9290a3401b04af83804439dbd", "headline": "British Pound drifts lower below 1.3500 as Fed hike bets rise, UK jobs data loom", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013213+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1aa2e053b805007cc624a0e5674c16252fce6de5d426548b94cb244f3ff23c6f", "headline": "Silver Price Forecast: XAG/USD falls to near $63.00 amid rising inflation, Treasury yields", "day": "2026-09-15", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013218+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "473690a46154474e44e90f3fb22532d000d54b758758ad9de14b16b9e8752dd2", "headline": "Euro remains depressed below mid-1.1500s vs bullish USD as focus remains on FOMC", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013223+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "643cf53753a3206b2cb8767eb4bfb6159fba1ccbfe4fe03daf2036db78e8195d", "headline": "Australian Dollar remains depressed below mid-0.7100s vs bullish USD after Chinese data", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013231+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "7d8794b63a248a39490823699d906460bd14a1ad659762ddfab1506d35e1544d", "headline": "BoE decision preview: Goldman sees hold, but watches for hawkish hints", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013236+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "eeefea3f01cd7daae091fac7ffeb7db02428b0fb646087f3742a7b1e5fe10c12", "headline": "United States Dollar Index strengthens above 99.50 as Fed rate hike bets rise", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013240+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "ce3d035569f2c0bcc84db60121c968be4c48e1565a3a2bf2c993399a9891ae3c", "headline": "New Zealand Dollar remains subdued following release of China’s economic data", "day": "2026-09-15", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013246+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "076db81b8805efa4b920562719b78732bbcec57c7a6e18f0d2d37623fd139dfb", "headline": "Swiss Franc remains under pressure against US Dollar, Fed’s policy in focus", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013251+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "b82af9c5c86cd84a2c513ae5b4512a7109f62b2717408263588c414f03108715", "headline": "EUR/JPY Price Forecast: Hovers around 178.50 within oversold territory", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013257+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b108972b1db4a9e9160206851d70b37884ff3b57a4c3b5c9bee9fe42f38a0616", "headline": "Pound Sterling Price News & Forecast: GBP/USD softens to near 1.3490", "day": "2026-09-15", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013262+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "84feb930f0ce0571badfbfea235366fcd8ecd955f4092a9c831dbd112b63ef27", "headline": "Japanese Yen sticks to losses against bullish USD as traders await Fed, BoJ meetings loom", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013267+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3b06dbfff8d0919970c87afa365291e55c25de0133c80599a3cb343d48517652", "headline": "Indonesian Rupiah weakens amid stronger US Dollar, higher oil prices", "day": "2026-09-15", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013272+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "98ac0b90ec2a4ebad0a41021f460ba93b2783c549d7318dd797625a50e4b10cd", "headline": "Morning briefing: Euro can test 1.1500", "day": "2026-09-15", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013277+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "66982ea3421235fd435df9534e60a53ba14f40443d4e3137ccff11253f6e89ef", "headline": "10-year Treasury yields hit 5.02% as bond market sends a warning ahead of the Fed", "day": "2026-09-15", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013282+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e02f8c7acd9ea9e4eaa334f139e41dd4ce3bb03afb288d91b6a435ab2d429cc7", "headline": "AUD/JPY Price Forecast: Flatlines above 110.00, bearish outlook persists", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013287+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "dfea107422d8edda17e7b4e186b5db90846489dc02080474c5f83f8082533daa", "headline": "Indian Rupee declines further as US Treasury Yields extend rally", "day": "2026-09-15", "s": 0.4, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013292+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "09faf7339a3634b45f357bf75ca71cc12eede60120b24aa28853fa14112c5ba2", "headline": "USD/CAD Price Forecast: Tests 50-day EMA barrier amid potential bullish breakout", "day": "2026-09-15", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013296+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "f56d551042d84f158acff9dd3598bc8b140b3b506aa47d19ae107c2b58ac6209", "headline": "Oil nears US$110, Treasury yields clip 5% as AI fears weigh on sentiment", "day": "2026-09-15", "s": 0.3, "xau": 0.5, "labelled_at": "2026-09-17T23:21:54.013301+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "33bf93bae50854b92d9f5c46dbaace43390ba8ff3ed1e0bc5915cec3a8aed772", "headline": "ECB policymakers agree: Inflation in Eurozone to remain high amid energy crisis", "day": "2026-09-15", "s": 0.1, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013306+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "0e1539da758a6c2f751f62470a3c6b7ff9f99d3bcc7463371bf1022960d13f03", "headline": "Indian Rupee: RBI support tempers depreciation risks versus US Dollar - MUFG", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013310+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "81465d2277aa4bee986018585a67c940e301d3b39f32ad071cb1c7345ceb57da", "headline": "British Pound drops against Japanese Yen after UK labor market data", "day": "2026-09-15", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013315+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "7669cabe54f1d6ab5c8dc18aa9c75cda4aecd81cc8fe55d7bab9e86fbfd4c85d", "headline": "British Pound pushes against five-week lows following mixed UK employment data", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013320+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "fbcde285227ae57b4129aa0d1277f759894b9bdbe33be0a5976b3c75fc81d5fa", "headline": "Japanese Yen: Higher Q4 range projected – Standard Chartered", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013324+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "25294469d9714976e6ec02c7283816ce2341873b32ee5636b234daa0e0c29858", "headline": "British Pound: Fragile labour market clouds BoE hikes - Commerzbank", "day": "2026-09-15", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013330+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "b995a5a28d0749e861dc334ae60014ad32ae4e4cd8e4b450835b414fc21e2294", "headline": "Forex Today: US Dollar strengthens on hotter US inflation, rising Fed hike expectations", "day": "2026-09-15", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013343+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "008f80d25e629a6a3bcbab338c9fbf4e4ffcc62157e333c2432ce505c09cc648", "headline": "Silver Price Forecast: XAG/USD remains under pressure near $63 ahead of Fed’s policy decision", "day": "2026-09-15", "s": -0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013348+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1187248c5f414f1244bab5e58fecc3b9598bfd2a7c14ca04e019dd1e74655694", "headline": "USD/JPY rises as markets brace for the Bank of Japan meeting", "day": "2026-09-15", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013354+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "0c5ea97a1af990ddcf434f96d31d03a7eea7d0d7dcf99c07144e2efe1683a5cb", "headline": "The 10-year treasury yield hits 5%: Is the era of ultra-low interest rates over?", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013359+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "5c8d480bbf533fd0839b3f25d49e83f7ff262fd679c7c58f7959e2b7ab1c44ca", "headline": "German ZEW and UK labour in focus", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013364+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "749d5f50e4bba76720b831d1efef7c7e5e4a56bf02455410896beffeb9fc010e", "headline": "Euro trims some losses as British Pound falls following UK employment data", "day": "2026-09-15", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013369+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "8d6549069fcad6699a49e7b1f01c553f77e41e0979de3dfd6ace1c0b34124024", "headline": "Ethereum gets jittery ahead of CLARITY Act vote and Fed decision. What to watch next?", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013374+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "9bba13c927b2e5ac385dc3704716013dd3c3b96b1504683a283ac5d4660aee9f", "headline": "US Dollar Index Price Forecast: DXY eyes 99.80 confluence hurdle as focus remains on Fed", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013379+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "6ab5c34dd2602da5b1e62cac910fe9a84deab8804c1b030bb9fa93eeb4c6b572", "headline": "The US Dollar reigned on currency markets", "day": "2026-09-15", "s": 0.4, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013384+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "d73d3f25152efa9d5fe331770c12cc3f5077c6774c20ecf4ae937e871400d0b2", "headline": "Euro: 1.150 target in focus against US Dollar – ING", "day": "2026-09-15", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013389+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "5f0eaec1299bad5046fc55162752e7e3822001d807a8a676f10ce807ac630fb7", "headline": "Euro declines against Canadian Dollar despite ECB rate hike hopes", "day": "2026-09-15", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013394+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "14cfd2859c092d7fe09fded2f1794dbd8f50d9b41aca94dbce0c177f5c102dbc", "headline": "Indian Rupee plunges again as US Treasury Yields hit 5%", "day": "2026-09-15", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013399+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "e6ccfb329de3414bfba1ea6bf3f7ada3138e30252d7fc7e2588ba8109423aa1f", "headline": "5.03%: US 10-year Treasury Yields hit fresh highs in over 19 years", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013404+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "18c1d4452412ade07411dc866b3b597410fafa325d035bbf8ea86df6001c40df", "headline": "US Dollar: Rising yields support risk-off tone – MUFG", "day": "2026-09-15", "s": 0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.013408+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "929721d3867fc883add533aa7a40f471d30cf167ab1cc7f7eb51e7d321176340", "headline": "Australian Dollar hangs near three-week low, above 0.7100 as USD stands firm ahead of Fed", "day": "2026-09-15", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013414+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1d468f940d6baee8f702043586e726cc011a6c4d83258adeb9e95def6b691ca0", "headline": "Dow Jones futures fall as traders brace for Fed rate decision", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013419+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "522d5b7517814cc82645d41076987dac500137b360c68a8e4fc5b7428421be14", "headline": "USD/JPY Price Forecast: Resistance at 155.20 likely to test bulls", "day": "2026-09-15", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013423+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "b73c5d3a24e263fa60e140be5229c002a2c5b51446f5b0529554115e5441374e", "headline": "Euro advances against Japanese Yen ahead of ZEW Survey data", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013428+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "bcd1cda21ea251cda9a96b6f853402e6f3f43e45dc298dc9ee5e33bc01aecf7d", "headline": "Swiss Franc: Funding role versus haven status – Rabobank", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013433+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "090e9fe98993420a093abb84f3f2be291c773379f15ea931b5d88a1c91c3d204", "headline": "USD/JPY breaks above 155 as Treasury yields hit highest since 2007", "day": "2026-09-15", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013439+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "cf34f277821043e6f8d8166e00ecaae14a894559c6a7acdf7c97c8c5383d499f", "headline": "EUR/USD falls below the key 1.1560 support ahead of the FOMC decision. What's next? ", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013444+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "be3e6cd87851fe70d099bd1997ed49aa84a7e2f3c116b9da5650d82aacaf80da", "headline": "Federal Reserve: Rate hiking path and global yields – BNY", "day": "2026-09-15", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013452+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "334901eda264b80732e0da6d6fe609fb0ca0aed8c66e16516afc405b36166782", "headline": "NZD/USD Price Forecast: Finds bids below 61.8% Fibo retracement", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013457+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "ee3981a4bbd07345109029ff1fea077d0e23c2daad476ddb2cae93cfd782e09c", "headline": "Markets slide as FOMC approaches", "day": "2026-09-15", "s": -0.5, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013462+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "892ead5f5448632663c622e9a99e24fac3c1173e49a59c786e3c169e68f7a827", "headline": "Australian Dollar holds gains as higher oil prices weigh on Japanese Yen", "day": "2026-09-15", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013467+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "f39167eff6c63b38cd1c680518ab4f85c3eba6648597e289c760a85d15d3d147", "headline": "BTC/USD price outlook: Bitcoin/US Dollar navigating between arc levels", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013472+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "50435e41d3213b4c048999e90a73e1bd52eecacfba400dcad1a4f108e293ee68", "headline": "Indian Rupee faces backlash as US Treasury Yields rally historic highs", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013476+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "f0805d17d6e5b9610df481a61bdbe419888713b13daf521454649fd5b8814738", "headline": "Canadian Dollar languishes near 0.8200 as Fed tightening bets buoy US Dollar ", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013481+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "34d7fb9c15ce8a77edd357cb9ab580f57c1f967bc2a990911ad57ff725593c64", "headline": "German investor morale continues to rise in September but less than expected - ZEW survey", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013487+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "dc1d6b1c2e3ff55bfde8ee9933d04b4f39d16027392c693dc201ac5a7cc22924", "headline": "British Pound: Stronger growth offsets labour weakness – MUFG", "day": "2026-09-15", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013492+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1e3d3bdbf0120c87300d1ec870d90bdee6c6870179fefac312634fe0a802585d", "headline": "Eurozone ZEW Survey – Economic Sentiment came in at 25.8, below expectations (39.9) in September", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013497+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "5c698a039b590d0fd6ec19949a9e8c6114a520e70d858836909301b87a850218", "headline": "Eurozone Trade Balance n.s.a. came in at €14.2B, above expectations (€3.7B) in July", "day": "2026-09-15", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013503+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "c1432b4b49daaec6c0eb55d4cb7d56f0ffc2c2cc56f4d0b61285289720d30889", "headline": "Eurozone Trade Balance s.a. climbed from previous €1.8B to €5B in July", "day": "2026-09-15", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013509+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "a909127cfea0bf2cff3d253aca11b0cf105fe55eccd95c754daa3b9306fbb432", "headline": "USD remains strong in the FX market", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013514+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "6cb88ba40274ea2854d15191da157d6e37db40898b2d3bc5495816e56df68284", "headline": "US Dollar: Consolidation with two-way risks – OCBC", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013519+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "2ecf07a29e1b085dfca492038f9bdc0e64e0237590d7e1d3730a75881a0785a9", "headline": "Zcash outperformed most cryptocurrencies following ETF launch, as focus shifts to Clarity Act and FOMC next", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013524+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "1f43ed847d5014c1814ef0b3f9368010cfc773b33bf72dbd4205c3aaa11e243b", "headline": "Euro: Downside pressure targets 1.1490 against US Dollar – UOB", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013529+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "c219403089e717eaebdb6ad6161252f5b5ffbe428f3d002d5e5fb6603c3c2b23", "headline": "Zcash outperformed most cryptocurrencies following ETF launch, now focus shifts to Clarity Act and FOMC ", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013534+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "4dfba683ac49ae6f4f89259d63a975526ff5df2860a4e5b71c1907a7cdef5550", "headline": "Bank Of England: Jobs data supports steady policy – ING", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013539+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c0f3d576b71ceb92924f17719d061d78a34fe35928c577006c05e07369b6dcdb", "headline": "Euro remains depressed as Eurozone sentiment and trade data fail to inspire", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013544+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "bc18412cb32ad8b371eb1e6d5c9378a956fb6540ef1c4e80d7a55623638e88b4", "headline": "BoE to 'not rock the boat' on Thursday – Gilt markets doing 'much of the heavy lifting'", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013549+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "78a2eb631207726cb897313c3cf7b9552a5dc94d88d8eeb9f53d1c949ce5cf4f", "headline": "Bank of Japan: Gradual normalisation path outlined – Standard Chartered", "day": "2026-09-15", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013554+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "bb2fc544a8c63f890900426b22d94d1c23b63269f866bd2062a847e944e63bd7", "headline": "British Pound trades mixed after steady UK employment report, CPI data eyed", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013563+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "29861985e27236f1aae845ebecb7c76097668d0c50fdd83dedff9428c162a518", "headline": "USD/INR erases all RBI intervention gains as surging oil prices weigh on the Indian Rupee", "day": "2026-09-15", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013568+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "cfb3ac9b1dc4cf010015b1fce264f6eda56fa875b842ce26716bdffda5cc4e9e", "headline": "Australian Dollar: Looking for 0.7100 break against US Dollar – UOB", "day": "2026-09-15", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.013573+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "f4859edc09976f08fc6943c5480ce9c666a7f50e506f4218940d3869303ab819", "headline": "Experts agree: Fed will follow monetary tightening path even beyond September meeting", "day": "2026-09-15", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013579+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "5372a92b0d7f2b87f791fb144b4f9ad699511b7056c28b75decb687a8e048789", "headline": "Crude Oil drives up yields and USD", "day": "2026-09-15", "s": 0.5, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013584+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "8c98de00330a144a9bf0d02528e4f4057e88a40393746ad41c949a32b785785a", "headline": "Japanese Yen: Two-way risks into BoJ meeting – OCBC", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013589+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "cb30ab780cde9ac73d33586feaabf814a13c9dd0f740cf5d105be100a8f40839", "headline": "Swiss Franc struggles near lows as monetary policy divergence boosts US Dollar", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013594+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "867980dc2a1b6647e8c747852b647705d1cec13354e2396f95e315bfc7c185f9", "headline": "Pound Sterling Price News and Forecast: GBP trades mixed after steady UK employment report", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013599+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "19307d875ea20eb61e6051eaa41fd20c64418fc2c7b390f9bb187457e21597f1", "headline": "New Zealand Dollar tests two-month lows below 0.5765 amid Fed hiking bets", "day": "2026-09-15", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013603+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "082e69aba233d36a0a09e1400409abaaecabc98e45920a13d99f8dec7169906d", "headline": "Swiss Franc: 0.8205 caps losses against US Dollar - UOB", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013609+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "075bd96f1a61618b806186fbcf40cafbed198c13cba52d0bb4e703fee5829c4a", "headline": "Morning Kickstart: USD higher as markets await tomorrow’s expected Fed rate hike", "day": "2026-09-15", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.013614+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "2d37661f97c032bb41074ed41cdeca4526f15a57aa7e4ea926f288cc87b30896", "headline": "Canada Wholesale Sales (MoM) registered at 0.3% above expectations (-0.5%) in July", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013619+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "c04316d333d8db8fcacb5f1cf39d6547f700f31d5a5e753b2507596ed9f1cbd4", "headline": "GBP/JPY Price Forecast: Bearish structure remains intact ahead of BoE and BoJ decisions", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013624+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "d0b2e025ac241129fbd0988340bab1e7dee5fab91f6b4d9f886e1ca112e3ffaa", "headline": "Canada: Growth resilience and rate risks – RBC", "day": "2026-09-15", "s": 0.3, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013629+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "f31ce7095cba34bef172baa0957be3bda3c8f3b40f3ce1f7634bf433ef69c137", "headline": "Canada wholesale trade for the month of July 0.3% versus -0.5% estimate", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013634+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "fdbb736f8477c72be48880d21414ef488216ebc1eb69ded8f1c18b8ff8666c6a", "headline": "September US Empire Fed manufacturing +7.6 vs +15.0 expected", "day": "2026-09-15", "s": -0.4, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013639+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "27c7f4260741b6115339f99471c8ed90c42c5cd5d1343bb49c62b74422d5ec81", "headline": "British Pound: Uptrend sustainability questioned versus Euro – ING", "day": "2026-09-15", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013644+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ed9a07271d8b42639042269628f79ca740319a0abe1937dcb073c8e541de53df", "headline": "USD stronger pre rates, four reasons for bearish NZD/USD, Nasdaq in descending triangle [Video]", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013649+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "56046faa3b3eb5a47fab6d5bac48f2ba1b079b269bae7112c3ce1198ae3a10c1", "headline": "United Kingdom: Sluggish labour data shapes BoE view – Deutsche Bank", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013654+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "145f535673fda831ac9e8533080642e18d86402e84576bdb267114d6685cc0c6", "headline": "Carney: Canada to allow immediate expensing for most new capital investment", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013660+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "53fad954920d854723da0dcb033d3a7d4565b01280872c22515f9b5a60e6f205", "headline": "US Dollar: FOMC scenarios guide Dollar reaction – TD Securities", "day": "2026-09-15", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.013664+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "4def7d01103fda8cb4f517da8cc04cd6dcdd60fd06ca5455f1ca7deb12b9a683", "headline": "Markets pause ahead of FOMC: Calm before the storm?", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013673+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ede29b4135d985bc739b36c75409919eb014cef63ab31b044619faef9b853af5", "headline": "Canadian Dollar: Remains slightly softer against US Dollar – Scotiabank", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013677+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "e0cb81f8c3fb2b5428d98d41671bf262a0340c6f9b51c319f7eb4dfea31e5adb", "headline": "Euro holds near one-month low against US Dollar ahead of Fed verdict", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013683+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "29bb05d37b530f497caab82f7e753b95e76a04efcbc8bbcd2ae387a3f2830dcf", "headline": "Japanese Yen loses ground as Fed tightening bets boost US Dollar", "day": "2026-09-15", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.013688+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b96b0e077158727b98a40f7c62b1e8e0204666c3585a8d5275498319a0a4ae77", "headline": "Japanese Yen: Bearish bias within 153.30–156.30 against US Dollar - UOB", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013693+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "3b4682e79b48eee8f525aa023d5a01f9a76840712add23c86afec2efa91f552a", "headline": "USD/JPY slides more than 700 pips following bearish wave analysis", "day": "2026-09-15", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013698+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "9f846f2cd609df963de4f3611c1767f3ea9acf8fbb032c313766e20cb6516532", "headline": "Euro: Support holds near 1.15 against US Dollar – Scotiabank", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013703+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "49a8337b7a580c633813e2b3969d6be4363d49a986f8de1851054800975025ff", "headline": "USD/CHF Price Forecast: RSI and MACD signal firm upside momentum", "day": "2026-09-15", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013708+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "6a74ef6db2b9754bee37301fb4eb5c0aab24e441d504335e2a97bd4a330b0971", "headline": "British Pound: Further weakness eyed toward 1.3410 against US Dollar – UOB", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013713+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "5965f4c6d07d7107111596718d863f55da03e1c29b77d8503c845f2795c89942", "headline": "Australian Dollar continues recent slide ahead of Fed decision ", "day": "2026-09-15", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013719+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "062f7801836504ae63be7bcb5a72a9dde99c6c70120f3a4147ab0a57eb885c1c", "headline": "United Kingdom: Wage momentum complicates the BoE outlook - Nomura", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013724+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ff0567ca295238ad5e8b3e609e32292d48f3848d7afde8841e82263e519bf29d", "headline": "Japanese Yen: Weak as markets price BoJ hike against US Dollar – Scotiabank", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013728+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "13258ee579ed5feabbfc502822c2470cf803a10fc9ee7f9c6e691571529e4de9", "headline": "The Fed battleground is no longer Wednesday's meeting, but the ones afterwards", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013734+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "d15f849747311a759505deccb18155f622655d9c16b38e4e474fbd9f6cbe6d62", "headline": "Euro stays neutral against Pound ahead of UK inflation data", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013738+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "bab0f4193488d82cfbbadcbb07254e445cd3bcaa96f56976f8900edf780ecae2", "headline": "Bessent: For a nominal amount, the US Treasury was able to signal support for Japanese policies", "day": "2026-09-15", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013743+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "edaa6965304aa61ac835bc93094e89f7d82b34b9322a83168b33f56ff4a08e08", "headline": "It's a FOMC day! Whoopie! Not!", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013748+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "37b00203551159b68b1efe914f3b9ad16d4b14bbef1b420e73b031a0b6eba63f", "headline": "British Pound wilts as Oil shock sends US yields past 5%", "day": "2026-09-15", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013752+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "ebfdc8d49b2b6ab74948245a1eedcb607d33e4d17e09351625864859781f4365", "headline": "Dow Jones Industrial Average slides as yields beat the Fed to tomorrow's hike", "day": "2026-09-15", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013757+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "23e5c58d9af88929956a156ee4d17ecc191f16e4360e32f24d700bee517fbd45", "headline": "Silver attempts cautious rebound ahead of closely watched Fed decision", "day": "2026-09-15", "s": 0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013762+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "f9b97afc6707b9d7cc91bbb162b5229d73ddd5f8ffff839e785cd523ef3e75ae", "headline": "Canadian Dollar remains vulnerable aas Fed takes centre stage", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013767+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "e30b24c665e740f8a942e466bf110c212b013eeaa15e085837bd6cc3b7efd0c1", "headline": "Australian Dollar Price Forecast: Attention shifts to the Fed ", "day": "2026-09-15", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013772+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "888043be9a91a82668feab58bd9b9a6eb3a8734a341cae9c31c53b1a9ebe3732", "headline": "100 threshold: United States Dollar Index faces make-or-break Fed decision", "day": "2026-09-15", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013779+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c30bee44f924b1180d928c41f5de78445bea95b515a32e39f1803c30a01221b9", "headline": "NZD/USD Price Forecast: Bears break 0.5800 as Kiwi slide deepens", "day": "2026-09-15", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013784+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "96c879484b2aad7dadaf511662169e254ac85bcb59fb26e2fbfc73d00adfd896", "headline": "Pound Sterling Price News & Forecast: GBP/USD slips as Oil-supply fears revive Dollar-haven demand.", "day": "2026-09-15", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.013792+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "9d2432e097e8c81d5dd91465150e19091545d38402d00c0b1bb688fcd57aadf9", "headline": "Cryptocurrencies Price Prediction: Bitocin, Arbitrum & XRP – American Wrap 15 September ", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013797+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "de07fdd9dbbe607a4746842bca5bccf10d6711b2005aa8e688fc77ca28bd79b9", "headline": "EUR/USD Price Forecast: Bears crack 100-day SMA, eye 1.1500", "day": "2026-09-15", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013802+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "8e8303d34cb1e254664c535ee5b292c540866fdab970fa2d987aec20deaac1fe", "headline": "Japanese Yen slips as Oil lifts yields ahead of the Fed", "day": "2026-09-15", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013807+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "170e4f87db9a0826a7b21b9fb12dc3bbf63baec2b4e72574a06e594e2b7da303", "headline": "Singapore Dollar: Downtrend seen limited against US Dollar – UOB", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013812+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "3bffea48a431c047cb0c818666bf443745cd769bae5ab136075258eaf88ffcb9", "headline": "Forex Today: US Dollar firms as markets brace for Fed rate decision", "day": "2026-09-15", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013817+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "c76c762acd91105b451764b0af56372b88295b630926320ee6ec6ae81bec4767", "headline": "Clarity failure: What the BTC/USD chart is showing, and what to watch next", "day": "2026-09-15", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013822+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "1a3614d018c2e5806e210e9dc4af2613a072f3af8d72919d8d3fb7ed0f9c193c", "headline": "investingLive Americas market news wrap: Rising oil overshadows the Fed decision", "day": "2026-09-15", "s": 0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013827+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "75eb2b7c5cf391c7d75c292ed3de1a783e161d30cb6b6e16b62df6f6f45f08fa", "headline": "Mexican Peso retreats as USD/MXN bounces from near YTD low", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013831+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "bb1e0cf1760a436cf3fdf84dee657e419fd1328c0836a87ede3451b610f0933e", "headline": "New Zealand Dollar slides ahead of Fed’s decision", "day": "2026-09-15", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013836+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "f74869008c2284ef606dbac1133eacab4875b6e1cd91d912cb9169885029c391", "headline": "Chinese Yuan: Range-bound with slight downside bias against US Dollar – UOB", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013841+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "94eccbcaf0e9d99f89937f81ba1dc281bb114b065de03256f4903bb2f55e103a", "headline": "The Pound drifts lower as the Fed lines up a rate above the Bank of England's", "day": "2026-09-15", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013847+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "c2bea2dd36d37a407725a9d8fa4a5a056c39a73a47c254e8c7a8d1276ea831da", "headline": "The Euro edges lower as Frankfurt's hike takes effect the day Washington votes", "day": "2026-09-15", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013852+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "bd06ac867027f36f8c148b0424ec55c7a979a3e7a589353c2ace4e00c9a774a4", "headline": "GBP/JPY Price Forecast: Rebounds above 207.00 as oversold risk eases", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013856+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "ac4eac6c552e5e99ee59cc354f706e05b34c48867485cf3385e9f87ccbecbaee", "headline": "New Zealand Current Account - GDP Ratio increased to -3.2% in 2Q from previous -3.6%", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013861+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "cb5194db9914e9cb7af843b2ddd8e40cfca8d149b77aa3e43904f3f081da6995", "headline": "New Zealand Current Account (QoQ) came in at $-1.67B, above forecasts ($-2.57B) in 2Q", "day": "2026-09-15", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013866+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "5a027e56fc7cce04c21705845bdf013f8f62f3267c83cc878b25348aadb750ea", "headline": "Australian Dollar softens as risk-off mood meets FOMC countdown", "day": "2026-09-15", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013871+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "534b7dbc65b5ae32a4a28fb219f8f2c20d9e6f7882bf854cf6a35978d2abd407", "headline": "Nikkei edged higher at open, then down. Kospi slips, as region awaits Fed decision", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013876+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "3e2d03a831c8692a8b6b2153c23074765258e2357511a9e51da19c5b2564557e", "headline": "PBOC is expected to set the USD/CNY reference rate at 6.7148 – Reuters estimate", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013880+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "8be04f6d8fd59ef1d4a3bfb5ffc5aafdb2873e19df7ca7996b51961a5acc39a5", "headline": "Japanese Yen flatlines ahead of Fed rate decicion", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013889+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "9f032318b8c5c9904719854ebcdced9a61afe0df29b7ca71398aa7a0ca554c6f", "headline": "Australia: Westpac leading index signals softer but improving growth as RBA holds firm", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013893+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "3ca966721895f3396275ad7495db01ca98a021ea84b9ba4d6acd89098cd8bfd9", "headline": "Canadian Dollar languishes near two-week low as bullish USD offsets oil gains ahead of Fed", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013898+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "4cf742aef20142190489c951ce3ca7099da69e7f5dab4e79b55753ab5620f52a", "headline": " PBOC sets USD/ CNY central rate at 6.7628 (vs. estimate at 6.7148)", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013903+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b77ecc40d9e58e2fbc8c856c4a200daf0f5aa44d52ff06cc1cca90011f73f564", "headline": "Australia Westpac Leading Index (MoM) down to 0% in August from previous 0.04%", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013908+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "a92a164eae25fb9ec0502b321540d73fdb83bc7bd56839559ea1d1eb32e92c66", "headline": "British Pound softens below 1.3500 as traders await UK CPI data, Fed rate decision", "day": "2026-09-16", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013913+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "403e3ca506d182809a773f1b00d5cbf281eed3c59a53f28dffbe32ce3c3e8bdf", "headline": "PBOC sets USD/CNY reference rate at 6.7628 vs. 6.7670 previous", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013917+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "a73599d215b08ae6b623cc4d0bbd4842f34a4403623ad530df3a451684879009", "headline": "United States Dollar Index gains ground ahead of Fed interest rate decision", "day": "2026-09-16", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013922+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "a670eda7dc68d2e774cc54529e81dfbb882005a4fea6a4ea81db084d983bf1cd", "headline": "Euro sticks to losses near one-month low as USD bulls retain control ahead of Fed decision", "day": "2026-09-16", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013927+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "d70deef324498fa8b216bcae52edd39ac3cfb9cd2db44b90877fe1a76c8c5e49", "headline": "Silver Price Forecast: XAG/USD bears have the upper hand below $64.00 and 200-day EMA", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013931+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "b68ed1a3df90d4b4a4dc7965734a52f9e9d35f4a75e99201c2343f31a6787635", "headline": "EUR/JPY Price Forecast: Holds ground above 179.00 within oversold territory", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013936+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c688dd87c02f570a8377327a17a69d74a69d99ae56ada369b1b0a961019b12d5", "headline": "Australian Dollar weakens below 0.7150 as markets brace for Fed rate decision", "day": "2026-09-16", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013941+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "f84d8b95adf25ad7ea6095634dc21e1434483b8e6546183718efe021e0d94de0", "headline": "Elliott Wave view: Dollar Index double three rally likely to break lower [Video]", "day": "2026-09-16", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.013946+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "acdfd2ef127ade621720f7335eaee9b03b32ce6cf74e3778859a1933b4e19ac2", "headline": "New Zealand Dollar drops as RBNZ’s Silk to exit in December", "day": "2026-09-16", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013951+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "28ff2e3f61108535267dadb618412623d392ae51dbbaafad5adbf4ef71987364", "headline": "US Treasury Yields take a breather after recent rally, Fed’s policy in focus", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013956+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "3b390c6788cf59c44cdaaa3ea1307cdcf25ecc4b0281c48cd1fe9990180fd49a", "headline": "Top 3 Price Prediction: Bitcoin, Ethereum, Ripple – BTC, ETH and XRP retreat as Fed rate decision looms", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.013961+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "f729c11b54ea400817dfc53a9d5350334e3cf38a7f6eb5fcafe241af16028447", "headline": "UK CPI preview: Inflation test lands just before the BOE rate decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013968+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e6d79d41d3bbe26966a883f1959e74eba60f245a40d0f98d149519a6b4567474", "headline": "UK CPI could set stage for future rate hikes at Bank of England", "day": "2026-09-16", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.013972+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "7924cfcac94938bb4817916a3bbec39b7312d7d1c598eede6a7c1c01746c0cff", "headline": "AUD/JPY Price Forecast: Holds gains above 110.50, but maintains bearish bias below 100-day SMA", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013977+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ff89f25fdd338c873f0a5c5217761ec9f8e3ebfe1602c933c7a711bfc388d7ae", "headline": "Pound Sterling Price News & Forecast: GBP/USD weakens to around 1.3470 on Wednesday", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.013982+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "c9e827f2b8cba1832e0e6c35d93b9552d1a0e739f2afefe0d9d7477cc599cb31", "headline": "Morning briefing: Euro could limit its dip to 1.1500", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013990+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b37f70b7e252e4005be2fd035a8b0c72fa3975b9eed6da82e383497bcb6f9463", "headline": "Asian stocks trade with modest gains as investors remain cautious ahead of Fed decision", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.013995+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "917329f452ce339a86a9823185dc86832620730b7f7bafd0076cb59322bccf6b", "headline": "Swiss Franc edges higher as US Dollar declines despite Fed rate hike bets", "day": "2026-09-16", "s": 0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014000+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "f69496f67f7edcab5823c79397231f561288881ad9341b523658c526cf13f4b0", "headline": "Japanese Yen remains depressed near one-week low vs USD as traders await Fed, BoJ", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014005+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "377b4873d5dd47e001fb5f723e8471ce30fd9c14c0d865d156b897aee4b32983", "headline": "Indian Rupee clings to recent losses ahead of Fed’s policy", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014010+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "1633c4cd485701f3384a90a5f69fa8e979f60cfc2abd68bd7cfde1346358d628", "headline": "Why markets have left the Fed little choice but to hike rates", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014016+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "1722ecff0f73f452c6a263f6bcd7ce1145af6f0c19f6b3afa25c43a4ac8a26bd", "headline": "Indonesian Rupiah gains as US Dollar weakens ahead of Fed rate decision", "day": "2026-09-16", "s": 0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014020+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "1d53f60d6cc95e32d745d98226068bc3e241dc5b0fc0aed44555cdd52a582708", "headline": "All eyes on the FOMC meeting", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014025+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "656b03d83ec3ebcf06a045d2a91178b05b475cda5000d0af4821d024d8e45137", "headline": "EUR/USD Price Forecast: 1.1500 to remain key support level for Fed’s Day", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014030+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "515978f3a3d71694fe6808dde036371b14cd1619e5736541e06fcd701b173ff4", "headline": "Bessent talked strong USD, CNY continues to strengthen", "day": "2026-09-16", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014035+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1f184146585445d6cc7fdabed127ed6c30f4d85e2d30ab1e773ffdd1ccdd2083", "headline": "Fed decision in focus", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014040+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "1548779cc69e73f6824cf669e1824c61fca8f9d10279f01ab14132c5be9a62ed", "headline": "Euro: Downside pressure toward 1.1490 against US Dollar – UOB", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014045+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "291133b03d8090e8091141a4cf919d52148623e8c5026ed90f6ea29678382975", "headline": "British Pound faces selling pressure even as UK CPI rise in line with estimates", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014050+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "e31deff80fdf98ec56f44df8d32231cd98b823e02fd06069f04e047cb2f07e05", "headline": "British Pound remains on the defensive as UK CPI meets expectations", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014055+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a80954f42d35c68d9c0e95f5c2efde3ac0283e33ac466bff8aacffbf4c9236fd", "headline": "Forex Today: US Dollar holds steady ahead of Fed rate decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014060+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "9eb32f11863c562758c4b78a3e81fba4321d5c0ae8afd7e5e08da211604008da", "headline": "British Pound: Rising price pressures challenge BoE – Deutsche Bank", "day": "2026-09-16", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014064+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "1a09598e644ee78d6d1e5022e8c8bc94e25c35696494dacb21a7fff7e6c4a9ea", "headline": "Euro ticks higher against British Pound following UK CPI data", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014070+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "9bbd7a66f18e27328b8d5c9861f479395bf1ef141cd0f5f110e2e05673110a16", "headline": "Indian Rupee trades near seven-week low ahead of Fed's policy decision", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014075+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "85d293d28e601effd0c5cb1150d51c39dec27d8e7b6d3046cc0ef617d25660a0", "headline": "AUD/USD Price Forecast: Trades with caution ahead of Fed’s policy outcome", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014079+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "19fc29cf625cdc46a7b4be6f06f2003e047c7272edff82e1117c1ac9a04e87a0", "headline": "European stock market open: A breather as oil and bond yields ease ahead of Fed", "day": "2026-09-16", "s": 0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014085+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "03340a8626d4265531c8d78bf61b2a5f63adddea0ef8dcba3bc82ee7acc96043", "headline": "United States Dollar Index (DXY) eases from two-week top, holds above 99.50 ahead of Fed", "day": "2026-09-16", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014089+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "e712a14902ce16ba01e40651fa677bd1781b41c26927c43dd291554c3cd777b5", "headline": "Fed: A rate increase backed by hawkish dots and rhetoric would support short-term yields", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014097+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "59eb83dc0b5aa55c1b159d07286cab768ba9669a59400d2dd812edf9aaec0949", "headline": "US Dollar: Warsh guidance keeps Greenback supported – ING", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014102+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "8641c977ec9a4199902d647ce9241321cf5ad458e4431397e8e2e4cefb19b739", "headline": "USD/CAD Price Forecast: Eyes 1.3950 near ascending channel top", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014107+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "b0c4a9ebb9b0260bc19d01690360cf2772ac5bdad089705f0128e7251c0c1ed5", "headline": "Dow Jones futures tick higher ahead of Fed interest rate decision", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014112+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a5c0a557c723075e62ac430287f364130683fcd0125d1583c25341b0a959af28", "headline": "NZD/USD Price Forecast: Bounces off two-month low; seems vulnerable near mid-0.5700s", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014117+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "4134ffa546c1ba16c80359f7c05437f6b1ae0a3e940644f60d389d4f8a2dd973", "headline": "Markets await the FOMC decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014121+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "492463dbb552e2f3b28c6bf1bcd5509af51d98177d9aa36d21268de166ba5e01", "headline": "Silver Price Forecast: XAG/USD jumps to near $65 ahead of Fed’s interest rate decision", "day": "2026-09-16", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014125+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "2c944acef82de935e6dfd993f2f0a7ef4df409fe0a77fe435456c67e0da301a9", "headline": "Swiss Franc: Watching break of 0.8205 against US Dollar – UOB", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014131+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "79a70f18421dd6b084ba4c77850f65a0d9b5711bb02ff34efea8c84e5a09b197", "headline": "FOMC preview: The question is not whether the Fed hikes today, but how much tightening it signals", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014136+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "6b38dc44504d51b04f8735e76fd4d949ab2251000a9338639f8e98f4bb508603", "headline": "UK CPI data supports ‘hawkish pause’ from BoE ", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014141+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "14bb47b922ff6418e533ac80dfca5576874f11ac9868941b59e27ab737e65a5b", "headline": "Euro gains against Canadian Dollar as oil prices retreat on rising US crude inventories", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014146+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "8dab7c4521cf614500f6dbfff9cddb695232c1ee7c7cb88852d759d8069c19bb", "headline": "BoE to 'stand ready to hike', committee remains 'deeply divided'", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014151+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "bf7dc41523300e0435b1b63517ec9b6ce92d9d59c1647dc50eca651e6a8682fb", "headline": "The Fed’s interest rate decision in the epicenter of attention", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014156+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "44a50c5b8f10107523b29d3e7a877dceac8578c0ce715f0b57b5ba161ff22fb1", "headline": "Canada could become the first 'associate member' of the EU, says EU chief von der Leyen", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014161+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "324bf6707e001d1a05737d89c3d652fd95112fd494ea5faf8e321fd9da6879be", "headline": "Indian Rupee remains near seven-week low ahead of Fed's decision", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014166+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "16c468d1648168b797dad3c06c0a94fd6470f2564175a2d0120f1f25866dfdc2", "headline": "USD/JPY Price Forecast: Retreats from 155.50 with Fed’s policy in focus", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014170+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "987cdd2afb077657967b5af15d079a4fca71f833c88a483e6e8890186a03630f", "headline": "Equities: Fed focus and energy shock – Deutsche Bank", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014175+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "22832d6ece9573f5b7c8cc3f32766ee9235c74c29dc9a72a6a4cae57bfe5fb39", "headline": "BTC/USD – Another downside cycle? [Video]", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014181+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "a8b17683eac47cbbdf772fdc1f036561e8934c95466cc7da960ed8a63a4cefa0", "headline": "Euro makes a run at 1.15, December hike groundwork is set to continue", "day": "2026-09-16", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014186+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e70e6e69daea3c4a43de75c83197a15f48d8ca33d8da9d20e1f94fd7e012d0cb", "headline": "Eurozone Industrial Production contracts 0.1% in July", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014190+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "8bb65512963b457d7c0a795727bc85b058c10926a7556c0d57813bf79f858fac", "headline": "GBP/USD Price Forecast: Fails near 1.3500 as bears eye 200-SMA ahead of Fed decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014195+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "64fb250c2950ac83ef0b99b8527fbdc21725eb2949daa1a4bbc486e2dd959733", "headline": "Euro: 1.150 target nears on Fed risk against US Dollar – ING", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014204+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "570da14fd81ddbc04c9fba52ec47ac6319303fe5398bd9e5198c834a94a6fb68", "headline": "Eurozone Industrial Production s.a. (MoM) came in at -0.1%, above forecasts (-0.2%) in July", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014210+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "5a8fa12a1ab5d467de2e44718331308a66e9bad8db5089fbe723a2bfa9805411", "headline": "Eurozone Industrial Production w.d.a. (YoY) came in at 0%, above expectations (-0.1%) in July", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014215+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "23c1eae6b4949ad5d2c1a25b71d536382d5ebfd3a6c09a581a8a06394085caf6", "headline": "Eurozone Labor Cost Index came in at 3.1%, above expectations (3%) in 2Q", "day": "2026-09-16", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.014220+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "a8ef11620a213465cd3650a0756d63827edc8d6f6204b1c009c240bf18079339", "headline": "Japanese Yen: Limited losses within 153.30–156.30 band against US Dollar – UOB", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014225+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "4de4498646fb9695d2c49469cfab528a736bfe41416110bbd04583292dadccf2", "headline": "US Dollar: Higher yields and oil support – MUFG", "day": "2026-09-16", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.014230+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1b2050219dbbf3257e6c1d7e1184898209a9e5fd6ff36c371a302a585838e01b", "headline": "Euro makes a run at 1.1500, December hike groundwork is set to continue", "day": "2026-09-16", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014235+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "bbaf520ca15d8ecab8bf002706afac59b541d60c956835a15de09625f6cb45bf", "headline": "Bitcoin retreats after crypto bill setback, Fed next ", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014240+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "5cc86c217dddc76105fa0d1d8c92f1b544a8bdf89d01b360578cefcfd122aab7", "headline": "Australian Dollar treads water against Japanese Yen ahead of BoJ rate hike", "day": "2026-09-16", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014245+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "a6e75231537304a82d14cb9fc28d09ac785c8a127aa1582c3916230872f00048", "headline": "FOMC day", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014250+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "3af1fca8e13be7855782f07d8c0569d4b76e381959a6401d11b139175a91a6bf", "headline": "British Pound: 1.3440–1.3420 support in focus against US Dollar - Societe Generale", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014254+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "5aa46962ca3565c3b59128fbf70032b5eaa53a663bc88cbac2eadb1ce748c367", "headline": "Eurozone industry still lacks momentum", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014259+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "922d0900b14c6d7fad8cbc56209b2a3922e521a95778fb61cfdb4485cc81dfee", "headline": "Bitcoin slips, Zcash shines as crypto awaits the Fed", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014264+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "99e16bebc567eedd9f5163697443d5e0ca68acd71ac57e237213beb52ea6d7cf", "headline": "FOMC preview: Rate hike priced in as markets await policy guidance", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014269+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "4259f686168ccec03fd0599e10d32aebc6d2a8474484183aa6f74c5e029ed7c1", "headline": "Euro: Firm Dollar keeps pressure on Euro before FOMC - Danske Bank", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014273+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "380afbeac61621fe411a46f0a73c011cdf7a4bb46b3748f0c41deb818241b873", "headline": "The Fed’s interest rate decision in the epicenter of attention - FXStreet", "day": "2026-09-16", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.014278+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "557ed33bb088910967c0f230fb74cf7d946a66d9090e9abd18d27f31586fae9b", "headline": "Rate hike fears put the Kiwi Dollar in a tug of war", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014284+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "5558b190b73864f6d3ff1d177b9f898dd0f428e1ee1539b12204b6007528e989", "headline": "Fed rate decision: Warsh walks credibility tightrope as markets brace for rate hike", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014288+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "34847ffe820a1f164f57fbc52202248fca34d077866c3645b62409791aa8e3d7", "headline": "US30 tests 52,140 as 5% Treasury yields rewrite the equity math", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014293+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "d484f3113dec1ca998c8c2a2a2d70dfed06c5814f6372618d2a5bda6b71b6215", "headline": "After the failed Clarity Act vote, Bitcoin could extend losses if the FOMC delivers a hawkish surprise ", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014298+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "0f3fe6c28e202329e691d94f7a31e461273389438d4f891864e585280f2f4f9f", "headline": "Bitcoin Price Forecast: BTC weakens as CLARITY Act fails to advance ahead of Fed decision", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014303+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "1e08693b4650352f33766efd51b41c2add9b405e54c90deb56ded63964da30b4", "headline": "Why is the US Dollar firm when the Federal Reserve hike is already fully priced in?", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014312+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "39bf2c218d0123631176f814b59dcee8f055567576bcba3d43e3533a4b57dcef", "headline": "GBP/USD rebounds from 0.786 Arc – Potential decline toward 0.618 Arc ", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014317+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "481fe30ce2486bb03519417d99037b9049da2d5d66b6eca4901f382f8c31c2aa", "headline": "Fed decision becomes test of whether 5% Treasuries are monetary or fiscal", "day": "2026-09-16", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014322+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ad39bf2e4007dee560372d1934319d0bf2a343a65be0aac6d5b63509b50f0c56", "headline": "Fed now 'firmly expect' 25bp hike, next move is 'deliberately unclear'", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014327+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "824e2d8251257aaa4cedf8f54bddbf1e8a82791e2fd214648959ff0bb5d5da9b", "headline": "The S&P 500 reached its pain threshold with oil above $100; a hawkish Fed could exacerbate the losses", "day": "2026-09-16", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.014332+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "2c38c6be21c1987f23e283a5a95f60a1a8d5b43b2d58d616df11bf8578e2a35e", "headline": "Australian Dollar: Downside risk persists against US Dollar - UOB", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014337+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "acaba72df3deaeb4078178ed54bcfd5a73b850d8563c329620a87fcd456b2f76", "headline": "Will the Fed’s hike benefit the Dollar?", "day": "2026-09-16", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.014342+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "7258343ffc9292534deff618d75aca2ed2298793b065c19502566609055ccc45", "headline": "Euro trades with caution against US Dollar ahead of Fed’s policy meeting", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014347+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "5aabe31095f278b246474f8a2730d49baf6b9db2532fdf1ea8e4a5d3efc1c642", "headline": "Crypto Today: Bitcoin, Ethereum, XRP face headwinds as Fed decision looms", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014352+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "4bd633c0c4cbc5139292f09a35ce27c11e0b0eaa437802d0bf26d9266b93057e", "headline": "The Fed’s interest rate decision in the epicenter of attention - fxstreet.com", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014357+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "20900fc0a400d95f3d8eead141040337f8ad65a3be08c71b16955398165e1e5d", "headline": "FOMC: Inflation is not a monetary problem", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014363+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "66b16026a75f8763a821e357536c3339de0a618b0b76e7b9c8d9a55377a5b871", "headline": "New Zealand Dollar: Growth risks temper RBNZ pricing – ING", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014367+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "68f487410e7b98de814996a8743138e3de2f74aa031f42afe78b032bb6557531", "headline": "US Dollar: Fed path and credibility in focus – Commerzbank", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014376+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "3ba51dd5f371be74436a0b35807c0f3346ec6dbff92123304e6e0e13e3822248", "headline": "investingLive European markets wrap: Oil prices, bond yields ease slightly ahead of Fed decision", "day": "2026-09-16", "s": 0.1, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014381+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "03c623615a981b28208aaa88c99d8cf19e0c46d8ca3cd9f0d20c05c5410aff0c", "headline": "Canadian Dollar tests monthly lows against US Dollar ahead of Fed decision", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014386+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "84bdd6dd0be64a0cd7abf1d25a627bf6d5bf5b813de091c34d612eebfdaece7a", "headline": "Australian Dollar holds its ground ahead of highly anticipated Fed decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014391+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "dec1ce51022380a28d373294261d6f202b5b3ffde4629bde9d9e4a7eb7386226", "headline": "British Pound: Data back Bank of England pause – Rabobank", "day": "2026-09-16", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.014395+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "cadca22611f58c5c44e9a8b22c159c06fbb69d980998bd3554e826350471afd3", "headline": "Bitcoin traders brace for Fed hike, but a surprise hold could pose bigger risk", "day": "2026-09-16", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014401+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "c64493e569b7a7df5f38859ac6cf5d064d63f232cf87c859c8a49ce2be5ab639", "headline": "Bitcoin price action forecast after Clarity Act and ahead of Federal Reserve decision", "day": "2026-09-16", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014406+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ff86b1239f2c5de62e013b785d1f603882a940bb226216bf4cd590ae8d8c7088", "headline": "Canada Housing Starts s.a (YoY) came in at 229K, below expectations (240K) in August", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014410+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "7a26ab197f132c14ed585acab62c90c3fd3c3c80261bc82ff3532921fe76f99a", "headline": "Pound Sterling Price News and Forecast: GBP/USD rebounds from 0.786 Arc", "day": "2026-09-16", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.014415+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "44cedcfe6a8ed3f52ad36da74d83fcd155927325ce2d3cfd48bb3f7be2a6abf3", "headline": "Euro: Recovery does not justify stronger EUR – BNY", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014423+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "b520622d0bbc5a08732aff61668d509e551ae6e24450baaeaf726b91ee7cb5d5", "headline": "Morning Kickstart: Fed rate decision takes center stage. What are the technicals telling traders in the 3 key forex pairs?", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014429+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "23c3c04cd45301e7a1c0792dfc1fdbe3bbdf42691db49369f5773c1ded0b6cf7", "headline": "British Pound extends losses against Euro with BoE decision in focus", "day": "2026-09-16", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014434+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a36e18b6e6e55bafb509210ddbd9db0c9b8c299fea473ddccdd4274923919d67", "headline": "Fed day: 10-Year at 5%, Oil over $100 — and a case to hold/try the steak Florentine", "day": "2026-09-16", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.014438+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "3fb640b7701852640868ba6ff79176b428ad250f671f19daf68eb340a35de0b9", "headline": "Canada Building Permits (MoM) came in at -17.3% below forecasts (-5.8%) in July", "day": "2026-09-16", "s": -0.3, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014444+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "1f625e47e41e1f2d688230bc3182e8721a4d1eb0bc682fa1f0bb14faa037ce12", "headline": "US Dollar: Modestly bearish path under gridlock – TD Securities", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014449+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "a1f464859ea303f5f80a958496c778b3bafcfb29fd97755beef945018ef3f521", "headline": "Ahead of the Fed", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014455+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "afce0e329dbd4971e391fe7906eeb9191aa7b8f44aca619e3ae583af00f35e56", "headline": "Ethereum trades near the key $2,360 support ahead of the FOMC decision. What to watch next?", "day": "2026-09-16", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014459+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "92b88def97d19122d4723309cf78ead572d0ae81a1950f202611678af70cdf8a", "headline": "Canada Building permits for the month of July -17.3 vs -6.4% estimate", "day": "2026-09-16", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014464+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "fc639597a7033ea9ec05cd60d0a4a25810ec63785b0f24dcebe264d6d18cb441", "headline": "British Pound: Sterling stability challenged by narrowing carry – Deutsche Bank", "day": "2026-09-16", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014469+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "427cfad33bd185b04d116da5912e3448c4d8bb17ed80bdbebe6b9f7464fea17f", "headline": "Fed day: 10-Year at 5%, Oil over $100 — And a case to hold/try the steak Florentine", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014475+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "bc95998beee42cf07259ac01577233f1e980182f3438bd6b69f9b94d866172d6", "headline": "Euro: Markets test ECB reaction function – Rabobank", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014480+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "8d7ce058c61d4d3c92779cee9e5f943dc79be9417b0ba644de865ad376da0a07", "headline": "USDCAD breaks above a key confluence area. Can buyers stay above it through the FOMC decision today?", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014485+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "266b59bcc76679cdd6ed287e7d4ab1bf8b01c2a648d746d5a986b5412f4ca975", "headline": "Bank of England: Hawkish hold risks and November hike – MUFG", "day": "2026-09-16", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014490+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "d585e508116180a861dfafcd098c4a943fb11e6092ff1a652a24460a106a3c79", "headline": "US Dollar: Fed pricing creates asymmetric risks – BBH", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014495+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "9f8e8c777517344b62983a944ff268c589b2922064692160031292d710cf631f", "headline": "Silver price rebounds ahead of expected Fed rate hike, Warsh press conference", "day": "2026-09-16", "s": -0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014501+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "8a64f845a01449e6368bde3f5bf9df4148a5cc48cf63f88c861eae1129a1f026", "headline": "It really is a FOMC day today, no kidding", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014506+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "596333a08ae978b4aa223f44410729a8098afe241cdd7ffeb3852f0c1c28ae5e", "headline": "Euro trades cautiously against US Dollar ahead of expected Fed rate hike", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014510+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "02f20c527722288eae8b310682a10c68e0713bc45d7f3aa8d3b5a5208a0241a4", "headline": "Federal Reserve set to raise interest rate after five meetings on hold", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014515+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "ff79192eada5fec05f08ef977b33e9b49eff7ccc65ee8b687aa05033e05b358c", "headline": "Eurozone: Manufacturing outlook steadies as year-end hopes build – ING", "day": "2026-09-16", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014519+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "d17ec29b1398cb3c71e7836ee19f0a72440d7ac4881ee8d0d66ff666a6407182", "headline": "AUDUSD holds key support ahead of the FOMC. What must buyers and sellers do next?", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014525+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "785b0b1332a83bb04f21950a5418bc3586b1dae3d396189d26dd3204f017e5dc", "headline": "United Kingdom: BoE hold view reinforced – Nomura", "day": "2026-09-16", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014534+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c7518ed2eb2975c99c151ba688851486d3a998b0fb7e409d615fb4afb0134904", "headline": "FOMC preview: Warsh's credibility is on the line but there's a 91% chance it doesn't matter", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014539+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "481dbc4820cb0a563e5fec884beabdd98d8a46b5c81212a9bc44f870d9841771", "headline": "Canadian Dollar: BoC hawkish tilt and key levels – Scotiabank", "day": "2026-09-16", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014544+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e8e4017aaa8f58db6bb469b65d1db33f770e5fa92a1cedca9d69f603fb1e04e0", "headline": "British Pound: BoE repricing risk grows – BBH", "day": "2026-09-16", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014549+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a810c23a35c9aca5d361e0ca30bb776bb93b0247f1a4613ee3b5c32dd9ce6e02", "headline": "Australian Dollar holds ground against US Dollar as Fed decision looms", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014554+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "0e7420792f8d32ea42703e53e3e9a496fa5053fdf5f9762ade4481dcbef73e28", "headline": "Euro: Consolidation with downside risks against US Dollar – Scotiabank", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014559+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "abe491e0588ff740847bcfb1e4211f29bfbaff3490ecfcf80e36cf8c629adb45", "headline": "US Dollar: Fed repricing risk caps downside – Rabobank", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014564+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "ce1959b7ba2329961ff68dcd324d5628bfa3393e1f7fce2cc4e58e9da0617454", "headline": "Australian Dollar holds ground as Fed decision looms", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014569+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6c45f7eb42703e435e28e8893ded4b422efc414165e01c50c29f430ba8920a2b", "headline": "Dow Jones Industrial Average huddles ahead of Fed action", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014574+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "6f60deeb1d8c8361acf4ce3c51460409f3f4cd3d8225cddab16ebcc96fe9198d", "headline": "The Pound sells its own inflation spike ahead of a Fed hike", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014578+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "48eaade173cabef8e0bdf4b6e3f93ffa492ee2dd756f9ab3498345d5d0b9a37e", "headline": "Federal Reserve set to raise interest rate as markets await clues on future path", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014583+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "f985b3be72e7b9656a29a1cac5d3de2efa0d796acfdec7d90c1440a3152a5ebc", "headline": "XRP slide deepens amid Fed uncertainty", "day": "2026-09-16", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014588+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "613d5d910de6ec501feaa72f562ed04454749b1256f47292af2726412ce11149", "headline": "New Zealand Dollar steadies against US Dollar as markets await Fed decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014592+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "fe613bf550cf476afcba975404dfface9e3a0ed80a3487c4135ebfa3fbc55bf4", "headline": "Stocks put their best foot forward ahead of the FOMC", "day": "2026-09-16", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014597+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "ba188621ba4187a0b76cb081b631ac79605316259e89f3c9472463d383471eb8", "headline": "Atlanta Fed GDPNow estimate for Q3 growth jumps to 5.1% from 4.4%", "day": "2026-09-16", "s": 0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014602+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "b2a413e293fd81410114d1f72c47854dcf9fcd3c5076f214329af245386580e6", "headline": "Federal Reserve set to raise interest rate as dot plot takes center stage", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014607+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "63119c8730dc53eb5ececa1b1a5c27e546afe4294a59ca25063760c1d98feede", "headline": "For reference: The July 29 FOMC statement", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014611+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "8d7ad080b28ee96d87ba9ea4e86db299d23bd0c8c53ff973c863955dce472941", "headline": "New Zealand Dollar steadies as markets await Fed decision", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014616+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e9a4689da5b49a3ad1789c73426367f236e5fb75a0f986edf91cfb262115c976", "headline": "BOC summary of deliberations: Governing Council agreed near-term inflation likely to stay elevated", "day": "2026-09-16", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014620+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "2d6fdbde8a22d9861b05def449760430f37ec58a7b5680af5313210d27221775", "headline": "Fed dot plot signals another 2026 rate hike as growth strengthens and inflation remains elevated", "day": "2026-09-16", "s": 0.5, "xau": -0.8, "labelled_at": "2026-09-17T23:21:54.014625+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "5f39e8eb94b9f69048714bcefbdeee50744e3ebecd789c6adf8080c33e58c757", "headline": "The full statement from the Federal Reserve Board for September 2026", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014630+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "4a0782d38e82886215765275a9114832a029398b2399ccd873dc3ba59d03381f", "headline": "FOMC rate decision: Fed hikes for the first time in three years", "day": "2026-09-16", "s": 0.5, "xau": -0.8, "labelled_at": "2026-09-17T23:21:54.014638+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "785bf391ceb2e73be13bd3e8630e05cdb2b00ca5007b01eb1524bff1d716e9d1", "headline": "The Federal Reserve hikes to 4%, back above Britain's 3.75%", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014643+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "d9b584129909963317fa0537cee674aac92a2e4316dca3c158ebb39e70ee57ca", "headline": "The Federal Reserve hikes to 4%, six days after the ECB", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014648+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "c6e9edcc4aa1b98a0e1d166c28f7db361415e93ca631cc3a4081626c05e16554", "headline": "United States Fed Interest Rate Decision in line with forecasts (4%)", "day": "2026-09-16", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.014653+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "64cdda34e1122404dd388063c7b6688888dd346744632ce54e2ed74896ebf6b4", "headline": "The Federal Reserve raises rates on the Dow Jones' 30 corporate borrowers", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014657+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1e2d7b8f3dbc5ba2c4077d64131e3898cd4fcc593bf434a68603ea2ad8637942", "headline": "The Federal Reserve hikes to 4% with the 10-year yield at 5%", "day": "2026-09-16", "s": 0.5, "xau": -0.8, "labelled_at": "2026-09-17T23:21:54.014662+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "7e036128961956bcd826b15f8aaba7c62b91d0e94f2b3ac6a5d4e2f47fdfa14c", "headline": "Fed Hikes to 4%: Why Are 16 Officials Still Not Done? - BeInCrypto", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014667+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "d4f23019c7c39e032ac7465a4db3bd4432cd16d8a0d168ce9dfb6a279664dca9", "headline": "Markets react to the Fed: US dollar rises and front-end yields jump", "day": "2026-09-16", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014672+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "9a795f280d6a81f617b2ecaec6b78d97d8e63510a0c01a4b6cc81bdbdaec072e", "headline": "Australian Dollar falls against US Dollar after hawkish Fed rate hike", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014676+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "5e819404c9c0b3c4e8826eca80637e7769f7654b3d84689ed5529955b55c2f04", "headline": "The Fed hiked into a Dollar Index basket that also raised rates", "day": "2026-09-16", "s": 0.3, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.014681+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "4dfe2157803a931dd72a693372d763e1971576394883ec0e734f60763d826260", "headline": "The Dow Jones' 30 corporate borrowers eat a Fed rate hike", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014686+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "d979cfaf5aa8e0d1fe837bdefcb78925970f8e09cbd07df41da853e174a1d045", "headline": "The Fed hikes to 4% as the 10-year yield toys with 5%", "day": "2026-09-16", "s": 0.5, "xau": -0.8, "labelled_at": "2026-09-17T23:21:54.014690+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "7e3dfd3dbf98e557d829798bd1adccab2bf735b51d648dd07d15787ed17c99fb", "headline": "The Federal Reserve hikes back above Britain's cash rate", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014695+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "bb30dec2548fd73930f58f989ac99f03153e088f577b0be9fbab895312b33324", "headline": "The Fed hikes six days after the ECB, weighing on the Euro", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014700+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "760e302e36125002c3dfee17ff720f22055dc0985c7b0f273773bdf72822d589", "headline": "Fed's Warsh: The economy appears to be strengthening", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014704+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "328f522c848ab4360a495db0e49f02050ef1c2cbd887ec0c891a5ddcc29b9287", "headline": "WTI holds near daily low as Fed decision draws muted reaction", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014709+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "97c31ae9d3477d650ab2f9ce3a0597e8317b7f8436ad996ad7119466efe0d4a7", "headline": "Japanese Yen falls as US Federal Reserve delivers ", "day": "2026-09-16", "s": -0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014713+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3401004b31962275f1d78cd282c69d725639be384fc141621e57f90af520e85a", "headline": "Dollar Index Cracks 100 as Fed delivers hawkish hike", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014718+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "f023a6958147e034c003e9bc20fc88df43857558f992ccd9d6a69d469acad109", "headline": "Fed hike sends the Loonie to a six-week low", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014722+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "cdf2b951e84582166e70c85be6e8afd7f7bfd5c01dd1f6c5f4ab39f10bd76f61", "headline": "A Fed rate hike sends the Loonie to a six-week low", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014727+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "70447aacd289a42baf52d68e34c029cb7b5701d0288024b13752c4ed30ded0d7", "headline": "Fed raises 2026 interest rate forecast to 4.1%, lifts PCE inflation projections", "day": "2026-09-16", "s": 0.5, "xau": -0.8, "labelled_at": "2026-09-17T23:21:54.014732+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "5964e24ae6fc7922bf5df7b7298b3297f33ad70ea7f29176059c49c4daf486b3", "headline": "Australian Dollar slides below 0.7100 as Warsh strikes hawkish tone", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014740+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "1d9c458d0aa01fda5d4038cf978258747089a4f1c650b5e473e99ad746985a8a", "headline": "The technical levels in play for the EURUSD, USDJPY, GBPUSD and USDCAD following the Fed hike", "day": "2026-09-16", "s": 0.2, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.014745+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e17693a5d1b05d20fdf8b36bf10c0192f5c2be74140bbc52071d7693de023106", "headline": "Forex Today: Investors now look at the BoE", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014750+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "55cd7fab463c2989d87259af30f7fcc76f8cebc8aa92b201bf4a2d0fbb883e8d", "headline": "Federal Reserve Chair Warsh: Inflation trends were not passing the test", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014754+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "a34abbfc1b6d7cff9f4faa18e4cbf136ec1c011d79886420d60d691e69c2125a", "headline": "The Dollar Index breaks out and stays out after the Fed hikes", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014759+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "31729990036dee2d3da0867e130135428132b2c2247cc8c9baa6661d1de8fd42", "headline": "The Canadian Dollar slips to a summer low on the Fed's rate hike", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014763+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "1902b16ffc0672aa13a8593bb73831dd1f26f8168b7d4ff2b8770378480c126f", "headline": "Dow Jones Industrial Average slides behind a Federal Reserve hike", "day": "2026-09-16", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014768+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "7eeb026b0d207c8e4752fcf2196359952c207542573b2fc5d992c5ab9c89f659", "headline": "Silver slides as hawkish Fed lifts US Dollar and Treasury yields", "day": "2026-09-16", "s": 0.3, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014773+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "c72d3fb45cb12e5704c095f1c67e2b26f6d7807b598ec7219209db9b18b222db", "headline": "The Pound sinks as the Fed overtakes the BoE", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014777+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "4d039f383a15e9c9bb2dc0e5b59a96f088f0c016fd5e5fd28559b3987bde5f9f", "headline": "Fed rate hike bolstered US Dollar Index above 100.00", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014782+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "b3e1517b59c3fdfcb81e6dd966fb2d5a919f03d908b306ffeb97626414997e11", "headline": "Pound Sterling Price News and Forecast: GBP/USD sinks as the Fed overtakes the BoE", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014791+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "acb30d4b334cc09a7df1eff8963a96b2ed61ac9417534d3926eade9c2879e5a0", "headline": "The Euro breaks lower once the Fed raises rates", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014796+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "41c6ae7739b1795c78f50c6721fe817b4552adb192204e298e3608eaf7ce2e00", "headline": "Fed rate hike bolsters US Dollar Index above 100.00", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014801+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "652d7d750c208f3b33d2ec7b7c29cd9f7827afd112db5b6b77b3a248a1253e86", "headline": "investingLive Americas market news wrap: Fed hikes rates for the first time in three years", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014805+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "3e34828fe950dcd14787ac5cec94993c1c84e172235b6fe7d276d28436726c65", "headline": "Fed recap: One hike down, more to come? The Fed’s new rate path says yes", "day": "2026-09-16", "s": 0.5, "xau": -0.8, "labelled_at": "2026-09-17T23:21:54.014810+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "a7566898feae33d53cac212d98d786c43447094d02e54389308af8181409df34", "headline": "New Zealand Q2 GDP preview as RBNZ weighs timing of its next rate hike", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014816+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "2a58bc40b65cf1c5fb3c951a09e76bef77e22653e671561609732fbbeeee8cc8", "headline": "Dow Sheds 630 Points as Fed's First Hike in Three Years Rattles Wall Street", "day": "2026-09-16", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.014821+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "aecd92b3d70a3c86475d4f3ec34d538ee55ec76f7a369265b72d5f896c7a2f1c", "headline": "Economic and event calendar in Asia Thursday, September 17, 2026. FOMC done, moving on!", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014826+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "f37feccc592ecba479427bb92ee93b9f0563b3f8286c38a455bc604cbc3f5ed3", "headline": "NZD/USD braces for NZ GDP data: Three scenarios for the Kiwi", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014830+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "5dd49c04b7916ec888dd3270076df6c52d48498dd31f1b25c877fa6a19eb990a", "headline": "The Australian Dollar continues to slide as the Fed enters hike country", "day": "2026-09-16", "s": 0.3, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014835+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "8c999115b6b0322fdaca9b1c0d7a371a08e364d1a046a45fb74a21fecd0a4451", "headline": "Fed hikes, hints at more: 7 takeaways from the September FOMC", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014840+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "fab6d846d9a1610b7886d526143d74d656d69b802b5e51882d5ae4ff89e3d5f8", "headline": "New Zealand GDP in the barrel with the Kiwi at July lows", "day": "2026-09-16", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014848+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "3981b79a82d8ce8e6e724229d05804c147dfffb1fe629758b009a12f1db22677", "headline": "Trump demands 1% rates hours after the Fed raised them", "day": "2026-09-16", "s": 0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.014853+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "aeff75cf0e835781c05ead0d43664c121bc1bef6cd34a5095e0fe3c45b177752", "headline": "New Zealand Dollar sinks toward its July low after the Fed hikes", "day": "2026-09-16", "s": -0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014858+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "d3ccadc2a578e26f929c09d2b3bc98f41adebc9a226a77f912ed4dd3ec981393", "headline": "The Japanese Yen gives back more of its rally as the Fed raises rates", "day": "2026-09-16", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014862+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e0f6d1b983e17ee74cacff11a239e0dd305f27354aba66f9f9d46117ef90e31a", "headline": "Fed review: First hike from Fed and two more to come", "day": "2026-09-16", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014867+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "15afecb69ef9007d9d6b21fb6127868fde5bd469d6809f8025a11505c2db374e", "headline": "The Fed rate hike: What happens now? ", "day": "2026-09-16", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.014872+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "23acf649d87bb9e2b1ab5366030677faf0425039454b91c93f5b29e80e60e326", "headline": "The Euro's losing streak runs on as the Fed matches the ECB's rate hike", "day": "2026-09-16", "s": -0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014876+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "979fd5fa50d30680adae041291ad640ad9e29907dd5bdc174d833a4dfa61fe00", "headline": "The Pound drops below its long-run average as the Fed's rate passes Britain's", "day": "2026-09-16", "s": -0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014881+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "96c7525e50f3b3d5f7e1fa3a758d594d4b241372e51fe46ed11ec164eab7185e", "headline": "Wells Fargo cut its S&P 500 target even ahead of the Fed rate hike, cited valuation risk", "day": "2026-09-16", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014887+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "04a288370fdc712436a5df98b035d8456d9f9e52f97f647b8e7e2bbc7c795946", "headline": "New Zealand Gross Domestic Product (YoY) registered at 2.6% above expectations (2.3%) in 2Q", "day": "2026-09-16", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014892+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "3f310d7c3f9f6d53ac8aaaf40f31274b49d3a46fee0df2705ea2c14a9a030064", "headline": "New Zealand Gross Domestic Product (QoQ) above expectations (0.1%) in 2Q: Actual (0.2%)", "day": "2026-09-16", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014897+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "7193d75f415aaf9b073ded312d65919e703c9c3934594dadffc5b7fefe827385", "headline": "0.2%: New Zealand’s Gross Domestic Product grows more than expected in Q2", "day": "2026-09-16", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014902+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "543519994a7fb86cd61ae680b9ed06b5bb6688f5838642e2d0628572496b1f96", "headline": "New Zealand dollar pops a little on better than expected GDP data", "day": "2026-09-16", "s": 0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014908+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "8870c36502226a6b9a10954b4b769cbdc2eab19bc25154b53f9ce2a9f3d67b86", "headline": "So, how are the bitcoin HODL'ers doing after the Fed's rate hike?", "day": "2026-09-16", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014913+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "8300e717b7943ca923c13a48383719e00ab488407ad7e5cdba534c5b9494c250", "headline": "BoE preview: Bank Rate seen on hold as Iran-driven energy shock stirs hike talk", "day": "2026-09-16", "s": 0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.014918+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "51364bcaace28bba29a313ace0ecc7a1d84055d7d1769f30133bb668d468b404", "headline": "Fed dot plot backs hawks as Warsh tone rattles markets more than the hike", "day": "2026-09-16", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.014923+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "4cf861fb966f3ff79fb49db8894a35d1b8103356a2cd02229039a24b37a32d6c", "headline": "New Zealand Dollar remains weak below 0.5750 despite better-than-expected GDP data", "day": "2026-09-17", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014928+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "368a52290973649e270364c92aa0f0762c586fc0b6216b79d2edc7dc28f037e5", "headline": "NZ Q2 GDP beats forecasts at 2.6% y/y, easing RBNZ growth concerns", "day": "2026-09-17", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014932+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "65856b469276c97197c138c7285ded09f5e6a79f8f0d16809d2e17873dff96f8", "headline": "PBOC is expected to set the USD/CNY reference rate at 6.7241 – Reuters estimate", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014937+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "4aada8a919cbde07392cd39b9325ff74b464450cbf0bd2a3e92e93182e66ee54", "headline": "IMF says RBA may need more hikes as it urges Australia to cut spending", "day": "2026-09-17", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.014943+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "a981f82c96345903335e27815dcbd44e9f782f15b4a781ad6d8b1b92f781b23e", "headline": "British Pound languishes near late July lows as hawkish Fed underpins USD ahead of BoE", "day": "2026-09-17", "s": -0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014947+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "eda3a13edd36dfa00d4194ce27a1ac2ec619bb4a6bc1a4bf040519891672f317", "headline": "PBOC sets USD/ CNY central rate at 6.7580 (vs. estimate at 6.7241)", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014956+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "efa718f391c9e83c0fb464d22d9d0cbc8b69f5158f436f863ee43036d608822e", "headline": "Australian Dollar holds gains near 0.7100 despite Fed rate hike, IMF urges RBA to stay hawkish ", "day": "2026-09-17", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014961+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "9d2e966ed9aedd317f7bb6849f56a67927f6b4c175e48a71440820335e68ebbc", "headline": "PBOC sets USD/CNY reference rate at 6.7580 vs. 6.7628 previous", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.014966+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "85620ab01ffc3a7c411f745ee7a9e5643181c9d3af5d55ea5080b477ad049dd1", "headline": "Goldman ditches one and done call, now sees a second Fed hike in October", "day": "2026-09-17", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014971+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "08e25fbe82a15ad041dd044a8bafcd2907a50f67aa464b2819c99797f511f62d", "headline": "Silver Price Forecast: XAG/USD rises to near $64.00 as oil prices decline", "day": "2026-09-17", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.014976+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "4b73b8cb3c6a068a15809709018c9362f8b8903423c39ec44d8145a530ff62fc", "headline": "Japanese Yen edges higher vs bullish USD amid expectations of a more hawkish BoJ", "day": "2026-09-17", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.014981+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "48ab6bd95983de1f96a3943be4c90b689c4f1c6a6abd7d2d774991e5f7c38205", "headline": "US President Donald Trump says he told Fed Chair to 'do what you want' ahead of rate hike", "day": "2026-09-17", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.014986+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "cb85a32ea2a06e1af1feeabdcea87b52968a0d73c119d5390ab434001c556b32", "headline": "Euro weakens to near 1.1450 as Fed raises rate for first time in three years", "day": "2026-09-17", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014991+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "aea27e5b9620a20ad273de0fe59d6dd3965a553e34a3a79a4677d2f545777a73", "headline": "TD forecast a Federal Reserve (FOMC) rate hike in October and January ", "day": "2026-09-17", "s": 0.4, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.014996+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "8f9dc27c0fb396d51d5468433a533fb8bccfe0ba55ab6b670922e77f2950cd56", "headline": "Bitcoin, crypto market see muted activity following FOMC rate hike", "day": "2026-09-17", "s": 0.1, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015001+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "f51f0017453aea8945bc3fcf377c779d2b9ac99b635fa9cc7c46c2d46c6bd5ed", "headline": "United States Dollar Index holds gains above 100.00 as Fed signals further tightening", "day": "2026-09-17", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.015005+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "fe459b13dc4ab69890a9dea6dddc86fad36aa75b48f7b139ad727a9dc0691db3", "headline": "Nikkei, Kospi gain as expected Fed hike and lower oil ease market nerves", "day": "2026-09-17", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015010+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "106a4edb77cb3652f38553f0bc5dc5ea28ca080ff6c18890a8f8abe47336f045", "headline": "Fed Policy Monitor: Hiking bias and curve reaction – NBC Economics and Strategy", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015015+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "3ed99893282ff62a42468b59d6536f0b7d2d3b3f3110dcd1dbd56edd50b1be42", "headline": "Canadian Dollar slides to five-week low after Fed’s hawkish decision", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015021+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "40e99ecb1e8eee822c5c8df6836bde2408ec1d45aa55a070a57ed490b1c5f6bf", "headline": "Federal Reserve: Policy path reshaped – Rabobank", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015026+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "508d7fa4ad22ce163a485d98302a1e55e69a97daf582afc592ab3a1b44585328", "headline": "investingLive Asia-Pacific market news: Fed hike fallout dominates", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015032+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.6, "score_source_before": "llm"}
|
||||
{"hash": "0ab8c912c587527d2a32d49f1f30bcfb3a210f67a932ea48b0187276a6c51a3d", "headline": "EUR/JPY Price Forecast: Slips below 179.00 as bearish bias prevails", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015037+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "ebac801c8ea9715332f0ee095bee7e8fd13ca1f75820f589fab72ab887c55739", "headline": "Japan’s Katayama says expect BoJ to conduct appropriate monetary policy to achieve 2% price target", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015041+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "743b4426276d1a6b817babb3d7f534f41bf792f18028e9b05e05d773d8c359ee", "headline": "Crypto Overview: Bitcoin steadies above $76,000 amid Fed rate hike – Privacy coins rally", "day": "2026-09-17", "s": 0.1, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015047+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "7bf61b86912481630c3100eed6fd71b9561c5561c010aa8322acae67af418d0a", "headline": "NZD/USD Price Forecast: Sticks to GDP-led recovery gains above 0.5700; bearish bias intact", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015052+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "066bb679c34cf7ab0b04df2ae54246e52cd19da394194964f1a43ae801bd5648", "headline": "Morning briefing: EUR/USD drops below 1.1500 after Fed rate hike", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015057+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "c0fe1eabc1b8a5d478e30304f70916e497895219960e89fa8149106a79a6a61c", "headline": "AUD/JPY Price Forecast: Gains ground to near 111.00, but retains a bearish bias below 100-day SMA", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015065+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "8ca91f6de91b816d2a9250e55d893bb62e232e060777c4088ec86a4141ba1780", "headline": "Asian stocks edge higher as hawkish Fed, elevated yields and geopolitical cap upside", "day": "2026-09-17", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.015070+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "e69634c5ef08436499311b77a6ce8007c35ebc838a797c56dfc9612c96e42242", "headline": "Swiss Franc remains near 16-month lows against US Dollar", "day": "2026-09-17", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015075+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "36da3411fb86b6129e50e223d14151ddeb87cffb89e33ab564b8f60adcb19676", "headline": "US 10-Year Treasury Yield nears 5% after Fed rate hike, Middle East tensions raise inflation fears", "day": "2026-09-17", "s": 0.5, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.015080+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "2e720dc315d110649a3c022dcb42e3b1e3a8d76b496c754c584a8f1e5b8e6cac", "headline": "With Fed credibility on the line, Warsh just delivered a hawkish answer", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015085+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "9c3c64132233b8510e407dc2466ae90b320c196dc729e36cb59183dc87c604a8", "headline": "Indian Rupee gains ground despite fears of more Fed interest rate hikes", "day": "2026-09-17", "s": 0.2, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.015090+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "22bbb5e72b5b2bda8a92aa10a5497626c6349f61d3411ea88cf772e23e15c394", "headline": "Bank of England set to defy Fed’s rate-hike lead, despite rising inflation", "day": "2026-09-17", "s": -0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.015094+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "b88e4241555da1c8afda8a44d5ec19a72a6c81df60ab3058bd0ed3d4a95f53db", "headline": "Warsh’s comments have left traders divided about the Oct FOMC decision", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015100+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "b3c7082f4e9a6c45a067c60d45e055081e4d8a3dab7481ddeda7a6f2f90b4414", "headline": "GBP/USD Price Forecast: Trades vulnerable below 1.3400 ahead of BoE’s policy decision", "day": "2026-09-17", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015106+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "e4a33658e2552beef35f2523fe0e78982d44e48b738015cc7720e45b41758e6c", "headline": "BoE expected to hold interest rate at 3.75", "day": "2026-09-17", "s": -0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015111+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "82a7cf38d41f5181fc9682a2b750069dca23e45f364364e5ab98f8a93145cb8f", "headline": "BoE decision in focus", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015116+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "67b80973d51acc0d8fc88df645145c233403fdbcc9ed6d7f4abacf7c47a2ac65", "headline": "BoE and BoJ take the stage after Fed hike", "day": "2026-09-17", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015121+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b6fe4d31c0e019bc5c8b8001298aa3370468a674736c9f39fd345be0b403db2a", "headline": "The Bank of England: To hike, or not to hike? ", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015126+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ee200626beb7b1f41c2f3760aefeff9c34b8f279c4c7555d2573eee2118527c2", "headline": "EUR/USD Price Forecast: Holds steady near 1.1450, bearish tone remains intact", "day": "2026-09-17", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015130+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "4b281e55bc3ff226cfaf14cda50eaad2444cf0772a90f9cbb8a5b6628a38cc9b", "headline": "British Pound: Oversold Sterling still seen weaker against US Dollar – UOB", "day": "2026-09-17", "s": -0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015135+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "f1d0ba746d7dcfc811b5e09fc6fefad82238cf760c821257239f54f5daa3c5a6", "headline": "Japanese Yen outperforms as BoJ’s policy takes centre stage", "day": "2026-09-17", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015141+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "4ed518cd70db56b91a540b0cc442e5f3014eadf6136f01a541151ebc5065d866", "headline": "Fed review: The hike was expected – The message was more hawkish", "day": "2026-09-17", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015146+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "7621f932507b70ef788851874e47ecdfa9d4a41a7ab80d0c38e3f2e2998d8863", "headline": "EUR/GBP Price Forecast: Euro struggles below 0.8570 with all eyes on the BoE", "day": "2026-09-17", "s": -0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015152+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "d68bac56d552d03a9677ebf46640d84d342296c3b9ac6a4927d1acf4c2f48fb5", "headline": "BoE expected to hold interest rate at 3.75%", "day": "2026-09-17", "s": -0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015157+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "73680d67524c1ec1d9c7356f238187ab94bf0a25dcb71488a22282beb3cb3ca7", "headline": "Trump reaches for tariffs again as EU opens door to Canada 'associate membership'", "day": "2026-09-17", "s": -0.3, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.015162+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "202687d58e2432f96d85553a1df0890021753d320b72231046928f968ffb9b1b", "headline": "US Dollar: Hawkish Fed supports Dollar against Euro - Danske Bank", "day": "2026-09-17", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015167+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "4ac326ca09bc4af644e3107823b3f32c332d69e12efe7c17d3601548d40be49e", "headline": "US Dollar Index eases from late July highs as profit-taking kicks in amid sliding yields", "day": "2026-09-17", "s": -0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.015175+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "8fb13a13be847a59c1e254ef51a89c8283e013a69adb16496285d42c6c3fcc24", "headline": "Forex Today: All eyes on BoE rate decision", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015180+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "fa80b8a86df701aa11a862b522b1f393d2531d5eeb607716728d554d92fea35b", "headline": "There’s room for further USD bullish positioning towards the 1.1400 area", "day": "2026-09-17", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.015184+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "7797b89b1350fa0e3b6dd1f4e10fb7a40b08c2d0844102be8e46ae961d19c169", "headline": "USD/JPY – Upside in the play [Video]", "day": "2026-09-17", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015190+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "68b97717909cd58eed638cb96bafc5225afa1c957151e80847aaa1107da6cefd", "headline": "CEE FX: Prolonged pressure from strong Dollar – ING", "day": "2026-09-17", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.015195+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "03d0173124729cf208ea8fdce33d4e0d1a3d727823e9b168ebc2403aaf42e4f1", "headline": "Long-end Treasury yields stay calm as markets digest the Fed", "day": "2026-09-17", "s": -0.1, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015200+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "33f6a529ab5b0baa429b5a053695eaf301afcd93c85bd8d99c893ab41d1e4299", "headline": "1.4000 within reach: USD/CAD consolidates gains after Fed’s hawkish hike", "day": "2026-09-17", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015205+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "ba4352ab0d4d44d9ff1e3666d276303b00abe2f09d3fa5b107a764ca7a7e37c3", "headline": "EUR/USD falls as market sentiment favours the US Dollar", "day": "2026-09-17", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.015211+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "d700544464e5b61426ded1723d744213a42199ff7c35d40cc74b203ecf4c60f5", "headline": "European stock market open: Stocks rally as bond yields ease after Fed hike", "day": "2026-09-17", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015215+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "0c76a29a6f428e08ecebb56df7e8305fbe3b86a4ce40bc9c5c2f2ec94089eb7b", "headline": "Was the Fed really that hawkish or the market just overreacted? An objective overview", "day": "2026-09-17", "s": -0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015220+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "16252f3a4dd42e291b81acecce2d82a78a5d57a9d95dd43a2ef4c00b1139d33f", "headline": "Silver Price Forecast: XAG/USD jumps to near $64.40 as rally in oil prices hit a pause", "day": "2026-09-17", "s": 0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015225+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "0bd7e40d95eb5f6db5289fdbeed3aba15eb3739acbf3373c58f6ca694ba1ae7a", "headline": "British Pound rebounds from July 30 lows vs retreating USD as traders await BoE decision", "day": "2026-09-17", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015230+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "01d947898fe3e78d6dd318d7faf4254e0cc1277966cf6ea2b70cbae782cb69ca", "headline": "New Zealand Dollar gains momentum following strong Q2 GDP growth", "day": "2026-09-17", "s": 0.3, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015235+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.6, "score_source_before": "llm"}
|
||||
{"hash": "c0c25b23b52af27e1e747159a4848b91ef05b7cb726082b08fef7da8f658c9a9", "headline": "ECB’s Makhlouf: Can't rule out anything at future meetings", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015239+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c454e87edb4aff2101bbef01404df0040c53bde11c338fceff05bab1c6ee1b33", "headline": "Dow Jones futures gain as oil slide offsets Fed rate hike jitters", "day": "2026-09-17", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015244+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a8f0ed71e14f8bf586fab82ff39b4d2a42c21a00f901aff48fc780c87be3274d", "headline": "BOE preview: Bank rate set to stay at 3.75% as vote split takes centre stage", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015249+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "fe09b3a751d2c13471eb462b94a9b8f37f60b159ee6f7ca4becfcd87e97a81fc", "headline": "Swiss Franc: Remains near recent lows against US Dollar – UOB", "day": "2026-09-17", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015254+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "f2c3818b62a0576830113a32a4556f21b6f525a77e1ddad34906e63f709682ed", "headline": " Fed restarts hiking cycle as markets look to BoE", "day": "2026-09-17", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015259+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "10c76470b62141927965632c843070fd7c7ef4a755f3b743b3cdc07659605db9", "headline": "US Dollar: Structurally stronger after Fed hike – ING", "day": "2026-09-17", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015264+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "2d37fcf0d30b3ae47e8b086209393201fa4884028b5ed9946ee2e8013a000d3d", "headline": "British Pound underperforms against Japanese Yen ahead of BoE-BoJ policy outcome", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015270+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "7c05902ebd83634254664a131d0a292b6290dc130ecc8110690c45c5ed3b594d", "headline": "Eurozone Core Harmonized Index of Consumer Prices (YoY) in line with expectations (2.4%) in August", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015274+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "ebdeb1b65c07578627c615541ed059ab7bee99c58aad79ad79979515ff16eb5c", "headline": "Eurozone Core Harmonized Index of Consumer Prices (MoM): 0.2% (August)", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015282+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "c87f5f65632dae4d7a246e6f106d2bdd304f333bbed9fb673bdca05f7b2b435f", "headline": "Japanese Yen: BoJ guidance key after Fed move – OCBC", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015287+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "7de2ff0b93d9cd7705de19d00e5219a3ffe94802c5236b0c139528370871cfb8", "headline": "AUD/USD Price Forecast: Holds above 0.7100 amid retreating USD; 100-SMA holds the key", "day": "2026-09-17", "s": 0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015292+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "4bfe5e40ec0565f0eb1ca37ba8dd3fca789e564c8bfbf240b289534d4efd301e", "headline": "British Pound: BoE decision keeps November hike risk alive – MUFG", "day": "2026-09-17", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015297+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "b3d91f4d8413066f6863e076dba4bbbb59894532afbedb409b4c55bae037c155", "headline": "Japanese Yen strengthens due to BoJ rate hike bets, weaker US Dollar", "day": "2026-09-17", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015303+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "6e0f4bbd61a4275978b8329e20226b5dd93509296f2b7ff84fc2e42576669520", "headline": "Could Bitcoin Treasury Companies Become Forced Sellers?", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015308+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "85db801f053b6a9d0d961c9164726649924ed1777a87210d3afc9d0cec409992", "headline": "Euro area inflation nudges up in August to 3.2% as energy prices jump", "day": "2026-09-17", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015312+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "eedac39c80311efa8fc8d7f8bda4fcdafd1fdfa413b1e711651f5abd7c857c1e", "headline": "Eurozone Harmonized Index of Consumer Prices (MoM) meets forecasts (0.4%) in August", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015317+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "e9dbaface2921a0282e00037e2a67f8aa56046d46baf965b7f24c8414ced45db", "headline": "Eurozone Harmonized Index of Consumer Prices (YoY) came in at 3.2% below forecasts (3.3%) in August", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015321+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "f48167b3e624690add0a322b893132f9bca27fce06119647c819e9e817b5dcd0", "headline": "BoE set to hold interest rates at 3.75% for sixth meeting in a row", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015326+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "dfd792e127a49b375ea2b7abb4d38624eee0bdcbd3b177e6efa8e99bde508fc4", "headline": "Bitcoin Price Forecast: BTC extends cautious rebound as ETF outflows, hawkish Fed risks cap upside potential", "day": "2026-09-17", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015331+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "60c5dace0a9b6d2c1f3a7f14be29891dbd6c48526d389ff53853ffb334a62866", "headline": "Fed sees 'more hikes rather than less' – Hawkish dot plot clashes with inflation forecasts", "day": "2026-09-17", "s": 0.6, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.015336+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "24308ca74f881289b297eb510abdab4763617210b203a874096123ce57b48b52", "headline": "Euro remains stronger against Canadian Dollar following Eurozone HICP inflation data", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015342+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "1af1292798b5cab9b57b3eb7f2ed66edc62f032f0a134fe939be58a073b9a04c", "headline": "Euro: Medium-term downside remains in focus against US Dollar - UOB", "day": "2026-09-17", "s": 0.1, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015347+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "5ac5b244042b00aeb99b5fbaa414bad2f96b09d82037f6531ed6b9a63070ac0e", "headline": "US Dollar: Warsh message supports limited upside – MUFG", "day": "2026-09-17", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015351+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "c48713c7bf26122a4cd095a5fd3889edc164d73c0f4876b886914e61c3750ecb", "headline": "Warsh separates the Fed’s inflation fight from the 5% Treasury problem", "day": "2026-09-17", "s": -0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015357+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a3ecc46ea44250b005d27d7ce6ac8c9a5eeedb41db8f2ec4ca7d6dd45ad80a08", "headline": "British Pound: Sterling seen outperforming peers – Societe Generale", "day": "2026-09-17", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015362+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "95566dd2fd51a8c47f4ef1db7a8c3d454e204f3a4368fbb915dfd5b068f9235d", "headline": "S&P 500 looks for a technical bounce as 100-day moving average holds after the Fed", "day": "2026-09-17", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015367+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "14215381d90100b70b00992e46a466c2bc7e5de80872fb613cf038ebca5d22b7", "headline": "Forex trading Fed raises rates – Five reasons for lower Brent [Video]", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015372+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "3ecc26e122d89a42928bb87785d4b4142777a2dbaa4028a0b0385e8259753e2d", "headline": "Canada’s Carney puts economic sovereignty at heart of strategic alliances", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015378+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "02d012d0cfa59fcd29cc0f39f86f64669cf7e4bd685b00abc8fcfb6bee9625ce", "headline": "USD/CAD: Strong recovery approaches key Fibonacci resistance", "day": "2026-09-17", "s": 0.3, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015383+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "eb87c72ed6282d9bf86e84fbab714e2f2621fa851b8ceaf59b03a2de9d3b7ae8", "headline": "Euro falls below 179.00 as Japanese Yen strengthens ahead of BoJ", "day": "2026-09-17", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015391+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "f69cb49ae4e8a6621c74301938022ac3a6d3d6be1662406b5ec905114af7247c", "headline": "Euro languishes below 1.1500 in the aftermath of Fed’s hawkish hike", "day": "2026-09-17", "s": -0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015396+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "e00337b0add59ef88ae4c2f00bbefd63b716e2c8ba040a8d4d6214050206c4de", "headline": "The Fed hawkishly hiked rates", "day": "2026-09-17", "s": -0.6, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.015401+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "9c735ae42e030917463051b703666a6def04f7e1eb0ef067757389f5adaf2083", "headline": "Fed raises", "day": "2026-09-17", "s": -0.6, "xau": -0.7, "labelled_at": "2026-09-17T23:21:54.015406+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "383733e07bdfa4ddf8e25177c68e75c9d7f3115fac5651e2b6cb66edf63e580f", "headline": "US Dollar/Swiss Franc breaks above 1 (100%) Arc – Potential advance toward 0.8291", "day": "2026-09-17", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.015411+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "0b5700c71e6d699bcd3efaf45dba4aabc0e64516224bd2a9dd62f4eb9c938098", "headline": "Stock sector rotation with the Fed decision: Healthcare attracts fresh interest as Consumer Staples lose support", "day": "2026-09-17", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015417+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "650a3304683aa1547416fb6042b039b9eaae60cf6685d1f3a023688a25f6bb36", "headline": "United Kingdom BoE MPC Vote Rate Unchanged meets forecasts (6)", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015422+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "705a4c3da7a73b5cfd94d840fff0958a8598b4c175652717d87d1348f5c65fe7", "headline": "United Kingdom BoE MPC Vote Rate Hike meets forecasts (3)", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015427+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "da7055a31e2f5fef103a6e0e171e4933edc36256363ef737c82ce9b9cc8fe67c", "headline": "United Kingdom BoE MPC Vote Rate Cut in line with expectations (0)", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015431+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "de49fc9d8c6e4cc4660aec2fd9d364c098367d11f057658a397190184989127e", "headline": "United Kingdom BoE Interest Rate Decision meets forecasts (3.75%)", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015435+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "501cea6ad06de5baab5b7210e8f8b413ea1afaa6ceab846c5286be25a768cdf3", "headline": "Pound Sterling Price News and Forecast: GBP rebounds from July 30 lows vs retreating USD", "day": "2026-09-17", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015440+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "e5add40f28adb3df8a92f0448794409f9677e9881c8f95e35c286bba4a251723", "headline": "BOE leaves bank rate unchanged at 3.75% in 6-3 vote", "day": "2026-09-17", "s": 0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015445+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "8d409a9106083d6840f4474b891e33fef1a25f20573a03996230fc6b08051a0f", "headline": "British Pound falls vertically after BoE leaves interest rates unchanged at 3.75%", "day": "2026-09-17", "s": -0.4, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015449+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "17f09e73deeadeeff18c46c4dc83a20627b6f97d0766599f5b9e4adbef726829", "headline": "Japanese Yen: Second order effects guide BoJ risks – Rabobank", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015454+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "5b372e02f4cd6fad01437ba03fde04f6132b130d21b99177f0ccc9206a886ee8", "headline": "Bank of England defies Fed’s rate-hike lead, leaving rates unchanged", "day": "2026-09-17", "s": 0.3, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.015460+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "d282353824d8f1d2eeb786a26db8b04d727b19ea59adcbaf01e395ab9f0c7014", "headline": "Solana resists bearish pressures coming from failed Clarity Act vote and Fed rate hike. What's next?", "day": "2026-09-17", "s": -0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015465+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "21136dafcd2ede7bccd489c7a6f9bd03042b1a82549cf80381c61b0bd24dc893", "headline": "Massive selloff: Swiss Franc plunges 2% in five days amid growing SNB-Fed divergence", "day": "2026-09-17", "s": -0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.015470+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "a14be00ce0b63abaa3d96ff9205efa7a261dcc9f0346b84059b5724dd8fd85f8", "headline": "The Fed surprised with its determination to hike – Will the BoE do the same?", "day": "2026-09-17", "s": -0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015475+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "baff3075e60968e41c56f5bfa2c7d1a08f46b3221073e8dc5d781ea71ddb51d9", "headline": "Euro: Fair value falls on oil and Fed pressure against US Dollar - ING", "day": "2026-09-17", "s": -0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.015481+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "279e695a726e07a3612fdcc037f871e068856b080d3c0de0f06b9ee3edb51a9a", "headline": "US Dollar: Hawkish Fed supports Dollar near term – OCBC", "day": "2026-09-17", "s": 0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015486+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "47514f3328dad4a9ff0ae11a502b68ed1c892c5129a68581bd7500889cfbcf32", "headline": "Australian Dollar: Short-term downside toward 0.7050 against US Dollar – UOB", "day": "2026-09-17", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015491+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "ca8b4eaad06767dd5b9c2a523f61275b5afa73d235de44091516caa910385040", "headline": "Silver price rebounds on softer Oil but Fed tightening caps recovery", "day": "2026-09-17", "s": 0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.015499+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "65977847da2733fb64d93b8c4078f6347f1396d832d47971f1146c9697857ffc", "headline": "Midweek technical look on US500, OIL, USD/JPY", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015504+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "0d49a19613e2c80a169a69a197d34c165b40a00bb0fd843390f9eda6d5776082", "headline": "Euro jumps against British Pound as BoE leaves rates on hold", "day": "2026-09-17", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015509+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "4e1a833fdd599628fec8c19cba5dce7dfe2e5a47bd89f9bb9b3c41e911e69bf2", "headline": "USD/JPY Price Forecast: 20-day acts key barrier near 156.45", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015514+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "825b9c1224f264933bc85bec4d553acee88382f80cd5f9531141969afa74ddcc", "headline": "investingLive European session wrap: Markets rise as oil and bond yields ease after Fed, BOE holds rates", "day": "2026-09-17", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015518+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "db10683850495b4e88f5e14fa5f3e3c256a8b2a2ed7e7ebd9c8d11ecdc542707", "headline": "British Pound weakens against Japanese Yen as BoE leaves rates unchanged", "day": "2026-09-17", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015523+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "a8c11803b78a7e77d6338ee1a495c0043dad7d0d70ff90038c18fc313e8f4456", "headline": "Focus – USD/JPY recovery stalls below 156.00 ahead of BoJ", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015528+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "669b963800aad78d0098c6a8afa1ca1c18d3222105dccf9b04ede3ff31cb5ddf", "headline": "Federal Reserve: Hawkish path extends into year-end – Commerzbank", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015534+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "f781168d4ac51271d26905520fd7e3bf98109ac7c560d3ffe02bdb688144c4bc", "headline": "Gold surges as Fed signals rate cuts", "day": "2026-09-17", "s": 0.8, "xau": 0.9, "labelled_at": "2026-09-17T23:21:54.015539+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "45270d00baa8d810fc328aaf7e4f3305b40083cbc77236e7393150c5f6036a27", "headline": "Fed signals rate cuts as dollar slides", "day": "2026-09-17", "s": 0.7, "xau": 0.8, "labelled_at": "2026-09-17T23:21:54.015544+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -1.0, "score_source_before": "keyword"}
|
||||
{"hash": "200c259f19f9c82fdcd22063019bc0e02dc5a8f14cc65bda211da91d541bf139", "headline": "Gold surges as Fed signals rate cuts - Reuters", "day": "2026-09-17", "s": 0.8, "xau": 0.9, "labelled_at": "2026-09-17T23:21:54.015549+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "bda4a0b0f2722f7e7734cdb5bc7281ae8e1f2f8f1d9e058e979c3eea6ad55018", "headline": "Dollar steady before Fed minutes", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015554+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "7ed13f492a51fe65bdf450efcdde91ef84362d47c99b838b71f3e1f7c7fc9d50", "headline": "Gold slips on strong dollar data", "day": "2026-09-17", "s": -0.5, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015558+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "ae67af30d75807f49c414133267c2631be684f7311dd4232d69c03cc4a210f92", "headline": "Fed officials split on rate cuts", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015563+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -1.0, "score_source_before": "keyword"}
|
||||
{"hash": "67fbdf1b7a01c7bc152e572ab6ad755ece47307177be275e59a69b0a61384d43", "headline": "Former Atlanta Fed President: The inflation portion of the Fed mandate is far more concerning", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015567+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "a879744851cbb297eea4fceadc7b7dbb65d49e89ca9809b50941d645cb779eee", "headline": "The smallest hiking cycle the Fed has ever done is 137 basis points", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015572+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "ce258f106e1baf48367106057674ef3b237060f140408d094279a06af1098231", "headline": "USDCAD breaks higher after the Fed. Can buyers hold the breakout? Or will sellers take back control?", "day": "2026-09-17", "s": 0.3, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015577+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "538461a7d1deef97415564ba84a09119903a8ec81b8cf79b1d57e81cd703bb44", "headline": "BOE's Bailey: Decision on rates will get more difficult the longer the Iran conflict continues", "day": "2026-09-17", "s": 0.2, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.015582+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "7d2fdc930d42affbd891c666e9aed9222b806048956d396e56d515e999d21f93", "headline": "Canada August producer price index +1.3% m/m vs +0.6% prior", "day": "2026-09-17", "s": 0.2, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015587+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.3, "score_source_before": "llm"}
|
||||
{"hash": "d8845de1cb11541e774475ef30ff085ff9e3eb5c0f1814fa828dd827c9729a8d", "headline": "US September Philly Fed business index +37.8 vs +30.5 expected", "day": "2026-09-17", "s": 0.5, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.015592+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.5, "score_source_before": "llm"}
|
||||
{"hash": "d35b1e5b34c527b48e7b1091316424e7755af403526cffa74b7c7a584df4b42d", "headline": "U.S. dollar mixed as markets digest the day after the Fed hike and today's BOE decision", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015597+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "llm"}
|
||||
{"hash": "34cd6eb93b80651dd1b010400930c1be125a48c9b714d13f81bdea14d03ff39e", "headline": "Japanese Yen: Further weakness could target 157.30 against US Dollar - UOB", "day": "2026-09-17", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015604+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.4, "score_source_before": "llm"}
|
||||
{"hash": "5c9e251157b9d20da4b359fefb636547e7242e75a8610433f3beb2b6c2eb8aae", "headline": "Euro: Stabilizing with policy support – Scotiabank", "day": "2026-09-17", "s": 0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015609+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.1, "score_source_before": "llm"}
|
||||
{"hash": "fe90d87b4d0d1a66cef8e8f2ac7363ab7849c9182cdda31f26f52572d9f5c7dd", "headline": "Australian Dollar rebound offsets the hawkish Fed hike", "day": "2026-09-17", "s": 0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015614+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "3cf807bd475b9da5e343978eda72e07555f6342ada1ac9a9bff13de390e9c847", "headline": "1.25%: Why the Bank of Japan hike is a done deal and the Japanese Yen now hinges on Ueda's guidance", "day": "2026-09-17", "s": 0.4, "xau": -0.5, "labelled_at": "2026-09-17T23:21:54.015619+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "eabeb2d4b3b1a5a7e609d6559232748cae08ee8bd42a056a58c73e32404141f6", "headline": "Bank of England: Cautious hold with upside risks – TD Securities", "day": "2026-09-17", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015624+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "bc5643f175c74d0079f6ee423832b1dea023117c0a7ede8073775e7b81c8c15e", "headline": "US Dollar: Fed hike keeps upside risks – BBH", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015630+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "ce28645ed0df5263649a610dff51b9a61ad2705f51e033c0bd2b1b7681d97976", "headline": "Euro gains against US Dollar as post-Fed rally loses momentum", "day": "2026-09-17", "s": 0.3, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015635+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.2, "score_source_before": "llm"}
|
||||
{"hash": "4325a07d56c176b191e030320da722bf9e2268b4bb3512678dde6fc6b6a9fa66", "headline": "Federal Reserve: Two more hikes seen as inflation stays too high – UOB", "day": "2026-09-17", "s": 0.4, "xau": -0.6, "labelled_at": "2026-09-17T23:21:54.015640+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.5, "score_source_before": "llm"}
|
||||
{"hash": "db607d7e907eaf89c83b727e5daa1259993d2d47c404b58e4ab5fc9a829491fa", "headline": "British Pound: Bearish against Euro after BoE hold – TD Securities", "day": "2026-09-17", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015646+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "67dde5ae78484d74d3a4c2315f888180a28c91b04d2187ed0b5af7a7ed9185fa", "headline": "Canadian Dollar remains under pressure as USD/CAD flirts with 1.4000", "day": "2026-09-17", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015651+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "7873a3e9cc73788cfc40af0c034c725a620928a9ddd21174fd1de2d732437219", "headline": "Japanese Yen: BoJ tightening expectations lift JPY against US Dollar – Scotiabank", "day": "2026-09-17", "s": 0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015656+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.4, "score_source_before": "llm"}
|
||||
{"hash": "25442b29a9ef4a5cfce9ee709cb29b3e7e15ccef44ac21519392779a88d1e637", "headline": "NZD/USD Elliott Wave: Price reaches an extreme zone from the 0.5897 peak", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015662+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.1, "score_source_before": "llm"}
|
||||
{"hash": "96ea022cd8b8c0434f50eca761500d9a20f0022d0c4dd90b47e63d1432fc41c8", "headline": "Bank of England: November hike risk rises – Rabobank", "day": "2026-09-17", "s": 0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015666+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "6eb84a142c262cd6c7e175879eb21fd7a98a86bed615525a6175c25c6ee72150", "headline": "Euro: Downside levels in focus against US Dollar – UOB", "day": "2026-09-17", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015672+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "ce20f2e499db30caf22497227af77a54ad7c4e115c22219abb34c047f55086a7", "headline": "BoE recap: A cautious stance amid rising inflation risks", "day": "2026-09-17", "s": 0.1, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015677+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "54f320a5b64fe12fe201158dc847bbbf707142d995ab1c7781ee92a92657d9a3", "headline": "Canadian Dollar: Underperformance persists on wider spreads – Scotiabank", "day": "2026-09-17", "s": -0.2, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015682+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.2, "score_source_before": "llm"}
|
||||
{"hash": "1b1a2150c79937e3c8c48c20c6007c35f9fb0ab8fe9080049eacb5588c5ee2d4", "headline": "Bank of England floats a November rate hike if energy prices don’t come down", "day": "2026-09-17", "s": 0.4, "xau": -0.3, "labelled_at": "2026-09-17T23:21:54.015687+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 1.0, "score_source_before": "keyword"}
|
||||
{"hash": "bb031be62db3f10e25a7db74c8a55acd6c3d20d5aff0edd3d2e5dc9333454fea", "headline": "Bank of England review: Some less hawkish tunes", "day": "2026-09-17", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015693+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 1.0, "score_source_before": "keyword"}
|
||||
{"hash": "9e999c382298163423dc51c0ed05cd221c975c502d25eb79dcad6e0a2314a21a", "headline": "British Pound: BoE stance leaves Pound exposed – BBH", "day": "2026-09-17", "s": -0.3, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015698+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "1fd923378a7d69659898b713a8c65e01cffd726ec4fa4a28acbb3c2dc6df214a", "headline": "Japanese Yen: Faster BoJ tightening supports gains against US Dollar - MUFG", "day": "2026-09-17", "s": 0.4, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015703+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 1.0, "score_source_before": "keyword"}
|
||||
{"hash": "2fd86adf5b43bee6fc0f4b3c15bb1bb8383f2b93b75358de94727f24c9905131", "headline": "Gold price at $4,370/oz after U.S. weekly jobless claims fall to 196k - KITCO", "day": "2026-09-17", "s": 0.2, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015708+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "4db0e403fb686177eb5c99b1a67436e79cd56e66adcb27ef0414cceaf66a2751", "headline": "Current price of gold as of September 17, 2026 - Fortune", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015716+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "6d1cb9df1e89d6770cdbb5f59454383048d64a53ba59829bc4b559c5dec14913", "headline": "Gold Price Today: Gold Rises 1.57% on September 17, 2026 - USA Today", "day": "2026-09-17", "s": 0.6, "xau": 0.6, "labelled_at": "2026-09-17T23:21:54.015721+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 1.0, "score_source_before": "keyword"}
|
||||
{"hash": "e86beea11a01b3255c36d05fd7410505a4841fd7dfd1925737a9ec7a9afb2fc7", "headline": "Gold price holding near session highs as US pending home sales rise 0.3% - KITCO", "day": "2026-09-17", "s": 0.1, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015726+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "0cab7d776c78f22b2cf268fcac5be0ac5e70454185e0987aacfc8ac331852f6d", "headline": "Barrick Mining Shares Rise 1.2% Following New Buy Rating and Gold Price Recovery - Yahoo Finance", "day": "2026-09-17", "s": 0.4, "xau": 0.3, "labelled_at": "2026-09-17T23:21:54.015731+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "545415db12c8a1192e9964874283a482aab1369739c2153af3410d680cbfa04b", "headline": "Gold price near high after U.S. housing starts fall 2.6%, building permits fall 2.7% in August - KITCO", "day": "2026-09-17", "s": 0.1, "xau": 0.4, "labelled_at": "2026-09-17T23:21:54.015736+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "6bb2c505100fb08a9ebb5e5d5ce2908416e91c2341181925de6cedd1af83db88", "headline": "Philly Fed survey can't derail gold's momentum - KITCO", "day": "2026-09-17", "s": 0.1, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015741+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "487779f5c078a63540b2365eebcf9dd3989aef0f8ef3e0faf32bc11c34fd26aa", "headline": "Gold Price Forecast: Rally Reclaims 50-Day EMA as Yields Ease - FXEmpire", "day": "2026-09-17", "s": 0.4, "xau": 0.5, "labelled_at": "2026-09-17T23:21:54.015746+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 1.0, "score_source_before": "keyword"}
|
||||
{"hash": "f8377d0f00881c18370228f7b76a0d69c450733e218bc9cc64b69f033d9fb30e", "headline": "This Gold ETF Turns a Non-Yielding Asset Into Monthly Income—But There’s a Catch - MarketBeat", "day": "2026-09-17", "s": 0.1, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015751+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "579bacba470725bcfe07a8ce808e3b2708f9a4d2050922766dfb422bc19060ee", "headline": "Gold Majors Are Returning Record Cash Instead of Building New Mines - TradingView", "day": "2026-09-17", "s": 0.2, "xau": 0.2, "labelled_at": "2026-09-17T23:21:54.015757+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "a75bb2cbf9f71d2483817309dcf5a355a253305902bedd84ff6cc0041ac8c16c", "headline": "Gold price outlook: What to expect in the near term and medium term - Investing.com India", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015762+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "4f88c4f39f7dc926016d4ed3deeb7c0a173e60015cda18f1fcb7c08f1006fc1e", "headline": "Gold Price Swings Hit Jewellery Demand, WGC Reports - Rediff MoneyWiz", "day": "2026-09-17", "s": -0.2, "xau": -0.1, "labelled_at": "2026-09-17T23:21:54.015766+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "e54993b0d9881813ff7a1ee46db7230adcb6e9446d96148a0afd303eb94db524", "headline": "Bitcoin vs Gold Forecast: BTC Consolidates, Gold Retests $4,200 as Markets Price in 2 More Rate Hikes - CoinGape", "day": "2026-09-17", "s": -0.5, "xau": -0.4, "labelled_at": "2026-09-17T23:21:54.015772+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 1.0, "score_source_before": "keyword"}
|
||||
{"hash": "8a6af621e31891966c7f22f505861e280097d8f10e3a961615cc47430d895dab", "headline": "XAUUSD 4H | SMC FVG & Trendline Education for TVC:GOLD by XauusdMarketNavigator - TradingView", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015777+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "f3112ea7c81654826bc018ae0e2325d7a0ad25d82c1b3b5dbfe549ae432ab296", "headline": "Gold Falls Rs 600 On Weak Domestic Demand - ETV Bharat", "day": "2026-09-17", "s": -0.3, "xau": -0.2, "labelled_at": "2026-09-17T23:21:54.015782+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -1.0, "score_source_before": "keyword"}
|
||||
{"hash": "2449e6329a6dceefe2f8e5f327e99ef4f09af7fbf0163ff3a0bd0420c869c152", "headline": "British Pound loses its footing as BoE holds meet Fed tightening", "day": "2026-09-17", "s": -0.2, "xau": 0.1, "labelled_at": "2026-09-17T23:21:54.015790+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": -0.3, "score_source_before": "llm"}
|
||||
{"hash": "dbeb8d0c93011a0e8b736d04cd3ada2a58203926c1aef191e724b3346d04f9a1", "headline": "North American Gold ETF Buying Jumped From $71 Million to $7.7 Billion in One Month. Can GLDM Hold Up? - 24/7 Wall St.", "day": "2026-09-17", "s": 0.5, "xau": 0.5, "labelled_at": "2026-09-17T23:21:54.015795+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
{"hash": "0389c015c18ef67458311e1631b3918120fb4c39a9432363d616fec4d3fa02c7", "headline": "Gold Price vs Fed Interest Rates: How Do Interest Rates Affect Gold Prices Globally? - Jagran Josh", "day": "2026-09-17", "s": 0.0, "xau": 0.0, "labelled_at": "2026-09-17T23:21:54.015800+00:00", "model": "deepseek-v4-flash", "prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d", "archived_overall": 0.0, "score_source_before": "keyword"}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",neutral,0,0.0904,0.4167,0.0798,0,3.79,0.0,0,0.4,-0.7,-1,False
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.4814,0.6552,0.4814,-1,1.02,-1.0,-1,0.4,-0.7,-1,False
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bullish,1,0.2563,0.5806,0.2563,1,0.9,-1.0,-1,0.4,-0.7,-1,False
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bullish,1,0.2228,0.4954,0.2228,1,0.89,1.0,1,0.4,-0.7,-1,False
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bullish,1,0.1416,0.5135,0.1416,0,0.86,0.0,0,0.4,-0.7,-1,False
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.3577,0.6683,0.3577,-1,0.89,1.0,1,0.4,-0.7,-1,False
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.7191,0.8306,0.7191,-1,0.94,0.0,0,0.4,-0.7,-1,False
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,neutral,0,0.2487,0.4401,0.0357,1,0.86,1.0,1,0.4,-0.7,-1,False
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bearish,-1,-0.1208,0.4302,0.1208,0,0.85,1.0,1,-0.4,0.7,1,False
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.2497,0.5899,0.2497,1,0.87,1.0,1,-0.4,0.7,1,False
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.2525,0.5119,0.2525,1,0.83,1.0,1,-0.4,0.7,1,False
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.4653,0.6188,0.3911,1,0.83,1.0,1,-0.4,0.7,1,False
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.5022,0.6754,0.5022,1,0.84,1.0,1,-0.4,0.7,1,False
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bearish,-1,-0.1429,0.4917,0.1429,0,0.82,1.0,1,-0.4,0.7,1,False
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.1851,0.5595,0.1851,1,0.82,1.0,1,-0.4,0.7,1,False
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.2589,0.5396,0.2589,1,0.85,0.0,0,-0.4,0.7,1,False
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bullish,1,0.073,0.4838,0.073,0,0.85,1.0,1,0.4,-0.7,-1,False
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bullish,1,0.1629,0.5286,0.1629,1,0.85,0.0,0,0.4,-0.7,-1,False
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.2423,0.5696,0.2423,-1,0.86,0.0,0,0.4,-0.7,-1,False
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bearish,-1,-0.0595,0.4566,0.0595,0,0.86,0.0,0,0.4,-0.7,-1,False
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.4212,0.6408,0.4212,1,0.84,0.0,0,0.4,-0.7,-1,False
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.1071,0.4217,0.1071,0,0.85,1.0,1,0.4,-0.7,-1,False
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.7355,0.8224,0.7317,1,0.85,1.0,1,0.4,-0.7,-1,False
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bearish,-1,-0.3126,0.5838,0.3126,-1,0.86,-1.0,-1,-0.4,0.7,1,False
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bearish,-1,-0.0068,0.4805,0.0068,0,0.87,-1.0,-1,-0.4,0.7,1,False
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,bearish,-1,-0.3367,0.6181,0.3367,-1,0.86,-1.0,-1,-0.4,0.6,1,False
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.2244,0.56,0.2244,1,0.92,0.0,0,-0.5,0.5,1,False
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.1422,0.5326,0.1422,0,0.86,-1.0,-1,-0.4,0.5,1,False
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.2079,0.4338,0.0936,1,0.85,0.0,0,-0.4,0.4,1,False
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.3502,0.5463,0.2885,1,0.84,-1.0,-1,-0.5,0.5,1,False
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.5952,0.7596,0.5952,-1,0.86,0.0,0,0.6,-0.8,-1,False
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.6403,0.8008,0.6403,-1,0.87,1.0,1,0.6,-0.8,-1,False
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bearish,-1,-0.1359,0.443,0.1359,0,0.86,0.0,0,0.5,-0.7,-1,False
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bearish,-1,-0.294,0.6085,0.294,-1,0.84,0.0,0,-0.5,0.6,1,False
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bearish,-1,-0.3052,0.5599,0.3052,-1,0.85,0.0,0,-0.6,0.8,1,False
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bearish,-1,-0.049,0.4416,0.049,0,0.86,1.0,1,-0.5,0.6,1,False
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.7083,0.7749,0.6164,1,0.85,0.0,0,-0.7,0.8,1,False
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.036,0.3923,0.036,0,0.84,0.0,0,-0.8,0.9,1,False
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.3576,0.5705,0.354,1,0.86,0.0,0,-0.7,0.8,1,False
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.3298,0.6221,0.3298,1,0.84,0.0,0,-0.8,0.9,1,False
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.1883,0.4891,0.1883,1,0.84,0.0,0,-0.7,0.8,1,False
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.326,0.5681,0.326,1,0.85,-1.0,-1,-0.8,0.9,1,False
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.425,0.6048,0.3894,1,0.85,0.0,0,-0.7,0.8,1,False
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.3099,0.5248,0.2647,1,0.84,0.0,0,-0.8,0.9,1,False
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.3404,0.5448,0.2941,1,0.83,0.0,0,0.6,-0.7,-1,False
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.1254,0.4559,0.1254,0,0.81,1.0,1,0.7,-0.7,-1,False
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.3561,0.6452,0.3561,-1,0.82,0.0,0,0.6,-0.6,-1,False
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.2155,0.5437,0.2155,1,1.42,1.0,1,0.7,-0.7,-1,False
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.4925,0.7262,0.4925,1,0.85,1.0,1,0.8,0.9,1,False
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.0726,0.3818,0.0726,0,0.85,0.0,0,0.7,0.8,1,False
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.3553,0.6092,0.3553,1,0.86,0.0,0,0.6,0.7,1,False
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.2704,0.5196,0.2704,1,0.82,-1.0,-1,0.5,0.6,1,False
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.8912,0.9406,0.8912,-1,0.85,-1.0,-1,-0.6,-0.8,-1,False
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9595,0.9726,0.9582,-1,0.86,-1.0,-1,-0.7,-0.9,-1,False
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,bearish,-1,-0.776,0.8712,0.776,-1,0.86,-1.0,-1,-0.4,-0.5,-1,False
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.6148,0.7935,0.6148,-1,0.87,1.0,1,-0.5,-0.6,-1,False
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bearish,-1,-0.7359,0.8528,0.7359,-1,0.87,-1.0,-1,0.3,0.5,1,False
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bullish,1,0.2903,0.5668,0.2903,1,0.85,1.0,1,-0.2,-0.3,-1,False
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.2581,0.5706,0.2581,1,0.84,0.0,0,0.4,-0.4,-1,False
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bearish,-1,-0.184,0.4807,0.184,-1,0.82,1.0,1,0.3,0.4,1,False
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bullish,1,0.4931,0.6207,0.3691,1,0.84,0.0,0,-0.4,-0.5,-1,False
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bullish,1,0.3823,0.5919,0.3823,1,0.85,-1.0,-1,-0.3,-0.4,-1,False
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.5646,0.6494,0.3835,1,0.86,0.0,0,-0.3,-0.4,-1,False
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.2453,0.5819,0.2453,1,0.84,0.0,0,0.3,-0.4,-1,False
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.0409,0.4625,0.0409,0,0.84,-1.0,-1,-0.5,0.5,1,False
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,neutral,0,-0.077,0.5058,0.2201,0,0.82,-1.0,-1,-0.5,0.5,1,False
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bearish,-1,-0.6046,0.7367,0.6046,-1,0.83,-1.0,-1,-0.5,0.5,1,False
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bearish,-1,-0.063,0.4262,0.063,0,0.84,-1.0,-1,-0.5,0.5,1,False
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.1541,0.4806,0.1541,1,0.83,0.0,0,-0.5,0.5,1,False
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.3553,0.6196,0.3553,1,0.87,0.0,0,-0.6,0.6,1,False
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,bearish,-1,-0.4619,0.649,0.4619,-1,0.82,0.0,0,0.0,0.0,0,False
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,bullish,1,0.0073,0.387,0.0073,0,0.84,0.0,0,0.0,0.0,0,False
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,bearish,-1,-0.4632,0.5858,0.2943,-1,0.83,0.0,0,0.0,0.0,0,False
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,bullish,1,0.1195,0.3795,0.0191,0,0.83,0.0,0,0.0,0.0,0,False
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.1291,0.5284,0.2281,0,0.83,0.0,0,0.0,0.0,0,False
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,bullish,1,0.1086,0.4033,0.1013,0,0.84,0.0,0,0.0,0.0,0,False
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,bullish,1,0.2784,0.5894,0.2784,1,0.85,0.0,0,0.0,0.0,0,False
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,bullish,1,0.4703,0.6488,0.4703,1,0.84,0.0,0,0.0,0.0,0,False
|
||||
|
@@ -0,0 +1,277 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 37,
|
||||
"n": 78,
|
||||
"neutral_predicted": 5
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 35,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 36,
|
||||
"n": 78,
|
||||
"neutral_predicted": 21
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 33,
|
||||
"n": 78,
|
||||
"neutral_predicted": 26
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 27,
|
||||
"n": 78,
|
||||
"neutral_predicted": 42
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 17,
|
||||
"n": 78,
|
||||
"neutral_predicted": 65
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.5,
|
||||
"confusion": [
|
||||
[
|
||||
13,
|
||||
2,
|
||||
17
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
5
|
||||
],
|
||||
[
|
||||
12,
|
||||
1,
|
||||
25
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5428571428571428,
|
||||
"directional_hits": 38,
|
||||
"directional_n": 70,
|
||||
"hits": 39,
|
||||
"macro_f1": 0.3985266422953362,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.5671641791044776,
|
||||
"sign_hits": 38,
|
||||
"sign_n": 67
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.46153846153846156,
|
||||
"confusion": [
|
||||
[
|
||||
11,
|
||||
7,
|
||||
14
|
||||
],
|
||||
[
|
||||
2,
|
||||
4,
|
||||
2
|
||||
],
|
||||
[
|
||||
7,
|
||||
10,
|
||||
21
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.45714285714285713,
|
||||
"directional_hits": 32,
|
||||
"directional_n": 70,
|
||||
"hits": 36,
|
||||
"macro_f1": 0.4196463306808134,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.6037735849056604,
|
||||
"sign_hits": 32,
|
||||
"sign_n": 53
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": 1673.6395020000145,
|
||||
"batch_ms_mean": 1276.5255457499904,
|
||||
"cache_hits": 0,
|
||||
"calls": 4,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 78,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": 65.46284849999951,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260917_2239",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 39,
|
||||
"model_only_right": 0,
|
||||
"p": 3.637978807091713e-12
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 13,
|
||||
"model_only_right": 28,
|
||||
"p": 0.027533155829587486
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"label_distribution": {
|
||||
"bearish": 250,
|
||||
"bullish": 221,
|
||||
"neutral": 135
|
||||
},
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xauusd_sentiment.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"neutral_threshold": 0.05,
|
||||
"sklearn_version": "1.9.1",
|
||||
"trained_at": "2026-09-17T18:54:46.714699+00:00",
|
||||
"training_examples": 606
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 3.79,
|
||||
"mean": 0.897051282051282,
|
||||
"median": 0.85
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 1,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 3,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 0,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 2,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 4,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.30475630790202185
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",neutral,0,0.0904,0.4167,0.0798,0,6.73,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.4814,0.6552,0.4814,-1,1.15,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bullish,1,0.2563,0.5806,0.2563,1,1.06,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bullish,1,0.2228,0.4954,0.2228,1,1.0,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bullish,1,0.1416,0.5135,0.1416,0,0.95,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.3577,0.6683,0.3577,-1,0.98,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.7191,0.8306,0.7191,-1,0.99,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,neutral,0,0.2487,0.4401,0.0357,1,0.95,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bearish,-1,-0.1208,0.4302,0.1208,0,1.0,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.2497,0.5899,0.2497,1,1.0,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.2525,0.5119,0.2525,1,0.93,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.4653,0.6188,0.3911,1,0.96,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.5022,0.6754,0.5022,1,0.93,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bearish,-1,-0.1429,0.4917,0.1429,0,0.93,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.1851,0.5595,0.1851,1,0.94,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.2589,0.5396,0.2589,1,0.96,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bullish,1,0.073,0.4838,0.073,0,1.63,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bullish,1,0.1629,0.5286,0.1629,1,1.0,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.2423,0.5696,0.2423,-1,0.98,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bearish,-1,-0.0595,0.4566,0.0595,0,0.97,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.4212,0.6408,0.4212,1,0.9,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.1071,0.4217,0.1071,0,0.91,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.7355,0.8224,0.7317,1,1.02,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bearish,-1,-0.3126,0.5838,0.3126,-1,0.96,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bearish,-1,-0.0068,0.4805,0.0068,0,0.96,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,bearish,-1,-0.3367,0.6181,0.3367,-1,0.94,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.2244,0.56,0.2244,1,0.93,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.1422,0.5326,0.1422,0,0.92,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.2079,0.4338,0.0936,1,0.9,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.3502,0.5463,0.2885,1,0.89,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.5952,0.7596,0.5952,-1,0.98,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.6403,0.8008,0.6403,-1,0.95,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bearish,-1,-0.1359,0.443,0.1359,0,0.94,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bearish,-1,-0.294,0.6085,0.294,-1,0.9,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bearish,-1,-0.3052,0.5599,0.3052,-1,0.91,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bearish,-1,-0.049,0.4416,0.049,0,0.9,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.7083,0.7749,0.6164,1,0.9,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.036,0.3923,0.036,0,0.9,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.3576,0.5705,0.354,1,0.92,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.3298,0.6221,0.3298,1,0.94,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.1883,0.4891,0.1883,1,0.9,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.326,0.5681,0.326,1,0.88,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.425,0.6048,0.3894,1,0.89,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.3099,0.5248,0.2647,1,0.97,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.3404,0.5448,0.2941,1,0.93,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.1254,0.4559,0.1254,0,1.0,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.3561,0.6452,0.3561,-1,0.94,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.2155,0.5437,0.2155,1,1.38,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.4925,0.7262,0.4925,1,0.9,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.0726,0.3818,0.0726,0,0.9,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.3553,0.6092,0.3553,1,0.9,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.2704,0.5196,0.2704,1,0.91,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.8912,0.9406,0.8912,-1,0.99,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9595,0.9726,0.9582,-1,0.95,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,bearish,-1,-0.776,0.8712,0.776,-1,0.99,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.6148,0.7935,0.6148,-1,0.96,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bearish,-1,-0.7359,0.8528,0.7359,-1,0.95,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bullish,1,0.2903,0.5668,0.2903,1,0.94,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.2581,0.5706,0.2581,1,0.89,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bearish,-1,-0.184,0.4807,0.184,-1,0.92,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bullish,1,0.4931,0.6207,0.3691,1,0.94,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bullish,1,0.3823,0.5919,0.3823,1,0.94,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.5646,0.6494,0.3835,1,0.89,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.2453,0.5819,0.2453,1,0.88,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.0409,0.4625,0.0409,0,1.59,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,neutral,0,-0.077,0.5058,0.2201,0,0.94,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bearish,-1,-0.6046,0.7367,0.6046,-1,0.92,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bearish,-1,-0.063,0.4262,0.063,0,0.9,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.1541,0.4806,0.1541,1,0.92,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.3553,0.6196,0.3553,1,0.87,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,bearish,-1,-0.4619,0.649,0.4619,-1,0.89,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,bullish,1,0.0073,0.387,0.0073,0,0.88,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,bearish,-1,-0.4632,0.5858,0.2943,-1,0.92,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,bullish,1,0.1195,0.3795,0.0191,0,0.91,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.1291,0.5284,0.2281,0,0.92,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,bullish,1,0.1086,0.4033,0.1013,0,0.92,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,bullish,1,0.2784,0.5894,0.2784,1,0.95,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,bullish,1,0.4703,0.6488,0.4703,1,0.9,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,277 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 37,
|
||||
"n": 78,
|
||||
"neutral_predicted": 5
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 35,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 36,
|
||||
"n": 78,
|
||||
"neutral_predicted": 21
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 33,
|
||||
"n": 78,
|
||||
"neutral_predicted": 26
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 27,
|
||||
"n": 78,
|
||||
"neutral_predicted": 42
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 17,
|
||||
"n": 78,
|
||||
"neutral_predicted": 65
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.5,
|
||||
"confusion": [
|
||||
[
|
||||
13,
|
||||
2,
|
||||
17
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
5
|
||||
],
|
||||
[
|
||||
12,
|
||||
1,
|
||||
25
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5428571428571428,
|
||||
"directional_hits": 38,
|
||||
"directional_n": 70,
|
||||
"hits": 39,
|
||||
"macro_f1": 0.3985266422953362,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.5671641791044776,
|
||||
"sign_hits": 38,
|
||||
"sign_n": 67
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.46153846153846156,
|
||||
"confusion": [
|
||||
[
|
||||
11,
|
||||
7,
|
||||
14
|
||||
],
|
||||
[
|
||||
2,
|
||||
4,
|
||||
2
|
||||
],
|
||||
[
|
||||
7,
|
||||
10,
|
||||
21
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.45714285714285713,
|
||||
"directional_hits": 32,
|
||||
"directional_n": 70,
|
||||
"hits": 36,
|
||||
"macro_f1": 0.4196463306808134,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.6037735849056604,
|
||||
"sign_hits": 32,
|
||||
"sign_n": 53
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260923_0036_xauusd_sentiment",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 39,
|
||||
"model_only_right": 0,
|
||||
"p": 3.637978807091713e-12
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 13,
|
||||
"model_only_right": 28,
|
||||
"p": 0.027533155829587486
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"label_distribution": {
|
||||
"bearish": 250,
|
||||
"bullish": 221,
|
||||
"neutral": 135
|
||||
},
|
||||
"model_path": "../models/xauusd_sentiment.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"neutral_threshold": 0.05,
|
||||
"sklearn_version": "1.9.1",
|
||||
"trained_at": "2026-09-17T18:54:46.714699+00:00",
|
||||
"training_examples": 606
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 6.73,
|
||||
"mean": 1.0356410256410256,
|
||||
"median": 0.94
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 1,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 3,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 0,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 2,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 4,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.30475630790202185
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bearish,-1,-0.1765,0.4426,0.1513,-1,4.03,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9289,0.961,0.9289,-1,1.12,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.457,0.6391,0.457,-1,1.06,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.4544,0.5605,0.2271,-1,0.99,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.3253,0.5563,0.3253,-1,0.95,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.1876,0.5848,0.1876,-1,0.98,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.8645,0.9227,0.8645,-1,0.95,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.3705,0.5953,0.3705,-1,0.92,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bearish,-1,-0.6552,0.7834,0.6552,-1,0.92,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.4517,0.6713,0.4517,1,0.94,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,neutral,0,0.1861,0.5818,0.2797,1,0.92,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.0572,0.4318,0.0572,0,0.94,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.5555,0.7373,0.5555,1,0.96,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bearish,-1,-0.4495,0.6875,0.4495,-1,0.93,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.302,0.5932,0.302,1,0.94,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,neutral,0,-0.0885,0.374,0.0167,0,0.92,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.475,0.606,0.343,-1,0.91,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.0263,0.354,0.0263,0,0.92,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.2741,0.5452,0.2741,-1,0.94,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bearish,-1,-0.4769,0.6191,0.3803,-1,0.94,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.7808,0.8306,0.7111,1,0.92,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bearish,-1,-0.5939,0.7515,0.5939,-1,0.91,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.3975,0.5241,0.1749,1,1.02,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,neutral,0,0.0207,0.4664,0.1893,0,0.96,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.0828,0.5162,0.0828,0,0.99,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,bearish,-1,-0.0489,0.4665,0.0489,0,0.95,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.2091,0.5832,0.2091,1,0.99,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.3622,0.6054,0.3622,1,0.94,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,neutral,0,0.2533,0.4396,0.0328,1,0.95,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.398,0.5068,0.1224,1,0.94,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.7863,0.872,0.7863,-1,0.98,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.8385,0.9145,0.8385,-1,0.93,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bearish,-1,-0.3093,0.5168,0.2412,-1,0.93,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bearish,-1,-0.636,0.783,0.636,-1,0.89,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bearish,-1,-0.6159,0.7749,0.6159,-1,0.9,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bearish,-1,-0.3144,0.613,0.3144,-1,0.94,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.5936,0.6582,0.3809,1,0.96,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.4643,0.6331,0.4349,1,0.92,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.4289,0.5267,0.1511,1,0.9,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.3735,0.5085,0.152,1,0.93,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.285,0.4913,0.1889,1,0.91,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.7518,0.8264,0.7273,1,0.9,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.4071,0.5596,0.2716,1,0.92,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,neutral,0,0.0526,0.4476,0.1451,0,0.99,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.3043,0.5132,0.2352,1,0.92,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.5773,0.7171,0.574,1,0.92,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bullish,1,0.1217,0.5155,0.1217,0,0.92,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,neutral,0,0.0958,0.4756,0.1655,0,0.92,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.5613,0.764,0.5613,1,0.93,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bearish,-1,-0.018,0.3503,0.018,0,0.93,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.3544,0.6295,0.3544,1,0.94,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.6965,0.8099,0.6965,1,0.91,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9475,0.9703,0.9475,-1,0.94,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9836,0.9893,0.9836,-1,0.95,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,bearish,-1,-0.9648,0.9802,0.9648,-1,0.95,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.8333,0.9141,0.8333,-1,0.96,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bearish,-1,-0.8074,0.8635,0.7831,-1,0.96,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bullish,1,0.4706,0.6358,0.4369,1,0.96,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.2828,0.5504,0.2828,1,0.93,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.0607,0.4982,0.0607,0,0.92,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bullish,1,0.1708,0.4485,0.1708,1,0.95,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bullish,1,0.0316,0.3583,0.0316,0,0.96,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.5018,0.5473,0.1402,1,0.96,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.1619,0.5121,0.1619,1,0.94,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.7146,0.7732,0.6049,1,0.92,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.2458,0.4944,0.2374,1,0.99,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bearish,-1,-0.4585,0.61,0.3715,-1,0.92,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bearish,-1,-0.4666,0.6299,0.423,-1,0.91,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,neutral,0,0.1014,0.4757,0.1628,0,0.92,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.1838,0.4889,0.1838,1,0.92,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0953,0.4492,0.1261,0,0.91,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,bullish,1,0.2856,0.5013,0.2184,1,0.92,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.2028,0.5275,0.1898,1,0.94,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,bullish,1,0.427,0.4983,0.0679,1,0.94,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.2173,0.4459,0.0601,1,0.91,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,-0.0675,0.4344,0.1179,0,0.92,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,bullish,1,0.3573,0.4554,0.0089,1,0.92,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.1101,0.7136,0.5153,0,0.9,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,277 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 45,
|
||||
"n": 78,
|
||||
"neutral_predicted": 5
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 43,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 43,
|
||||
"n": 78,
|
||||
"neutral_predicted": 16
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 39,
|
||||
"n": 78,
|
||||
"neutral_predicted": 22
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 37,
|
||||
"n": 78,
|
||||
"neutral_predicted": 31
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 23,
|
||||
"n": 78,
|
||||
"neutral_predicted": 56
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.6025641025641025,
|
||||
"confusion": [
|
||||
[
|
||||
20,
|
||||
1,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
5,
|
||||
3
|
||||
],
|
||||
[
|
||||
10,
|
||||
6,
|
||||
22
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6,
|
||||
"directional_hits": 42,
|
||||
"directional_n": 70,
|
||||
"hits": 47,
|
||||
"macro_f1": 0.579918628305725,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.6666666666666666,
|
||||
"sign_hits": 42,
|
||||
"sign_n": 63
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.5512820512820513,
|
||||
"confusion": [
|
||||
[
|
||||
19,
|
||||
4,
|
||||
9
|
||||
],
|
||||
[
|
||||
0,
|
||||
3,
|
||||
5
|
||||
],
|
||||
[
|
||||
8,
|
||||
9,
|
||||
21
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5714285714285714,
|
||||
"directional_hits": 40,
|
||||
"directional_n": 70,
|
||||
"hits": 43,
|
||||
"macro_f1": 0.48980342078786476,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.7017543859649122,
|
||||
"sign_hits": 40,
|
||||
"sign_n": 57
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260923_0037_xau_all_20260922",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 31,
|
||||
"model_only_right": 0,
|
||||
"p": 9.313225746154785e-10
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 8,
|
||||
"model_only_right": 31,
|
||||
"p": 0.0002940768754342571
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"label_distribution": {
|
||||
"bearish": 909,
|
||||
"bullish": 818,
|
||||
"neutral": 893
|
||||
},
|
||||
"model_path": "../models/candidates/xau_all_20260922.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"neutral_threshold": 0.05,
|
||||
"sklearn_version": "1.9.1",
|
||||
"trained_at": "2026-09-23T00:35:47.838884+00:00",
|
||||
"training_examples": 2620
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 4.03,
|
||||
"mean": 0.9802564102564102,
|
||||
"median": 0.935
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 5,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 4,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 1,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 0,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 5,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 4,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.4233409741735717
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.0293,0.3548,0.0293,0,4.24,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.5594,0.7177,0.5594,-1,1.09,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.3272,0.6145,0.3272,-1,1.05,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.0244,0.3638,0.0244,0,1.01,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.0891,0.4872,0.0891,0,0.97,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.0985,0.5389,0.0985,0,0.95,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.6549,0.8028,0.6549,-1,0.98,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,neutral,0,0.2728,0.4792,0.0824,1,0.96,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bearish,-1,-0.1628,0.4502,0.1628,-1,0.93,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.4787,0.7139,0.4787,1,0.96,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.5081,0.6626,0.4796,1,0.93,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.3146,0.5496,0.3146,1,0.95,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.4279,0.6305,0.4279,1,0.94,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bearish,-1,-0.0349,0.4442,0.0349,0,0.92,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.4126,0.6835,0.4126,1,0.92,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.0959,0.4681,0.0959,0,0.91,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bullish,1,0.2104,0.5541,0.2104,1,0.94,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.0686,0.4594,0.0686,0,0.91,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.2953,0.5963,0.2953,-1,0.91,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bearish,-1,-0.246,0.5551,0.246,-1,0.92,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.5932,0.7221,0.5732,1,0.89,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.1835,0.5068,0.1835,1,0.91,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.7448,0.826,0.7333,1,1.0,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bearish,-1,-0.2857,0.5681,0.2857,-1,0.93,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bearish,-1,-0.1659,0.5581,0.1659,-1,0.95,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,bearish,-1,-0.3048,0.5966,0.3048,-1,0.92,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.0185,0.4794,0.0185,0,0.96,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bearish,-1,-0.0504,0.4835,0.0504,0,0.92,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.0981,0.3678,0.0052,0,0.91,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.1319,0.4195,0.1265,0,0.9,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.7578,0.8591,0.7578,-1,0.97,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.5609,0.7567,0.5609,-1,0.99,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bearish,-1,-0.0605,0.4171,0.0605,0,0.96,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bearish,-1,-0.0856,0.5108,0.0856,0,0.93,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bearish,-1,-0.0966,0.4614,0.0966,0,0.93,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bearish,-1,-0.1714,0.4983,0.1714,-1,0.91,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.5318,0.6625,0.4556,1,0.91,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.3584,0.6017,0.3584,1,0.9,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.5457,0.6807,0.4963,1,0.9,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.4963,0.7231,0.4963,1,0.91,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.1603,0.4704,0.1603,1,0.91,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.2519,0.5683,0.2519,1,0.9,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.4461,0.6175,0.4064,1,0.93,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.2607,0.5158,0.2607,1,1.01,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.5874,0.7122,0.5492,1,0.93,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.2875,0.5576,0.2875,1,0.91,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bullish,1,0.1972,0.5694,0.1972,1,0.91,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.2581,0.5763,0.2581,1,0.92,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.8392,0.9116,0.8392,1,0.92,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.0021,0.3525,0.0021,0,0.91,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.5608,0.7467,0.5608,1,0.93,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.2594,0.5233,0.2594,1,0.93,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9082,0.9502,0.9082,-1,0.94,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9819,0.9879,0.9817,-1,0.96,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,bearish,-1,-0.9023,0.9472,0.9023,-1,0.97,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.6932,0.8377,0.6932,-1,0.96,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bearish,-1,-0.7771,0.8766,0.7771,-1,0.93,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bullish,1,0.2181,0.537,0.2181,1,0.97,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.236,0.5611,0.236,1,0.92,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bearish,-1,-0.187,0.5027,0.187,-1,0.94,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bullish,1,0.5611,0.672,0.455,1,0.94,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bullish,1,0.3147,0.589,0.3147,1,1.01,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.6518,0.727,0.5293,1,0.98,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.3811,0.6612,0.3811,1,0.88,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.4546,0.6868,0.4546,1,0.9,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bearish,-1,-0.2737,0.4324,0.0234,-1,0.96,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bearish,-1,-0.609,0.7477,0.609,-1,0.88,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bearish,-1,-0.3926,0.6225,0.3926,-1,0.86,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.1372,0.5033,0.1372,0,0.87,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.261,0.5912,0.261,1,0.91,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,bearish,-1,-0.522,0.692,0.522,-1,0.91,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,bullish,1,0.4828,0.6731,0.4828,1,0.91,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,bearish,-1,-0.0516,0.3947,0.0516,0,0.87,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,bullish,1,0.4698,0.6111,0.3635,1,0.89,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,bullish,1,0.285,0.4287,0.0012,1,0.87,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,bearish,-1,-0.0721,0.387,0.0721,0,0.88,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,bullish,1,0.3981,0.6574,0.3981,1,0.89,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,bullish,1,0.3854,0.573,0.3336,1,0.87,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,277 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 37,
|
||||
"n": 78,
|
||||
"neutral_predicted": 5
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 33,
|
||||
"n": 78,
|
||||
"neutral_predicted": 16
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 31,
|
||||
"n": 78,
|
||||
"neutral_predicted": 18
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 30,
|
||||
"n": 78,
|
||||
"neutral_predicted": 25
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 25,
|
||||
"n": 78,
|
||||
"neutral_predicted": 40
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 20,
|
||||
"n": 78,
|
||||
"neutral_predicted": 57
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.5128205128205128,
|
||||
"confusion": [
|
||||
[
|
||||
16,
|
||||
1,
|
||||
15
|
||||
],
|
||||
[
|
||||
3,
|
||||
0,
|
||||
5
|
||||
],
|
||||
[
|
||||
14,
|
||||
0,
|
||||
24
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5714285714285714,
|
||||
"directional_hits": 40,
|
||||
"directional_n": 70,
|
||||
"hits": 40,
|
||||
"macro_f1": 0.35922451532207633,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.5797101449275363,
|
||||
"sign_hits": 40,
|
||||
"sign_n": 69
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.3974358974358974,
|
||||
"confusion": [
|
||||
[
|
||||
11,
|
||||
6,
|
||||
15
|
||||
],
|
||||
[
|
||||
1,
|
||||
2,
|
||||
5
|
||||
],
|
||||
[
|
||||
10,
|
||||
10,
|
||||
18
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.4142857142857143,
|
||||
"directional_hits": 29,
|
||||
"directional_n": 70,
|
||||
"hits": 31,
|
||||
"macro_f1": 0.344979257259959,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.5370370370370371,
|
||||
"sign_hits": 29,
|
||||
"sign_n": 54
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260923_0037_xau_gold_20260922",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 38,
|
||||
"model_only_right": 0,
|
||||
"p": 7.275957614183426e-12
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 13,
|
||||
"model_only_right": 29,
|
||||
"p": 0.019520472782460274
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"label_distribution": {
|
||||
"bearish": 359,
|
||||
"bullish": 384,
|
||||
"neutral": 202
|
||||
},
|
||||
"model_path": "../models/candidates/xau_gold_20260922.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"neutral_threshold": 0.05,
|
||||
"sklearn_version": "1.9.1",
|
||||
"trained_at": "2026-09-23T00:35:57.482787+00:00",
|
||||
"training_examples": 945
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 4.24,
|
||||
"mean": 0.9739743589743589,
|
||||
"median": 0.925
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 0,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 0,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 3,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 0,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.3095085800010735
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.1077,0.2529,0.2706,0,10.71,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9336,0.9384,0.9896,-1,9.24,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9436,0.9528,0.9808,-1,8.58,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.953,0.9605,0.9846,-1,9.87,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9464,0.9563,0.9796,-1,8.62,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.8945,0.9342,0.9184,-1,8.83,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9473,0.9597,0.9744,-1,9.52,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.9311,0.9459,0.9692,-1,9.23,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.4825,0.7109,0.5136,1,8.85,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bearish,-1,-0.1477,0.3756,0.2448,0,9.17,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bearish,-1,-0.89,0.906,0.9652,-1,8.6,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bearish,-1,-0.5075,0.6881,0.5842,-1,9.08,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.208,0.5444,0.236,1,9.16,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bearish,-1,-0.2859,0.6263,0.2956,-1,8.61,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.6048,0.669,0.8248,1,8.59,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.2472,0.4558,0.3722,1,8.87,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.7474,0.8468,0.7898,-1,9.67,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",neutral,0,0.0913,0.8623,0.7246,0,9.05,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bullish,1,0.2809,0.3019,0.87,1,9.19,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,neutral,0,0.1461,0.8416,0.6832,0,8.69,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,neutral,0,0.1152,0.8594,0.7188,0,9.57,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,neutral,0,0.1326,0.8482,0.6964,0,9.49,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.2504,0.256,0.9572,1,9.39,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.1,0.4888,0.114,0,9.13,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.4406,0.4516,0.9522,1,9.51,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.0253,0.9296,0.8592,0,9.49,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.4711,0.4962,0.9034,1,8.69,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.5227,0.7181,0.5722,1,9.66,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,neutral,0,0.0403,0.9369,0.8738,0,8.9,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.2721,0.2993,0.8332,1,9.48,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.572,0.7626,0.6002,-1,9.2,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9196,0.9501,0.9378,-1,9.55,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bearish,-1,-0.4968,0.6803,0.5752,-1,8.77,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.6366,0.6986,0.837,1,8.93,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.3207,0.5398,0.4224,1,9.33,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bearish,-1,-0.5384,0.7539,0.5554,-1,9.0,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.4549,0.4637,0.963,1,9.25,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.4187,0.4287,0.9544,1,8.45,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.2142,0.441,0.3206,1,8.81,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.3017,0.3149,0.919,1,8.96,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.7,0.7426,0.8914,1,8.27,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.6095,0.6934,0.7842,1,8.56,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.2205,0.2262,0.951,1,8.58,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.5411,0.6753,0.6684,1,8.48,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.2671,0.2759,0.938,1,8.98,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.292,0.3007,0.9442,1,8.85,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bullish,1,0.4151,0.4322,0.924,1,8.35,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.5096,0.523,0.95,1,8.32,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.8306,0.8525,0.95,1,8.4,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.1983,0.208,0.9112,1,9.46,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,neutral,0,0.1824,0.8097,0.6194,1,8.66,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.4046,0.4306,0.8862,1,8.62,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.8064,0.8759,0.853,-1,8.85,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.6862,0.815,0.727,-1,8.49,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.1625,0.8019,0.6038,1,8.81,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.8967,0.9392,0.9134,-1,8.95,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bearish,-1,-0.2518,0.5065,0.3308,-1,8.84,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.1605,0.4276,0.231,-1,8.46,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.2104,0.2144,0.9636,1,9.72,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.4018,0.6285,0.4698,1,8.34,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bullish,1,0.3185,0.3501,0.8346,1,9.38,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.255,0.3532,0.565,-1,9.12,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.5529,0.5748,0.9266,1,8.77,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.4404,0.4931,0.8068,1,8.41,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,neutral,0,0.1649,0.8098,0.6196,1,9.12,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,neutral,0,0.1219,0.8488,0.6976,0,8.43,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,neutral,0,0.0446,0.8583,0.7166,0,8.1,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,neutral,0,0.061,0.911,0.822,0,8.98,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,neutral,0,0.1605,0.8272,0.6544,1,9.5,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.2677,0.4956,0.37,1,8.59,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0464,0.9454,0.8908,0,8.68,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.0508,0.9449,0.8898,0,8.87,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0402,0.957,0.914,0,8.14,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0483,0.9494,0.8988,0,9.87,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,-0.0285,0.8605,0.721,0,8.43,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0237,0.972,0.944,0,8.04,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0215,0.9771,0.9542,0,9.02,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0548,0.9367,0.8734,0,8.39,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 51,
|
||||
"n": 78,
|
||||
"neutral_predicted": 9
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 52,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 50,
|
||||
"n": 78,
|
||||
"neutral_predicted": 20
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 45,
|
||||
"n": 78,
|
||||
"neutral_predicted": 26
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 38,
|
||||
"n": 78,
|
||||
"neutral_predicted": 40
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 28,
|
||||
"n": 78,
|
||||
"neutral_predicted": 53
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.6153846153846154,
|
||||
"confusion": [
|
||||
[
|
||||
16,
|
||||
5,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
6,
|
||||
8,
|
||||
24
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.5714285714285714,
|
||||
"directional_hits": 40,
|
||||
"directional_n": 70,
|
||||
"hits": 48,
|
||||
"macro_f1": 0.6006169923663232,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.7017543859649122,
|
||||
"sign_hits": 40,
|
||||
"sign_n": 57
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.6410256410256411,
|
||||
"confusion": [
|
||||
[
|
||||
16,
|
||||
5,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
5,
|
||||
7,
|
||||
26
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6,
|
||||
"directional_hits": 42,
|
||||
"directional_n": 70,
|
||||
"hits": 50,
|
||||
"macro_f1": 0.6228451632225217,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.7241379310344828,
|
||||
"sign_hits": 42,
|
||||
"sign_n": 58
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1859_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 30,
|
||||
"model_only_right": 0,
|
||||
"p": 1.862645149230957e-09
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 6,
|
||||
"model_only_right": 30,
|
||||
"p": 6.960169412195683e-05
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T18:58:27.596998+00:00",
|
||||
"training_examples": 2402
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.71,
|
||||
"mean": 8.942564102564102,
|
||||
"median": 8.87
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 4,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 3,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 0,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 5,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.5012357134215089
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.3717,0.544,0.519,1,10.41,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9846,0.9859,0.9974,-1,9.18,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9841,0.9865,0.995,-1,8.37,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.9881,0.9898,0.9966,-1,9.01,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9837,0.9871,0.9932,-1,8.66,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9413,0.9663,0.9496,-1,8.72,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9859,0.9887,0.9942,-1,8.47,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.9705,0.9782,0.9846,-1,8.97,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.877,0.934,0.885,1,9.36,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.8019,0.8348,0.9242,1,9.01,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bearish,-1,-0.9733,0.9788,0.9888,-1,8.69,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.4071,0.6988,0.411,1,9.1,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.8041,0.8819,0.838,1,8.88,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bearish,-1,-0.5965,0.7943,0.6012,-1,8.64,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.9057,0.9108,0.9888,1,8.76,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bearish,-1,-0.3445,0.6279,0.378,-1,8.81,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.95,0.9715,0.9566,-1,9.29,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",neutral,0,0.1478,0.8033,0.6066,0,9.15,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bullish,1,0.6653,0.7469,0.803,1,8.92,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,neutral,0,0.1492,0.847,0.694,0,8.8,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.2369,0.238,0.9902,1,8.94,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,neutral,0,0.1424,0.8312,0.6624,0,9.17,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.704,0.7057,0.9952,1,9.16,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9609,0.9678,0.9858,1,9.23,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.8136,0.8166,0.9928,1,9.36,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.015,0.9818,0.9636,0,8.72,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.8791,0.8821,0.9934,1,8.81,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9497,0.9562,0.9864,1,8.65,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,neutral,0,0.1893,0.8083,0.6166,1,8.8,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.7944,0.8082,0.9662,1,8.85,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.7106,0.8513,0.7164,-1,9.1,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9403,0.9679,0.9446,-1,8.95,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.8598,0.9008,0.9128,1,9.11,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9302,0.9402,0.979,1,8.63,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.7981,0.8636,0.859,1,8.76,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bearish,-1,-0.6453,0.8205,0.648,-1,9.62,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9362,0.9412,0.9894,1,9.46,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.9373,0.9426,0.9888,1,8.44,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.7981,0.8435,0.8978,1,8.81,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.5667,0.5691,0.9916,1,8.83,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9376,0.9558,0.9628,1,8.43,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9117,0.9196,0.9828,1,9.31,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.5982,0.6008,0.9916,1,8.94,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.9267,0.9446,0.963,1,8.61,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,neutral,0,0.1732,0.8232,0.6464,1,8.85,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.3616,0.3648,0.9826,1,8.73,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bullish,1,0.7688,0.774,0.9868,1,8.51,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.439,0.6793,0.4774,1,8.72,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9704,0.9789,0.983,1,8.81,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.4251,0.4898,0.7664,1,8.87,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.7745,0.7767,0.9942,1,9.2,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.6544,0.702,0.873,1,8.94,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9534,0.9727,0.961,-1,8.9,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9172,0.9555,0.923,-1,8.88,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0397,0.9591,0.9182,0,8.77,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.6588,0.827,0.662,-1,8.71,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.3312,0.53,0.4544,1,8.97,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bullish,1,0.876,0.9017,0.9444,1,8.86,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.6565,0.658,0.9954,1,8.38,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.8434,0.8554,0.9722,1,8.89,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bullish,1,0.7076,0.7122,0.987,1,9.21,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.8248,0.8684,0.9046,-1,9.31,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.4923,0.4937,0.9942,1,9.06,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.8733,0.8808,0.9832,1,8.76,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,neutral,0,0.1356,0.8588,0.7176,0,8.87,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.2566,0.2577,0.9916,1,8.77,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,neutral,0,0.0673,0.9155,0.831,0,8.37,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,neutral,0,0.1272,0.8706,0.7412,0,8.79,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.2487,0.2502,0.9884,1,8.95,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bearish,-1,-0.7011,0.8322,0.728,-1,9.09,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.077,0.9198,0.8396,0,8.68,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.049,0.9498,0.8996,0,8.49,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0231,0.9762,0.9524,0,8.28,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0717,0.9273,0.8546,0,8.56,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,bearish,-1,-0.1149,0.2047,0.39,0,8.89,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0038,0.9949,0.9898,0,8.6,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.007,0.9927,0.9854,0,8.88,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0196,0.9788,0.9576,0,8.77,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 51,
|
||||
"n": 78,
|
||||
"neutral_predicted": 7
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 52,
|
||||
"n": 78,
|
||||
"neutral_predicted": 10
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 51,
|
||||
"n": 78,
|
||||
"neutral_predicted": 16
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 50,
|
||||
"n": 78,
|
||||
"neutral_predicted": 18
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 48,
|
||||
"n": 78,
|
||||
"neutral_predicted": 21
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 45,
|
||||
"n": 78,
|
||||
"neutral_predicted": 29
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.6282051282051282,
|
||||
"confusion": [
|
||||
[
|
||||
14,
|
||||
5,
|
||||
13
|
||||
],
|
||||
[
|
||||
1,
|
||||
7,
|
||||
0
|
||||
],
|
||||
[
|
||||
5,
|
||||
5,
|
||||
28
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6,
|
||||
"directional_hits": 42,
|
||||
"directional_n": 70,
|
||||
"hits": 49,
|
||||
"macro_f1": 0.6024407659850698,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.7,
|
||||
"sign_hits": 42,
|
||||
"sign_n": 60
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.6538461538461539,
|
||||
"confusion": [
|
||||
[
|
||||
14,
|
||||
4,
|
||||
14
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
5,
|
||||
4,
|
||||
29
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6142857142857143,
|
||||
"directional_hits": 43,
|
||||
"directional_n": 70,
|
||||
"hits": 51,
|
||||
"macro_f1": 0.6439118857419511,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.6935483870967742,
|
||||
"sign_hits": 43,
|
||||
"sign_n": 62
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1906_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 29,
|
||||
"model_only_right": 0,
|
||||
"p": 3.725290298461914e-09
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 5,
|
||||
"model_only_right": 30,
|
||||
"p": 2.2361520677804947e-05
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T19:03:25.366953+00:00",
|
||||
"training_examples": 2402
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.41,
|
||||
"mean": 8.887307692307692,
|
||||
"median": 8.855
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 5,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 2,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 3,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 4,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 0,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 5,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.556078659444975
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.435,0.71,0.4416,1,10.24,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9869,0.9895,0.9948,-1,8.82,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9821,0.9882,0.9878,-1,8.62,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.9816,0.989,0.9852,-1,8.9,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9705,0.9819,0.9772,-1,8.36,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9821,0.9885,0.987,-1,8.52,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9839,0.9898,0.988,-1,8.47,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.8147,0.8881,0.8474,-1,8.79,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9611,0.9785,0.9652,1,8.51,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9687,0.9818,0.9736,1,8.52,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bearish,-1,-0.6319,0.813,0.6356,-1,8.11,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.8866,0.9419,0.889,1,9.01,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.6963,0.846,0.6992,1,8.48,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9659,0.9805,0.9706,1,8.3,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.963,0.9793,0.9672,1,8.31,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.8518,0.8915,0.9148,1,8.26,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.977,0.9862,0.9816,-1,8.56,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.9141,0.9473,0.9324,-1,8.6,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.7855,0.8878,0.7934,-1,8.45,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bullish,1,0.0678,0.4828,0.0756,0,8.54,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.5423,0.5931,0.842,1,8.98,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.5227,0.7138,0.5778,1,9.02,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.8318,0.8869,0.8828,1,8.85,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9782,0.987,0.9824,1,8.67,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9593,0.9647,0.9888,1,8.63,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.0424,0.9499,0.8998,0,8.41,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9198,0.9543,0.9304,1,8.39,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9755,0.9822,0.9864,1,8.3,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.9491,0.9568,0.984,1,8.31,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9674,0.9767,0.981,1,8.48,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.9657,0.9814,0.9684,-1,9.08,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9467,0.9716,0.95,-1,8.58,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.2024,0.5906,0.2068,1,8.55,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9594,0.9674,0.9838,1,8.18,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9367,0.962,0.9488,1,8.27,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.9671,0.98,0.974,1,8.67,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9226,0.9402,0.9632,1,8.56,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.9016,0.9459,0.9106,1,8.15,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bearish,-1,-0.643,0.8165,0.6494,-1,8.55,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.755,0.8659,0.7728,1,8.18,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9496,0.9693,0.9602,1,8.1,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9767,0.9835,0.9864,1,8.48,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.9199,0.9372,0.9636,1,8.18,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.6647,0.8294,0.6686,1,8.26,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.8567,0.8672,0.976,1,8.39,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.7039,0.7249,0.9436,1,8.31,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bullish,1,0.8041,0.862,0.8742,1,8.0,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.8014,0.8231,0.9486,1,8.36,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9749,0.984,0.9816,1,8.3,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.9531,0.9705,0.9648,1,8.35,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.9734,0.9812,0.984,1,8.83,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.3964,0.6834,0.4086,1,8.3,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9588,0.9741,0.969,-1,8.73,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9792,0.9856,0.987,-1,8.33,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0555,0.9424,0.8848,0,8.09,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.9806,0.9857,0.9898,-1,8.31,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.7995,0.828,0.9336,1,8.58,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.9057,0.9465,0.9174,-1,8.34,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.924,0.939,0.9684,1,8.27,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.9398,0.9554,0.9678,1,8.29,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.5879,0.763,0.6268,-1,8.81,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.6592,0.8211,0.6706,-1,8.71,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bearish,-1,-0.5835,0.7348,0.6584,-1,8.79,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.4213,0.6791,0.4498,1,8.45,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.6311,0.6435,0.9622,1,8.33,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.8418,0.849,0.9832,1,8.32,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.9026,0.9082,0.9878,1,7.93,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.9501,0.957,0.9858,1,8.31,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.371,0.5464,0.5142,1,8.43,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.1928,0.59,0.1952,1,8.61,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0168,0.9819,0.9638,0,8.27,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.0491,0.9466,0.8932,0,8.33,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0028,0.9959,0.9918,0,8.07,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0085,0.9905,0.981,0,8.54,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,-0.0079,0.9169,0.8338,0,8.24,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0012,0.9971,0.9942,0,7.93,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0014,0.9982,0.9964,0,8.46,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0343,0.9483,0.8966,0,8.48,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 9
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 61,
|
||||
"n": 78,
|
||||
"neutral_predicted": 12
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 61,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 59,
|
||||
"n": 78,
|
||||
"neutral_predicted": 17
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.7948717948717948,
|
||||
"confusion": [
|
||||
[
|
||||
19,
|
||||
1,
|
||||
12
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7714285714285715,
|
||||
"directional_hits": 54,
|
||||
"directional_n": 70,
|
||||
"hits": 62,
|
||||
"macro_f1": 0.8097998109096888,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.7941176470588235,
|
||||
"sign_hits": 54,
|
||||
"sign_n": 68
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.7948717948717948,
|
||||
"confusion": [
|
||||
[
|
||||
19,
|
||||
2,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7714285714285715,
|
||||
"directional_hits": 54,
|
||||
"directional_n": 70,
|
||||
"hits": 62,
|
||||
"macro_f1": 0.7974732428555665,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.8059701492537313,
|
||||
"sign_hits": 54,
|
||||
"sign_n": 67
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1926_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 16,
|
||||
"model_only_right": 0,
|
||||
"p": 3.0517578125e-05
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 2,
|
||||
"model_only_right": 40,
|
||||
"p": 4.1109160520136356e-10
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.6,
|
||||
"trained_at": "2026-09-27T19:22:03.286521+00:00",
|
||||
"training_examples": 7460
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.24,
|
||||
"mean": 8.47423076923077,
|
||||
"median": 8.44
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 0,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.6762890860207703
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.435,0.71,0.4416,1,9.9,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9869,0.9895,0.9948,-1,9.04,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9821,0.9882,0.9878,-1,7.7,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.9816,0.989,0.9852,-1,8.98,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9705,0.9819,0.9772,-1,7.99,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9821,0.9885,0.987,-1,7.96,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9839,0.9898,0.988,-1,7.77,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.8147,0.8881,0.8474,-1,8.21,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9611,0.9785,0.9652,1,7.92,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9687,0.9818,0.9736,1,7.9,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bearish,-1,-0.6319,0.813,0.6356,-1,7.54,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.8866,0.9419,0.889,1,7.94,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.6963,0.846,0.6992,1,7.78,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9659,0.9805,0.9706,1,7.62,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.963,0.9793,0.9672,1,7.63,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.8518,0.8915,0.9148,1,7.66,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.977,0.9862,0.9816,-1,8.03,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.9141,0.9473,0.9324,-1,8.25,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.7855,0.8878,0.7934,-1,7.74,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bullish,1,0.0678,0.4828,0.0756,0,7.67,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.5423,0.5931,0.842,1,7.92,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.5227,0.7138,0.5778,1,8.06,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.8318,0.8869,0.8828,1,8.1,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9782,0.987,0.9824,1,8.01,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9593,0.9647,0.9888,1,7.87,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.0424,0.9499,0.8998,0,8.05,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9198,0.9543,0.9304,1,8.19,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9755,0.9822,0.9864,1,7.74,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.9491,0.9568,0.984,1,7.69,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9674,0.9767,0.981,1,7.75,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.9657,0.9814,0.9684,-1,8.07,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9467,0.9716,0.95,-1,8.27,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.2024,0.5906,0.2068,1,7.96,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9594,0.9674,0.9838,1,7.56,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9367,0.962,0.9488,1,7.66,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.9671,0.98,0.974,1,8.14,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9226,0.9402,0.9632,1,7.94,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.9016,0.9459,0.9106,1,7.59,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bearish,-1,-0.643,0.8165,0.6494,-1,7.76,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.755,0.8659,0.7728,1,7.54,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9496,0.9693,0.9602,1,7.55,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9767,0.9835,0.9864,1,7.86,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.9199,0.9372,0.9636,1,7.56,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.6647,0.8294,0.6686,1,7.62,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.8567,0.8672,0.976,1,7.7,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.7039,0.7249,0.9436,1,7.67,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bullish,1,0.8041,0.862,0.8742,1,7.75,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.8014,0.8231,0.9486,1,7.7,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9749,0.984,0.9816,1,7.72,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.9531,0.9705,0.9648,1,7.63,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.9734,0.9812,0.984,1,8.09,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.3964,0.6834,0.4086,1,7.71,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9588,0.9741,0.969,-1,7.87,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9792,0.9856,0.987,-1,7.71,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0555,0.9424,0.8848,0,8.36,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.9806,0.9857,0.9898,-1,8.47,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.7995,0.828,0.9336,1,8.71,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.9057,0.9465,0.9174,-1,8.48,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.924,0.939,0.9684,1,7.88,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.9398,0.9554,0.9678,1,7.78,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.5879,0.763,0.6268,-1,8.42,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.6592,0.8211,0.6706,-1,8.08,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bearish,-1,-0.5835,0.7348,0.6584,-1,8.15,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bullish,1,0.4213,0.6791,0.4498,1,7.72,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.6311,0.6435,0.9622,1,7.94,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.8418,0.849,0.9832,1,8.28,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.9026,0.9082,0.9878,1,7.82,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.9501,0.957,0.9858,1,8.04,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.371,0.5464,0.5142,1,8.11,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.1928,0.59,0.1952,1,8.03,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0168,0.9819,0.9638,0,7.63,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.0491,0.9466,0.8932,0,7.68,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0028,0.9959,0.9918,0,7.51,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0085,0.9905,0.981,0,7.69,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,-0.0079,0.9169,0.8338,0,7.73,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0012,0.9971,0.9942,0,7.42,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0014,0.9982,0.9964,0,7.86,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0343,0.9483,0.8966,0,7.58,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 9
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 61,
|
||||
"n": 78,
|
||||
"neutral_predicted": 12
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 61,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 59,
|
||||
"n": 78,
|
||||
"neutral_predicted": 17
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.7948717948717948,
|
||||
"confusion": [
|
||||
[
|
||||
19,
|
||||
1,
|
||||
12
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7714285714285715,
|
||||
"directional_hits": 54,
|
||||
"directional_n": 70,
|
||||
"hits": 62,
|
||||
"macro_f1": 0.8097998109096888,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.7941176470588235,
|
||||
"sign_hits": 54,
|
||||
"sign_n": 68
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.7948717948717948,
|
||||
"confusion": [
|
||||
[
|
||||
19,
|
||||
2,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
1,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7714285714285715,
|
||||
"directional_hits": 54,
|
||||
"directional_n": 70,
|
||||
"hits": 62,
|
||||
"macro_f1": 0.7974732428555665,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.8059701492537313,
|
||||
"sign_hits": 54,
|
||||
"sign_n": 67
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1929_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 16,
|
||||
"model_only_right": 0,
|
||||
"p": 3.0517578125e-05
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 2,
|
||||
"model_only_right": 40,
|
||||
"p": 4.1109160520136356e-10
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.6,
|
||||
"trained_at": "2026-09-27T19:22:03.286521+00:00",
|
||||
"training_examples": 7460
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 9.9,
|
||||
"mean": 7.930897435897436,
|
||||
"median": 7.86
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 0,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.6762890860207703
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.8767,0.924,0.9026,1,9.55,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9836,0.9871,0.993,-1,8.29,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9791,0.9839,0.9902,-1,7.74,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.985,0.9897,0.9906,-1,8.52,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.967,0.9795,0.9748,-1,7.74,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9748,0.9822,0.985,-1,8.01,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9851,0.9893,0.9916,-1,8.16,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.9368,0.9535,0.9656,-1,9.35,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9638,0.9796,0.9682,1,8.12,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9788,0.986,0.9854,1,8.1,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.555,0.7744,0.5584,1,7.86,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.9498,0.9725,0.9544,1,8.14,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.9627,0.9755,0.974,1,7.95,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9728,0.9821,0.9812,1,7.82,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.9739,0.9817,0.9844,1,7.98,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.705,0.7399,0.91,1,7.87,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.976,0.9833,0.9854,-1,8.32,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.6976,0.8285,0.727,-1,8.31,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.8493,0.9073,0.88,-1,8.04,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bullish,1,0.2108,0.4973,0.2688,1,7.84,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,neutral,0,0.2348,0.7488,0.4976,1,8.09,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,neutral,0,0.0232,0.5152,0.0304,0,8.27,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.195,0.565,0.2086,1,8.12,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9798,0.9846,0.9902,1,8.05,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9587,0.9628,0.9916,1,7.93,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.0298,0.9632,0.9264,0,7.66,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9637,0.9701,0.987,1,7.71,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9708,0.9805,0.9804,1,7.65,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.8583,0.8662,0.9818,1,7.67,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9731,0.9781,0.9898,1,7.7,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.9755,0.985,0.981,-1,8.15,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9664,0.9808,0.971,-1,8.62,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bearish,-1,-0.0562,0.4986,0.0598,0,8.09,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9652,0.9713,0.9876,1,8.09,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9456,0.9621,0.9662,1,7.83,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.9165,0.9538,0.9246,1,8.45,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.956,0.9636,0.9844,1,8.1,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.9535,0.9643,0.978,1,7.64,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.9024,0.9448,0.914,1,7.74,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.9126,0.9504,0.9234,1,7.58,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9641,0.9737,0.9806,1,7.55,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9577,0.9617,0.9918,1,7.9,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.8554,0.8611,0.9868,1,7.6,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.9415,0.962,0.9584,1,7.69,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.9011,0.9101,0.9802,1,7.75,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,neutral,0,0.2946,0.6928,0.3856,1,7.75,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.5438,0.7343,0.5882,-1,7.43,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.6469,0.6678,0.9394,1,7.64,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.977,0.9833,0.9874,1,8.37,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.9607,0.9717,0.9774,1,7.71,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.9771,0.9825,0.9892,1,8.1,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.0709,0.5218,0.0728,0,7.69,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9657,0.9783,0.9746,-1,7.85,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9645,0.9772,0.9744,-1,7.7,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0274,0.9613,0.9226,0,7.54,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.9725,0.9819,0.981,-1,7.66,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.5523,0.5801,0.9084,1,7.99,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.8024,0.8909,0.8192,-1,7.68,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.8585,0.8694,0.9752,1,8.02,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.9456,0.9597,0.971,1,7.81,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.7706,0.8477,0.8334,-1,8.18,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.774,0.8734,0.7956,-1,8.01,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bearish,-1,-0.6631,0.815,0.6858,-1,8.51,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bearish,-1,-0.6432,0.7941,0.6806,-1,7.87,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.6101,0.6214,0.964,1,7.67,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.8698,0.8781,0.9814,1,7.66,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.8561,0.8633,0.9832,1,7.43,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.9019,0.909,0.9844,1,7.67,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,neutral,0,0.0945,0.8411,0.6822,0,7.86,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bearish,-1,-0.472,0.7289,0.4788,-1,8.0,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0285,0.9703,0.9406,0,7.64,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.0395,0.9566,0.9132,0,7.71,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0073,0.9912,0.9824,0,7.56,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0389,0.9596,0.9192,0,7.69,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.2673,0.4345,0.131,1,7.58,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0015,0.9974,0.9948,0,7.42,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0039,0.9956,0.9912,0,7.96,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0745,0.9026,0.8052,0,8.17,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 64,
|
||||
"n": 78,
|
||||
"neutral_predicted": 9
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 62,
|
||||
"n": 78,
|
||||
"neutral_predicted": 14
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 63,
|
||||
"n": 78,
|
||||
"neutral_predicted": 18
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 63,
|
||||
"n": 78,
|
||||
"neutral_predicted": 19
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.8333333333333334,
|
||||
"confusion": [
|
||||
[
|
||||
22,
|
||||
4,
|
||||
6
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
1,
|
||||
2,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8142857142857143,
|
||||
"directional_hits": 57,
|
||||
"directional_n": 70,
|
||||
"hits": 65,
|
||||
"macro_f1": 0.8044495588799387,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.890625,
|
||||
"sign_hits": 57,
|
||||
"sign_n": 64
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.7948717948717948,
|
||||
"confusion": [
|
||||
[
|
||||
21,
|
||||
3,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
7,
|
||||
1
|
||||
],
|
||||
[
|
||||
1,
|
||||
3,
|
||||
34
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7857142857142857,
|
||||
"directional_hits": 55,
|
||||
"directional_n": 70,
|
||||
"hits": 62,
|
||||
"macro_f1": 0.7613168724279835,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.859375,
|
||||
"sign_hits": 55,
|
||||
"sign_n": 64
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1931_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 13,
|
||||
"model_only_right": 0,
|
||||
"p": 0.000244140625
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 1,
|
||||
"model_only_right": 42,
|
||||
"p": 1.000444171950221e-11
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": true,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-27T19:30:29.972662+00:00",
|
||||
"relevance_threshold": 0.6,
|
||||
"trained_at": "2026-09-27T19:30:29.972662+00:00",
|
||||
"training_examples": 8870
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 9.55,
|
||||
"mean": 7.934230769230769,
|
||||
"median": 7.86
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 4,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 6,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.7746453950710916
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.8978,0.9453,0.9044,1,10.16,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9894,0.9907,0.9972,-1,8.87,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9899,0.9918,0.9962,-1,8.38,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.9929,0.9944,0.997,-1,8.88,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9907,0.9932,0.995,-1,8.37,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9874,0.9913,0.992,-1,8.51,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9918,0.9942,0.995,-1,8.68,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.9626,0.9684,0.988,-1,8.88,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9924,0.9953,0.9944,1,8.48,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9933,0.9949,0.9966,1,8.45,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.984,0.9901,0.9878,1,8.19,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.9871,0.9924,0.9892,1,8.54,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.9866,0.9921,0.989,1,8.68,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9904,0.9938,0.993,1,8.34,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.9916,0.994,0.9952,1,8.29,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.9295,0.9382,0.9816,1,8.32,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.991,0.9938,0.9944,-1,8.66,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bullish,1,0.5258,0.7478,0.5422,1,8.66,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.8826,0.9378,0.889,-1,8.26,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bullish,1,0.5102,0.7419,0.5242,1,8.39,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.0933,0.1605,0.41,0,8.84,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.0035,0.2456,0.0072,0,8.75,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.8189,0.9005,0.8338,1,8.68,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9934,0.9952,0.9964,1,8.55,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9828,0.9844,0.9968,1,8.49,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.0831,0.9128,0.8256,0,8.54,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9863,0.9884,0.9956,1,8.42,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9904,0.9924,0.996,1,8.2,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.9615,0.9634,0.996,1,8.38,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9907,0.993,0.9954,1,8.31,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.991,0.994,0.9938,-1,8.63,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9775,0.9876,0.9798,-1,8.6,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.9795,0.9846,0.9896,1,8.58,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.983,0.9854,0.995,1,8.08,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9848,0.9878,0.994,1,8.24,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.9903,0.9933,0.994,1,8.81,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9881,0.9896,0.997,1,8.57,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.9886,0.9909,0.9954,1,8.11,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.3763,0.686,0.3778,1,8.51,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.9803,0.9871,0.9864,1,8.37,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9903,0.9925,0.9956,1,8.12,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9919,0.9936,0.9966,1,8.54,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.9875,0.99,0.995,1,8.09,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.9873,0.9915,0.9916,1,8.19,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.9279,0.9407,0.9732,1,8.43,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.6119,0.6765,0.8258,1,8.34,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.6877,0.795,0.7622,-1,7.96,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.7448,0.7668,0.9444,1,8.25,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9915,0.9948,0.9932,1,8.37,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.9849,0.9891,0.9916,1,8.31,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.99,0.9932,0.9936,1,8.8,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.0231,0.4903,0.024,0,8.32,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9754,0.983,0.9846,-1,8.76,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9889,0.9922,0.9934,-1,8.32,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.003,0.9952,0.9904,0,8.14,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.984,0.9894,0.9892,-1,8.3,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.9554,0.962,0.9864,1,8.59,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.3226,0.657,0.3254,-1,8.35,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.8413,0.861,0.9552,1,8.25,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.9728,0.9762,0.9932,1,8.34,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.9293,0.9553,0.9472,-1,8.75,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.7982,0.864,0.8586,-1,8.61,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bearish,-1,-0.7331,0.8513,0.756,-1,8.6,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bearish,-1,-0.9205,0.941,0.9574,-1,8.28,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.8718,0.8799,0.9818,1,8.23,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.8747,0.8796,0.989,1,8.5,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.9767,0.9795,0.9944,1,8.1,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.9845,0.9883,0.9924,1,8.34,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,neutral,0,0.0425,0.9403,0.8806,0,8.47,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.5968,0.7962,0.5994,1,8.74,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0055,0.9932,0.9864,0,8.29,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.0099,0.9884,0.9768,0,8.45,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0014,0.9974,0.9948,0,8.3,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0011,0.9983,0.9966,0,8.54,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.0024,0.9878,0.9756,0,8.29,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,-0.0,0.9988,0.9976,0,8.12,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0005,0.9991,0.9982,0,8.53,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.002,0.9941,0.9882,0,8.58,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 64,
|
||||
"n": 78,
|
||||
"neutral_predicted": 12
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 63,
|
||||
"n": 78,
|
||||
"neutral_predicted": 14
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 63,
|
||||
"n": 78,
|
||||
"neutral_predicted": 14
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 63,
|
||||
"n": 78,
|
||||
"neutral_predicted": 14
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 63,
|
||||
"n": 78,
|
||||
"neutral_predicted": 14
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 61,
|
||||
"n": 78,
|
||||
"neutral_predicted": 16
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.8205128205128205,
|
||||
"confusion": [
|
||||
[
|
||||
20,
|
||||
1,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
36
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8,
|
||||
"directional_hits": 56,
|
||||
"directional_n": 70,
|
||||
"hits": 64,
|
||||
"macro_f1": 0.8194649519726919,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.835820895522388,
|
||||
"sign_hits": 56,
|
||||
"sign_n": 67
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.8076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
20,
|
||||
3,
|
||||
9
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
3,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7857142857142857,
|
||||
"directional_hits": 55,
|
||||
"directional_n": 70,
|
||||
"hits": 63,
|
||||
"macro_f1": 0.7833873443629541,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.859375,
|
||||
"sign_hits": 55,
|
||||
"sign_n": 64
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1946_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 14,
|
||||
"model_only_right": 0,
|
||||
"p": 0.0001220703125
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 1,
|
||||
"model_only_right": 41,
|
||||
"p": 1.9554136088117957e-11
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T19:46:15.509042+00:00",
|
||||
"training_examples": 10690
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.16,
|
||||
"mean": 8.463333333333333,
|
||||
"median": 8.425
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 2,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.7803360556001124
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bearish,-1,-0.0217,0.5047,0.022,0,10.19,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9907,0.9922,0.997,-1,8.96,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9907,0.9936,0.9944,-1,8.4,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.9921,0.9951,0.994,-1,8.97,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9929,0.9953,0.995,-1,8.32,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9868,0.9919,0.99,-1,8.55,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9921,0.995,0.9942,-1,8.4,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.9564,0.9647,0.983,-1,8.78,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9914,0.9949,0.9928,1,8.53,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9922,0.9949,0.9946,1,8.48,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.4236,0.7104,0.4248,1,8.13,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.9839,0.9911,0.9854,1,8.48,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.9877,0.9926,0.9902,1,8.34,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9862,0.9919,0.9886,1,8.36,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.9897,0.9936,0.9922,1,8.47,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.9757,0.9838,0.9836,1,8.28,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.9917,0.9946,0.9942,-1,8.57,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.6371,0.8162,0.6402,-1,8.56,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.7026,0.8503,0.704,-1,8.31,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bullish,1,0.6257,0.6893,0.831,1,8.29,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bullish,1,0.569,0.6017,0.897,1,8.94,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bullish,1,0.1593,0.4904,0.194,1,8.94,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bullish,1,0.0821,0.5147,0.0866,0,8.65,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9924,0.9952,0.9944,1,8.62,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9881,0.9899,0.9964,1,8.59,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.003,0.9956,0.9912,0,8.25,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9906,0.9931,0.9948,1,8.46,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9904,0.9929,0.9948,1,8.51,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.9863,0.9884,0.9956,1,8.34,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9904,0.9927,0.9954,1,8.31,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.9473,0.973,0.9484,-1,8.57,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9817,0.9902,0.983,-1,8.66,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.9828,0.9852,0.995,1,8.47,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9874,0.9899,0.995,1,8.09,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9696,0.9821,0.9748,1,8.28,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.9771,0.9878,0.9786,1,8.6,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9904,0.9921,0.9966,1,8.57,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.9854,0.9883,0.9942,1,8.17,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.9868,0.9917,0.9902,1,8.37,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.9826,0.988,0.989,1,8.11,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9873,0.9918,0.991,1,8.44,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9913,0.9931,0.9962,1,8.58,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.9798,0.9819,0.9958,1,8.12,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.9689,0.9825,0.9728,1,8.29,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.9731,0.9776,0.991,1,8.34,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bullish,1,0.5306,0.5399,0.9658,1,8.48,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.6134,0.7751,0.6548,-1,8.08,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bullish,1,0.9092,0.9272,0.962,1,8.24,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9922,0.9948,0.995,1,8.28,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.9838,0.9894,0.9888,1,8.45,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.9923,0.9948,0.9952,1,9.01,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.0596,0.5154,0.0614,0,8.55,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9773,0.9852,0.9842,-1,8.75,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9883,0.9926,0.9916,-1,8.56,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0028,0.9964,0.9928,0,8.16,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.9885,0.991,0.995,-1,8.43,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.9536,0.9615,0.9836,1,8.69,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.8529,0.9239,0.8572,-1,8.36,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bullish,1,0.2827,0.616,0.2978,1,8.3,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.971,0.9754,0.9912,1,8.33,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.8495,0.9181,0.861,-1,8.63,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.4162,0.6867,0.4348,-1,8.66,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bearish,-1,-0.9146,0.9417,0.9442,-1,8.83,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bearish,-1,-0.8322,0.9077,0.8464,-1,8.27,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.9016,0.9044,0.9938,1,8.31,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.9392,0.9413,0.9954,1,8.34,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.9721,0.9748,0.9944,1,7.97,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.987,0.9892,0.9956,1,8.48,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.2697,0.2939,0.8478,1,8.46,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.4816,0.7397,0.4826,1,8.51,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,0.0123,0.9868,0.9736,0,8.32,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,0.0062,0.9932,0.9864,0,8.35,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,0.0012,0.9984,0.9968,0,8.14,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0038,0.9959,0.9918,0,8.3,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.0455,0.9403,0.8806,0,8.26,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0004,0.9986,0.9972,0,7.98,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0008,0.999,0.998,0,8.49,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0241,0.9692,0.9384,0,8.3,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 66,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 65,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 65,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 65,
|
||||
"n": 78,
|
||||
"neutral_predicted": 14
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 64,
|
||||
"n": 78,
|
||||
"neutral_predicted": 16
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 61,
|
||||
"n": 78,
|
||||
"neutral_predicted": 19
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.8589743589743589,
|
||||
"confusion": [
|
||||
[
|
||||
22,
|
||||
1,
|
||||
9
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
37
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8428571428571429,
|
||||
"directional_hits": 59,
|
||||
"directional_n": 70,
|
||||
"hits": 67,
|
||||
"macro_f1": 0.8615520282186949,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.8676470588235294,
|
||||
"sign_hits": 59,
|
||||
"sign_n": 68
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.8333333333333334,
|
||||
"confusion": [
|
||||
[
|
||||
21,
|
||||
3,
|
||||
8
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
36
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8142857142857143,
|
||||
"directional_hits": 57,
|
||||
"directional_n": 70,
|
||||
"hits": 65,
|
||||
"macro_f1": 0.8108021241937488,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.8769230769230769,
|
||||
"sign_hits": 57,
|
||||
"sign_n": 65
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_1949_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 11,
|
||||
"model_only_right": 0,
|
||||
"p": 0.0009765625
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 1,
|
||||
"model_only_right": 44,
|
||||
"p": 2.6147972675971687e-12
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": true,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-27T19:48:40.302218+00:00",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T19:48:40.302218+00:00",
|
||||
"training_examples": 12270
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.19,
|
||||
"mean": 8.460384615384616,
|
||||
"median": 8.434999999999999
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 1,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.7654087984855202
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.678,0.8364,0.6816,1,10.27,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9935,0.9954,0.9962,-1,8.84,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9912,0.9941,0.9942,-1,8.28,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.989,0.9932,0.9916,-1,8.88,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9904,0.9938,0.9932,-1,8.36,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9886,0.9926,0.9918,-1,8.48,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9921,0.9952,0.994,-1,8.29,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.8667,0.9058,0.9172,-1,8.78,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9929,0.9958,0.9942,1,8.43,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9942,0.9963,0.996,1,8.49,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.8868,0.9421,0.889,1,8.16,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.9918,0.9951,0.9934,1,8.43,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.9914,0.995,0.9928,1,8.37,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9892,0.9934,0.9916,1,8.54,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.9918,0.9949,0.9938,1,8.26,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.9569,0.9665,0.9804,1,8.45,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.9935,0.9952,0.9966,-1,8.72,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.9839,0.9879,0.9918,-1,8.75,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.9265,0.9613,0.9302,-1,8.3,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bearish,-1,-0.9819,0.9861,0.9916,-1,8.27,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,neutral,0,-0.0922,0.9036,0.8072,0,8.5,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bearish,-1,-0.927,0.9406,0.9714,-1,8.6,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bearish,-1,-0.6982,0.7121,0.9614,-1,8.73,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9937,0.9964,0.9948,1,8.75,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9909,0.993,0.9958,1,8.53,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,bullish,1,0.5913,0.5977,0.9788,1,8.29,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9919,0.994,0.996,1,8.55,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9946,0.9963,0.9966,1,8.19,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.9935,0.9948,0.9974,1,8.28,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9922,0.9945,0.9952,1,8.34,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.99,0.9944,0.9912,-1,8.6,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9263,0.9622,0.928,-1,8.63,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.548,0.758,0.566,1,8.79,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9912,0.9941,0.9942,1,8.47,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9853,0.9907,0.9892,1,8.61,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.8938,0.9464,0.8948,1,8.99,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9935,0.9952,0.9968,1,8.7,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.99,0.9929,0.9942,1,8.36,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.9873,0.9924,0.9898,1,8.61,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.9868,0.992,0.9894,1,8.58,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9911,0.9934,0.9954,1,8.57,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9942,0.9957,0.997,1,8.93,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.9873,0.9891,0.9964,1,8.13,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.9919,0.9939,0.996,1,8.25,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bullish,1,0.9812,0.9869,0.9884,1,8.36,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bearish,-1,-0.7254,0.735,0.9742,-1,8.31,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.9483,0.9647,0.9666,-1,8.0,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bearish,-1,-0.3599,0.3726,0.934,-1,8.18,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9911,0.9942,0.9938,1,8.33,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.922,0.9593,0.925,1,8.27,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.9892,0.9932,0.992,1,8.71,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bullish,1,0.8918,0.9329,0.9156,1,8.31,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9884,0.9917,0.9934,-1,8.56,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9788,0.9882,0.9812,-1,8.58,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0006,0.9986,0.9972,0,8.13,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.9878,0.9926,0.9904,-1,8.28,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.9818,0.9875,0.9884,1,8.59,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bullish,1,0.7295,0.8631,0.7318,1,8.19,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bearish,-1,-0.7565,0.7774,0.9476,-1,8.23,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.8973,0.9459,0.9022,1,8.31,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.3666,0.6782,0.3704,-1,8.75,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.9187,0.9368,0.9622,-1,8.57,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.0001,0.462,0.0002,0,8.71,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bearish,-1,-0.972,0.9834,0.977,-1,8.32,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.9705,0.9727,0.9954,1,8.24,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.8318,0.8342,0.9944,1,8.26,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.711,0.7141,0.9914,1,8.43,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.9837,0.9864,0.9946,1,8.36,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.9647,0.9692,0.9906,1,8.4,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.925,0.9611,0.9274,1,8.53,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,-0.0002,0.9968,0.9936,0,8.24,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,-0.0005,0.9984,0.9968,0,8.31,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,-0.0001,0.9986,0.9972,0,8.09,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0015,0.9982,0.9964,0,8.35,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.0617,0.9301,0.8602,0,8.15,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,0.0003,0.9987,0.9974,0,7.93,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0006,0.9993,0.9986,0,8.4,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0001,0.9987,0.9974,0,8.83,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 71,
|
||||
"n": 78,
|
||||
"neutral_predicted": 9
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 71,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 71,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 71,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 71,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 69,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.9102564102564102,
|
||||
"confusion": [
|
||||
[
|
||||
25,
|
||||
2,
|
||||
5
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.9,
|
||||
"directional_hits": 63,
|
||||
"directional_n": 70,
|
||||
"hits": 71,
|
||||
"macro_f1": 0.9014511587611004,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.9264705882352942,
|
||||
"sign_hits": 63,
|
||||
"sign_n": 68
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.9102564102564102,
|
||||
"confusion": [
|
||||
[
|
||||
25,
|
||||
3,
|
||||
4
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.9,
|
||||
"directional_hits": 63,
|
||||
"directional_n": 70,
|
||||
"hits": 71,
|
||||
"macro_f1": 0.8897660818713451,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.9402985074626866,
|
||||
"sign_hits": 63,
|
||||
"sign_n": 67
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_2313_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 7,
|
||||
"model_only_right": 0,
|
||||
"p": 0.015625
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 1,
|
||||
"model_only_right": 48,
|
||||
"p": 1.7763568394002505e-13
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": false,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-18",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T23:12:37.970737+00:00",
|
||||
"training_examples": 15416
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.27,
|
||||
"mean": 8.468461538461538,
|
||||
"median": 8.415
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 3,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 7,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.8427670138644066
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
headline,category,exp,rationale,model_label,model_cls,model_score,model_conf,model_margin,model_cls_band,model_ms,kw_xau,kw_cls,ds_s,ds_xau,ds_cls,ds_cached
|
||||
Powell says restrictive policy needed for longer as inflation proves sticky,hawkish_fed,-1,"higher-for-longer rates lift real yields, gold-bearish",bullish,1,0.8341,0.9144,0.8386,1,10.06,0.0,0,0.4,-0.7,-1,True
|
||||
Fed minutes show officials leaning toward two more rate hikes this year,hawkish_fed,-1,more hikes = stronger dollar/yields,bearish,-1,-0.9942,0.9958,0.9968,-1,8.86,-1.0,-1,0.4,-0.7,-1,True
|
||||
Hot CPI print fuels bets on additional Fed tightening,hawkish_fed,-1,tightening expectations weigh on gold,bearish,-1,-0.9925,0.9943,0.9964,-1,8.63,-1.0,-1,0.4,-0.7,-1,True
|
||||
Fed's Waller: higher-for-longer rates warranted by resilient economy,hawkish_fed,-1,hawkish guidance,bearish,-1,-0.993,0.9957,0.9946,-1,9.65,1.0,1,0.4,-0.7,-1,True
|
||||
"FOMC raises rates 50bp, flags further increases ahead",hawkish_fed,-1,outsized hike plus hawkish guidance,bearish,-1,-0.9928,0.9951,0.9954,-1,8.64,0.0,0,0.4,-0.7,-1,True
|
||||
Treasury yields spike as Fed pushes back on rate cut hopes,hawkish_fed,-1,"cut hopes dashed, yields up",bearish,-1,-0.9904,0.9943,0.992,-1,8.83,1.0,1,0.4,-0.7,-1,True
|
||||
"Core inflation accelerates, cementing case for hawkish Fed stance",hawkish_fed,-1,hawkish repricing,bearish,-1,-0.9951,0.9965,0.9972,-1,8.4,0.0,0,0.4,-0.7,-1,True
|
||||
Fed dot plot shifts higher; markets price out easing for the year,hawkish_fed,-1,easing priced out,bearish,-1,-0.3315,0.636,0.3526,-1,8.68,1.0,1,0.4,-0.7,-1,True
|
||||
Fed cuts rates 25bp and signals more easing to come,dovish_fed,1,easing cycle is gold-bullish,bullish,1,0.9949,0.997,0.9958,1,8.5,1.0,1,-0.4,0.7,1,True
|
||||
Powell hints at rate cuts as inflation cools toward target,dovish_fed,1,cut guidance,bullish,1,0.9918,0.9951,0.9934,1,8.51,1.0,1,-0.4,0.7,1,True
|
||||
FOMC minutes reveal growing support for policy easing,dovish_fed,1,dovish minutes,bullish,1,0.9902,0.994,0.9924,1,8.17,1.0,1,-0.4,0.7,1,True
|
||||
Fed's Williams says rate cuts appropriate later this year,dovish_fed,1,cut guidance,bullish,1,0.9953,0.9972,0.9964,1,8.53,1.0,1,-0.4,0.7,1,True
|
||||
Soft inflation data boosts odds of a dovish Fed pivot,dovish_fed,1,pivot odds up,bullish,1,0.9909,0.9948,0.9922,1,8.33,1.0,1,-0.4,0.7,1,True
|
||||
"Fed pauses hikes, markets price aggressive easing cycle",dovish_fed,1,easing priced in,bullish,1,0.9914,0.9944,0.9938,1,8.3,1.0,1,-0.4,0.7,1,True
|
||||
Central banks turn dovish as global growth falters,dovish_fed,1,global easing backdrop,bullish,1,0.9947,0.9962,0.9968,1,8.27,1.0,1,-0.4,0.7,1,True
|
||||
Fed to restart bond purchases to support flagging economy,dovish_fed,1,QE is gold-bullish,bullish,1,0.6809,0.7856,0.7648,1,8.28,0.0,0,-0.4,0.7,1,True
|
||||
Dollar index hits 12-month high on robust US economic data,strong_usd,-1,strong dollar pressures gold,bearish,-1,-0.9946,0.9959,0.9974,-1,8.69,1.0,1,0.4,-0.7,-1,True
|
||||
"US GDP grows 4.1% annualized, blowing past expectations",strong_usd,-1,"strong economy, hawkish implication",bearish,-1,-0.9737,0.9815,0.9842,-1,8.62,0.0,0,0.4,-0.7,-1,True
|
||||
Blockbuster jobs report sends dollar surging across the board,strong_usd,-1,strong jobs lift dollar and yields,bearish,-1,-0.9617,0.9799,0.9636,-1,8.33,0.0,0,0.4,-0.7,-1,True
|
||||
"US retail sales smash forecasts, underscoring consumer strength",strong_usd,-1,strong data,bearish,-1,-0.9779,0.9819,0.992,-1,8.32,0.0,0,0.4,-0.7,-1,True
|
||||
Greenback rallies as US data outshines Europe and Asia,strong_usd,-1,dollar strength,bearish,-1,-0.2403,0.2465,0.9512,-1,8.48,0.0,0,0.4,-0.7,-1,True
|
||||
ISM services index jumps to two-year high on strong demand,strong_usd,-1,strong data,bearish,-1,-0.9485,0.963,0.9702,-1,8.65,1.0,1,0.4,-0.7,-1,True
|
||||
Consumer confidence surges to post-pandemic high in the US,strong_usd,-1,strong data,bearish,-1,-0.2134,0.2273,0.8848,-1,8.71,1.0,1,0.4,-0.7,-1,True
|
||||
Dollar tumbles to eight-month low after dismal manufacturing data,weak_usd,1,weak dollar lifts gold,bullish,1,0.9963,0.9978,0.9972,1,8.61,-1.0,-1,-0.4,0.7,1,True
|
||||
US economy adds far fewer jobs than expected; dollar slides,weak_usd,1,"weak jobs, dovish implication",bullish,1,0.9944,0.9953,0.9982,1,8.55,-1.0,-1,-0.4,0.7,1,True
|
||||
Greenback weakens as US retail sales unexpectedly contract,weak_usd,1,weak data,neutral,0,0.1416,0.8433,0.6866,0,8.28,-1.0,-1,-0.4,0.6,1,True
|
||||
"US GDP growth revised down sharply, stoking slowdown fears",weak_usd,1,slowdown is dovish,bullish,1,0.9943,0.9952,0.9984,1,8.35,0.0,0,-0.5,0.5,1,True
|
||||
Dollar slumps as trade deficit balloons to record,weak_usd,1,dollar weakness,bullish,1,0.9934,0.9952,0.9964,1,8.34,-1.0,-1,-0.4,0.5,1,True
|
||||
Soft services PMI adds to evidence of cooling US economy,weak_usd,1,cooling economy,bullish,1,0.9868,0.9877,0.9982,1,8.38,0.0,0,-0.4,0.4,1,True
|
||||
US consumer sentiment plunges to two-year low,weak_usd,1,weak data,bullish,1,0.9949,0.9958,0.9982,1,8.33,-1.0,-1,-0.5,0.5,1,True
|
||||
Real yields climb to multi-year highs as TIPS sell off,real_yields,-1,rising real yields raise gold's opportunity cost,bearish,-1,-0.9938,0.996,0.9956,-1,8.93,0.0,0,0.6,-0.8,-1,True
|
||||
10-year Treasury yield surges past 5% on supply glut,real_yields,-1,yield spike,bearish,-1,-0.9819,0.9904,0.983,-1,8.65,1.0,1,0.6,-0.8,-1,True
|
||||
Rising real interest rates dim appeal of non-yielding assets,real_yields,-1,explicit opportunity-cost story,bullish,1,0.9525,0.9565,0.9916,1,8.73,0.0,0,0.5,-0.7,-1,True
|
||||
Treasury yields sink as investors flock to bonds,real_yields,1,falling yields support gold,bullish,1,0.9926,0.9939,0.9974,1,8.26,0.0,0,-0.5,0.6,1,True
|
||||
Real yields turn negative as inflation outpaces rates,real_yields,1,negative real yields are gold's best backdrop,bullish,1,0.9907,0.9937,0.994,1,8.51,0.0,0,-0.6,0.8,1,True
|
||||
Bond rally drives 10-year yield to lowest level in a year,real_yields,1,falling yields,bullish,1,0.7843,0.8919,0.7846,1,8.65,1.0,1,-0.5,0.6,1,True
|
||||
"Geopolitical tensions escalate in Middle East, investors seek safety",safe_haven,1,safe-haven bid,bullish,1,0.9938,0.9951,0.9974,1,8.55,0.0,0,-0.7,0.8,1,True
|
||||
Stocks crater worldwide as banking crisis fears spread,safe_haven,1,crisis flight to safety,bullish,1,0.99,0.9921,0.9958,1,8.23,0.0,0,-0.8,0.9,1,True
|
||||
Escalating conflict drives flight to safe-haven assets,safe_haven,1,explicit haven flow,bullish,1,0.9916,0.9939,0.9956,1,8.37,0.0,0,-0.7,0.8,1,True
|
||||
Investors dump risk assets after surprise sovereign default,safe_haven,1,default shock,bullish,1,0.9902,0.9939,0.9926,1,8.14,0.0,0,-0.8,0.9,1,True
|
||||
Military escalation on NATO border rattles global markets,safe_haven,1,geopolitical stress,bullish,1,0.9936,0.9952,0.9968,1,8.13,0.0,0,-0.7,0.8,1,True
|
||||
Wall Street plunges 4% in worst session since pandemic,safe_haven,1,risk-off,bullish,1,0.9949,0.9957,0.9984,1,8.61,-1.0,-1,-0.8,0.9,1,True
|
||||
Currency crisis in emerging markets sparks contagion fears,safe_haven,1,"contagion, haven bid",bullish,1,0.989,0.9898,0.9982,1,8.57,0.0,0,-0.7,0.8,1,True
|
||||
"Nuclear rhetoric intensifies, sending investors to havens",safe_haven,1,extreme geopolitical stress,bullish,1,0.9953,0.9964,0.9978,1,8.51,0.0,0,-0.8,0.9,1,True
|
||||
"Ceasefire agreement lifts global markets, haven demand fades",risk_on,-1,haven unwind,bearish,-1,-0.5595,0.7749,0.565,-1,8.63,0.0,0,0.6,-0.7,-1,True
|
||||
Stocks roar to record highs as trade deal signed,risk_on,-1,risk-on drains haven demand,bearish,-1,-0.4613,0.569,0.6818,-1,8.35,1.0,1,0.7,-0.7,-1,True
|
||||
Risk appetite returns as banking fears subside,risk_on,-1,risk-on,bearish,-1,-0.8996,0.9292,0.9382,-1,8.07,0.0,0,0.6,-0.6,-1,True
|
||||
Global equities rally on strong earnings and easing tensions,risk_on,-1,risk-on,bearish,-1,-0.5252,0.5823,0.8214,-1,8.27,1.0,1,0.7,-0.7,-1,True
|
||||
Gold hits record high as central banks keep buying bullion,gold_direct,1,direct demand,bullish,1,0.9942,0.9955,0.9974,1,8.3,1.0,1,0.8,0.9,1,True
|
||||
Gold ETFs post biggest weekly inflows in three years,gold_direct,1,investment inflows,bullish,1,0.9885,0.9916,0.9938,1,8.26,0.0,0,0.7,0.8,1,True
|
||||
China's central bank extends gold buying spree to 18th month,gold_direct,1,official-sector demand,bullish,1,0.9929,0.9944,0.997,1,8.6,0.0,0,0.6,0.7,1,True
|
||||
Miners struggle to meet gold demand as supply deficit widens,gold_direct,1,supply deficit,bearish,-1,-0.3184,0.5759,0.382,-1,8.32,-1.0,-1,0.5,0.6,1,True
|
||||
Gold slides 2% as investors book profits after record run,gold_direct,-1,profit-taking pressure,bearish,-1,-0.9848,0.987,0.9954,-1,8.41,-1.0,-1,-0.6,-0.8,-1,True
|
||||
Gold tumbles below key support as ETF outflows accelerate,gold_direct,-1,outflows,bearish,-1,-0.9863,0.9881,0.9964,-1,8.34,-1.0,-1,-0.7,-0.9,-1,True
|
||||
Bullion demand weakens as Indian jewellery buying stalls,gold_direct,-1,physical demand soft,neutral,0,0.0022,0.9968,0.9936,0,8.15,-1.0,-1,-0.4,-0.5,-1,True
|
||||
Speculators slash bullish gold bets as dollar strengthens,gold_direct,-1,positioning unwind,bearish,-1,-0.9853,0.9874,0.9958,-1,8.33,1.0,1,-0.5,-0.6,-1,True
|
||||
"Fed holds rates steady, signals no rate hike on the horizon",negation_traps,1,dovish hold; keyword layer sees the phrase rate hike and flips it gold-bearish,bullish,1,0.9578,0.9617,0.992,1,8.65,-1.0,-1,0.3,0.5,1,True
|
||||
Powell says no rate cuts until inflation shows sustained cooling,negation_traps,-1,hawkish hold; keyword layer sees rate cut and calls it gold-bullish,bearish,-1,-0.6918,0.8448,0.6934,-1,8.48,1.0,1,-0.2,-0.3,-1,True
|
||||
Recession fears fade as US data streak beats estimates,negation_traps,-1,fading fear is risk-on; keywords see recession plus beats and cancel out,bearish,-1,-0.5198,0.5667,0.8472,-1,8.25,0.0,0,0.4,-0.4,-1,True
|
||||
"Inflation fails to accelerate, easing pressure on the Fed",negation_traps,1,disinflation opens door to cuts,bullish,1,0.0893,0.5422,0.0898,0,8.31,1.0,1,0.3,0.4,1,True
|
||||
"Fed's Bowman: not yet confident inflation is beaten, cuts premature",negation_traps,-1,hawkish pushback phrased around negations,bearish,-1,-0.8268,0.9102,0.8322,-1,8.71,0.0,0,-0.4,-0.5,-1,True
|
||||
"Central bank stops short of hiking, but warns tightening may resume",negation_traps,-1,hawkish hold with tightening bias,bearish,-1,-0.1545,0.52,0.1744,-1,8.59,-1.0,-1,-0.3,-0.4,-1,True
|
||||
"No safe-haven bid for gold despite equity wobble, analysts say",negation_traps,-1,explicitly negated haven demand,bullish,1,0.1515,0.5654,0.1548,1,8.59,0.0,0,-0.3,-0.4,-1,True
|
||||
"Jobs report not as weak as feared, dollar recovers",negation_traps,-1,less-bad data is dollar-positive,bearish,-1,-0.927,0.9551,0.9428,-1,8.62,0.0,0,0.3,-0.4,-1,True
|
||||
US manufacturing output plunges as new orders dry up,inverted_metrics,1,weak economy is dovish/gold-bullish; keyword layer reads plunges as bearish,bullish,1,0.9637,0.9644,0.9984,1,8.33,-1.0,-1,-0.5,0.5,1,True
|
||||
US factory activity slumps to three-year low,inverted_metrics,1,weak data; keyword reads slumps as bearish,bullish,1,0.9324,0.9336,0.9974,1,8.34,-1.0,-1,-0.5,0.5,1,True
|
||||
Consumer spending falls for third straight month,inverted_metrics,1,weak data; keyword reads falls as bearish,bullish,1,0.8809,0.8825,0.9962,1,8.01,-1.0,-1,-0.5,0.5,1,True
|
||||
Private payrolls growth slides to weakest pace since 2020,inverted_metrics,1,weak jobs; keyword reads slides as bearish,bullish,1,0.994,0.9948,0.9984,1,8.31,-1.0,-1,-0.5,0.5,1,True
|
||||
Jobless claims hit two-year high as layoffs spread,inverted_metrics,1,higher claims = weaker economy = gold-bullish,bullish,1,0.8774,0.9059,0.939,1,8.48,0.0,0,-0.5,0.5,1,True
|
||||
"US unemployment rate hits 4.5%, highest since 2021",inverted_metrics,1,higher unemployment = dovish = gold-bullish,bullish,1,0.9596,0.9791,0.9608,1,8.54,0.0,0,-0.6,0.6,1,True
|
||||
Lakers clinch playoff berth with overtime win over Suns,distractors,0,irrelevant,neutral,0,-0.0017,0.9965,0.993,0,8.59,0.0,0,0.0,0.0,0,True
|
||||
New Marvel film smashes box office records on opening weekend,distractors,0,irrelevant,neutral,0,-0.0005,0.9974,0.9948,0,8.28,0.0,0,0.0,0.0,0,True
|
||||
Apple unveils thinner MacBook with faster chip lineup,distractors,0,irrelevant,neutral,0,-0.001,0.9977,0.9954,0,8.16,0.0,0,0.0,0.0,0,True
|
||||
Scientists discover new deep-sea species off Pacific coast,distractors,0,irrelevant,neutral,0,0.0013,0.9984,0.9968,0,8.32,0.0,0,0.0,0.0,0,True
|
||||
Heavy rain forecast for the Midwest through the weekend,distractors,0,irrelevant,neutral,0,0.0337,0.9589,0.9178,0,8.23,0.0,0,0.0,0.0,0,True
|
||||
Streaming service raises subscription prices in Europe,distractors,0,irrelevant,neutral,0,-0.0002,0.9992,0.9984,0,7.95,0.0,0,0.0,0.0,0,True
|
||||
"Electric vehicle startup recalls 12,000 cars over software glitch",distractors,0,irrelevant,neutral,0,0.0004,0.9994,0.9988,0,8.5,0.0,0,0.0,0.0,0,True
|
||||
Local elections see record turnout in several US states,distractors,0,irrelevant,neutral,0,0.0,0.9984,0.9968,0,8.26,0.0,0,0.0,0.0,0,True
|
||||
|
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"band": 0.15,
|
||||
"band_sweep": {
|
||||
"0.05": {
|
||||
"hits": 73,
|
||||
"n": 78,
|
||||
"neutral_predicted": 9
|
||||
},
|
||||
"0.1": {
|
||||
"hits": 72,
|
||||
"n": 78,
|
||||
"neutral_predicted": 10
|
||||
},
|
||||
"0.15": {
|
||||
"hits": 71,
|
||||
"n": 78,
|
||||
"neutral_predicted": 11
|
||||
},
|
||||
"0.2": {
|
||||
"hits": 70,
|
||||
"n": 78,
|
||||
"neutral_predicted": 13
|
||||
},
|
||||
"0.3": {
|
||||
"hits": 68,
|
||||
"n": 78,
|
||||
"neutral_predicted": 15
|
||||
},
|
||||
"0.5": {
|
||||
"hits": 66,
|
||||
"n": 78,
|
||||
"neutral_predicted": 18
|
||||
}
|
||||
},
|
||||
"blocks": {
|
||||
"DeepSeek live (xau through band \u00b10.15)": {
|
||||
"accuracy": 1.0,
|
||||
"confusion": [
|
||||
[
|
||||
32,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
38
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 1.0,
|
||||
"directional_hits": 70,
|
||||
"directional_n": 70,
|
||||
"hits": 78,
|
||||
"macro_f1": 1.0,
|
||||
"n": 78,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 70,
|
||||
"sign_n": 70
|
||||
},
|
||||
"keyword fallback (band \u00b10.15)": {
|
||||
"accuracy": 0.3076923076923077,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
15,
|
||||
11
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
12,
|
||||
16,
|
||||
10
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.22857142857142856,
|
||||
"directional_hits": 16,
|
||||
"directional_n": 70,
|
||||
"hits": 24,
|
||||
"macro_f1": 0.30646952758745044,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.41025641025641024,
|
||||
"sign_hits": 16,
|
||||
"sign_n": 39
|
||||
},
|
||||
"model (native argmax label)": {
|
||||
"accuracy": 0.9230769230769231,
|
||||
"confusion": [
|
||||
[
|
||||
28,
|
||||
1,
|
||||
3
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
36
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.9142857142857143,
|
||||
"directional_hits": 64,
|
||||
"directional_n": 70,
|
||||
"hits": 72,
|
||||
"macro_f1": 0.9139955369463566,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.9411764705882353,
|
||||
"sign_hits": 64,
|
||||
"sign_n": 68
|
||||
},
|
||||
"model (score through band \u00b10.15)": {
|
||||
"accuracy": 0.9102564102564102,
|
||||
"confusion": [
|
||||
[
|
||||
28,
|
||||
1,
|
||||
3
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
1,
|
||||
2,
|
||||
35
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.9,
|
||||
"directional_hits": 63,
|
||||
"directional_n": 70,
|
||||
"hits": 71,
|
||||
"macro_f1": 0.8937302272073627,
|
||||
"n": 78,
|
||||
"sign_agreement": 0.9402985074626866,
|
||||
"sign_hits": 63,
|
||||
"sign_n": 67
|
||||
}
|
||||
},
|
||||
"deepseek": {
|
||||
"batch_ms_max": null,
|
||||
"batch_ms_mean": null,
|
||||
"cache_hits": 78,
|
||||
"calls": 0,
|
||||
"failed_calls": 0,
|
||||
"headlines_sent": 0,
|
||||
"model": "deepseek-v4-flash",
|
||||
"per_headline_ms": null,
|
||||
"prompt_sha1": "d32e04c6a87d019f326f111b39c99b6dd8ce794d"
|
||||
},
|
||||
"deepseek_scored": 78,
|
||||
"generated_at": "20260927_2315_transformer",
|
||||
"mcnemar": {
|
||||
"model_vs_deepseek": {
|
||||
"deepseek_only_right": 6,
|
||||
"model_only_right": 0,
|
||||
"p": 0.03125
|
||||
},
|
||||
"model_vs_keyword": {
|
||||
"keyword_only_right": 1,
|
||||
"model_only_right": 49,
|
||||
"p": 9.059419880941277e-14
|
||||
}
|
||||
},
|
||||
"model": {
|
||||
"final": true,
|
||||
"model_path": "/home/harwinder/Development/ML-NEWS/models/xau_transformer",
|
||||
"model_type": "two_head_transformer:microsoft/deberta-v3-small",
|
||||
"oos_from": "2026-09-27T23:15:30.403442+00:00",
|
||||
"relevance_threshold": 0.2,
|
||||
"trained_at": "2026-09-27T23:15:30.403442+00:00",
|
||||
"training_examples": 17245
|
||||
},
|
||||
"model_latency_ms": {
|
||||
"max": 10.06,
|
||||
"mean": 8.469871794871795,
|
||||
"median": 8.405000000000001
|
||||
},
|
||||
"n": 78,
|
||||
"per_category": {
|
||||
"distractors": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 8,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"dovish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 7,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"gold_direct": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 4,
|
||||
"model": 6,
|
||||
"n": 8
|
||||
},
|
||||
"hawkish_fed": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"inverted_metrics": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 6
|
||||
},
|
||||
"negation_traps": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 2,
|
||||
"model": 7,
|
||||
"n": 8
|
||||
},
|
||||
"real_yields": {
|
||||
"deepseek": 6,
|
||||
"deepseek_n": 6,
|
||||
"keyword": 1,
|
||||
"model": 5,
|
||||
"n": 6
|
||||
},
|
||||
"risk_on": {
|
||||
"deepseek": 4,
|
||||
"deepseek_n": 4,
|
||||
"keyword": 0,
|
||||
"model": 4,
|
||||
"n": 4
|
||||
},
|
||||
"safe_haven": {
|
||||
"deepseek": 8,
|
||||
"deepseek_n": 8,
|
||||
"keyword": 0,
|
||||
"model": 8,
|
||||
"n": 8
|
||||
},
|
||||
"strong_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 7,
|
||||
"n": 7
|
||||
},
|
||||
"weak_usd": {
|
||||
"deepseek": 7,
|
||||
"deepseek_n": 7,
|
||||
"keyword": 0,
|
||||
"model": 6,
|
||||
"n": 7
|
||||
}
|
||||
},
|
||||
"spearman_model_vs_deepseek": 0.8597502720725484
|
||||
}
|
||||
@@ -0,0 +1,449 @@
|
||||
{
|
||||
"deepseek_self_agreement": {
|
||||
"accuracy": 0.7,
|
||||
"confusion": [
|
||||
[
|
||||
4,
|
||||
0,
|
||||
1
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
3
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7,
|
||||
"directional_hits": 7,
|
||||
"directional_n": 10,
|
||||
"hits": 7,
|
||||
"identical": 2,
|
||||
"macro_f1": 0.48888888888888893,
|
||||
"mae": 0.25,
|
||||
"n": 10,
|
||||
"sign_agreement": 0.7777777777777778,
|
||||
"sign_hits": 7,
|
||||
"sign_n": 9,
|
||||
"spearman": 0.5569257132640542
|
||||
},
|
||||
"generated_at": "20260917_2241",
|
||||
"latency": {
|
||||
"deepseek_ms_per_headline": 56.414902748947796,
|
||||
"model_ms_mean": 1.0686842105263157
|
||||
},
|
||||
"log_rows": 76,
|
||||
"n": 76,
|
||||
"subsets": {
|
||||
"all headlines": {
|
||||
"keyword": {
|
||||
"accuracy": 0.3815789473684211,
|
||||
"confusion": [
|
||||
[
|
||||
9,
|
||||
17,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
16,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
28,
|
||||
4
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.21666666666666667,
|
||||
"directional_hits": 13,
|
||||
"directional_n": 60,
|
||||
"hits": 29,
|
||||
"macro_f1": 0.37086573928679195,
|
||||
"n": 76,
|
||||
"sign_agreement": 0.8666666666666667,
|
||||
"sign_hits": 13,
|
||||
"sign_n": 15
|
||||
},
|
||||
"model_full": {
|
||||
"accuracy": 0.6052631578947368,
|
||||
"confusion": [
|
||||
[
|
||||
16,
|
||||
3,
|
||||
7
|
||||
],
|
||||
[
|
||||
5,
|
||||
6,
|
||||
5
|
||||
],
|
||||
[
|
||||
7,
|
||||
3,
|
||||
24
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6666666666666666,
|
||||
"directional_hits": 40,
|
||||
"directional_n": 60,
|
||||
"hits": 46,
|
||||
"macro_f1": 0.5689594356261023,
|
||||
"mae": 0.33246710526315787,
|
||||
"n": 76,
|
||||
"sign_agreement": 0.7407407407407407,
|
||||
"sign_hits": 40,
|
||||
"sign_n": 54,
|
||||
"spearman": 0.4808996156923549
|
||||
},
|
||||
"model_head": {
|
||||
"accuracy": 0.6842105263157895,
|
||||
"confusion": [
|
||||
[
|
||||
20,
|
||||
0,
|
||||
6
|
||||
],
|
||||
[
|
||||
2,
|
||||
6,
|
||||
8
|
||||
],
|
||||
[
|
||||
6,
|
||||
2,
|
||||
26
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7666666666666667,
|
||||
"directional_hits": 46,
|
||||
"directional_n": 60,
|
||||
"hits": 52,
|
||||
"macro_f1": 0.6478144811478145,
|
||||
"mae": 0.3404934210526316,
|
||||
"n": 76,
|
||||
"sign_agreement": 0.7931034482758621,
|
||||
"sign_hits": 46,
|
||||
"sign_n": 58,
|
||||
"spearman": 0.5639368037865334
|
||||
},
|
||||
"n": 76
|
||||
},
|
||||
"mentions gold (XAU keyword)": {
|
||||
"keyword": {
|
||||
"accuracy": 0.3404255319148936,
|
||||
"confusion": [
|
||||
[
|
||||
5,
|
||||
6,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
9,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
25,
|
||||
2
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.18421052631578946,
|
||||
"directional_hits": 7,
|
||||
"directional_n": 38,
|
||||
"hits": 16,
|
||||
"macro_f1": 0.37675932441942295,
|
||||
"n": 47,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 7,
|
||||
"sign_n": 7
|
||||
},
|
||||
"model_full": {
|
||||
"accuracy": 0.723404255319149,
|
||||
"confusion": [
|
||||
[
|
||||
10,
|
||||
0,
|
||||
1
|
||||
],
|
||||
[
|
||||
2,
|
||||
4,
|
||||
3
|
||||
],
|
||||
[
|
||||
4,
|
||||
3,
|
||||
20
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7894736842105263,
|
||||
"directional_hits": 30,
|
||||
"directional_n": 38,
|
||||
"hits": 34,
|
||||
"macro_f1": 0.6750181554103122,
|
||||
"mae": 0.2999148936170213,
|
||||
"n": 47,
|
||||
"sign_agreement": 0.8571428571428571,
|
||||
"sign_hits": 30,
|
||||
"sign_n": 35,
|
||||
"spearman": 0.5816073836387256
|
||||
},
|
||||
"model_head": {
|
||||
"accuracy": 0.7659574468085106,
|
||||
"confusion": [
|
||||
[
|
||||
10,
|
||||
0,
|
||||
1
|
||||
],
|
||||
[
|
||||
2,
|
||||
4,
|
||||
3
|
||||
],
|
||||
[
|
||||
3,
|
||||
2,
|
||||
22
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8421052631578947,
|
||||
"directional_hits": 32,
|
||||
"directional_n": 38,
|
||||
"hits": 36,
|
||||
"macro_f1": 0.7109175939364617,
|
||||
"mae": 0.302268085106383,
|
||||
"n": 47,
|
||||
"sign_agreement": 0.8888888888888888,
|
||||
"sign_hits": 32,
|
||||
"sign_n": 36,
|
||||
"spearman": 0.6912522895796331
|
||||
},
|
||||
"n": 47
|
||||
},
|
||||
"not in training & mentions gold": {
|
||||
"keyword": {
|
||||
"accuracy": 0.35135135135135137,
|
||||
"confusion": [
|
||||
[
|
||||
3,
|
||||
3,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
8,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
21,
|
||||
2
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.1724137931034483,
|
||||
"directional_hits": 5,
|
||||
"directional_n": 29,
|
||||
"hits": 13,
|
||||
"macro_f1": 0.40888888888888886,
|
||||
"n": 37,
|
||||
"sign_agreement": 1.0,
|
||||
"sign_hits": 5,
|
||||
"sign_n": 5
|
||||
},
|
||||
"model_full": {
|
||||
"accuracy": 0.7027027027027027,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
4,
|
||||
2
|
||||
],
|
||||
[
|
||||
4,
|
||||
3,
|
||||
16
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7586206896551724,
|
||||
"directional_hits": 22,
|
||||
"directional_n": 29,
|
||||
"hits": 26,
|
||||
"macro_f1": 0.6601626016260163,
|
||||
"mae": 0.25864864864864867,
|
||||
"n": 37,
|
||||
"sign_agreement": 0.8461538461538461,
|
||||
"sign_hits": 22,
|
||||
"sign_n": 26,
|
||||
"spearman": 0.5732166454312866
|
||||
},
|
||||
"model_head": {
|
||||
"accuracy": 0.7567567567567568,
|
||||
"confusion": [
|
||||
[
|
||||
6,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
4,
|
||||
2
|
||||
],
|
||||
[
|
||||
3,
|
||||
2,
|
||||
18
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8275862068965517,
|
||||
"directional_hits": 24,
|
||||
"directional_n": 29,
|
||||
"hits": 28,
|
||||
"macro_f1": 0.7048400755651097,
|
||||
"mae": 0.2563864864864865,
|
||||
"n": 37,
|
||||
"sign_agreement": 0.8888888888888888,
|
||||
"sign_hits": 24,
|
||||
"sign_n": 27,
|
||||
"spearman": 0.6927913852069925
|
||||
},
|
||||
"n": 37
|
||||
},
|
||||
"not in training set": {
|
||||
"keyword": {
|
||||
"accuracy": 0.3939393939393939,
|
||||
"confusion": [
|
||||
[
|
||||
7,
|
||||
14,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
15,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
24,
|
||||
4
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.21568627450980393,
|
||||
"directional_hits": 11,
|
||||
"directional_n": 51,
|
||||
"hits": 26,
|
||||
"macro_f1": 0.3810457516339869,
|
||||
"n": 66,
|
||||
"sign_agreement": 0.8461538461538461,
|
||||
"sign_hits": 11,
|
||||
"sign_n": 13
|
||||
},
|
||||
"model_full": {
|
||||
"accuracy": 0.5757575757575758,
|
||||
"confusion": [
|
||||
[
|
||||
12,
|
||||
3,
|
||||
6
|
||||
],
|
||||
[
|
||||
5,
|
||||
6,
|
||||
4
|
||||
],
|
||||
[
|
||||
7,
|
||||
3,
|
||||
20
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.6274509803921569,
|
||||
"directional_hits": 32,
|
||||
"directional_n": 51,
|
||||
"hits": 38,
|
||||
"macro_f1": 0.5481481481481482,
|
||||
"mae": 0.3142651515151515,
|
||||
"n": 66,
|
||||
"sign_agreement": 0.7111111111111111,
|
||||
"sign_hits": 32,
|
||||
"sign_n": 45,
|
||||
"spearman": 0.4561157459616647
|
||||
},
|
||||
"model_head": {
|
||||
"accuracy": 0.6666666666666666,
|
||||
"confusion": [
|
||||
[
|
||||
16,
|
||||
0,
|
||||
5
|
||||
],
|
||||
[
|
||||
2,
|
||||
6,
|
||||
7
|
||||
],
|
||||
[
|
||||
6,
|
||||
2,
|
||||
22
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.7450980392156863,
|
||||
"directional_hits": 38,
|
||||
"directional_n": 51,
|
||||
"hits": 44,
|
||||
"macro_f1": 0.6401167471819647,
|
||||
"mae": 0.3205636363636364,
|
||||
"n": 66,
|
||||
"sign_agreement": 0.7755102040816326,
|
||||
"sign_hits": 38,
|
||||
"sign_n": 49,
|
||||
"spearman": 0.5415716725239331
|
||||
},
|
||||
"n": 66
|
||||
}
|
||||
},
|
||||
"threshold": 0.05,
|
||||
"usd_only_display_vs_xau": {
|
||||
"accuracy": 0.875,
|
||||
"confusion": [
|
||||
[
|
||||
9,
|
||||
0,
|
||||
0
|
||||
],
|
||||
[
|
||||
0,
|
||||
3,
|
||||
0
|
||||
],
|
||||
[
|
||||
2,
|
||||
0,
|
||||
2
|
||||
]
|
||||
],
|
||||
"directional_accuracy": 0.8461538461538461,
|
||||
"directional_hits": 11,
|
||||
"directional_n": 13,
|
||||
"hits": 14,
|
||||
"macro_f1": 0.8555555555555555,
|
||||
"n": 16,
|
||||
"sign_agreement": 0.8461538461538461,
|
||||
"sign_hits": 11,
|
||||
"sign_n": 13
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "6f60ac3da44ff507fc17fc614030b874d5f244e993d84ee44d9f8d6a93b524fb", "headline": "Fed's unanimous hike stirs debate over how long high inflation persists", "description": "UBS's view that further hikes remain likely this year points to continued support for the US dollar and real yields, a combination that raises the opportunity cost of holding gold and could see some of August's ETF inflows unwind in the near term. Longer term, the bank argues gold's investment case remains intact, underpinned by rising global debt, an expected weaker dollar and the prospect of rate cuts next year. Other analysts framed the unanimous vote as evidence the Fed is taking a firmer st…", "publisher": null, "published_at": "2026-09-17T22:31:46+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": -0.7, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.0594, "model_conf": 0.3985, "model_margin": 0.0594, "model_ms": 4.3, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.1616, "model_h_conf": 0.5379, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "4b6b58f81a0107de48d87dca26e3711418db61b61c04e41139e39c4e672212c9", "headline": "Preview: RBA Gov. Bullock testimony in focus as markets price 70-75% chance of a hike", "description": "Today's appearance is a routine parliamentary hearing rather than a policy decision, so the direct market impact should be limited unless Bullock's answers shift the tone from recent RBA communication. Even so, any fresh comment on inflation persistence or the labour market could move rate pricing ahead of the September 28-29 meeting, where a further 25 basis point increase is currently priced at around 70 to 75%. The Australian dollar and short end yields are the most likely to react to any haw…", "publisher": null, "published_at": "2026-09-17T21:09:02+00:00", "currencies": ["AUD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": -0.5, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": 0.0437, "model_conf": 0.4269, "model_margin": 0.1185, "model_ms": 1.31, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.2882, "model_h_conf": 0.5596, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "2729f813a40a598cadf75ffdfe6b075963000d17b4063c5a6689feb046ab2e5f", "headline": "Preview: BoJ set to hike rates today, focus turns to pace and yen reaction", "description": "With a quarter point hike now close to fully priced, the tradeable content today sits less in the decision itself and more in Governor Ueda's guidance on what follows it. USD/JPY has already fallen from around 160 to near 153 over recent weeks as hike odds built, which leaves room for a \"buy the rumour, sell the fact\" reaction if Ueda's tone stays cautious and data dependent. Goldman Sachs argues a faster tightening path would put upward pressure on Japanese government bond yields and could supp…", "publisher": null, "published_at": "2026-09-17T20:54:26+00:00", "currencies": ["JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": -0.5, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.1003, "model_conf": 0.4306, "model_margin": 0.1003, "model_ms": 1.28, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.1073, "model_h_conf": 0.4029, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d399757bf3fee04301a91bd3bf58b5aa562f44b48e1be4c8312661ba42ecad10", "headline": "Preview: BoJ rate hike bet stays intact as Japan awaits August CPI", "description": "Japan's inflation data typically carries limited standalone weight on the yen and JGB yields when a Bank of Japan decision lands the same day, and today looks no different. Traders are more focused on the outcome of the BoJ meeting and Governor Ueda's press conference this afternoon than on the CPI print itself, given a rate hike is already close to fully priced by swap markets. A core reading in line with the 1.8% consensus would likely do little to alter that path, while a surprise miss or bea…", "publisher": null, "published_at": "2026-09-17T20:41:45+00:00", "currencies": ["JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": -0.5, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.3815, "model_conf": 0.5746, "model_margin": 0.3424, "model_ms": 1.26, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.7609, "model_h_conf": 0.8423, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d39288f6e5c428493d5ada7b91dcf30afbfaa99099b0c5f20cb20c7b677b9240", "headline": "Nasdaq leads a broad Wall Street rally as Treasury yields fall", "description": "U.S. stocks closed sharply higher, with the Nasdaq Composite and Nasdaq 100 leading the advance. The rally was broad enough to lift all five major indices, although small-cap stocks lagged behind their technology-heavy counterparts. Falling Treasury yields provided an important tailwind. The 10-year yield declined nearly 7 basis points, while the 30-year moved further below 5.00%. Lower yields reduce the discount rate applied to future corporate earnings, which tends to be especially supportive…", "publisher": null, "published_at": "2026-09-17T20:15:59+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.6, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.5664, "model_conf": 0.734, "model_margin": 0.5664, "model_ms": 1.39, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.3229, "model_h_conf": 0.6388, "kw_xau": 1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "93130d2d6f6951b572942b59ce73b6f6c45d6ade1f4b9dca2c51495080b90a0c", "headline": "Economic and event calendar in Asia Friday, September 18, 2026 - BoJ and RBA", "description": "Plenty of big events to come during the Asian timezone today. I'll get previews posted of all of these separately, just a few brief notes for now. Japanese inflation data for August. We have already seen Augusy CPI data for the Tokyo area: Tokyo core CPI rose 1.8% y/y in August, beating forecasts of 1.7% and nearing the BOJ's 2% target, with the closely watched core-core measure hitting 2.0%, adding to the case for a September rate hike. I don't want to overplay the importance of this data from…", "publisher": null, "published_at": "2026-09-17T20:22:11+00:00", "currencies": ["JPY", "AUD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": 0.0626, "model_conf": 0.5715, "model_margin": 0.3259, "model_ms": 1.26, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": 0.0353, "model_h_conf": 0.7105, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "67fbdf1b7a01c7bc152e572ab6ad755ece47307177be275e59a69b0a61384d43", "headline": "Former Atlanta Fed President: The inflation portion of the Fed mandate is far more concerning", "description": "Historically supply shocks hit and resolve quickly but they're lingering longer and it takes time to work its way through, that can feed into expectations Said he was pleased that Warsh doubled down on Jackson Hole speech The number of families that are being stressed by prices has risen on a consistent basis If the Fed doesn't create an environment where people think prices are going to flatten then it's a problem Inflation expectations are solid until they aren't I don't think it's in our inte…", "publisher": null, "published_at": "2026-09-17T15:14:12+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": true, "in_training": false, "archived_source": "llm", "archived_xau": null, "archived_s": -0.3, "ds_s": 0.4, "ds_xau": -0.6, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.3007, "model_conf": 0.4967, "model_margin": 0.1894, "model_ms": 1.28, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.2746, "model_h_conf": 0.4258, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "a879744851cbb297eea4fceadc7b7dbb65d49e89ca9809b50941d645cb779eee", "headline": "The smallest hiking cycle the Fed has ever done is 137 basis points", "description": "Welcome to the new rate-hike cycle. The FOMC delivered on the market's expectation for a rate hike yesterday and moved the Fed funds range to 3.75-4.00% from 3.50-3.75%. A hawkish Q&A from Fed Chairman Kevin Warsh left the market thinking there's an even chance of a second hike in October but there are still plenty of doves out there, who think inflation is transitory and will be quickly defeated. Part of the reason for that is that the starting point of this rate hiking cycle is relatively high…", "publisher": null, "published_at": "2026-09-17T15:05:32+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": true, "in_training": false, "archived_source": "llm", "archived_xau": null, "archived_s": -0.4, "ds_s": 0.4, "ds_xau": -0.6, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": -0.081, "model_conf": 0.3855, "model_margin": 0.0377, "model_ms": 1.28, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.2699, "model_h_conf": 0.5097, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "ce258f106e1baf48367106057674ef3b237060f140408d094279a06af1098231", "headline": "USDCAD breaks higher after the Fed. Can buyers hold the breakout? Or will sellers take back control?", "description": "The USDCAD has moved higher following the FOMC rate decision, breaking above a cluster of important technical levels. That has shifted more control to the buyers, but the next step is holding the breakout and working through resistance near the 1.4000 level. Before the decision, the price was trading between the 200-bar moving average on the four-hour chart at 1.3888 and the 100-day moving average at 1.3939. The post-FOMC move carried the pair above the 100-day moving average, the 38.2% retracem…", "publisher": null, "published_at": "2026-09-17T14:47:06+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": true, "in_training": false, "archived_source": "llm", "archived_xau": null, "archived_s": 0.2, "ds_s": 0.3, "ds_xau": -0.4, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.4199, "model_conf": 0.5878, "model_margin": 0.3436, "model_ms": 1.35, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.2853, "model_h_conf": 0.5322, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "538461a7d1deef97415564ba84a09119903a8ec81b8cf79b1d57e81cd703bb44", "headline": "BOE's Bailey: Decision on rates will get more difficult the longer the Iran conflict continues", "description": "Still early days on inflation risks from Iran war, so far it's quite subdued We have been working on QT plan since before Iran war He as asked about four hikes being priced in and said they did not discuss the prospect of hiking four times Not much to go on so far, typical Bailey. This article was written by Adam Button at investinglive.com.", "publisher": null, "published_at": "2026-09-17T13:32:20+00:00", "currencies": ["GBP"], "mentions_gold": false, "seen_in_archive": true, "in_training": false, "archived_source": "llm", "archived_xau": null, "archived_s": -0.2, "ds_s": 0.2, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.2156, "model_conf": 0.4915, "model_margin": 0.2156, "model_ms": 1.11, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.0383, "model_h_conf": 0.4346, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "7d2fdc930d42affbd891c666e9aed9222b806048956d396e56d515e999d21f93", "headline": "Canada August producer price index +1.3% m/m vs +0.6% prior", "description": "Prior was +0.6% Prices +13.5% y/y vs +12.4% prior Raw materials price index +3.1% m/m vs -2.1% prior Raw materials price index +22.8% y/y vs +18.2% prior Those are some real inflation pressures and help to explain why central banks are so worried. This article was written by Adam Button at investinglive.com.", "publisher": null, "published_at": "2026-09-17T12:30:12+00:00", "currencies": ["CAD"], "mentions_gold": false, "seen_in_archive": true, "in_training": false, "archived_source": "llm", "archived_xau": null, "archived_s": 0.3, "ds_s": 0.2, "ds_xau": -0.2, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.2048, "model_conf": 0.4629, "model_margin": 0.1838, "model_ms": 1.1, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.1312, "model_h_conf": 0.4224, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "42844c620fc0a3596d91d91bfb38a7c1572fbaa751f9efdda3079c1e845efb94", "headline": "Bank of Japan is expected to deliver a hawkish hike, pressured by rising inflation", "description": "The Bank of Japan’s (BoJ) monetary policy meeting will close a week packed with central bank decisions on Friday, with markets particularly interested in confirming expectations of a hawkish shift that has boosted a strong Japanese Yen (JPY) recovery in September.", "publisher": null, "published_at": "2026-09-17T22:00:00+00:00", "currencies": ["JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": -0.6, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.5653, "model_conf": 0.7231, "model_margin": 0.5653, "model_ms": 1.13, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.6745, "model_h_conf": 0.8251, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "f39ee12091ce75055251e868e7ae484453a2a356394e26c533e53acef1040820", "headline": "EUR/JPY Price Forecast: Spinning tops warn bulls near 180.00", "description": "The EUR/JPY drops by about 0.08% on Thursday, forming back-to-back spinning tops near the 180.00 area, the top of a consolidation range capped to the downside by 178.00. At the time of writing, the cross-pair trades at 179.02, below its opening price.", "publisher": null, "published_at": "2026-09-17T21:44:51+00:00", "currencies": ["EUR", "JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.1725, "model_conf": 0.4701, "model_margin": 0.1725, "model_ms": 1.05, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.429, "model_h_conf": 0.609, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "6bb774ba4084bc010183798e34eb676cb5ddddf2c0ab14756534c96727576d88", "headline": "US Dollar slips against the Japanese Yen before the Bank of Japan raises rates", "description": "USD/JPY trades near 156.00 after a session high at 156.32 and a low at 155.34, which leaves it three Yen above the September 8 low and four below the September 2 high. The Bank of Japan announces at 02:45 GMT on Friday and a quarter-point increase to 1.25% is priced at 100%.", "publisher": null, "published_at": "2026-09-17T20:57:07+00:00", "currencies": ["USD", "JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": -0.4, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.314, "model_conf": 0.5591, "model_margin": 0.314, "model_ms": 1.11, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.4248, "model_h_conf": 0.6898, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d8c1607ddbdddba921c948ed2e014e8956304830c274d93af1b7c50d581431bc", "headline": "British Pound slides after the Bank of England stays put", "description": "GBP/USD trades near 1.3350 on Thursday after a session low at 1.3336, its weakest since the end of July, and it has been under its 200-day average since Wednesday.", "publisher": null, "published_at": "2026-09-17T20:56:24+00:00", "currencies": ["GBP"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.3, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.1146, "model_conf": 0.3859, "model_margin": 0.0432, "model_ms": 1.02, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.045, "model_h_conf": 0.3696, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "ba789ffb3e816d09fa5823e9a4bfbe900e6969514e765d52494179e49a0c5c5c", "headline": "GBP/JPY Price Forecast: Evening star puts 207.00 back in play", "description": "GBP/JPY makes a U-turn and loses about 0.39% on Thursday as risk appetite improves, while traders await a potential rate hike by the Bank of Japan (BoJ) later in Friday’s session. The cross-pair trades at 208.32 after reaching a high of 209.19.", "publisher": null, "published_at": "2026-09-17T20:47:09+00:00", "currencies": ["GBP", "JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.3535, "model_conf": 0.6088, "model_margin": 0.3535, "model_ms": 1.11, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": 0.1684, "model_h_conf": 0.5675, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d2c8a1e5aa941a5481950eecccaadca71de2cf4b651968bf71945e5f2998b573", "headline": "Singapore Dollar: Strong Dollar keeps pair supported – OCBC", "description": "OCBC strategist Christopher Wong highlights that Singapore Dollar (SGD) remains largely driven by the broader Dollar story after the FOMC, given its high sensitivity to USD moves.", "publisher": null, "published_at": "2026-09-17T20:12:00+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": -0.4, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.2224, "model_conf": 0.5519, "model_margin": 0.2224, "model_ms": 1.05, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.3401, "model_h_conf": 0.6358, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "e9e5609f58d12adab23b4eef9887cdd36325519b79552caf27ac93ed2cb38b2d", "headline": "Forex Today: US Dollar eases ahead of Bank of Japan decision", "description": "The US Dollar (USD) is ending Thursday softer. The US Dollar Index (DXY) hovers just above the 100.00 mark after climbing to a seven-week high earlier in the week. The sideways action follows Wednesday's decision by the Federal Reserve (Fed) to raise interest rates for the first time since 2023.", "publisher": null, "published_at": "2026-09-17T19:33:58+00:00", "currencies": ["USD", "JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.2, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.5591, "model_conf": 0.7017, "model_margin": 0.5459, "model_ms": 1.1, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4937, "model_h_conf": 0.6582, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "a31cb7f7a38b44a54beaad89def769608dad3de26779dcbb783420363bc54ef0", "headline": "Silver Price Forecast: Bulls threaten bearish setup after Fed hike", "description": "Silver (XAG/USD) surges to five-day highs above $66.00 on Thursday as traders digest the Federal Reserve (Fed) rate hike on Wednesday. Meanwhile, a drop in US Treasury yields is undermining the Greenback, which clings to early gains but has barely changed.", "publisher": null, "published_at": "2026-09-17T19:15:23+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": -0.3, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.3825, "model_conf": 0.6712, "model_margin": 0.3825, "model_ms": 1.05, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.4288, "model_h_conf": 0.6923, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "11478bcc59ae84e59b02f6576e0a1a646b6e98d716666f05f4ee1048d6e71a3a", "headline": "Gold shrugs off Fed hike as falling yields reopen path to $4,400", "description": "Gold (XAU/USD) rallies on Thursday, up by more than 2% as investors digest the latest rate hike by the Federal Reserve (Fed), while a fall in Oil prices pushed the US Dollar and US yields lower.", "publisher": null, "published_at": "2026-09-17T18:58:44+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.5, "ds_xau": 0.7, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.7302, "model_conf": 0.8589, "model_margin": 0.7302, "model_ms": 1.02, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.522, "model_h_conf": 0.7494, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "2e264fc61acd553f18594d9552e9eb3feec419e512d6e086b9b891efd60012c8", "headline": "Australian and New Zealand Dollars dig in ahead of a Japanese rate hike", "description": "The Australian Dollar (AUD) trades near 111.00 against the Japanese Yen (JPY) and the New Zealand Dollar (NZD) near 89.50 on Thursday, both a little higher and both a long way below where they were in August.", "publisher": null, "published_at": "2026-09-17T18:52:49+00:00", "currencies": ["JPY", "AUD", "NZD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": -0.3, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.5424, "model_conf": 0.7201, "model_margin": 0.5424, "model_ms": 1.03, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.8734, "model_h_conf": 0.9169, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "f5969199c4d34cea57a55e7345e4c83bbdee68a4be933a64e15176e5a67525ed", "headline": "Euro climbs as Sterling slips on cautious BoE hold", "description": "EUR/GBP is trading higher on Thursday, climbing toward the 0.8600 barrier and touching its highest in several days. The Pound has slipped across the board after the Bank of England (BoE) held interest rates and struck a more cautious tone than much of the market had priced in.", "publisher": null, "published_at": "2026-09-17T18:08:40+00:00", "currencies": ["EUR", "GBP"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.1, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.4085, "model_conf": 0.5596, "model_margin": 0.2704, "model_ms": 1.16, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.374, "model_h_conf": 0.636, "kw_xau": 1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "22f2ba3994ebf0f64c641389f1966b51d7fbe4f052387dcf0058bc8990dab233", "headline": "Singapore Dollar: Bearish bias against US Dollar - UOB", "description": "United Overseas Bank’s (UOB) Quek Ser Leang and Lee Sue Ann note USD/SGD surged to 1.2784 and closed at 1.2783, its largest one-day gain in three months, with strong momentum despite overbought conditions.", "publisher": null, "published_at": "2026-09-17T18:06:36+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.2, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.3677, "model_conf": 0.6187, "model_margin": 0.3677, "model_ms": 1.07, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.7503, "model_h_conf": 0.8685, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "caec5dbb1f65a07e62be9dd0a2f4d294e7ebf74b79407d657918304159b55ca9", "headline": "Brazilian Real: 200-DMA capping losses against US Dollar – Societe Generale", "description": "Societe Generale’s technical team notes USD/BRL’s decline stalled near 4.88 in May and the pair has since traded within a base. Price action struggles above the 200-day moving average, signalling weak upside momentum.", "publisher": null, "published_at": "2026-09-17T18:00:04+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.1696, "model_conf": 0.4996, "model_margin": 0.1696, "model_ms": 1.1, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4585, "model_h_conf": 0.6857, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "7d70601dcea5b87b1d9dc001e207f680ebac0f32af5730a75c952e0b310d8b42", "headline": "Japanese Yen awaits fresh direction from Bank of Japan interest rate decision", "description": "USD/JPY trades cautiously on Thursday as attention shifts to the Bank of Japan’s (BoJ) monetary policy decision on Friday after the Federal Reserve (Fed) delivered a widely expected 25-basis-point rate hike on Wednesday.", "publisher": null, "published_at": "2026-09-17T17:48:12+00:00", "currencies": ["JPY"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1267.299137000009, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.3252, "model_conf": 0.5727, "model_margin": 0.3252, "model_ms": 1.07, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.3041, "model_h_conf": 0.5125, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "17aa307f3f3fc14844cf1add2f771833e8ece8e8368355bb0632cc9e5803f1d9", "headline": "Australian Dollar Price Forecast: Initial support comes near 0.7070 ", "description": "The Australian Dollar (AUD) follows the rest of its risk-linked peers and manages to regain part of the ground lost in the last three days, with AUD/USD reclaiming the key 0.7100 hurdle a tad beyond on Thursday.", "publisher": null, "published_at": "2026-09-17T17:34:38+00:00", "currencies": ["USD", "AUD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": 0.0742, "model_conf": 0.3939, "model_margin": 0.0537, "model_ms": 1.01, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.3249, "model_h_conf": 0.6215, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "98f6aa7e3254111b874cbf559b8a2a373ca399c79baaae6b06d9f2f7b9775ea9", "headline": "Federal Reserve: Higher-for-longer path reshapes cuts – Rabobank", "description": "Rabobank's Senior Macro Strategist Bas van Geffen discusses the latest FOMC decision, noting a unanimous 25 bps hike in the Federal funds rate and a shift to a higher policy rate trajectory for similar inflation outcomes.", "publisher": null, "published_at": "2026-09-17T17:25:46+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": -0.6, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.054, "model_conf": 0.3796, "model_margin": 0.054, "model_ms": 1.04, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.2827, "model_h_conf": 0.5193, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "38adde0b5a35b8a36616e03b37a910c473c314666c6c1ed90ef64d2633f7f75d", "headline": "Cryptocurrencies price prediction: XRP, Zcash & SEC – American Wrap 17 September", "description": "Zcash (ZEC) rises sharply above $1,400 on Thursday as the privacy-focused token defies the broader cryptocurrency market's doldrums this week, driven primarily by macro uncertainty and regulatory headwinds.", "publisher": null, "published_at": "2026-09-17T17:20:11+00:00", "currencies": ["USD"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.3259, "model_conf": 0.5671, "model_margin": 0.3259, "model_ms": 1.07, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.0307, "model_h_conf": 0.4117, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "cbf69a64145fc4e88540adf08d287819d1fa8e7530713fd40915114dac98fadb", "headline": "Pound Sterling Price News and Forecast: GBP/USD loses its footing as BoE hold meets Fed hike", "description": "The Pound Sterling (GBP) extends its losses on Thursday after the Bank of England's (BoE) decision to hold rates unchanged in a 6-3 vote, while leaving the door open for a potential hike.", "publisher": null, "published_at": "2026-09-17T17:09:58+00:00", "currencies": ["USD", "GBP"], "mentions_gold": false, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": -0.3, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": 0.0077, "model_conf": 0.408, "model_margin": 0.1082, "model_ms": 1.02, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.1894, "model_h_conf": 0.4446, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "3c3879b476d523dc6be7ce5d04ef585a6757c9f8b8e9ee4f79138bedd29bcca9", "headline": "Gold price today, Thursday, September 17, 2026: Gold prices relatively stable following Fed rate increase - finance.yahoo.com", "description": "Gold price today, Thursday, September 17, 2026: Gold prices relatively stable following Fed rate increase finance.yahoo.com", "publisher": "finance.yahoo.com", "published_at": "2026-09-17T11:08:52+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": -0.5, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.6103, "model_conf": 0.7277, "model_margin": 0.5727, "model_ms": 1.01, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.5816, "model_h_conf": 0.6933, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "e86beea11a01b3255c36d05fd7410505a4841fd7dfd1925737a9ec7a9afb2fc7", "headline": "Gold price holding near session highs as US pending home sales rise 0.3% - KITCO", "description": "Gold price holding near session highs as US pending home sales rise 0.3% KITCO", "publisher": "KITCO", "published_at": "2026-09-17T18:02:10+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.3969, "model_conf": 0.6721, "model_margin": 0.3969, "model_ms": 0.9, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.364, "model_h_conf": 0.6535, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "2ea81037c81aff0a7c5eceedc33eac5103070752adf46f5cd217c27dc40dad74", "headline": "Gold rebounds after Fed rate rise as banks back long-term demand outlook - South China Morning Post", "description": "Gold rebounds after Fed rate rise as banks back long-term demand outlook South China Morning Post", "publisher": "South China Morning Post", "published_at": "2026-09-17T01:08:08+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": 0.4, "archived_s": -0.2, "ds_s": 0.3, "ds_xau": 0.4, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.9054, "model_conf": 0.9461, "model_margin": 0.9054, "model_ms": 0.98, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.9439, "model_h_conf": 0.9685, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "550d14e35225af6e69360b1e312caef328e7a32e479e16f0b13440a460d7c491", "headline": "Gold Price September 18 2026 - Robinhood", "description": "Gold Price September 18 2026 Robinhood", "publisher": "Robinhood", "published_at": "2026-09-17T17:52:14+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": 0.0126, "model_conf": 0.9341, "model_margin": 0.8949, "model_ms": 0.89, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": 0.0129, "model_h_conf": 0.9336, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "e8740a5c916da1c879e069fd95580a14eda399848a8ca2367a6767311a1ab9f0", "headline": "India gold market update: Cautious festive optimism | Post by Kavita Chacko | Insights - World Gold Council", "description": "India gold market update: Cautious festive optimism | Post by Kavita Chacko | Insights World Gold Council", "publisher": "World Gold Council", "published_at": "2026-09-17T07:59:07+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": 0.3, "archived_s": 0.1, "ds_s": 0.2, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.7874, "model_conf": 0.8478, "model_margin": 0.756, "model_ms": 0.96, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.7873, "model_h_conf": 0.8477, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "4db0e403fb686177eb5c99b1a67436e79cd56e66adcb27ef0414cceaf66a2751", "headline": "Current price of gold as of September 17, 2026 - Fortune", "description": "Current price of gold as of September 17, 2026 Fortune", "publisher": "Fortune", "published_at": "2026-09-17T12:59:00+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": -0.0177, "model_conf": 0.9522, "model_margin": 0.9195, "model_ms": 0.98, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": -0.0185, "model_h_conf": 0.9505, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "a1ea520a0f44c242f13842fb1b4dd47231a6cb55e71a455f4255084fff67e178", "headline": "Gold Recovers From Post-Fed Lows as Interest-Rate Outlook Weighs on Prices - finance.yahoo.com", "description": "Gold Recovers From Post-Fed Lows as Interest-Rate Outlook Weighs on Prices finance.yahoo.com", "publisher": "finance.yahoo.com", "published_at": "2026-09-17T09:19:53+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.4724, "model_conf": 0.7296, "model_margin": 0.4724, "model_ms": 0.96, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.7243, "model_h_conf": 0.8586, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "545415db12c8a1192e9964874283a482aab1369739c2153af3410d680cbfa04b", "headline": "Gold price near high after U.S. housing starts fall 2.6%, building permits fall 2.7% in August - KITCO", "description": "Gold price near high after U.S. housing starts fall 2.6%, building permits fall 2.7% in August KITCO", "publisher": "KITCO", "published_at": "2026-09-17T12:53:08+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.4, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.2407, "model_conf": 0.5853, "model_margin": 0.2407, "model_ms": 0.94, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.1193, "model_h_conf": 0.5227, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "f271b22292cf0210261106b5274ea98dcf6042f9dd3e81e7940ddf83a414030a", "headline": "Barrick Mining Shares Rise 1.2% Following New Buy Rating and Gold Price Recovery - finance.yahoo.com", "description": "Barrick Mining Shares Rise 1.2% Following New Buy Rating and Gold Price Recovery finance.yahoo.com", "publisher": "finance.yahoo.com", "published_at": "2026-09-17T12:23:06+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.4905, "model_conf": 0.7172, "model_margin": 0.4905, "model_ms": 0.97, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.7386, "model_h_conf": 0.8562, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "2fd86adf5b43bee6fc0f4b3c15bb1bb8383f2b93b75358de94727f24c9905131", "headline": "Gold price at $4,370/oz after U.S. weekly jobless claims fall to 196k - KITCO", "description": "Gold price at $4,370/oz after U.S. weekly jobless claims fall to 196k KITCO", "publisher": "KITCO", "published_at": "2026-09-17T12:44:25+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": -0.4, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.2057, "model_conf": 0.5433, "model_margin": 0.2057, "model_ms": 0.93, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.2481, "model_h_conf": 0.5608, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "2ad38ff45c5d2e37b6788abb7d7daf993b35306b622d585913a3208f45cbae07", "headline": "Gold price trades at $4,340/oz after retail sales rise 1.2% in August - KITCO", "description": "Gold price trades at $4,340/oz after retail sales rise 1.2% in August KITCO", "publisher": "KITCO", "published_at": "2026-09-17T13:10:00+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": -0.5, "archived_s": -0.3, "ds_s": 0.2, "ds_xau": -0.4, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.6432, "model_conf": 0.7795, "model_margin": 0.6432, "model_ms": 0.89, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.6555, "model_h_conf": 0.7848, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "432b263169787e118186992e7e011a75b03f4522390e303354f9c53ec71dbeac", "headline": "Gold price rebounds above $4,340 as lower oil eases rate pressure - Kitco PM Report - KITCO", "description": "Gold price rebounds above $4,340 as lower oil eases rate pressure - Kitco PM Report KITCO", "publisher": "KITCO", "published_at": "2026-09-17T17:50:00+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.0671, "model_conf": 0.5291, "model_margin": 0.0671, "model_ms": 0.96, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4248, "model_h_conf": 0.7097, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "6bb2c505100fb08a9ebb5e5d5ce2908416e91c2341181925de6cedd1af83db88", "headline": "Philly Fed survey can't derail gold's momentum - KITCO", "description": "Philly Fed survey can't derail gold's momentum KITCO", "publisher": "KITCO", "published_at": "2026-09-17T13:52:44+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.2208, "model_conf": 0.5716, "model_margin": 0.2208, "model_ms": 0.9, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.2212, "model_h_conf": 0.5718, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "021750acac861e9f99e1f30b52a3abc72b1088e35d43c4abd3813949794198c7", "headline": "Gold price outlook: What to expect in the near term and medium term - Investing.com", "description": "Gold price outlook: What to expect in the near term and medium term Investing.com", "publisher": "Investing.com", "published_at": "2026-09-17T13:50:04+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.0391, "model_conf": 0.3565, "model_margin": 0.0303, "model_ms": 0.94, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.0052, "model_h_conf": 0.339, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "ee281423edade7b3d52c48aa0165ec4d03436a84bf33f3d7812d2274c8ea2018", "headline": "Gold Price Today: Gold Rises 2.06% on September 17, 2026 - usatoday.com", "description": "Gold Price Today: Gold Rises 2.06% on September 17, 2026 usatoday.com", "publisher": "usatoday.com", "published_at": "2026-09-17T16:13:00+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.5, "ds_xau": 0.6, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "neutral", "model_cls": 0, "model_score": 0.182, "model_conf": 0.5191, "model_margin": 0.1877, "model_ms": 0.93, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4903, "model_h_conf": 0.5988, "kw_xau": 1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "487779f5c078a63540b2365eebcf9dd3989aef0f8ef3e0faf32bc11c34fd26aa", "headline": "Gold Price Forecast: Rally Reclaims 50-Day EMA as Yields Ease - FXEmpire", "description": "Gold Price Forecast: Rally Reclaims 50-Day EMA as Yields Ease FXEmpire", "publisher": "FXEmpire", "published_at": "2026-09-17T14:19:03+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.4256, "model_conf": 0.6672, "model_margin": 0.4257, "model_ms": 0.94, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4702, "model_h_conf": 0.6967, "kw_xau": 1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "ab9eb8bbce2b6e14dceecc706683d065adda92d4938dcb77f6981e1ee514551e", "headline": "Gold Price Forecast September 2026: Fed Hikes Rates, Gold Rebounds Above US$4,300 - Mitrade", "description": "Gold Price Forecast September 2026: Fed Hikes Rates, Gold Rebounds Above US$4,300 Mitrade", "publisher": "Mitrade", "published_at": "2026-09-17T08:34:02+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": -0.5, "archived_s": 0.3, "ds_s": 0.1, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1507.4126149999074, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.0547, "model_conf": 0.4912, "model_margin": 0.0547, "model_ms": 0.95, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.3915, "model_h_conf": 0.6749, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "44595afa0603f90884e03692c151a48ea52fa4b5fa5e0a024b5e8d488789d426", "headline": "Gold Price Forecast: Fed Hike and 5% Treasury Yields Test Recovery - FXEmpire", "description": "Gold Price Forecast: Fed Hike and 5% Treasury Yields Test Recovery FXEmpire", "publisher": "FXEmpire", "published_at": "2026-09-17T10:39:50+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": -0.6, "archived_s": -0.4, "ds_s": 0.2, "ds_xau": -0.4, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.8272, "model_conf": 0.8907, "model_margin": 0.8272, "model_ms": 0.93, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.8246, "model_h_conf": 0.8889, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "da032179eb38df3311323f3e01978cd1f9e03ccf64cffd0a98d41fa8a2e01295", "headline": "Gold (XAUUSD), Silver, Platinum Forecasts – Gold Rallies As Traders Bet Fed Will Keep Inflation Under Control - FXEmpire", "description": "Gold (XAUUSD), Silver, Platinum Forecasts – Gold Rallies As Traders Bet Fed Will Keep Inflation Under Control FXEmpire", "publisher": "FXEmpire", "published_at": "2026-09-17T21:04:34+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.1559, "model_conf": 0.5514, "model_margin": 0.1559, "model_ms": 1.2, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4825, "model_h_conf": 0.7257, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "54299d403ab464a572c89c62dac257cbabeecad142a9c7594c32bcb3c302165a", "headline": "Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price - markets.businessinsider.com", "description": "Cartier announces updated PEA for the Cadillac Project: After-tax NPV5% of C$1.0 billion and after-tax IRR of 26.6% at US$3,600/oz gold price markets.businessinsider.com", "publisher": "markets.businessinsider.com", "published_at": "2026-09-17T11:53:23+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": 0.1, "archived_s": 0.2, "ds_s": 0.2, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.4872, "model_conf": 0.5534, "model_margin": 0.1729, "model_ms": 1.09, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4919, "model_h_conf": 0.5581, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "3b47fab92b42bcb0e30506aa06ee8b4e1c7d6fc7a0a7ad82b02fabd99cc0dde0", "headline": "Gold price in Philippines: Rates on September 17 - fxstreet.com", "description": "Gold price in Philippines: Rates on September 17 fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-17T05:00:16+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bearish", "model_cls": -1, "model_score": -0.3472, "model_conf": 0.507, "model_margin": 0.1738, "model_ms": 0.97, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.3303, "model_h_conf": 0.493, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "7a0cf5917e32a0e8238434d05195fcbd0025809d2a032dc29ab8a1b52da4e7b4", "headline": "Gold Price Forecast: XAU/USD gains as oil rally eases, upside seems limited amid hawkish Fed bets - fxstreet.com", "description": "Gold Price Forecast: XAU/USD gains as oil rally eases, upside seems limited amid hawkish Fed bets fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-17T10:30:21+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1221.8167600000243, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.5115, "model_conf": 0.7413, "model_margin": 0.5115, "model_ms": 1.01, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.6455, "model_h_conf": 0.8154, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d649ec9d73d3e61db79865a123cb0ba8080ec8b7b868e7ae3431ff33c8d810d3", "headline": "Gold Price Forecast: Fed Hikes Rates as Expected, May Raise Again This Year; Can Gold Hold $4,200? - TradingKey", "description": "Gold Price Forecast: Fed Hikes Rates as Expected, May Raise Again This Year; Can Gold Hold $4,200? TradingKey", "publisher": "TradingKey", "published_at": "2026-09-17T02:29:45+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": 0.2, "archived_s": -0.3, "ds_s": -0.4, "ds_xau": -0.6, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.4617, "model_conf": 0.654, "model_margin": 0.4617, "model_ms": 1.0, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4362, "model_h_conf": 0.6379, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "dbeb8d0c93011a0e8b736d04cd3ada2a58203926c1aef191e724b3346d04f9a1", "headline": "North American Gold ETF Buying Jumped From $71 Million to $7.7 Billion in One Month. Can GLDM Hold Up? - 24/7 Wall St.", "description": "North American Gold ETF Buying Jumped From $71 Million to $7.7 Billion in One Month. Can GLDM Hold Up? 24/7 Wall St.", "publisher": "24/7 Wall St.", "published_at": "2026-09-17T15:37:00+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.5, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.6569, "model_conf": 0.7723, "model_margin": 0.6569, "model_ms": 1.01, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.8046, "model_h_conf": 0.8741, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d34201d9850fde0a58d856df89603edbb627e86f9963e78a99b9f9da96d45f9d", "headline": "Gold Price Reaches JD 87.5 per Gram... - jordannews.jo", "description": "Gold Price Reaches JD 87.5 per Gram... jordannews.jo", "publisher": "jordannews.jo", "published_at": "2026-09-17T07:49:46+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": 0.4, "archived_s": 0.3, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1700.59645799995, "ds_batch_size": 25, "model_label": "bullish", "model_cls": 1, "model_score": 0.5981, "model_conf": 0.7466, "model_margin": 0.5981, "model_ms": 0.88, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.5983, "model_h_conf": 0.7467, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "d9fbd52e2063b88524389f021e80604cf736dfbe091dc689584b02fbcb2bb42a", "headline": "Gold (XAUUSD) Price Forecast: Gold Buyers Need Oil and Yields to Stay Lower - FXEmpire", "description": "Gold (XAUUSD) Price Forecast: Gold Buyers Need Oil and Yields to Stay Lower FXEmpire", "publisher": "FXEmpire", "published_at": "2026-09-17T19:59:36+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": 0.3, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.5214, "model_conf": 0.699, "model_margin": 0.5213, "model_ms": 0.93, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.4743, "model_h_conf": 0.6817, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "c6c75024399edf24fee2168cba52dea61eb3cb793672e1723aceba73c9398f18", "headline": "Gold Price Absorbs Hawkish Fed Hike—Will 4,368 Confirm a Reversal? - Action Forex", "description": "Gold Price Absorbs Hawkish Fed Hike—Will 4,368 Confirm a Reversal? Action Forex", "publisher": "Action Forex", "published_at": "2026-09-17T08:32:00+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": -0.6, "archived_s": 0.2, "ds_s": -0.4, "ds_xau": -0.5, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.8683, "model_conf": 0.9199, "model_margin": 0.8683, "model_ms": 0.96, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.9099, "model_h_conf": 0.9459, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "3d7261c986ca2aa921b23c21684322b6c9e1e70fa8d75e81bc13fde28f5124d6", "headline": "Gold price in Pakistan: Rates on September 17 - fxstreet.com", "description": "Gold price in Pakistan: Rates on September 17 fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-17T04:45:28+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "neutral", "model_cls": 0, "model_score": -0.0637, "model_conf": 0.4536, "model_margin": 0.1485, "model_ms": 0.92, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": -0.0487, "model_h_conf": 0.4646, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "dfd8bbade5165168406643ea3cb395a8a8ccf3cad27e94d980860d9cc23853c2", "headline": "Fed raises rates for first time in three years, gold and Wall Street slide in tandem - finance.biggo.com", "description": "Fed raises rates for first time in three years, gold and Wall Street slide in tandem finance.biggo.com", "publisher": "finance.biggo.com", "published_at": "2026-09-17T18:41:00+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.6, "ds_xau": -0.7, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.6756, "model_conf": 0.75, "model_margin": 0.5744, "model_ms": 0.99, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.8572, "model_h_conf": 0.891, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "2ae46ef3f70bcdc8f539fb68315991e5fec8ae4deb5b8da4cefe8094abb20823", "headline": "Gold Holds Decline After Fed Tilts Hawkish and Raises Rates - Bloomberg.com", "description": "Gold Holds Decline After Fed Tilts Hawkish and Raises Rates Bloomberg.com", "publisher": "Bloomberg.com", "published_at": "2026-09-16T23:54:12+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.5, "ds_xau": -0.6, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.9056, "model_conf": 0.9355, "model_margin": 0.9009, "model_ms": 0.96, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.9734, "model_h_conf": 0.982, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "c491be753795aa040d511b3513ce894d6cf8c0c5516241b35aadc6f256d0e081", "headline": "Gold price rebounds as oil prices fall, Treasury yields ease - mining.com.au", "description": "Gold price rebounds as oil prices fall, Treasury yields ease mining.com.au", "publisher": "mining.com.au", "published_at": "2026-09-17T21:22:30+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.1755, "model_conf": 0.5786, "model_margin": 0.1755, "model_ms": 0.95, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.2369, "model_h_conf": 0.6128, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "3d357d9e71ef1bdff981d56a82e3d08a65174ee116482e262afe27826369314e", "headline": "Gold: As AI Tech Depreciates And Dollar Burns, Hoard Shiny Rocks (Commodity:XAUUSD: CUR) - Seeking Alpha", "description": "Gold: As AI Tech Depreciates And Dollar Burns, Hoard Shiny Rocks (Commodity:XAUUSD: CUR) Seeking Alpha", "publisher": "Seeking Alpha", "published_at": "2026-09-17T15:29:35+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": 0.4, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.4545, "model_conf": 0.5812, "model_margin": 0.2891, "model_ms": 1.06, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4544, "model_h_conf": 0.581, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "257eff5b924014492bd0bf2325eef51e965d92f06d021c0ba9de95fcc9d822a4", "headline": "Gold Price Forecast: XAU/USD bounces but not out of the woods yet - fxstreet.com", "description": "Gold Price Forecast: XAU/USD bounces but not out of the woods yet fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-17T03:09:49+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.7223, "model_conf": 0.782, "model_margin": 0.6237, "model_ms": 0.93, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.7263, "model_h_conf": 0.7836, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "1da6b6c76a59851d6ca0d069825558146cca9a96bdfe6c7ff38db27a4981b429", "headline": "Gold price in Malaysia: Rates on September 17 - fxstreet.com", "description": "Gold price in Malaysia: Rates on September 17 fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-17T04:30:10+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "neutral", "model_cls": 0, "model_score": -0.1338, "model_conf": 0.6746, "model_margin": 0.4451, "model_ms": 0.89, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": -0.1229, "model_h_conf": 0.6859, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "f8377d0f00881c18370228f7b76a0d69c450733e218bc9cc64b69f033d9fb30e", "headline": "This Gold ETF Turns a Non-Yielding Asset Into Monthly Income—But There’s a Catch - MarketBeat", "description": "This Gold ETF Turns a Non-Yielding Asset Into Monthly Income—But There’s a Catch MarketBeat", "publisher": "MarketBeat", "published_at": "2026-09-17T11:54:48+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.1, "ds_xau": 0.1, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "neutral", "model_cls": 0, "model_score": 0.1189, "model_conf": 0.3914, "model_margin": 0.0276, "model_ms": 1.0, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": 0.1191, "model_h_conf": 0.3912, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "579bacba470725bcfe07a8ce808e3b2708f9a4d2050922766dfb422bc19060ee", "headline": "Gold Majors Are Returning Record Cash Instead of Building New Mines - TradingView", "description": "Gold Majors Are Returning Record Cash Instead of Building New Mines TradingView", "publisher": "TradingView", "published_at": "2026-09-17T13:25:00+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.2, "ds_xau": 0.2, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "neutral", "model_cls": 0, "model_score": 0.1973, "model_conf": 0.4441, "model_margin": 0.0674, "model_ms": 0.91, "model_h_label": "neutral", "model_h_cls": 0, "model_h_score": 0.1965, "model_h_conf": 0.4445, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "888dd66b75b360886b6b207f127354294fc15d0a9083c2f71a1da49a36af6df1", "headline": "Gold (XAU/USD) & Silver Price Forecast: Metals Rebound but Hawkish Fed Caps Upside - FXEmpire", "description": "Gold (XAU/USD) & Silver Price Forecast: Metals Rebound but Hawkish Fed Caps Upside FXEmpire", "publisher": "FXEmpire", "published_at": "2026-09-17T07:36:59+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": true, "archived_source": "llm", "archived_xau": -0.4, "archived_s": -0.2, "ds_s": -0.2, "ds_xau": -0.3, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.7022, "model_conf": 0.8319, "model_margin": 0.7022, "model_ms": 0.96, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.7812, "model_h_conf": 0.877, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "0ad2b64e44b3a272fb9499c63fb500be49cdc5840edc9c3e775b18a32cde6951", "headline": "Agnico-backed Cartier lowers Cadillac spend in Quebec gold belt - The Northern Miner", "description": "Agnico-backed Cartier lowers Cadillac spend in Quebec gold belt The Northern Miner", "publisher": "The Northern Miner", "published_at": "2026-09-17T14:37:46+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.4128, "model_conf": 0.5754, "model_margin": 0.3133, "model_ms": 0.94, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.4135, "model_h_conf": 0.576, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "634db2d750fbcaa24ccd13c7604f2d5c8a7aa733c4afe8eb3ca3e98d24284c4d", "headline": "Gold extends fragile recovery from multi-week low as softer bond yields weigh on USD - fxstreet.com", "description": "Gold extends fragile recovery from multi-week low as softer bond yields weigh on USD fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-17T07:57:44+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.5946, "model_conf": 0.7736, "model_margin": 0.5946, "model_ms": 0.98, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.7781, "model_h_conf": 0.8769, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "cd3ce4733f522ec51d83b5947ccb856e4cde306e4dfa5d3e37fb6939440ba133", "headline": "Gold and silver prices rise sharply as dollar w... - pluang.com", "description": "Gold and silver prices rise sharply as dollar w... pluang.com", "publisher": "pluang.com", "published_at": "2026-09-17T21:14:14+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.5, "ds_xau": 0.6, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.6605, "model_conf": 0.8131, "model_margin": 0.6605, "model_ms": 0.93, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.8442, "model_h_conf": 0.9148, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "66a092984afdc8db8b422995b54e624218999e74642ac4cd7ed5af4504403fbd", "headline": "UBS expects gold volatility near term, remains constructive on 12-month outlook By Investing.com - Investing.com South Africa", "description": "UBS expects gold volatility near term, remains constructive on 12-month outlook By Investing.com Investing.com South Africa", "publisher": "Investing.com South Africa", "published_at": "2026-09-17T14:05:43+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": 0.4, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.1142, "model_conf": 0.4969, "model_margin": 0.1142, "model_ms": 0.98, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.1539, "model_h_conf": 0.511, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "0e4370f307e9edef8c1cb3588574a827a4772f765cb4a87d105d82c522555e22", "headline": "Gold Price Reclaims $4,300 After a $125 Fed Whipsaw, but Futures Still Trail Settlement - ts2.tech", "description": "Gold Price Reclaims $4,300 After a $125 Fed Whipsaw, but Futures Still Trail Settlement ts2.tech", "publisher": "ts2.tech", "published_at": "2026-09-17T04:25:16+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.3, "ds_xau": 0.4, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.7447, "model_conf": 0.8382, "model_margin": 0.7447, "model_ms": 0.96, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.7448, "model_h_conf": 0.8383, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "0389c015c18ef67458311e1631b3918120fb4c39a9432363d616fec4d3fa02c7", "headline": "Gold Price vs Fed Interest Rates: How Do Interest Rates Affect Gold Prices Globally? - Jagran Josh", "description": "Gold Price vs Fed Interest Rates: How Do Interest Rates Affect Gold Prices Globally? Jagran Josh", "publisher": "Jagran Josh", "published_at": "2026-09-17T15:35:12+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": true, "in_training": false, "archived_source": "keyword", "archived_xau": null, "archived_s": null, "ds_s": 0.0, "ds_xau": 0.0, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.0628, "model_conf": 0.4067, "model_margin": 0.0628, "model_ms": 0.94, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.052, "model_h_conf": 0.3999, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "8cfed657304ab1d6c036be3da058b2b0c5a8a9aaf561474365d9f7e318c9727e", "headline": "Gold falls to near $4,250 after Fed delivers rate hike - fxstreet.com", "description": "Gold falls to near $4,250 after Fed delivers rate hike fxstreet.com", "publisher": "fxstreet.com", "published_at": "2026-09-16T23:25:30+00:00", "currencies": ["USD", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.6, "ds_xau": -0.7, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.9778, "model_conf": 0.9874, "model_margin": 0.9778, "model_ms": 0.94, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.9927, "model_h_conf": 0.9958, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "ea271cf432444889e04775d5bdb50fe9f5bd9dffcb98f656eb98ac3c382331bd", "headline": "Gold Forecast: Bearish Pressure Meets Falling Wedge - FXEmpire", "description": "Gold Forecast: Bearish Pressure Meets Falling Wedge FXEmpire", "publisher": "FXEmpire", "published_at": "2026-09-17T03:39:00+00:00", "currencies": ["XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": -0.4, "ds_xau": -0.5, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.8084, "model_conf": 0.8695, "model_margin": 0.7999, "model_ms": 0.95, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.8069, "model_h_conf": 0.8678, "kw_xau": -1.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "790773fed38824df1d0dd755bba3aab0c557a58bcab9f3805e4745e5eee06963", "headline": "Gold prices rise after Bank of England holds ra... - pluang.com", "description": "Gold prices rise after Bank of England holds ra... pluang.com", "publisher": "pluang.com", "published_at": "2026-09-17T11:54:09+00:00", "currencies": ["GBP", "XAU"], "mentions_gold": true, "seen_in_archive": false, "in_training": false, "archived_source": null, "archived_xau": null, "archived_s": null, "ds_s": 0.4, "ds_xau": 0.5, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bullish", "model_cls": 1, "model_score": 0.9423, "model_conf": 0.9599, "model_margin": 0.9373, "model_ms": 0.89, "model_h_label": "bullish", "model_h_cls": 1, "model_h_score": 0.9742, "model_h_conf": 0.9826, "kw_xau": 0.0}
|
||||
{"run_ts": "2026-09-17T22:41:28.064519+00:00", "hash": "5b372e02f4cd6fad01437ba03fde04f6132b130d21b99177f0ccc9206a886ee8", "headline": "Bank of England defies Fed’s rate-hike lead, leaving rates unchanged", "description": "The Bank of England kept rates steady Thursday, even after U.K. inflation rose to 3.1% and energy costs put pressure on prices.", "publisher": null, "published_at": "2026-09-17T12:27:10+00:00", "currencies": ["USD", "GBP"], "mentions_gold": false, "seen_in_archive": true, "in_training": false, "archived_source": "llm", "archived_xau": null, "archived_s": -0.3, "ds_s": 0.3, "ds_xau": 0.4, "ds_cached": true, "ds_batch_ms": 1670.096349000005, "ds_batch_size": 24, "model_label": "bearish", "model_cls": -1, "model_score": -0.3211, "model_conf": 0.5609, "model_margin": 0.3211, "model_ms": 1.0, "model_h_label": "bearish", "model_h_cls": -1, "model_h_score": -0.7429, "model_h_conf": 0.8388, "kw_xau": 0.0}
|
||||
Binary file not shown.
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# Runs the three evaluations with the ForexBot2 venv (it has requests,
|
||||
# pandas and the live news code; the model loads identically there).
|
||||
# Total DeepSeek spend on a first run: ~4 calls (golden) + ~4 (reprobe)
|
||||
# + one call per 25 fresh headlines (live). Everything is cached, so a
|
||||
# second run makes no calls unless new headlines arrived.
|
||||
set -euo pipefail
|
||||
PY=/home/harwinder/Development/ForexBot2/venv/bin/python
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
echo "### 1/3 golden set (independent human labels)"
|
||||
"$PY" eval_golden.py "$@"
|
||||
|
||||
echo
|
||||
echo "### 2/3 archive time-split + DeepSeek self-agreement"
|
||||
"$PY" eval_archive.py --reprobe 100 "$@"
|
||||
|
||||
echo
|
||||
echo "### 3/3 live shadow run (24 h of headlines)"
|
||||
"$PY" eval_live.py --max-age-hours 24 "$@"
|
||||
@@ -0,0 +1,6 @@
|
||||
400 weekly windows x 15 queries; 0 done, 6000 to go
|
||||
100 requests, window 2019-09-16, 3531 unique headlines, 26 req/min
|
||||
200 requests, window 2025-02-17, 7506 unique headlines, 26 req/min
|
||||
300 requests, window 2019-06-10, 11313 unique headlines, 26 req/min
|
||||
400 requests, window 2021-06-28, 15496 unique headlines, 25 req/min
|
||||
500 requests, window 2025-09-15, 19338 unique headlines, 25 req/min
|
||||
@@ -0,0 +1,20 @@
|
||||
growth: 94 windows of 30 days x 20 queries; 4245 done, 1880 to go
|
||||
100 requests, window 2023-09-13, 38522 unique headlines, 26 req/min
|
||||
200 requests, window 2020-02-01, 38742 unique headlines, 26 req/min
|
||||
300 requests, window 2019-02-06, 39126 unique headlines, 26 req/min
|
||||
400 requests, window 2022-08-19, 39452 unique headlines, 26 req/min
|
||||
500 requests, window 2025-09-02, 39819 unique headlines, 26 req/min
|
||||
600 requests, window 2023-11-12, 40298 unique headlines, 26 req/min
|
||||
700 requests, window 2026-03-31, 40734 unique headlines, 26 req/min
|
||||
800 requests, window 2025-07-04, 41074 unique headlines, 26 req/min
|
||||
900 requests, window 2020-09-28, 41336 unique headlines, 26 req/min
|
||||
1000 requests, window 2024-10-07, 41810 unique headlines, 26 req/min
|
||||
1100 requests, window 2026-06-29, 42163 unique headlines, 26 req/min
|
||||
1200 requests, window 2020-05-01, 42407 unique headlines, 26 req/min
|
||||
1300 requests, window 2021-02-25, 42948 unique headlines, 26 req/min
|
||||
1400 requests, window 2023-12-12, 43263 unique headlines, 26 req/min
|
||||
1500 requests, window 2020-06-30, 43490 unique headlines, 26 req/min
|
||||
1600 requests, window 2021-12-22, 43819 unique headlines, 26 req/min
|
||||
1700 requests, window 2022-09-18, 44095 unique headlines, 26 req/min
|
||||
1800 requests, window 2024-05-10, 44388 unique headlines, 26 req/min
|
||||
done: 1880 requests this run, 44529 unique headlines in /home/harwinder/Development/ML-NEWS/data/history.db
|
||||
@@ -0,0 +1,41 @@
|
||||
precise: 200 windows of 14 days x 21 queries; 568 done, 4200 to go
|
||||
100 requests, window 2024-07-15, 22643 unique headlines, 27 req/min
|
||||
precise: 200 windows of 14 days x 21 queries; 729 done, 4039 to go
|
||||
100 requests, window 2023-01-30, 23483 unique headlines, 27 req/min
|
||||
200 requests, window 2026-08-24, 24041 unique headlines, 26 req/min
|
||||
300 requests, window 2024-06-17, 24439 unique headlines, 26 req/min
|
||||
400 requests, window 2020-01-06, 25024 unique headlines, 26 req/min
|
||||
500 requests, window 2020-07-06, 25283 unique headlines, 26 req/min
|
||||
600 requests, window 2023-03-13, 25737 unique headlines, 26 req/min
|
||||
700 requests, window 2021-04-12, 26016 unique headlines, 26 req/min
|
||||
800 requests, window 2022-10-24, 26529 unique headlines, 26 req/min
|
||||
900 requests, window 2021-07-05, 27145 unique headlines, 26 req/min
|
||||
1000 requests, window 2026-01-26, 27546 unique headlines, 26 req/min
|
||||
1100 requests, window 2021-09-27, 28253 unique headlines, 26 req/min
|
||||
1200 requests, window 2019-06-24, 28620 unique headlines, 26 req/min
|
||||
1300 requests, window 2020-10-26, 28891 unique headlines, 26 req/min
|
||||
1400 requests, window 2024-01-29, 29175 unique headlines, 26 req/min
|
||||
1500 requests, window 2019-07-22, 29686 unique headlines, 26 req/min
|
||||
1600 requests, window 2020-09-28, 30214 unique headlines, 26 req/min
|
||||
1700 requests, window 2026-07-27, 30736 unique headlines, 26 req/min
|
||||
1800 requests, window 2024-03-11, 31133 unique headlines, 26 req/min
|
||||
1900 requests, window 2025-06-30, 31755 unique headlines, 26 req/min
|
||||
2000 requests, window 2022-06-06, 32098 unique headlines, 26 req/min
|
||||
2100 requests, window 2022-09-12, 32741 unique headlines, 26 req/min
|
||||
2200 requests, window 2020-04-13, 33019 unique headlines, 26 req/min
|
||||
2300 requests, window 2023-01-16, 33296 unique headlines, 26 req/min
|
||||
2400 requests, window 2020-03-02, 33814 unique headlines, 26 req/min
|
||||
2500 requests, window 2021-12-06, 34301 unique headlines, 26 req/min
|
||||
2600 requests, window 2024-10-21, 34714 unique headlines, 26 req/min
|
||||
2700 requests, window 2023-10-23, 35117 unique headlines, 26 req/min
|
||||
2800 requests, window 2024-12-16, 35633 unique headlines, 26 req/min
|
||||
2900 requests, window 2021-03-01, 35912 unique headlines, 26 req/min
|
||||
3000 requests, window 2021-05-24, 36290 unique headlines, 26 req/min
|
||||
3100 requests, window 2019-11-25, 36572 unique headlines, 26 req/min
|
||||
3200 requests, window 2024-02-12, 37049 unique headlines, 26 req/min
|
||||
3300 requests, window 2021-01-04, 37516 unique headlines, 26 req/min
|
||||
3400 requests, window 2022-06-20, 37890 unique headlines, 26 req/min
|
||||
3500 requests, window 2019-09-16, 38328 unique headlines, 26 req/min
|
||||
precise: 200 windows of 14 days x 21 queries; 6125 done, 523 to go
|
||||
100 requests, window 2024-03-25, 44823 unique headlines, 27 req/min
|
||||
200 requests, window 2021-10-11, 45308 unique headlines, 27 req/min
|
||||
@@ -0,0 +1,53 @@
|
||||
DeepSeek deepseek-v4-flash, prompt d32e04c6; budget 200 calls
|
||||
pools: precise 2778, broad 20532 unlabelled; picked 5000
|
||||
selected 5000 unlabelled headlines
|
||||
250 labelled, 10 calls (0 failed), 0 from cache
|
||||
DeepSeek batch of 25 failed (attempt 1/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 2/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 3/3, None) — retrying
|
||||
475 labelled, 22 calls (3 failed), 0 from cache
|
||||
DeepSeek batch of 25 failed (attempt 1/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 2/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 3/3, None) — retrying
|
||||
700 labelled, 34 calls (6 failed), 0 from cache
|
||||
950 labelled, 44 calls (6 failed), 0 from cache
|
||||
1200 labelled, 54 calls (6 failed), 0 from cache
|
||||
DeepSeek batch of 25 failed (attempt 1/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 2/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 3/3, None) — retrying
|
||||
1425 labelled, 66 calls (9 failed), 0 from cache
|
||||
1675 labelled, 76 calls (9 failed), 0 from cache
|
||||
1925 labelled, 86 calls (9 failed), 0 from cache
|
||||
2175 labelled, 96 calls (9 failed), 0 from cache
|
||||
2425 labelled, 106 calls (9 failed), 0 from cache
|
||||
2675 labelled, 116 calls (9 failed), 0 from cache
|
||||
2925 labelled, 126 calls (9 failed), 0 from cache
|
||||
3175 labelled, 136 calls (9 failed), 0 from cache
|
||||
DeepSeek batch of 25 failed (attempt 1/3, None) — retrying
|
||||
3425 labelled, 147 calls (10 failed), 0 from cache
|
||||
3675 labelled, 157 calls (10 failed), 0 from cache
|
||||
3925 labelled, 167 calls (10 failed), 0 from cache
|
||||
4175 labelled, 177 calls (10 failed), 0 from cache
|
||||
4425 labelled, 187 calls (10 failed), 0 from cache
|
||||
4675 labelled, 197 calls (10 failed), 0 from cache
|
||||
4750 labelled, 200 calls (10 failed), 0 from cache
|
||||
this run: 200 calls, 10 failed, 4750 headlines labelled
|
||||
6250 labelled headlines
|
||||
year n bear irrel bull relevant mean xau
|
||||
2009 10 0 10 0 0.0% +0.000
|
||||
2010 9 0 9 0 0.0% +0.000
|
||||
2011 10 0 10 0 0.0% +0.000
|
||||
2012 2 0 2 0 0.0% +0.000
|
||||
2015 13 0 13 0 0.0% +0.000
|
||||
2016 6 0 6 0 0.0% +0.000
|
||||
2017 30 0 30 0 0.0% +0.000
|
||||
2018 19 0 19 0 0.0% +0.000
|
||||
2019 462 23 359 58 17.5% +0.040
|
||||
2020 507 29 366 69 19.3% +0.061
|
||||
2021 638 45 496 65 17.2% +0.018
|
||||
2022 707 72 477 97 23.9% +0.020
|
||||
2023 796 55 574 108 20.5% +0.037
|
||||
2024 807 48 568 139 23.2% +0.062
|
||||
2025 1067 97 543 329 39.9% +0.118
|
||||
2026 1167 218 559 258 40.8% +0.005
|
||||
(relevant = |xau| >= 0.25, irrel = |xau| <= 0.10, the rest is the grey zone)
|
||||
@@ -0,0 +1,44 @@
|
||||
DeepSeek deepseek-v4-flash, prompt d32e04c6; budget 200 calls
|
||||
pools: precise 6600, broad 0 unlabelled; picked 5000
|
||||
selected 5000 unlabelled headlines
|
||||
250 labelled, 10 calls (0 failed), 0 from cache
|
||||
500 labelled, 20 calls (0 failed), 0 from cache
|
||||
DeepSeek batch of 25 failed (attempt 1/3, None) — retrying
|
||||
750 labelled, 31 calls (1 failed), 0 from cache
|
||||
1000 labelled, 41 calls (1 failed), 0 from cache
|
||||
1250 labelled, 51 calls (1 failed), 0 from cache
|
||||
1500 labelled, 61 calls (1 failed), 0 from cache
|
||||
1750 labelled, 71 calls (1 failed), 0 from cache
|
||||
2000 labelled, 81 calls (1 failed), 0 from cache
|
||||
2250 labelled, 91 calls (1 failed), 0 from cache
|
||||
2500 labelled, 101 calls (1 failed), 0 from cache
|
||||
2750 labelled, 111 calls (1 failed), 0 from cache
|
||||
3000 labelled, 121 calls (1 failed), 0 from cache
|
||||
3250 labelled, 131 calls (1 failed), 0 from cache
|
||||
3500 labelled, 141 calls (1 failed), 0 from cache
|
||||
3750 labelled, 151 calls (1 failed), 0 from cache
|
||||
4000 labelled, 161 calls (1 failed), 0 from cache
|
||||
4250 labelled, 171 calls (1 failed), 0 from cache
|
||||
4500 labelled, 181 calls (1 failed), 0 from cache
|
||||
4750 labelled, 191 calls (1 failed), 0 from cache
|
||||
4975 labelled, 200 calls (1 failed), 0 from cache
|
||||
this run: 200 calls, 1 failed, 4975 headlines labelled
|
||||
14625 labelled headlines
|
||||
year n bear irrel bull relevant mean xau
|
||||
2009 10 0 10 0 0.0% +0.000
|
||||
2010 10 0 10 0 0.0% +0.000
|
||||
2011 10 0 10 0 0.0% +0.000
|
||||
2012 2 0 2 0 0.0% +0.000
|
||||
2015 13 0 13 0 0.0% +0.000
|
||||
2016 6 0 6 0 0.0% +0.000
|
||||
2017 33 0 33 0 0.0% +0.000
|
||||
2018 19 0 19 0 0.0% +0.000
|
||||
2019 1003 78 648 184 26.1% +0.056
|
||||
2020 1211 80 762 219 24.7% +0.064
|
||||
2021 1264 104 876 151 20.2% +0.018
|
||||
2022 1536 145 930 284 27.9% +0.045
|
||||
2023 1691 145 1082 295 26.0% +0.046
|
||||
2024 2047 132 1325 408 26.4% +0.071
|
||||
2025 3071 222 1671 829 34.2% +0.109
|
||||
2026 2699 345 1379 635 36.3% +0.047
|
||||
(relevant = |xau| >= 0.25, irrel = |xau| <= 0.10, the rest is the grey zone)
|
||||
@@ -0,0 +1,25 @@
|
||||
DeepSeek deepseek-v4-flash, prompt d32e04c6; budget 20 calls
|
||||
pools: precise 3137, broad 20533 unlabelled; picked 500
|
||||
selected 500 unlabelled headlines
|
||||
250 labelled, 10 calls (0 failed), 0 from cache
|
||||
500 labelled, 20 calls (0 failed), 0 from cache
|
||||
this run: 20 calls, 0 failed, 500 headlines labelled
|
||||
1500 labelled headlines
|
||||
year n bear irrel bull relevant mean xau
|
||||
2009 4 0 4 0 0.0% +0.000
|
||||
2010 6 0 6 0 0.0% +0.000
|
||||
2011 9 0 9 0 0.0% +0.000
|
||||
2012 2 0 2 0 0.0% +0.000
|
||||
2015 8 0 8 0 0.0% +0.000
|
||||
2016 5 0 5 0 0.0% +0.000
|
||||
2017 12 0 12 0 0.0% +0.000
|
||||
2018 10 0 10 0 0.0% +0.000
|
||||
2019 149 13 112 16 19.5% +0.022
|
||||
2020 157 10 117 19 18.5% +0.042
|
||||
2021 201 17 154 23 19.9% +0.020
|
||||
2022 188 17 129 29 24.5% +0.034
|
||||
2023 194 13 150 19 16.5% +0.018
|
||||
2024 226 11 164 40 22.6% +0.066
|
||||
2025 191 17 117 38 28.8% +0.062
|
||||
2026 138 22 71 28 36.2% +0.004
|
||||
(relevant = |xau| >= 0.25, irrel = |xau| <= 0.10, the rest is the grey zone)
|
||||
@@ -0,0 +1,49 @@
|
||||
DeepSeek deepseek-v4-flash, prompt d32e04c6; budget 140 calls
|
||||
pools: precise 3491, broad 18244 unlabelled; picked 3500
|
||||
selected 3500 unlabelled headlines
|
||||
250 labelled, 10 calls (0 failed), 0 from cache
|
||||
500 labelled, 20 calls (0 failed), 0 from cache
|
||||
750 labelled, 30 calls (0 failed), 0 from cache
|
||||
1000 labelled, 40 calls (0 failed), 0 from cache
|
||||
1250 labelled, 50 calls (0 failed), 0 from cache
|
||||
DeepSeek batch of 25 failed (attempt 1/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 2/3, None) — retrying
|
||||
DeepSeek batch of 25 failed (attempt 3/3, None) — retrying
|
||||
1475 labelled, 62 calls (3 failed), 0 from cache
|
||||
1725 labelled, 72 calls (3 failed), 0 from cache
|
||||
1975 labelled, 82 calls (3 failed), 0 from cache
|
||||
WARNING llm_client: DeepSeek HTTP 502: <html>
|
||||
<head><title>502 Bad Gateway</title></head>
|
||||
<body>
|
||||
<center><h1>502 Bad Gateway</h1></center>
|
||||
<hr><center>nginx</center>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
DeepSeek batch of 25 failed (attempt 1/3, (1790538226.2151284, 'http_502')) — retrying
|
||||
2225 labelled, 93 calls (4 failed), 0 from cache
|
||||
2475 labelled, 103 calls (4 failed), 0 from cache
|
||||
2725 labelled, 113 calls (4 failed), 0 from cache
|
||||
2975 labelled, 123 calls (4 failed), 0 from cache
|
||||
3225 labelled, 133 calls (4 failed), 0 from cache
|
||||
3400 labelled, 140 calls (4 failed), 0 from cache
|
||||
this run: 140 calls, 4 failed, 3400 headlines labelled
|
||||
9650 labelled headlines
|
||||
year n bear irrel bull relevant mean xau
|
||||
2009 10 0 10 0 0.0% +0.000
|
||||
2010 10 0 10 0 0.0% +0.000
|
||||
2011 10 0 10 0 0.0% +0.000
|
||||
2012 2 0 2 0 0.0% +0.000
|
||||
2015 13 0 13 0 0.0% +0.000
|
||||
2016 6 0 6 0 0.0% +0.000
|
||||
2017 33 0 33 0 0.0% +0.000
|
||||
2018 19 0 19 0 0.0% +0.000
|
||||
2019 653 48 423 135 28.0% +0.073
|
||||
2020 701 58 438 139 28.1% +0.075
|
||||
2021 790 71 562 103 22.0% +0.025
|
||||
2022 1091 127 641 207 30.6% +0.037
|
||||
2023 1184 121 731 225 29.2% +0.045
|
||||
2024 1270 106 753 307 32.5% +0.086
|
||||
2025 2010 188 953 660 42.2% +0.130
|
||||
2026 1848 316 823 495 43.9% +0.042
|
||||
(relevant = |xau| >= 0.25, irrel = |xau| <= 0.10, the rest is the grey zone)
|
||||
@@ -0,0 +1,69 @@
|
||||
### small_lr5e5_e8 --epochs 8
|
||||
epoch 1: loss 1.6317 dev 3-class 0.680 rel F1 0.744 dir acc 0.630 thr 0.4 (3s)
|
||||
epoch 2: loss 0.9693 dev 3-class 0.755 rel F1 0.758 dir acc 0.852 thr 0.5 (6s)
|
||||
epoch 3: loss 0.5949 dev 3-class 0.735 rel F1 0.828 dir acc 0.852 thr 0.25 (9s)
|
||||
epoch 4: loss 0.3509 dev 3-class 0.745 rel F1 0.868 dir acc 0.778 thr 0.45 (11s)
|
||||
epoch 5: loss 0.2509 dev 3-class 0.755 rel F1 0.835 dir acc 0.870 thr 0.2 (14s)
|
||||
epoch 6: loss 0.1451 dev 3-class 0.755 rel F1 0.867 dir acc 0.889 thr 0.65 (16s)
|
||||
epoch 7: loss 0.1023 dev 3-class 0.760 rel F1 0.813 dir acc 0.889 thr 0.25 (19s)
|
||||
epoch 8: loss 0.0671 dev 3-class 0.750 rel F1 0.881 dir acc 0.870 thr 0.65 (21s)
|
||||
best epoch 7, relevance threshold 0.25
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.681 macro-F1 0.677 rel P/R/F1 0.721/0.876/0.791 dir acc 0.913
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/small_lr5e5_e8/model.pt and meta.json
|
||||
### small_lr3e5_e6 --epochs 6 --lr 3e-5
|
||||
epoch 1: loss 1.6456 dev 3-class 0.695 rel F1 0.766 dir acc 0.685 thr 0.65 (3s)
|
||||
epoch 2: loss 1.0588 dev 3-class 0.745 rel F1 0.748 dir acc 0.815 thr 0.6 (6s)
|
||||
epoch 3: loss 0.7237 dev 3-class 0.740 rel F1 0.810 dir acc 0.852 thr 0.3 (8s)
|
||||
epoch 4: loss 0.5056 dev 3-class 0.765 rel F1 0.787 dir acc 0.833 thr 0.25 (11s)
|
||||
epoch 5: loss 0.3863 dev 3-class 0.770 rel F1 0.803 dir acc 0.870 thr 0.3 (14s)
|
||||
epoch 6: loss 0.3341 dev 3-class 0.750 rel F1 0.803 dir acc 0.870 thr 0.3 (17s)
|
||||
best epoch 5, relevance threshold 0.3
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.646 macro-F1 0.646 rel P/R/F1 0.675/0.889/0.767 dir acc 0.870
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/small_lr3e5_e6/model.pt and meta.json
|
||||
### small_lr2e5_e8 --epochs 8 --lr 2e-5
|
||||
epoch 1: loss 1.7090 dev 3-class 0.680 rel F1 0.718 dir acc 0.685 thr 0.6 (3s)
|
||||
epoch 2: loss 1.2253 dev 3-class 0.720 rel F1 0.773 dir acc 0.759 thr 0.65 (6s)
|
||||
epoch 3: loss 0.8685 dev 3-class 0.740 rel F1 0.769 dir acc 0.852 thr 0.25 (9s)
|
||||
epoch 4: loss 0.6338 dev 3-class 0.760 rel F1 0.787 dir acc 0.833 thr 0.25 (11s)
|
||||
epoch 5: loss 0.4953 dev 3-class 0.760 rel F1 0.785 dir acc 0.870 thr 0.25 (14s)
|
||||
epoch 6: loss 0.4410 dev 3-class 0.745 rel F1 0.781 dir acc 0.852 thr 0.35 (17s)
|
||||
epoch 7: loss 0.3537 dev 3-class 0.760 rel F1 0.794 dir acc 0.870 thr 0.3 (19s)
|
||||
epoch 8: loss 0.3262 dev 3-class 0.755 rel F1 0.820 dir acc 0.870 thr 0.35 (22s)
|
||||
best epoch 4, relevance threshold 0.25
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.620 macro-F1 0.624 rel P/R/F1 0.638/0.897/0.746 dir acc 0.849
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/small_lr2e5_e8/model.pt and meta.json
|
||||
### small_lr5e5_e4_s7 --epochs 4 --seed 7
|
||||
epoch 1: loss 1.5257 dev 3-class 0.625 rel F1 0.774 dir acc 0.615 thr 0.75 (3s)
|
||||
epoch 2: loss 1.0113 dev 3-class 0.685 rel F1 0.773 dir acc 0.785 thr 0.45 (6s)
|
||||
epoch 3: loss 0.6608 dev 3-class 0.710 rel F1 0.812 dir acc 0.846 thr 0.7 (9s)
|
||||
epoch 4: loss 0.4799 dev 3-class 0.720 rel F1 0.837 dir acc 0.862 thr 0.8 (12s)
|
||||
best epoch 4, relevance threshold 0.8
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.629 macro-F1 0.610 rel P/R/F1 0.818/0.759/0.787 dir acc 0.857
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/small_lr5e5_e4_s7/model.pt and meta.json
|
||||
### small_lr5e5_e4_bs32 --epochs 4 --batch-size 32
|
||||
epoch 1: loss 1.4895 dev 3-class 0.730 rel F1 0.787 dir acc 0.833 thr 0.45 (4s)
|
||||
epoch 2: loss 0.7746 dev 3-class 0.755 rel F1 0.784 dir acc 0.870 thr 0.25 (9s)
|
||||
epoch 3: loss 0.4328 dev 3-class 0.760 rel F1 0.833 dir acc 0.833 thr 0.3 (13s)
|
||||
epoch 4: loss 0.2717 dev 3-class 0.780 rel F1 0.803 dir acc 0.870 thr 0.2 (17s)
|
||||
best epoch 4, relevance threshold 0.2
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.656 macro-F1 0.656 rel P/R/F1 0.683/0.894/0.774 dir acc 0.899
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/small_lr5e5_e4_bs32/model.pt and meta.json
|
||||
### base_lr2e5_e4 --base microsoft/deberta-v3-base --epochs 4 --lr 2e-5 --batch-size 32
|
||||
epoch 1: loss 1.5986 dev 3-class 0.675 rel F1 0.775 dir acc 0.648 thr 0.75 (7s)
|
||||
epoch 2: loss 0.9843 dev 3-class 0.755 rel F1 0.778 dir acc 0.889 thr 0.45 (13s)
|
||||
epoch 3: loss 0.5717 dev 3-class 0.760 rel F1 0.797 dir acc 0.889 thr 0.4 (19s)
|
||||
epoch 4: loss 0.4177 dev 3-class 0.765 rel F1 0.800 dir acc 0.907 thr 0.45 (26s)
|
||||
best epoch 4, relevance threshold 0.45
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.638 macro-F1 0.634 rel P/R/F1 0.678/0.873/0.763 dir acc 0.886
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/base_lr2e5_e4/model.pt and meta.json
|
||||
### base_lr3e5_e6 --base microsoft/deberta-v3-base --epochs 6 --lr 3e-5 --batch-size 32
|
||||
epoch 1: loss 1.5635 dev 3-class 0.705 rel F1 0.786 dir acc 0.741 thr 0.7 (6s)
|
||||
epoch 2: loss 0.9028 dev 3-class 0.775 rel F1 0.800 dir acc 0.926 thr 0.65 (12s)
|
||||
epoch 3: loss 0.4669 dev 3-class 0.770 rel F1 0.867 dir acc 0.870 thr 0.75 (19s)
|
||||
epoch 4: loss 0.3115 dev 3-class 0.775 rel F1 0.840 dir acc 0.889 thr 0.55 (24s)
|
||||
epoch 5: loss 0.1834 dev 3-class 0.780 rel F1 0.855 dir acc 0.889 thr 0.4 (30s)
|
||||
epoch 6: loss 0.1201 dev 3-class 0.785 rel F1 0.879 dir acc 0.907 thr 0.65 (36s)
|
||||
best epoch 6, relevance threshold 0.65
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.673 macro-F1 0.671 rel P/R/F1 0.750/0.857/0.800 dir acc 0.910
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep/base_lr3e5_e6/model.pt and meta.json
|
||||
### SWEEP DONE
|
||||
@@ -0,0 +1,69 @@
|
||||
### small_e4_bs32 --epochs 4 --batch-size 32
|
||||
8887 labelled rows -> 8870 unique headlines (0 golden-set duplicates dropped)
|
||||
train n= 7460 relevant 2332 irrelevant 4492 grey 636 bull 1290 bear 1042 {'history': 5940, 'newsdata': 1520}
|
||||
dev n= 392 relevant 119 irrelevant 245 grey 28 bull 72 bear 47 {'newsdata': 82, 'history': 310}
|
||||
val n= 1018 relevant 378 irrelevant 501 grey 139 bull 171 bear 207 {'newsdata': 1018}
|
||||
epoch 1: loss 1.0518 dev 3-class 0.786 rel F1 0.820 dir acc 0.882 thr 0.6 (12s)
|
||||
epoch 2: loss 0.6078 dev 3-class 0.811 rel F1 0.877 dir acc 0.899 thr 0.65 (24s)
|
||||
epoch 3: loss 0.3592 dev 3-class 0.816 rel F1 0.841 dir acc 0.908 thr 0.4 (35s)
|
||||
epoch 4: loss 0.2141 dev 3-class 0.824 rel F1 0.865 dir acc 0.916 thr 0.25 (47s)
|
||||
best epoch 4, relevance threshold 0.25
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.708 macro-F1 0.704 rel P/R/F1 0.788/0.876/0.830 dir acc 0.907
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep2/small_e4_bs32/model.pt and meta.json
|
||||
### small_e4_bs64 --epochs 4
|
||||
8887 labelled rows -> 8870 unique headlines (0 golden-set duplicates dropped)
|
||||
train n= 7460 relevant 2332 irrelevant 4492 grey 636 bull 1290 bear 1042 {'history': 5940, 'newsdata': 1520}
|
||||
dev n= 392 relevant 119 irrelevant 245 grey 28 bull 72 bear 47 {'newsdata': 82, 'history': 310}
|
||||
val n= 1018 relevant 378 irrelevant 501 grey 139 bull 171 bear 207 {'newsdata': 1018}
|
||||
epoch 1: loss 1.0966 dev 3-class 0.755 rel F1 0.783 dir acc 0.866 thr 0.35 (8s)
|
||||
epoch 2: loss 0.5993 dev 3-class 0.816 rel F1 0.876 dir acc 0.899 thr 0.75 (15s)
|
||||
epoch 3: loss 0.3881 dev 3-class 0.824 rel F1 0.869 dir acc 0.916 thr 0.6 (23s)
|
||||
epoch 4: loss 0.2570 dev 3-class 0.821 rel F1 0.861 dir acc 0.916 thr 0.35 (30s)
|
||||
best epoch 3, relevance threshold 0.6
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.720 macro-F1 0.715 rel P/R/F1 0.803/0.884/0.841 dir acc 0.942
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep2/small_e4_bs64/model.pt and meta.json
|
||||
### small_e6_bs32 --epochs 6 --batch-size 32
|
||||
8887 labelled rows -> 8870 unique headlines (0 golden-set duplicates dropped)
|
||||
train n= 7460 relevant 2332 irrelevant 4492 grey 636 bull 1290 bear 1042 {'history': 5940, 'newsdata': 1520}
|
||||
dev n= 392 relevant 119 irrelevant 245 grey 28 bull 72 bear 47 {'newsdata': 82, 'history': 310}
|
||||
val n= 1018 relevant 378 irrelevant 501 grey 139 bull 171 bear 207 {'newsdata': 1018}
|
||||
epoch 1: loss 1.0595 dev 3-class 0.786 rel F1 0.826 dir acc 0.832 thr 0.55 (12s)
|
||||
epoch 2: loss 0.6070 dev 3-class 0.811 rel F1 0.845 dir acc 0.908 thr 0.35 (24s)
|
||||
epoch 3: loss 0.3743 dev 3-class 0.811 rel F1 0.855 dir acc 0.891 thr 0.25 (35s)
|
||||
epoch 4: loss 0.2223 dev 3-class 0.814 rel F1 0.854 dir acc 0.891 thr 0.2 (47s)
|
||||
epoch 5: loss 0.1206 dev 3-class 0.814 rel F1 0.877 dir acc 0.908 thr 0.7 (59s)
|
||||
epoch 6: loss 0.0744 dev 3-class 0.811 rel F1 0.851 dir acc 0.908 thr 0.25 (70s)
|
||||
best epoch 4, relevance threshold 0.2
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.713 macro-F1 0.708 rel P/R/F1 0.811/0.876/0.842 dir acc 0.897
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep2/small_e6_bs32/model.pt and meta.json
|
||||
### small_e8_bs64 --epochs 8
|
||||
8887 labelled rows -> 8870 unique headlines (0 golden-set duplicates dropped)
|
||||
train n= 7460 relevant 2332 irrelevant 4492 grey 636 bull 1290 bear 1042 {'history': 5940, 'newsdata': 1520}
|
||||
dev n= 392 relevant 119 irrelevant 245 grey 28 bull 72 bear 47 {'newsdata': 82, 'history': 310}
|
||||
val n= 1018 relevant 378 irrelevant 501 grey 139 bull 171 bear 207 {'newsdata': 1018}
|
||||
epoch 1: loss 1.1464 dev 3-class 0.763 rel F1 0.787 dir acc 0.866 thr 0.45 (8s)
|
||||
epoch 2: loss 0.6293 dev 3-class 0.796 rel F1 0.809 dir acc 0.882 thr 0.55 (15s)
|
||||
epoch 3: loss 0.4127 dev 3-class 0.798 rel F1 0.838 dir acc 0.908 thr 0.7 (23s)
|
||||
epoch 4: loss 0.2944 dev 3-class 0.801 rel F1 0.863 dir acc 0.891 thr 0.25 (30s)
|
||||
epoch 5: loss 0.1823 dev 3-class 0.806 rel F1 0.838 dir acc 0.916 thr 0.25 (38s)
|
||||
epoch 6: loss 0.1072 dev 3-class 0.804 rel F1 0.847 dir acc 0.916 thr 0.2 (46s)
|
||||
epoch 7: loss 0.0660 dev 3-class 0.819 rel F1 0.873 dir acc 0.899 thr 0.5 (53s)
|
||||
epoch 8: loss 0.0513 dev 3-class 0.821 rel F1 0.858 dir acc 0.916 thr 0.4 (60s)
|
||||
best epoch 8, relevance threshold 0.4
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.709 macro-F1 0.704 rel P/R/F1 0.789/0.889/0.836 dir acc 0.905
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep2/small_e8_bs64/model.pt and meta.json
|
||||
### small_e6_bs32_lr3e5 --epochs 6 --batch-size 32 --lr 3e-5
|
||||
8887 labelled rows -> 8870 unique headlines (0 golden-set duplicates dropped)
|
||||
train n= 7460 relevant 2332 irrelevant 4492 grey 636 bull 1290 bear 1042 {'history': 5940, 'newsdata': 1520}
|
||||
dev n= 392 relevant 119 irrelevant 245 grey 28 bull 72 bear 47 {'newsdata': 82, 'history': 310}
|
||||
val n= 1018 relevant 378 irrelevant 501 grey 139 bull 171 bear 207 {'newsdata': 1018}
|
||||
epoch 1: loss 1.1073 dev 3-class 0.773 rel F1 0.803 dir acc 0.849 thr 0.6 (12s)
|
||||
epoch 2: loss 0.6466 dev 3-class 0.814 rel F1 0.824 dir acc 0.899 thr 0.35 (23s)
|
||||
epoch 3: loss 0.4186 dev 3-class 0.819 rel F1 0.856 dir acc 0.908 thr 0.55 (35s)
|
||||
epoch 4: loss 0.2727 dev 3-class 0.814 rel F1 0.855 dir acc 0.908 thr 0.25 (47s)
|
||||
epoch 5: loss 0.1877 dev 3-class 0.816 rel F1 0.835 dir acc 0.891 thr 0.2 (58s)
|
||||
epoch 6: loss 0.1338 dev 3-class 0.821 rel F1 0.849 dir acc 0.899 thr 0.2 (70s)
|
||||
best epoch 6, relevance threshold 0.2
|
||||
VAL (unseen 2026-09-18+, n=1018): 3-class 0.714 macro-F1 0.711 rel P/R/F1 0.779/0.897/0.834 dir acc 0.926
|
||||
wrote /tmp/claude-1000/-home-harwinder-Development-ML-NEWS/2ebe8a2c-6870-461a-bffa-60b46627e57b/scratchpad/sweep2/small_e6_bs32_lr3e5/model.pt and meta.json
|
||||
### SWEEP2 DONE
|
||||
@@ -0,0 +1,34 @@
|
||||
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
|
||||
WARNING huggingface_hub.utils._http: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
|
||||
/home/harwinder/Development/ML-NEWS/.venv-train/lib64/python3.12/site-packages/torch/jit/_script.py:1491: FutureWarning: `torch.jit.script` is deprecated. Please switch to `torch.compile` or `torch.export`.
|
||||
warnings.warn(
|
||||
3637 labelled rows -> 3620 unique headlines (0 golden-set duplicates dropped)
|
||||
splits:
|
||||
train n= 2402 relevant 757 irrelevant 1448 grey 197 bull 275 bear 482 {'history': 921, 'newsdata': 1481}
|
||||
dev n= 200 relevant 54 irrelevant 132 grey 14 bull 22 bear 32 {'newsdata': 121, 'history': 79}
|
||||
val n= 1018 relevant 378 irrelevant 501 grey 139 bull 171 bear 207 {'newsdata': 1018}
|
||||
|
||||
Loading weights: 0%| | 0/102 [00:00<?, ?it/s]
|
||||
Loading weights: 100%|██████████| 102/102 [00:00<00:00, 1282.76it/s]
|
||||
[transformers] [1mDebertaV2Model LOAD REPORT[0m from: microsoft/deberta-v3-small
|
||||
Key | Status | |
|
||||
----------------------------------------+------------+--+-
|
||||
mask_predictions.classifier.weight | UNEXPECTED | |
|
||||
lm_predictions.lm_head.LayerNorm.bias | UNEXPECTED | |
|
||||
lm_predictions.lm_head.dense.weight | UNEXPECTED | |
|
||||
mask_predictions.dense.weight | UNEXPECTED | |
|
||||
mask_predictions.LayerNorm.weight | UNEXPECTED | |
|
||||
mask_predictions.LayerNorm.bias | UNEXPECTED | |
|
||||
lm_predictions.lm_head.bias | UNEXPECTED | |
|
||||
lm_predictions.lm_head.dense.bias | UNEXPECTED | |
|
||||
mask_predictions.dense.bias | UNEXPECTED | |
|
||||
mask_predictions.classifier.bias | UNEXPECTED | |
|
||||
lm_predictions.lm_head.LayerNorm.weight | UNEXPECTED | |
|
||||
|
||||
Notes:
|
||||
- UNEXPECTED: can be ignored when loading from different task/architecture; not ok if you expect identical arch.
|
||||
epoch 1: loss 1.5514 dev 3-class 0.680 rel F1 0.780 dir acc 0.685 thr 0.3 (3s)
|
||||
epoch 2: loss 0.9117 dev 3-class 0.770 rel F1 0.787 dir acc 0.852 thr 0.55 (6s)
|
||||
epoch 3: loss 0.6081 dev 3-class 0.775 rel F1 0.813 dir acc 0.889 thr 0.2 (9s)
|
||||
epoch 4: loss 0.4231 dev 3-class 0.775 rel F1 0.813 dir acc 0.870 thr 0.25 (12s)
|
||||
best epoch 3, relevance threshold 0.2
|
||||
Binary file not shown.
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"evaluation": {
|
||||
"stratified_holdout": {
|
||||
"accuracy": 0.7295081967213115,
|
||||
"balanced_accuracy": 0.7079012345679012,
|
||||
"classification_report": {
|
||||
"accuracy": 0.7295081967213115,
|
||||
"bearish": {
|
||||
"f1-score": 0.82,
|
||||
"precision": 0.82,
|
||||
"recall": 0.82,
|
||||
"support": 50.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.7032967032967034,
|
||||
"precision": 0.6956521739130435,
|
||||
"recall": 0.7111111111111111,
|
||||
"support": 45.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.7090234294007879,
|
||||
"precision": 0.7103455964325529,
|
||||
"recall": 0.7079012345679012,
|
||||
"support": 122.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.6037735849056604,
|
||||
"precision": 0.6153846153846154,
|
||||
"recall": 0.5925925925925926,
|
||||
"support": 27.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.7291003150885613,
|
||||
"precision": 0.7288502659137014,
|
||||
"recall": 0.7295081967213115,
|
||||
"support": 122.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
41,
|
||||
2,
|
||||
7
|
||||
],
|
||||
[
|
||||
4,
|
||||
16,
|
||||
7
|
||||
],
|
||||
[
|
||||
5,
|
||||
8,
|
||||
32
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.7090234294007879,
|
||||
"score_mae": 0.2818823212040985,
|
||||
"test_examples": 122
|
||||
},
|
||||
"temporal_holdout": {
|
||||
"accuracy": 0.6967213114754098,
|
||||
"balanced_accuracy": 0.6945570783661773,
|
||||
"classification_report": {
|
||||
"accuracy": 0.6967213114754098,
|
||||
"bearish": {
|
||||
"f1-score": 0.7380952380952381,
|
||||
"precision": 0.775,
|
||||
"recall": 0.7045454545454546,
|
||||
"support": 44.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.7321428571428571,
|
||||
"precision": 0.7735849056603774,
|
||||
"recall": 0.6949152542372882,
|
||||
"support": 59.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.6706349206349206,
|
||||
"precision": 0.665620255909781,
|
||||
"recall": 0.6945570783661773,
|
||||
"support": 122.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.5416666666666666,
|
||||
"precision": 0.4482758620689655,
|
||||
"recall": 0.6842105263157895,
|
||||
"support": 19.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.7046252927400469,
|
||||
"precision": 0.7234323837153492,
|
||||
"recall": 0.6967213114754098,
|
||||
"support": 122.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
31,
|
||||
5,
|
||||
8
|
||||
],
|
||||
[
|
||||
2,
|
||||
13,
|
||||
4
|
||||
],
|
||||
[
|
||||
7,
|
||||
11,
|
||||
41
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.6706349206349206,
|
||||
"score_mae": 0.32407588182906516,
|
||||
"test_examples": 122,
|
||||
"test_from": "2026-09-16T08:27:46+00:00",
|
||||
"train_through": "2026-09-16T08:25:31+00:00"
|
||||
}
|
||||
},
|
||||
"format_version": 3,
|
||||
"model_path": "models/xauusd_sentiment.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"score_definition": "P(XAUUSD bullish) - P(XAUUSD bearish)",
|
||||
"sklearn_version": "1.9.1",
|
||||
"target": "XAUUSD",
|
||||
"trained_at": "2026-09-17T18:54:46.714699+00:00",
|
||||
"training": {
|
||||
"database": "newsdata.db",
|
||||
"domain_features": [
|
||||
"explicit_xau_direction",
|
||||
"usd_direction",
|
||||
"treasury_yield_direction",
|
||||
"hawkish_or_dovish_policy"
|
||||
],
|
||||
"duplicates_collapsed": 10,
|
||||
"examples": 606,
|
||||
"label_distribution": {
|
||||
"bearish": 250,
|
||||
"bullish": 221,
|
||||
"neutral": 135
|
||||
},
|
||||
"max_features": 50000,
|
||||
"min_df": 2,
|
||||
"neutral_threshold": 0.05,
|
||||
"random_state": 42,
|
||||
"rows_without_target_label": 930,
|
||||
"score_source": "llm",
|
||||
"skipped_rows": 0,
|
||||
"source_rows": 1546,
|
||||
"target": "XAUUSD",
|
||||
"target_labeled_rows": 616,
|
||||
"target_score_key": "XAU",
|
||||
"test_size": 0.2
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,186 @@
|
||||
{
|
||||
"evaluation": {
|
||||
"stratified_holdout": {
|
||||
"accuracy": 0.6927480916030534,
|
||||
"balanced_accuracy": 0.689958210237739,
|
||||
"classification_report": {
|
||||
"accuracy": 0.6927480916030534,
|
||||
"bearish": {
|
||||
"f1-score": 0.752,
|
||||
"precision": 0.7305699481865285,
|
||||
"recall": 0.7747252747252747,
|
||||
"support": 182.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.6230529595015576,
|
||||
"precision": 0.6369426751592356,
|
||||
"recall": 0.6097560975609756,
|
||||
"support": 164.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.6894115925611253,
|
||||
"precision": 0.6895540162110402,
|
||||
"recall": 0.689958210237739,
|
||||
"support": 524.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.6931818181818182,
|
||||
"precision": 0.7011494252873564,
|
||||
"recall": 0.6853932584269663,
|
||||
"support": 178.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.6916623072416396,
|
||||
"precision": 0.6912727614450616,
|
||||
"recall": 0.6927480916030534,
|
||||
"support": 524.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
141,
|
||||
18,
|
||||
23
|
||||
],
|
||||
[
|
||||
22,
|
||||
122,
|
||||
34
|
||||
],
|
||||
[
|
||||
30,
|
||||
34,
|
||||
100
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.6894115925611253,
|
||||
"score_mae": 0.2644602373963052,
|
||||
"test_examples": 524
|
||||
},
|
||||
"temporal_holdout": {
|
||||
"accuracy": 0.666030534351145,
|
||||
"balanced_accuracy": 0.6572494770227411,
|
||||
"classification_report": {
|
||||
"accuracy": 0.666030534351145,
|
||||
"bearish": {
|
||||
"f1-score": 0.7040498442367601,
|
||||
"precision": 0.773972602739726,
|
||||
"recall": 0.6457142857142857,
|
||||
"support": 175.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.5647840531561462,
|
||||
"precision": 0.5483870967741935,
|
||||
"recall": 0.5821917808219178,
|
||||
"support": 146.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.6592513617287779,
|
||||
"precision": 0.6664965814523229,
|
||||
"recall": 0.6572494770227411,
|
||||
"support": 524.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.7089201877934272,
|
||||
"precision": 0.6771300448430493,
|
||||
"recall": 0.7438423645320197,
|
||||
"support": 203.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.6671335737104888,
|
||||
"precision": 0.6736013754038612,
|
||||
"recall": 0.666030534351145,
|
||||
"support": 524.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
113,
|
||||
31,
|
||||
31
|
||||
],
|
||||
[
|
||||
13,
|
||||
151,
|
||||
39
|
||||
],
|
||||
[
|
||||
20,
|
||||
41,
|
||||
85
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.6592513617287779,
|
||||
"score_mae": 0.24771861749332214,
|
||||
"test_examples": 524,
|
||||
"test_from": "2026-09-21T07:34:39+00:00",
|
||||
"train_through": "2026-09-21T07:33:06+00:00"
|
||||
}
|
||||
},
|
||||
"format_version": 3,
|
||||
"model_path": "models/candidates/xau_all_20260922.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"score_definition": "P(XAUUSD bullish) - P(XAUUSD bearish)",
|
||||
"sklearn_version": "1.9.1",
|
||||
"target": "XAUUSD",
|
||||
"trained_at": "2026-09-23T00:35:47.838884+00:00",
|
||||
"training": {
|
||||
"database": "newsdata.db",
|
||||
"domain_features": [
|
||||
"explicit_xau_direction",
|
||||
"usd_direction",
|
||||
"treasury_yield_direction",
|
||||
"hawkish_or_dovish_policy"
|
||||
],
|
||||
"duplicates_collapsed": 17,
|
||||
"examples": 2620,
|
||||
"extra_labels": "eval/results/backfill_labels.jsonl",
|
||||
"label_distribution": {
|
||||
"bearish": 909,
|
||||
"bullish": 818,
|
||||
"neutral": 893
|
||||
},
|
||||
"label_priority": [
|
||||
"xau_score",
|
||||
"json",
|
||||
"extra_labels"
|
||||
],
|
||||
"label_sources": {
|
||||
"extra_labels": 933,
|
||||
"json": 640,
|
||||
"xau_score": 1064
|
||||
},
|
||||
"max_features": 50000,
|
||||
"min_df": 2,
|
||||
"neutral_threshold": 0.05,
|
||||
"published_range": [
|
||||
"2026-09-08T13:35:37+00:00",
|
||||
"2026-09-22T18:13:29+00:00"
|
||||
],
|
||||
"random_state": 42,
|
||||
"rows_without_target_label": 24,
|
||||
"scope": "all",
|
||||
"score_source": "llm",
|
||||
"skipped_rows": 0,
|
||||
"source_rows": 2661,
|
||||
"target": "XAUUSD",
|
||||
"target_labeled_rows": 2637,
|
||||
"target_score_key": "XAU",
|
||||
"test_feed_rows": 0,
|
||||
"test_size": 0.2
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"evaluation": {
|
||||
"stratified_holdout": {
|
||||
"accuracy": 0.8042328042328042,
|
||||
"balanced_accuracy": 0.7887686387686387,
|
||||
"classification_report": {
|
||||
"accuracy": 0.8042328042328042,
|
||||
"bearish": {
|
||||
"f1-score": 0.8435374149659864,
|
||||
"precision": 0.8266666666666667,
|
||||
"recall": 0.8611111111111112,
|
||||
"support": 72.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.8,
|
||||
"precision": 0.7948717948717948,
|
||||
"recall": 0.8051948051948052,
|
||||
"support": 77.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.7934598400763816,
|
||||
"precision": 0.7997720797720796,
|
||||
"recall": 0.7887686387686387,
|
||||
"support": 189.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.7368421052631579,
|
||||
"precision": 0.7777777777777778,
|
||||
"recall": 0.7,
|
||||
"support": 40.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.8032189316829489,
|
||||
"precision": 0.8033663455885677,
|
||||
"recall": 0.8042328042328042,
|
||||
"support": 189.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
62,
|
||||
3,
|
||||
7
|
||||
],
|
||||
[
|
||||
3,
|
||||
28,
|
||||
9
|
||||
],
|
||||
[
|
||||
10,
|
||||
5,
|
||||
62
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.7934598400763816,
|
||||
"score_mae": 0.24237639972402897,
|
||||
"test_examples": 189
|
||||
},
|
||||
"temporal_holdout": {
|
||||
"accuracy": 0.746031746031746,
|
||||
"balanced_accuracy": 0.7388071895424838,
|
||||
"classification_report": {
|
||||
"accuracy": 0.746031746031746,
|
||||
"bearish": {
|
||||
"f1-score": 0.8070175438596491,
|
||||
"precision": 0.8518518518518519,
|
||||
"recall": 0.7666666666666667,
|
||||
"support": 90.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.6833333333333333,
|
||||
"precision": 0.5942028985507246,
|
||||
"recall": 0.803921568627451,
|
||||
"support": 51.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.7343315184513006,
|
||||
"precision": 0.7469755150914571,
|
||||
"recall": 0.7388071895424838,
|
||||
"support": 189.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.7126436781609196,
|
||||
"precision": 0.7948717948717948,
|
||||
"recall": 0.6458333333333334,
|
||||
"support": 48.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.7496744735401722,
|
||||
"precision": 0.7678564055375648,
|
||||
"recall": 0.746031746031746,
|
||||
"support": 189.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
69,
|
||||
5,
|
||||
16
|
||||
],
|
||||
[
|
||||
5,
|
||||
31,
|
||||
12
|
||||
],
|
||||
[
|
||||
7,
|
||||
3,
|
||||
41
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.7343315184513006,
|
||||
"score_mae": 0.27303151729050784,
|
||||
"test_examples": 189,
|
||||
"test_from": "2026-09-21T02:41:59+00:00",
|
||||
"train_through": "2026-09-21T02:41:59+00:00"
|
||||
}
|
||||
},
|
||||
"format_version": 3,
|
||||
"model_path": "models/candidates/xau_gold_20260922.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"score_definition": "P(XAUUSD bullish) - P(XAUUSD bearish)",
|
||||
"sklearn_version": "1.9.1",
|
||||
"target": "XAUUSD",
|
||||
"trained_at": "2026-09-23T00:35:57.482787+00:00",
|
||||
"training": {
|
||||
"database": "newsdata.db",
|
||||
"domain_features": [
|
||||
"explicit_xau_direction",
|
||||
"usd_direction",
|
||||
"treasury_yield_direction",
|
||||
"hawkish_or_dovish_policy"
|
||||
],
|
||||
"duplicates_collapsed": 14,
|
||||
"examples": 945,
|
||||
"extra_labels": null,
|
||||
"label_distribution": {
|
||||
"bearish": 359,
|
||||
"bullish": 384,
|
||||
"neutral": 202
|
||||
},
|
||||
"label_priority": [
|
||||
"xau_score",
|
||||
"json",
|
||||
"extra_labels"
|
||||
],
|
||||
"label_sources": {
|
||||
"json": 640,
|
||||
"xau_score": 319
|
||||
},
|
||||
"max_features": 50000,
|
||||
"min_df": 2,
|
||||
"neutral_threshold": 0.05,
|
||||
"published_range": [
|
||||
"2026-09-08T13:46:00+00:00",
|
||||
"2026-09-22T18:13:29+00:00"
|
||||
],
|
||||
"random_state": 42,
|
||||
"rows_without_target_label": 1702,
|
||||
"scope": "gold",
|
||||
"score_source": "llm",
|
||||
"skipped_rows": 0,
|
||||
"source_rows": 2661,
|
||||
"target": "XAUUSD",
|
||||
"target_labeled_rows": 959,
|
||||
"target_score_key": "XAU",
|
||||
"test_feed_rows": 0,
|
||||
"test_size": 0.2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
{
|
||||
"base_model": "microsoft/deberta-v3-small",
|
||||
"trained_at": "2026-09-27T23:15:30.403442+00:00",
|
||||
"final": true,
|
||||
"max_length": 64,
|
||||
"relevant_min_abs_xau": 0.25,
|
||||
"irrelevant_max_abs_xau": 0.1,
|
||||
"relevance_threshold": 0.2,
|
||||
"best_epoch": 4,
|
||||
"hyperparameters": {
|
||||
"base": "microsoft/deberta-v3-small",
|
||||
"epochs": 4,
|
||||
"batch_size": 64,
|
||||
"lr": 5e-05,
|
||||
"warmup": 0.06,
|
||||
"weight_decay": 0.01,
|
||||
"val_from": "2026-09-18",
|
||||
"seed": 42,
|
||||
"final": true
|
||||
},
|
||||
"data": {
|
||||
"train": {
|
||||
"n": 15416,
|
||||
"relevant": 4746,
|
||||
"irrelevant": 8996,
|
||||
"grey": 1674,
|
||||
"bullish": 3080,
|
||||
"bearish": 1666,
|
||||
"sources": {
|
||||
"history": 13893,
|
||||
"newsdata": 1523
|
||||
},
|
||||
"years": {
|
||||
"2009": 10,
|
||||
"2010": 10,
|
||||
"2011": 9,
|
||||
"2012": 2,
|
||||
"2015": 11,
|
||||
"2016": 6,
|
||||
"2017": 32,
|
||||
"2018": 19,
|
||||
"2019": 949,
|
||||
"2020": 1144,
|
||||
"2021": 1197,
|
||||
"2022": 1467,
|
||||
"2023": 1619,
|
||||
"2024": 1938,
|
||||
"2025": 2922,
|
||||
"2026": 4081
|
||||
}
|
||||
},
|
||||
"dev": {
|
||||
"n": 811,
|
||||
"relevant": 251,
|
||||
"irrelevant": 476,
|
||||
"grey": 84,
|
||||
"bullish": 164,
|
||||
"bearish": 87,
|
||||
"sources": {
|
||||
"history": 732,
|
||||
"newsdata": 79
|
||||
},
|
||||
"years": {
|
||||
"2011": 1,
|
||||
"2015": 2,
|
||||
"2017": 1,
|
||||
"2019": 54,
|
||||
"2020": 67,
|
||||
"2021": 67,
|
||||
"2022": 69,
|
||||
"2023": 72,
|
||||
"2024": 109,
|
||||
"2025": 149,
|
||||
"2026": 220
|
||||
}
|
||||
},
|
||||
"val": {
|
||||
"n": 1018,
|
||||
"relevant": 378,
|
||||
"irrelevant": 501,
|
||||
"grey": 139,
|
||||
"bullish": 171,
|
||||
"bearish": 207,
|
||||
"sources": {
|
||||
"newsdata": 1018
|
||||
},
|
||||
"years": {
|
||||
"2026": 1018
|
||||
}
|
||||
}
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
"epoch": 1,
|
||||
"train_loss": 0.9252183866832664,
|
||||
"seconds": 17
|
||||
},
|
||||
{
|
||||
"epoch": 2,
|
||||
"train_loss": 0.5151546665778123,
|
||||
"seconds": 34
|
||||
},
|
||||
{
|
||||
"epoch": 3,
|
||||
"train_loss": 0.3269671004340074,
|
||||
"seconds": 50
|
||||
},
|
||||
{
|
||||
"epoch": 4,
|
||||
"train_loss": 0.2127824436748985,
|
||||
"seconds": 67
|
||||
}
|
||||
],
|
||||
"evaluation": {
|
||||
"dev": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7660256410256411,
|
||||
"relevance_recall": 0.952191235059761,
|
||||
"relevance_f1": 0.8490230905861458,
|
||||
"relevance_accuracy": 0.8830811554332875,
|
||||
"direction_accuracy_on_relevant": 0.8884462151394422,
|
||||
"three_class_vs_deepseek_0.05": 0.7891491985203453,
|
||||
"three_class_macro_f1": 0.7551648489586519,
|
||||
"n": 811
|
||||
},
|
||||
"val": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7237113402061855,
|
||||
"relevance_recall": 0.9285714285714286,
|
||||
"relevance_f1": 0.8134414831981461,
|
||||
"relevance_accuracy": 0.8168373151308305,
|
||||
"direction_accuracy_on_relevant": 0.8941798941798942,
|
||||
"three_class_vs_deepseek_0.05": 0.712180746561886,
|
||||
"three_class_macro_f1": 0.7103112215543884,
|
||||
"n": 1018
|
||||
}
|
||||
},
|
||||
"evaluation_note": "final model trained on val too; evaluation is from the non-final run",
|
||||
"labels": "DeepSeek deepseek-v4-flash live prompt XAU score",
|
||||
"onnx_file": "model.onnx",
|
||||
"quantization": "int8 weight-only embedding table; fp32 compute",
|
||||
"pad_token": "[PAD]",
|
||||
"pad_token_id": 0,
|
||||
"exported_from": "models/xau_transformer/torch_final",
|
||||
"export_checks": {
|
||||
"rows": 500,
|
||||
"tokenizer_mismatches": 0,
|
||||
"p_relevant_max_abs_diff": 0.06070525050163267,
|
||||
"p_bullish_max_abs_diff": 0.07697186813354495,
|
||||
"decision_flips": 2,
|
||||
"latency_ms_per_headline": {
|
||||
"1": 18.84,
|
||||
"16": 9.55
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,184 @@
|
||||
{
|
||||
"base_model": "microsoft/deberta-v3-small",
|
||||
"trained_at": "2026-09-27T23:12:37.970737+00:00",
|
||||
"final": false,
|
||||
"max_length": 64,
|
||||
"relevant_min_abs_xau": 0.25,
|
||||
"irrelevant_max_abs_xau": 0.1,
|
||||
"relevance_threshold": 0.2,
|
||||
"best_epoch": 4,
|
||||
"hyperparameters": {
|
||||
"base": "microsoft/deberta-v3-small",
|
||||
"epochs": 4,
|
||||
"batch_size": 64,
|
||||
"lr": 5e-05,
|
||||
"warmup": 0.06,
|
||||
"weight_decay": 0.01,
|
||||
"val_from": "2026-09-18",
|
||||
"seed": 42,
|
||||
"final": false
|
||||
},
|
||||
"data": {
|
||||
"train": {
|
||||
"n": 15416,
|
||||
"relevant": 4746,
|
||||
"irrelevant": 8996,
|
||||
"grey": 1674,
|
||||
"bullish": 3080,
|
||||
"bearish": 1666,
|
||||
"sources": {
|
||||
"history": 13893,
|
||||
"newsdata": 1523
|
||||
},
|
||||
"years": {
|
||||
"2009": 10,
|
||||
"2010": 10,
|
||||
"2011": 9,
|
||||
"2012": 2,
|
||||
"2015": 11,
|
||||
"2016": 6,
|
||||
"2017": 32,
|
||||
"2018": 19,
|
||||
"2019": 949,
|
||||
"2020": 1144,
|
||||
"2021": 1197,
|
||||
"2022": 1467,
|
||||
"2023": 1619,
|
||||
"2024": 1938,
|
||||
"2025": 2922,
|
||||
"2026": 4081
|
||||
}
|
||||
},
|
||||
"dev": {
|
||||
"n": 811,
|
||||
"relevant": 251,
|
||||
"irrelevant": 476,
|
||||
"grey": 84,
|
||||
"bullish": 164,
|
||||
"bearish": 87,
|
||||
"sources": {
|
||||
"history": 732,
|
||||
"newsdata": 79
|
||||
},
|
||||
"years": {
|
||||
"2011": 1,
|
||||
"2015": 2,
|
||||
"2017": 1,
|
||||
"2019": 54,
|
||||
"2020": 67,
|
||||
"2021": 67,
|
||||
"2022": 69,
|
||||
"2023": 72,
|
||||
"2024": 109,
|
||||
"2025": 149,
|
||||
"2026": 220
|
||||
}
|
||||
},
|
||||
"val": {
|
||||
"n": 1018,
|
||||
"relevant": 378,
|
||||
"irrelevant": 501,
|
||||
"grey": 139,
|
||||
"bullish": 171,
|
||||
"bearish": 207,
|
||||
"sources": {
|
||||
"newsdata": 1018
|
||||
},
|
||||
"years": {
|
||||
"2026": 1018
|
||||
}
|
||||
}
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
"epoch": 1,
|
||||
"train_loss": 0.9298006843951433,
|
||||
"seconds": 15,
|
||||
"dev": {
|
||||
"relevance_threshold": 0.45,
|
||||
"relevance_precision": 0.7483870967741936,
|
||||
"relevance_recall": 0.9243027888446215,
|
||||
"relevance_f1": 0.8270944741532976,
|
||||
"relevance_accuracy": 0.8665749656121046,
|
||||
"direction_accuracy_on_relevant": 0.7888446215139442,
|
||||
"three_class_vs_deepseek_0.05": 0.7287299630086314,
|
||||
"three_class_macro_f1": 0.6827620410967894,
|
||||
"n": 811
|
||||
}
|
||||
},
|
||||
{
|
||||
"epoch": 2,
|
||||
"train_loss": 0.5256601697617884,
|
||||
"seconds": 30,
|
||||
"dev": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7347560975609756,
|
||||
"relevance_recall": 0.9601593625498008,
|
||||
"relevance_f1": 0.8324697754749568,
|
||||
"relevance_accuracy": 0.8665749656121046,
|
||||
"direction_accuracy_on_relevant": 0.8884462151394422,
|
||||
"three_class_vs_deepseek_0.05": 0.7780517879161529,
|
||||
"three_class_macro_f1": 0.7441922940968541,
|
||||
"n": 811
|
||||
}
|
||||
},
|
||||
{
|
||||
"epoch": 3,
|
||||
"train_loss": 0.3365446340097438,
|
||||
"seconds": 45,
|
||||
"dev": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7807308970099668,
|
||||
"relevance_recall": 0.9362549800796812,
|
||||
"relevance_f1": 0.8514492753623188,
|
||||
"relevance_accuracy": 0.8872077028885832,
|
||||
"direction_accuracy_on_relevant": 0.8924302788844621,
|
||||
"three_class_vs_deepseek_0.05": 0.7792848335388409,
|
||||
"three_class_macro_f1": 0.7430898597339434,
|
||||
"n": 811
|
||||
}
|
||||
},
|
||||
{
|
||||
"epoch": 4,
|
||||
"train_loss": 0.22059692797353989,
|
||||
"seconds": 60,
|
||||
"dev": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7660256410256411,
|
||||
"relevance_recall": 0.952191235059761,
|
||||
"relevance_f1": 0.8490230905861458,
|
||||
"relevance_accuracy": 0.8830811554332875,
|
||||
"direction_accuracy_on_relevant": 0.8884462151394422,
|
||||
"three_class_vs_deepseek_0.05": 0.7891491985203453,
|
||||
"three_class_macro_f1": 0.7551648489586519,
|
||||
"n": 811
|
||||
}
|
||||
}
|
||||
],
|
||||
"evaluation": {
|
||||
"dev": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7660256410256411,
|
||||
"relevance_recall": 0.952191235059761,
|
||||
"relevance_f1": 0.8490230905861458,
|
||||
"relevance_accuracy": 0.8830811554332875,
|
||||
"direction_accuracy_on_relevant": 0.8884462151394422,
|
||||
"three_class_vs_deepseek_0.05": 0.7891491985203453,
|
||||
"three_class_macro_f1": 0.7551648489586519,
|
||||
"n": 811
|
||||
},
|
||||
"val": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7237113402061855,
|
||||
"relevance_recall": 0.9285714285714286,
|
||||
"relevance_f1": 0.8134414831981461,
|
||||
"relevance_accuracy": 0.8168373151308305,
|
||||
"direction_accuracy_on_relevant": 0.8941798941798942,
|
||||
"three_class_vs_deepseek_0.05": 0.712180746561886,
|
||||
"three_class_macro_f1": 0.7103112215543884,
|
||||
"n": 1018
|
||||
}
|
||||
},
|
||||
"evaluation_note": "val never used for selection",
|
||||
"labels": "DeepSeek deepseek-v4-flash live prompt XAU score"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"add_prefix_space": true,
|
||||
"backend": "tokenizers",
|
||||
"bos_token": "[CLS]",
|
||||
"cls_token": "[CLS]",
|
||||
"do_lower_case": false,
|
||||
"eos_token": "[SEP]",
|
||||
"extra_special_tokens": [
|
||||
"[PAD]",
|
||||
"[CLS]",
|
||||
"[SEP]"
|
||||
],
|
||||
"is_local": false,
|
||||
"local_files_only": false,
|
||||
"mask_token": "[MASK]",
|
||||
"model_max_length": 1000000000000000019884624838656,
|
||||
"pad_token": "[PAD]",
|
||||
"sep_token": "[SEP]",
|
||||
"split_by_punct": false,
|
||||
"tokenizer_class": "DebertaV2Tokenizer",
|
||||
"unk_id": 3,
|
||||
"unk_token": "[UNK]",
|
||||
"vocab_type": "spm"
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"base_model": "microsoft/deberta-v3-small",
|
||||
"trained_at": "2026-09-27T23:15:30.403442+00:00",
|
||||
"final": true,
|
||||
"max_length": 64,
|
||||
"relevant_min_abs_xau": 0.25,
|
||||
"irrelevant_max_abs_xau": 0.1,
|
||||
"relevance_threshold": 0.2,
|
||||
"best_epoch": 4,
|
||||
"hyperparameters": {
|
||||
"base": "microsoft/deberta-v3-small",
|
||||
"epochs": 4,
|
||||
"batch_size": 64,
|
||||
"lr": 5e-05,
|
||||
"warmup": 0.06,
|
||||
"weight_decay": 0.01,
|
||||
"val_from": "2026-09-18",
|
||||
"seed": 42,
|
||||
"final": true
|
||||
},
|
||||
"data": {
|
||||
"train": {
|
||||
"n": 15416,
|
||||
"relevant": 4746,
|
||||
"irrelevant": 8996,
|
||||
"grey": 1674,
|
||||
"bullish": 3080,
|
||||
"bearish": 1666,
|
||||
"sources": {
|
||||
"history": 13893,
|
||||
"newsdata": 1523
|
||||
},
|
||||
"years": {
|
||||
"2009": 10,
|
||||
"2010": 10,
|
||||
"2011": 9,
|
||||
"2012": 2,
|
||||
"2015": 11,
|
||||
"2016": 6,
|
||||
"2017": 32,
|
||||
"2018": 19,
|
||||
"2019": 949,
|
||||
"2020": 1144,
|
||||
"2021": 1197,
|
||||
"2022": 1467,
|
||||
"2023": 1619,
|
||||
"2024": 1938,
|
||||
"2025": 2922,
|
||||
"2026": 4081
|
||||
}
|
||||
},
|
||||
"dev": {
|
||||
"n": 811,
|
||||
"relevant": 251,
|
||||
"irrelevant": 476,
|
||||
"grey": 84,
|
||||
"bullish": 164,
|
||||
"bearish": 87,
|
||||
"sources": {
|
||||
"history": 732,
|
||||
"newsdata": 79
|
||||
},
|
||||
"years": {
|
||||
"2011": 1,
|
||||
"2015": 2,
|
||||
"2017": 1,
|
||||
"2019": 54,
|
||||
"2020": 67,
|
||||
"2021": 67,
|
||||
"2022": 69,
|
||||
"2023": 72,
|
||||
"2024": 109,
|
||||
"2025": 149,
|
||||
"2026": 220
|
||||
}
|
||||
},
|
||||
"val": {
|
||||
"n": 1018,
|
||||
"relevant": 378,
|
||||
"irrelevant": 501,
|
||||
"grey": 139,
|
||||
"bullish": 171,
|
||||
"bearish": 207,
|
||||
"sources": {
|
||||
"newsdata": 1018
|
||||
},
|
||||
"years": {
|
||||
"2026": 1018
|
||||
}
|
||||
}
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
"epoch": 1,
|
||||
"train_loss": 0.9252183866832664,
|
||||
"seconds": 17
|
||||
},
|
||||
{
|
||||
"epoch": 2,
|
||||
"train_loss": 0.5151546665778123,
|
||||
"seconds": 34
|
||||
},
|
||||
{
|
||||
"epoch": 3,
|
||||
"train_loss": 0.3269671004340074,
|
||||
"seconds": 50
|
||||
},
|
||||
{
|
||||
"epoch": 4,
|
||||
"train_loss": 0.2127824436748985,
|
||||
"seconds": 67
|
||||
}
|
||||
],
|
||||
"evaluation": {
|
||||
"dev": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7660256410256411,
|
||||
"relevance_recall": 0.952191235059761,
|
||||
"relevance_f1": 0.8490230905861458,
|
||||
"relevance_accuracy": 0.8830811554332875,
|
||||
"direction_accuracy_on_relevant": 0.8884462151394422,
|
||||
"three_class_vs_deepseek_0.05": 0.7891491985203453,
|
||||
"three_class_macro_f1": 0.7551648489586519,
|
||||
"n": 811
|
||||
},
|
||||
"val": {
|
||||
"relevance_threshold": 0.2,
|
||||
"relevance_precision": 0.7237113402061855,
|
||||
"relevance_recall": 0.9285714285714286,
|
||||
"relevance_f1": 0.8134414831981461,
|
||||
"relevance_accuracy": 0.8168373151308305,
|
||||
"direction_accuracy_on_relevant": 0.8941798941798942,
|
||||
"three_class_vs_deepseek_0.05": 0.712180746561886,
|
||||
"three_class_macro_f1": 0.7103112215543884,
|
||||
"n": 1018
|
||||
}
|
||||
},
|
||||
"evaluation_note": "final model trained on val too; evaluation is from the non-final run",
|
||||
"labels": "DeepSeek deepseek-v4-flash live prompt XAU score"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"add_prefix_space": true,
|
||||
"backend": "tokenizers",
|
||||
"bos_token": "[CLS]",
|
||||
"cls_token": "[CLS]",
|
||||
"do_lower_case": false,
|
||||
"eos_token": "[SEP]",
|
||||
"extra_special_tokens": [
|
||||
"[PAD]",
|
||||
"[CLS]",
|
||||
"[SEP]"
|
||||
],
|
||||
"is_local": false,
|
||||
"local_files_only": false,
|
||||
"mask_token": "[MASK]",
|
||||
"model_max_length": 1000000000000000019884624838656,
|
||||
"pad_token": "[PAD]",
|
||||
"sep_token": "[SEP]",
|
||||
"split_by_punct": false,
|
||||
"tokenizer_class": "DebertaV2Tokenizer",
|
||||
"unk_id": 3,
|
||||
"unk_token": "[UNK]",
|
||||
"vocab_type": "spm"
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,186 @@
|
||||
{
|
||||
"evaluation": {
|
||||
"stratified_holdout": {
|
||||
"accuracy": 0.6927480916030534,
|
||||
"balanced_accuracy": 0.689958210237739,
|
||||
"classification_report": {
|
||||
"accuracy": 0.6927480916030534,
|
||||
"bearish": {
|
||||
"f1-score": 0.752,
|
||||
"precision": 0.7305699481865285,
|
||||
"recall": 0.7747252747252747,
|
||||
"support": 182.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.6230529595015576,
|
||||
"precision": 0.6369426751592356,
|
||||
"recall": 0.6097560975609756,
|
||||
"support": 164.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.6894115925611253,
|
||||
"precision": 0.6895540162110402,
|
||||
"recall": 0.689958210237739,
|
||||
"support": 524.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.6931818181818182,
|
||||
"precision": 0.7011494252873564,
|
||||
"recall": 0.6853932584269663,
|
||||
"support": 178.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.6916623072416396,
|
||||
"precision": 0.6912727614450616,
|
||||
"recall": 0.6927480916030534,
|
||||
"support": 524.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
141,
|
||||
18,
|
||||
23
|
||||
],
|
||||
[
|
||||
22,
|
||||
122,
|
||||
34
|
||||
],
|
||||
[
|
||||
30,
|
||||
34,
|
||||
100
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.6894115925611253,
|
||||
"score_mae": 0.2644602373963052,
|
||||
"test_examples": 524
|
||||
},
|
||||
"temporal_holdout": {
|
||||
"accuracy": 0.666030534351145,
|
||||
"balanced_accuracy": 0.6572494770227411,
|
||||
"classification_report": {
|
||||
"accuracy": 0.666030534351145,
|
||||
"bearish": {
|
||||
"f1-score": 0.7040498442367601,
|
||||
"precision": 0.773972602739726,
|
||||
"recall": 0.6457142857142857,
|
||||
"support": 175.0
|
||||
},
|
||||
"bullish": {
|
||||
"f1-score": 0.5647840531561462,
|
||||
"precision": 0.5483870967741935,
|
||||
"recall": 0.5821917808219178,
|
||||
"support": 146.0
|
||||
},
|
||||
"macro avg": {
|
||||
"f1-score": 0.6592513617287779,
|
||||
"precision": 0.6664965814523229,
|
||||
"recall": 0.6572494770227411,
|
||||
"support": 524.0
|
||||
},
|
||||
"neutral": {
|
||||
"f1-score": 0.7089201877934272,
|
||||
"precision": 0.6771300448430493,
|
||||
"recall": 0.7438423645320197,
|
||||
"support": 203.0
|
||||
},
|
||||
"weighted avg": {
|
||||
"f1-score": 0.6671335737104888,
|
||||
"precision": 0.6736013754038612,
|
||||
"recall": 0.666030534351145,
|
||||
"support": 524.0
|
||||
}
|
||||
},
|
||||
"confusion_matrix": {
|
||||
"labels": [
|
||||
"bearish",
|
||||
"neutral",
|
||||
"bullish"
|
||||
],
|
||||
"matrix": [
|
||||
[
|
||||
113,
|
||||
31,
|
||||
31
|
||||
],
|
||||
[
|
||||
13,
|
||||
151,
|
||||
39
|
||||
],
|
||||
[
|
||||
20,
|
||||
41,
|
||||
85
|
||||
]
|
||||
]
|
||||
},
|
||||
"macro_f1": 0.6592513617287779,
|
||||
"score_mae": 0.24771861749332214,
|
||||
"test_examples": 524,
|
||||
"test_from": "2026-09-21T07:34:39+00:00",
|
||||
"train_through": "2026-09-21T07:33:06+00:00"
|
||||
}
|
||||
},
|
||||
"format_version": 3,
|
||||
"model_path": "models/xauusd_sentiment.joblib",
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"score_definition": "P(XAUUSD bullish) - P(XAUUSD bearish)",
|
||||
"sklearn_version": "1.9.1",
|
||||
"target": "XAUUSD",
|
||||
"trained_at": "2026-09-23T00:40:10.241293+00:00",
|
||||
"training": {
|
||||
"database": "newsdata.db",
|
||||
"domain_features": [
|
||||
"explicit_xau_direction",
|
||||
"usd_direction",
|
||||
"treasury_yield_direction",
|
||||
"hawkish_or_dovish_policy"
|
||||
],
|
||||
"duplicates_collapsed": 17,
|
||||
"examples": 2620,
|
||||
"extra_labels": "eval/results/backfill_labels.jsonl",
|
||||
"label_distribution": {
|
||||
"bearish": 909,
|
||||
"bullish": 818,
|
||||
"neutral": 893
|
||||
},
|
||||
"label_priority": [
|
||||
"xau_score",
|
||||
"json",
|
||||
"extra_labels"
|
||||
],
|
||||
"label_sources": {
|
||||
"extra_labels": 933,
|
||||
"json": 640,
|
||||
"xau_score": 1064
|
||||
},
|
||||
"max_features": 50000,
|
||||
"min_df": 2,
|
||||
"neutral_threshold": 0.05,
|
||||
"published_range": [
|
||||
"2026-09-08T13:35:37+00:00",
|
||||
"2026-09-22T18:13:29+00:00"
|
||||
],
|
||||
"random_state": 42,
|
||||
"rows_without_target_label": 24,
|
||||
"scope": "all",
|
||||
"score_source": "llm",
|
||||
"skipped_rows": 0,
|
||||
"source_rows": 2661,
|
||||
"target": "XAUUSD",
|
||||
"target_labeled_rows": 2637,
|
||||
"target_score_key": "XAU",
|
||||
"test_feed_rows": 0,
|
||||
"test_size": 0.2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,689 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Train and use a scikit-learn XAUUSD news sentiment model."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import html
|
||||
import json
|
||||
import math
|
||||
import re
|
||||
import sqlite3
|
||||
import sys
|
||||
from collections import Counter
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from statistics import median
|
||||
from typing import Any, Iterable
|
||||
|
||||
import joblib
|
||||
import sklearn
|
||||
from sklearn.feature_extraction.text import TfidfVectorizer
|
||||
from sklearn.linear_model import LogisticRegression
|
||||
from sklearn.metrics import (
|
||||
accuracy_score,
|
||||
balanced_accuracy_score,
|
||||
classification_report,
|
||||
confusion_matrix,
|
||||
f1_score,
|
||||
mean_absolute_error,
|
||||
)
|
||||
from sklearn.model_selection import train_test_split
|
||||
from sklearn.pipeline import FeatureUnion, Pipeline
|
||||
|
||||
|
||||
FORMAT_VERSION = 3
|
||||
LABELS = ("bearish", "neutral", "bullish")
|
||||
TARGET_SYMBOL = "XAUUSD"
|
||||
TARGET_SCORE_KEY = "XAU"
|
||||
DEFAULT_MODEL_PATH = Path("models/xauusd_sentiment.joblib")
|
||||
SCOPES = ("all", "gold")
|
||||
# The ForexBot2 test suite once wrote fixture headlines into the live archive.
|
||||
TEST_FEED_MARKERS = ("feed.example", "good.example")
|
||||
|
||||
XAU_SUBJECT_PATTERN = re.compile(r"\b(?:gold|xau(?:/usd|usd)?|bullion)\b")
|
||||
XAU_UP_PATTERN = re.compile(
|
||||
r"\b(?:rall(?:y|ies|ied)|gain(?:s|ed)?|ris(?:e|es|ing|en)|"
|
||||
r"rebound(?:s|ed)?|jump(?:s|ed)?|surg(?:e|es|ed|ing)|"
|
||||
r"climb(?:s|ed)?|advance(?:s|d)?|recover(?:s|ed|y)?|"
|
||||
r"soar(?:s|ed)?|break(?:s|ing)?[ -]?out)\b"
|
||||
)
|
||||
XAU_DOWN_PATTERN = re.compile(
|
||||
r"\b(?:fall(?:s|ing|en)?|fell|slid(?:e|es|ing)?|"
|
||||
r"slump(?:s|ed|ing)?|drop(?:s|ped|ping)?|tumble(?:s|d)?|"
|
||||
r"plunge(?:s|d)?|declin(?:e|es|ed|ing)|sell[ -]?off|"
|
||||
r"weaken(?:s|ed|ing)?)\b"
|
||||
)
|
||||
XAU_FLAT_PATTERN = re.compile(
|
||||
r"\b(?:steady|stable|flat|unchanged|range[ -]?bound|"
|
||||
r"consolidat(?:e|es|ed|ing))\b"
|
||||
)
|
||||
CLAUSE_SPLIT_PATTERN = re.compile(
|
||||
r"\b(?:as|after|amid|while|despite|ahead of|on)\b|[,;:\u2013\u2014]"
|
||||
)
|
||||
XAU_MACRO_SUPPORT_PATTERN = re.compile(
|
||||
r"(?:dollar|usd).{0,40}(?:weaken|fall|drop|declin|slide)|"
|
||||
r"(?:weaker|falling|lower).{0,20}(?:dollar|usd)|"
|
||||
r"(?:yield).{0,30}(?:fall|drop|declin|ease|lower)|"
|
||||
r"(?:falling|lower|easing).{0,20}(?:yield)|"
|
||||
r"(?:rate[ -]?cut|dovish)"
|
||||
)
|
||||
XAU_MACRO_PRESSURE_PATTERN = re.compile(
|
||||
r"(?:dollar|usd).{0,40}(?:strengthen|rise|gain|climb)|"
|
||||
r"(?:stronger|rising|higher).{0,20}(?:dollar|usd)|"
|
||||
r"(?:yield).{0,30}(?:rise|climb|surge|higher)|"
|
||||
r"(?:rising|higher).{0,20}(?:yield)|"
|
||||
r"(?:rate[ -]?hike|hawkish)"
|
||||
)
|
||||
|
||||
|
||||
def _xau_signal_markers(headline: str) -> str:
|
||||
"""Create domain features without replacing the learned text features."""
|
||||
clauses = CLAUSE_SPLIT_PATTERN.split(headline.casefold())
|
||||
xau_clauses = [
|
||||
clause for clause in clauses if XAU_SUBJECT_PATTERN.search(clause)
|
||||
]
|
||||
markers: list[str] = []
|
||||
if any(XAU_UP_PATTERN.search(clause) for clause in xau_clauses):
|
||||
markers.extend(("xau_move_up", "xau_move_up"))
|
||||
if any(XAU_DOWN_PATTERN.search(clause) for clause in xau_clauses):
|
||||
markers.extend(("xau_move_down", "xau_move_down"))
|
||||
if any(XAU_FLAT_PATTERN.search(clause) for clause in xau_clauses):
|
||||
markers.extend(("xau_move_flat", "xau_move_flat"))
|
||||
if XAU_MACRO_SUPPORT_PATTERN.search(headline.casefold()):
|
||||
markers.append("xau_macro_support")
|
||||
if XAU_MACRO_PRESSURE_PATTERN.search(headline.casefold()):
|
||||
markers.append("xau_macro_pressure")
|
||||
return " ".join(markers)
|
||||
|
||||
|
||||
def article_text(headline: str, description: str | None = None) -> str:
|
||||
"""Combine and normalize the fields used by the model."""
|
||||
clean_headline = " ".join(html.unescape(str(headline or "")).split())
|
||||
clean_description = " ".join(html.unescape(str(description or "")).split())
|
||||
|
||||
if not clean_headline and not clean_description:
|
||||
raise ValueError("an article must contain a headline or description")
|
||||
if not clean_description or clean_description.casefold() == clean_headline.casefold():
|
||||
text = clean_headline
|
||||
elif not clean_headline:
|
||||
text = clean_description
|
||||
else:
|
||||
text = f"{clean_headline}\n{clean_description}"
|
||||
|
||||
markers = _xau_signal_markers(clean_headline)
|
||||
return f"{text}\n{markers}" if markers else text
|
||||
|
||||
|
||||
def score_to_label(score: float, neutral_threshold: float) -> str:
|
||||
"""Convert an existing numeric label into a training class."""
|
||||
if score > neutral_threshold:
|
||||
return "bullish"
|
||||
if score < -neutral_threshold:
|
||||
return "bearish"
|
||||
return "neutral"
|
||||
|
||||
|
||||
def build_pipeline(random_state: int, min_df: int, max_features: int) -> Pipeline:
|
||||
"""Build the text classification pipeline."""
|
||||
return Pipeline(
|
||||
steps=[
|
||||
(
|
||||
"features",
|
||||
FeatureUnion(
|
||||
transformer_list=[
|
||||
(
|
||||
"word_tfidf",
|
||||
TfidfVectorizer(
|
||||
lowercase=True,
|
||||
strip_accents="unicode",
|
||||
ngram_range=(1, 2),
|
||||
min_df=min_df,
|
||||
max_df=0.98,
|
||||
max_features=max_features,
|
||||
sublinear_tf=True,
|
||||
),
|
||||
),
|
||||
(
|
||||
"character_tfidf",
|
||||
TfidfVectorizer(
|
||||
lowercase=True,
|
||||
strip_accents="unicode",
|
||||
analyzer="char_wb",
|
||||
ngram_range=(3, 5),
|
||||
min_df=min_df,
|
||||
max_features=max_features,
|
||||
sublinear_tf=True,
|
||||
),
|
||||
),
|
||||
],
|
||||
transformer_weights={"word_tfidf": 1.0, "character_tfidf": 0.6},
|
||||
),
|
||||
),
|
||||
(
|
||||
"classifier",
|
||||
LogisticRegression(
|
||||
C=4.0,
|
||||
class_weight="balanced",
|
||||
max_iter=2_000,
|
||||
random_state=random_state,
|
||||
),
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
def load_extra_labels(labels_path: Path | None) -> dict[str, float]:
|
||||
"""Read ``{"hash": ..., "xau": ...}`` JSONL rows, e.g. backfilled teacher labels."""
|
||||
if labels_path is None:
|
||||
return {}
|
||||
if not labels_path.is_file():
|
||||
raise FileNotFoundError(f"extra labels not found: {labels_path}")
|
||||
extra: dict[str, float] = {}
|
||||
with labels_path.open(encoding="utf-8") as handle:
|
||||
for line in handle:
|
||||
if not line.strip():
|
||||
continue
|
||||
record = json.loads(line)
|
||||
if record.get("hash") and record.get("xau") is not None:
|
||||
extra[str(record["hash"])] = float(record["xau"])
|
||||
return extra
|
||||
|
||||
|
||||
def load_training_examples(
|
||||
database_path: Path,
|
||||
score_source: str,
|
||||
neutral_threshold: float,
|
||||
scope: str = "all",
|
||||
extra_labels_path: Path | None = None,
|
||||
) -> tuple[list[str], list[str], list[float], list[str], dict[str, Any]]:
|
||||
"""Read and deduplicate rows with an XAU sentiment label.
|
||||
|
||||
Label priority per row: the ``xau_score`` column (stored for every
|
||||
teacher-scored headline since 2026-09-18), then the ``XAU`` key of
|
||||
``score_by_currency_json``, then ``extra_labels_path``. ``scope="gold"``
|
||||
keeps only rows whose JSON carries the ``XAU`` key, the pre-2026-09-22
|
||||
training set.
|
||||
"""
|
||||
if not database_path.is_file():
|
||||
raise FileNotFoundError(f"database not found: {database_path}")
|
||||
if neutral_threshold < 0:
|
||||
raise ValueError("neutral threshold cannot be negative")
|
||||
if scope not in SCOPES:
|
||||
raise ValueError(f"scope must be one of: {', '.join(SCOPES)}")
|
||||
extra_labels = load_extra_labels(extra_labels_path)
|
||||
|
||||
database_uri = f"{database_path.resolve().as_uri()}?mode=ro"
|
||||
with sqlite3.connect(database_uri, uri=True) as connection:
|
||||
columns = {
|
||||
row[1] for row in connection.execute("PRAGMA table_info(headlines)")
|
||||
}
|
||||
required_columns = {
|
||||
"hash",
|
||||
"headline",
|
||||
"description",
|
||||
"published_at",
|
||||
"source",
|
||||
"score_by_currency_json",
|
||||
"score_source",
|
||||
}
|
||||
missing_columns = required_columns - columns
|
||||
if missing_columns:
|
||||
missing = ", ".join(sorted(missing_columns))
|
||||
raise ValueError(f"headlines table is missing columns: {missing}")
|
||||
xau_column = "xau_score" if "xau_score" in columns else "NULL"
|
||||
|
||||
query = f"""
|
||||
SELECT hash, headline, description, published_at, source,
|
||||
score_by_currency_json, {xau_column}
|
||||
FROM headlines
|
||||
WHERE 1 = 1
|
||||
"""
|
||||
parameters: tuple[str, ...] = ()
|
||||
if score_source != "all":
|
||||
query += " AND score_source = ?"
|
||||
parameters = (score_source,)
|
||||
query += " ORDER BY published_at, hash"
|
||||
rows = connection.execute(query, parameters).fetchall()
|
||||
|
||||
grouped_examples: dict[str, dict[str, Any]] = {}
|
||||
skipped_rows = 0
|
||||
target_labeled_rows = 0
|
||||
test_feed_rows = 0
|
||||
label_sources: Counter[str] = Counter()
|
||||
for (
|
||||
row_hash,
|
||||
headline,
|
||||
description,
|
||||
published_at,
|
||||
source,
|
||||
raw_scores,
|
||||
xau_score,
|
||||
) in rows:
|
||||
if any(marker in str(source or "") for marker in TEST_FEED_MARKERS):
|
||||
test_feed_rows += 1
|
||||
continue
|
||||
try:
|
||||
scores_by_currency = json.loads(raw_scores) if raw_scores else {}
|
||||
if not isinstance(scores_by_currency, dict):
|
||||
raise ValueError("currency scores must be a JSON object")
|
||||
has_json_label = TARGET_SCORE_KEY in scores_by_currency
|
||||
if scope == "gold" and not has_json_label:
|
||||
continue
|
||||
if xau_score is not None:
|
||||
label_source, score = "xau_score", float(xau_score)
|
||||
elif has_json_label:
|
||||
label_source = "json"
|
||||
score = float(scores_by_currency[TARGET_SCORE_KEY])
|
||||
elif row_hash in extra_labels:
|
||||
label_source, score = "extra_labels", extra_labels[row_hash]
|
||||
else:
|
||||
continue
|
||||
text = article_text(headline, description)
|
||||
except (json.JSONDecodeError, TypeError, ValueError):
|
||||
skipped_rows += 1
|
||||
continue
|
||||
if not math.isfinite(score):
|
||||
skipped_rows += 1
|
||||
continue
|
||||
target_labeled_rows += 1
|
||||
label_sources[label_source] += 1
|
||||
|
||||
key = text.casefold()
|
||||
if key not in grouped_examples:
|
||||
grouped_examples[key] = {"text": text, "scores": [], "dates": []}
|
||||
grouped_examples[key]["scores"].append(score)
|
||||
grouped_examples[key]["dates"].append(str(published_at or ""))
|
||||
|
||||
texts: list[str] = []
|
||||
labels: list[str] = []
|
||||
target_scores: list[float] = []
|
||||
published_dates: list[str] = []
|
||||
for example in grouped_examples.values():
|
||||
target_score = float(median(example["scores"]))
|
||||
texts.append(example["text"])
|
||||
target_scores.append(target_score)
|
||||
labels.append(score_to_label(target_score, neutral_threshold))
|
||||
published_dates.append(max(example["dates"]))
|
||||
|
||||
label_distribution = dict(sorted(Counter(labels).items()))
|
||||
if len(label_distribution) < 2:
|
||||
raise ValueError("training data must contain at least two sentiment classes")
|
||||
if min(label_distribution.values()) < 2:
|
||||
raise ValueError("each sentiment class must contain at least two examples")
|
||||
|
||||
stats = {
|
||||
"database": str(database_path),
|
||||
"target": TARGET_SYMBOL,
|
||||
"target_score_key": TARGET_SCORE_KEY,
|
||||
"label_priority": ["xau_score", "json", "extra_labels"],
|
||||
"label_sources": dict(sorted(label_sources.items())),
|
||||
"extra_labels": str(extra_labels_path) if extra_labels_path else None,
|
||||
"scope": scope,
|
||||
"score_source": score_source,
|
||||
"test_feed_rows": test_feed_rows,
|
||||
"published_range": [min(published_dates), max(published_dates)],
|
||||
"source_rows": len(rows),
|
||||
"target_labeled_rows": target_labeled_rows,
|
||||
"examples": len(texts),
|
||||
"duplicates_collapsed": (
|
||||
sum(len(example["scores"]) for example in grouped_examples.values())
|
||||
- len(texts)
|
||||
),
|
||||
"rows_without_target_label": len(rows) - target_labeled_rows,
|
||||
"skipped_rows": skipped_rows,
|
||||
"neutral_threshold": neutral_threshold,
|
||||
"label_distribution": label_distribution,
|
||||
}
|
||||
return texts, labels, target_scores, published_dates, stats
|
||||
|
||||
|
||||
def _directional_scores(model: Pipeline, texts: Iterable[str]) -> list[float]:
|
||||
probabilities = model.predict_proba(list(texts))
|
||||
classes = list(model.classes_)
|
||||
bullish_index = classes.index("bullish")
|
||||
bearish_index = classes.index("bearish")
|
||||
return [
|
||||
float(row[bullish_index] - row[bearish_index]) for row in probabilities
|
||||
]
|
||||
|
||||
|
||||
def evaluate_model(
|
||||
model: Pipeline,
|
||||
test_texts: list[str],
|
||||
test_labels: list[str],
|
||||
test_target_scores: list[float],
|
||||
) -> dict[str, Any]:
|
||||
"""Evaluate class predictions and the derived continuous score."""
|
||||
predictions = model.predict(test_texts)
|
||||
directional_scores = _directional_scores(model, test_texts)
|
||||
return {
|
||||
"test_examples": len(test_texts),
|
||||
"accuracy": float(accuracy_score(test_labels, predictions)),
|
||||
"balanced_accuracy": float(
|
||||
balanced_accuracy_score(test_labels, predictions)
|
||||
),
|
||||
"macro_f1": float(
|
||||
f1_score(test_labels, predictions, labels=LABELS, average="macro")
|
||||
),
|
||||
"score_mae": float(mean_absolute_error(test_target_scores, directional_scores)),
|
||||
"classification_report": classification_report(
|
||||
test_labels,
|
||||
predictions,
|
||||
labels=LABELS,
|
||||
output_dict=True,
|
||||
zero_division=0,
|
||||
),
|
||||
"confusion_matrix": {
|
||||
"labels": list(LABELS),
|
||||
"matrix": confusion_matrix(
|
||||
test_labels, predictions, labels=LABELS
|
||||
).tolist(),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def train_model(
|
||||
database_path: Path,
|
||||
model_path: Path,
|
||||
report_path: Path,
|
||||
score_source: str = "llm",
|
||||
neutral_threshold: float = 0.05,
|
||||
test_size: float = 0.2,
|
||||
random_state: int = 42,
|
||||
min_df: int = 2,
|
||||
max_features: int = 50_000,
|
||||
scope: str = "all",
|
||||
extra_labels_path: Path | None = None,
|
||||
) -> dict[str, Any]:
|
||||
"""Train, evaluate, and persist a model bundle."""
|
||||
if not 0 < test_size < 1:
|
||||
raise ValueError("test size must be between 0 and 1")
|
||||
if min_df < 1:
|
||||
raise ValueError("min-df must be at least 1")
|
||||
if max_features < 1:
|
||||
raise ValueError("max-features must be at least 1")
|
||||
|
||||
texts, labels, target_scores, published_dates, data_stats = (
|
||||
load_training_examples(
|
||||
database_path,
|
||||
score_source,
|
||||
neutral_threshold,
|
||||
scope=scope,
|
||||
extra_labels_path=extra_labels_path,
|
||||
)
|
||||
)
|
||||
(
|
||||
train_texts,
|
||||
test_texts,
|
||||
train_labels,
|
||||
test_labels,
|
||||
_,
|
||||
test_target_scores,
|
||||
_,
|
||||
_,
|
||||
) = train_test_split(
|
||||
texts,
|
||||
labels,
|
||||
target_scores,
|
||||
published_dates,
|
||||
test_size=test_size,
|
||||
random_state=random_state,
|
||||
stratify=labels,
|
||||
)
|
||||
|
||||
stratified_model = build_pipeline(random_state, min_df, max_features)
|
||||
stratified_model.fit(train_texts, train_labels)
|
||||
stratified_evaluation = evaluate_model(
|
||||
stratified_model, test_texts, test_labels, test_target_scores
|
||||
)
|
||||
|
||||
ordered_indices = sorted(
|
||||
range(len(texts)), key=lambda index: (published_dates[index], index)
|
||||
)
|
||||
temporal_test_count = len(test_texts)
|
||||
temporal_train_indices = ordered_indices[:-temporal_test_count]
|
||||
temporal_test_indices = ordered_indices[-temporal_test_count:]
|
||||
temporal_model = build_pipeline(random_state, min_df, max_features)
|
||||
temporal_model.fit(
|
||||
[texts[index] for index in temporal_train_indices],
|
||||
[labels[index] for index in temporal_train_indices],
|
||||
)
|
||||
temporal_evaluation = evaluate_model(
|
||||
temporal_model,
|
||||
[texts[index] for index in temporal_test_indices],
|
||||
[labels[index] for index in temporal_test_indices],
|
||||
[target_scores[index] for index in temporal_test_indices],
|
||||
)
|
||||
temporal_evaluation.update(
|
||||
{
|
||||
"train_through": published_dates[temporal_train_indices[-1]],
|
||||
"test_from": published_dates[temporal_test_indices[0]],
|
||||
}
|
||||
)
|
||||
evaluation = {
|
||||
"stratified_holdout": stratified_evaluation,
|
||||
"temporal_holdout": temporal_evaluation,
|
||||
}
|
||||
|
||||
final_model = build_pipeline(random_state, min_df, max_features)
|
||||
final_model.fit(texts, labels)
|
||||
|
||||
trained_at = datetime.now(timezone.utc).isoformat()
|
||||
training = {
|
||||
**data_stats,
|
||||
"test_size": test_size,
|
||||
"random_state": random_state,
|
||||
"min_df": min_df,
|
||||
"max_features": max_features,
|
||||
"domain_features": [
|
||||
"explicit_xau_direction",
|
||||
"usd_direction",
|
||||
"treasury_yield_direction",
|
||||
"hawkish_or_dovish_policy",
|
||||
],
|
||||
}
|
||||
bundle = {
|
||||
"format_version": FORMAT_VERSION,
|
||||
"target": TARGET_SYMBOL,
|
||||
"trained_at": trained_at,
|
||||
"sklearn_version": sklearn.__version__,
|
||||
"model_type": "domain_augmented_tfidf_logistic_regression",
|
||||
"score_definition": "P(XAUUSD bullish) - P(XAUUSD bearish)",
|
||||
"training": training,
|
||||
"evaluation": evaluation,
|
||||
"model": final_model,
|
||||
}
|
||||
|
||||
model_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
report_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
joblib.dump(bundle, model_path)
|
||||
|
||||
report = {
|
||||
"model_path": str(model_path),
|
||||
"format_version": FORMAT_VERSION,
|
||||
"target": TARGET_SYMBOL,
|
||||
"trained_at": trained_at,
|
||||
"sklearn_version": sklearn.__version__,
|
||||
"model_type": bundle["model_type"],
|
||||
"score_definition": bundle["score_definition"],
|
||||
"training": training,
|
||||
"evaluation": evaluation,
|
||||
}
|
||||
report_path.write_text(
|
||||
json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"
|
||||
)
|
||||
return {**report, "report_path": str(report_path)}
|
||||
|
||||
|
||||
def load_model(model_path: str | Path = DEFAULT_MODEL_PATH) -> dict[str, Any]:
|
||||
"""Load and validate a model bundle created by this module."""
|
||||
path = Path(model_path)
|
||||
if not path.is_file():
|
||||
raise FileNotFoundError(f"model not found: {path}")
|
||||
bundle = joblib.load(path)
|
||||
if not isinstance(bundle, dict) or "model" not in bundle:
|
||||
raise ValueError(f"invalid model bundle: {path}")
|
||||
if bundle.get("format_version") != FORMAT_VERSION:
|
||||
raise ValueError(
|
||||
f"unsupported model format: {bundle.get('format_version')!r}"
|
||||
)
|
||||
if bundle.get("target") != TARGET_SYMBOL:
|
||||
raise ValueError(f"model target must be {TARGET_SYMBOL}: {path}")
|
||||
return bundle
|
||||
|
||||
|
||||
def score_news(
|
||||
model_bundle: dict[str, Any],
|
||||
headline: str,
|
||||
description: str | None = None,
|
||||
) -> dict[str, Any]:
|
||||
"""Score one news article for its expected XAUUSD sentiment."""
|
||||
text = article_text(headline, description)
|
||||
model = model_bundle["model"]
|
||||
probabilities = model.predict_proba([text])[0]
|
||||
classes = [str(label) for label in model.classes_]
|
||||
probability_by_label = {
|
||||
label: float(probabilities[index]) for index, label in enumerate(classes)
|
||||
}
|
||||
for label in LABELS:
|
||||
probability_by_label.setdefault(label, 0.0)
|
||||
|
||||
label = classes[int(probabilities.argmax())]
|
||||
score = probability_by_label["bullish"] - probability_by_label["bearish"]
|
||||
return {
|
||||
"target": TARGET_SYMBOL,
|
||||
"label": label,
|
||||
"score": round(score, 6),
|
||||
"confidence": round(probability_by_label[label], 6),
|
||||
"probabilities": {
|
||||
name: round(probability_by_label[name], 6) for name in LABELS
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def _score_jsonl(model_bundle: dict[str, Any], input_path: str) -> None:
|
||||
handle = (
|
||||
sys.stdin if input_path == "-" else Path(input_path).open(encoding="utf-8")
|
||||
)
|
||||
try:
|
||||
for line_number, line in enumerate(handle, start=1):
|
||||
if not line.strip():
|
||||
continue
|
||||
try:
|
||||
article = json.loads(line)
|
||||
except json.JSONDecodeError as error:
|
||||
raise ValueError(
|
||||
f"invalid JSON on input line {line_number}: {error.msg}"
|
||||
) from error
|
||||
if not isinstance(article, dict):
|
||||
raise ValueError(f"input line {line_number} must be a JSON object")
|
||||
|
||||
headline = article.get(
|
||||
"headline", article.get("title", article.get("text"))
|
||||
)
|
||||
description = article.get("description")
|
||||
if headline is None and description is None:
|
||||
raise ValueError(
|
||||
f"input line {line_number} needs headline, title, text, or description"
|
||||
)
|
||||
output = dict(article)
|
||||
output["sentiment"] = score_news(
|
||||
model_bundle, str(headline or ""), description
|
||||
)
|
||||
print(json.dumps(output, ensure_ascii=False))
|
||||
finally:
|
||||
if handle is not sys.stdin:
|
||||
handle.close()
|
||||
|
||||
|
||||
def build_argument_parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Train and run a TF-IDF XAUUSD news sentiment model."
|
||||
)
|
||||
subparsers = parser.add_subparsers(dest="command", required=True)
|
||||
|
||||
train_parser = subparsers.add_parser(
|
||||
"train", help="train from XAU-labeled rows in the headlines table"
|
||||
)
|
||||
train_parser.add_argument("--db", type=Path, default=Path("newsdata.db"))
|
||||
train_parser.add_argument("--model", type=Path, default=DEFAULT_MODEL_PATH)
|
||||
train_parser.add_argument(
|
||||
"--report",
|
||||
type=Path,
|
||||
help="metrics JSON path (default: MODEL with .metrics.json suffix)",
|
||||
)
|
||||
train_parser.add_argument(
|
||||
"--score-source",
|
||||
choices=("llm", "keyword", "all"),
|
||||
default="llm",
|
||||
help="which existing scores to use as labels (default: llm)",
|
||||
)
|
||||
train_parser.add_argument(
|
||||
"--scope",
|
||||
choices=SCOPES,
|
||||
default="all",
|
||||
help="all headlines, or only those with a gold XAU key (default: all)",
|
||||
)
|
||||
train_parser.add_argument(
|
||||
"--extra-labels",
|
||||
type=Path,
|
||||
metavar="JSONL",
|
||||
help="fallback labels keyed by headline hash, field xau",
|
||||
)
|
||||
train_parser.add_argument("--neutral-threshold", type=float, default=0.05)
|
||||
train_parser.add_argument("--test-size", type=float, default=0.2)
|
||||
train_parser.add_argument("--random-state", type=int, default=42)
|
||||
train_parser.add_argument("--min-df", type=int, default=2)
|
||||
train_parser.add_argument("--max-features", type=int, default=50_000)
|
||||
|
||||
score_parser = subparsers.add_parser(
|
||||
"score", help="score news sentiment for XAUUSD"
|
||||
)
|
||||
score_parser.add_argument("--model", type=Path, default=DEFAULT_MODEL_PATH)
|
||||
input_group = score_parser.add_mutually_exclusive_group(required=True)
|
||||
input_group.add_argument("--headline", help="headline or short news text")
|
||||
input_group.add_argument(
|
||||
"--input",
|
||||
metavar="JSONL",
|
||||
help="JSONL path, or - to read JSONL from standard input",
|
||||
)
|
||||
score_parser.add_argument("--description", help="optional article description")
|
||||
return parser
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
parser = build_argument_parser()
|
||||
args = parser.parse_args(argv)
|
||||
try:
|
||||
if args.command == "train":
|
||||
report_path = args.report or args.model.with_suffix(".metrics.json")
|
||||
report = train_model(
|
||||
database_path=args.db,
|
||||
model_path=args.model,
|
||||
report_path=report_path,
|
||||
score_source=args.score_source,
|
||||
neutral_threshold=args.neutral_threshold,
|
||||
test_size=args.test_size,
|
||||
random_state=args.random_state,
|
||||
min_df=args.min_df,
|
||||
max_features=args.max_features,
|
||||
scope=args.scope,
|
||||
extra_labels_path=args.extra_labels,
|
||||
)
|
||||
print(json.dumps(report, indent=2, sort_keys=True))
|
||||
elif args.input:
|
||||
_score_jsonl(load_model(args.model), args.input)
|
||||
else:
|
||||
prediction = score_news(
|
||||
load_model(args.model), args.headline, args.description
|
||||
)
|
||||
print(json.dumps(prediction, indent=2))
|
||||
except (FileNotFoundError, OSError, sqlite3.Error, ValueError) as error:
|
||||
print(f"error: {error}", file=sys.stderr)
|
||||
return 2
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -0,0 +1,145 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Two-stage XAUUSD headline model on CPU: gold-relevant? then direction.
|
||||
|
||||
A fine-tuned DeBERTa-v3-small encoder with two heads, exported to ONNX
|
||||
with an int8 embedding table (transformer/train.py,
|
||||
transformer/export_onnx.py).
|
||||
Scoring needs only onnxruntime, tokenizers and numpy — no PyTorch.
|
||||
|
||||
For each headline:
|
||||
|
||||
- ``p_relevant``: probability the news moves the gold price (trained on
|
||||
DeepSeek |xau| >= 0.25 vs <= 0.10)
|
||||
- ``p_bullish``: probability that, if it does, gold goes up
|
||||
- ``relevant``: ``p_relevant >= relevance_threshold`` (from meta.json)
|
||||
- ``label``: ``bullish`` / ``bearish``, or ``neutral`` when not relevant
|
||||
- ``score``: ``p_relevant * (2 * p_bullish - 1)`` in [-1, 1]
|
||||
|
||||
Usage:
|
||||
python news_transformer.py score --headline "Fed cuts rates, signals more easing"
|
||||
python news_transformer.py score --input headlines.jsonl
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import html
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Any, Iterable
|
||||
|
||||
import numpy as np
|
||||
|
||||
DEFAULT_MODEL_DIR = Path(__file__).resolve().parent / "models" / "xau_transformer"
|
||||
MAX_LENGTH = 64
|
||||
#: DeepSeek |xau| at or above this is "moves gold"; at or below
|
||||
#: RELEVANT_MAX_IRRELEVANT it is "does not"; the band between carries no
|
||||
#: relevance label in training.
|
||||
RELEVANT_MIN = 0.25
|
||||
RELEVANT_MAX_IRRELEVANT = 0.10
|
||||
|
||||
|
||||
def clean_headline(headline: str) -> str:
|
||||
"""The exact text normalisation used in training and scoring."""
|
||||
text = " ".join(html.unescape(str(headline or "")).split())
|
||||
if not text:
|
||||
raise ValueError("headline is empty")
|
||||
return text
|
||||
|
||||
|
||||
def _sigmoid(x: np.ndarray) -> np.ndarray:
|
||||
return 1.0 / (1.0 + np.exp(-x))
|
||||
|
||||
|
||||
def load_model(model_dir: str | Path = DEFAULT_MODEL_DIR,
|
||||
threads: int | None = None) -> dict[str, Any]:
|
||||
"""Load the ONNX model, tokenizer and metadata. Only load trusted files."""
|
||||
import onnxruntime as ort
|
||||
from tokenizers import Tokenizer
|
||||
|
||||
model_dir = Path(model_dir)
|
||||
meta_path = model_dir / "meta.json"
|
||||
if not meta_path.is_file():
|
||||
raise FileNotFoundError(f"model not found: {meta_path}")
|
||||
meta = json.loads(meta_path.read_text(encoding="utf-8"))
|
||||
tokenizer = Tokenizer.from_file(str(model_dir / "tokenizer.json"))
|
||||
tokenizer.enable_truncation(max_length=int(meta.get("max_length", MAX_LENGTH)))
|
||||
tokenizer.enable_padding(pad_id=int(meta["pad_token_id"]), pad_token=meta["pad_token"])
|
||||
options = ort.SessionOptions()
|
||||
if threads:
|
||||
options.intra_op_num_threads = threads
|
||||
options.inter_op_num_threads = 1
|
||||
session = ort.InferenceSession(str(model_dir / meta.get("onnx_file", "model.onnx")),
|
||||
options, providers=["CPUExecutionProvider"])
|
||||
return {"meta": meta, "tokenizer": tokenizer, "session": session}
|
||||
|
||||
|
||||
def score_batch(bundle: dict[str, Any], headlines: Iterable[str]) -> list[dict[str, Any]]:
|
||||
texts = [clean_headline(h) for h in headlines]
|
||||
if not texts:
|
||||
return []
|
||||
encodings = bundle["tokenizer"].encode_batch(texts)
|
||||
ids = np.array([e.ids for e in encodings], dtype=np.int64)
|
||||
mask = np.array([e.attention_mask for e in encodings], dtype=np.int64)
|
||||
rel_logit, dir_logit = bundle["session"].run(
|
||||
["relevance_logit", "direction_logit"],
|
||||
{"input_ids": ids, "attention_mask": mask})
|
||||
p_rel = _sigmoid(rel_logit.astype(np.float64))
|
||||
p_bull = _sigmoid(dir_logit.astype(np.float64))
|
||||
threshold = float(bundle["meta"].get("relevance_threshold", 0.5))
|
||||
out = []
|
||||
for text, pr, pb in zip(texts, p_rel, p_bull):
|
||||
relevant = bool(pr >= threshold)
|
||||
direction = "bullish" if pb >= 0.5 else "bearish"
|
||||
label = direction if relevant else "neutral"
|
||||
confidence = pr * max(pb, 1 - pb) if relevant else 1 - pr
|
||||
out.append({
|
||||
"target": "XAUUSD",
|
||||
"text": text,
|
||||
"relevant": relevant,
|
||||
"p_relevant": round(float(pr), 4),
|
||||
"direction": direction,
|
||||
"p_bullish": round(float(pb), 4),
|
||||
"label": label,
|
||||
"score": round(float(pr * (2 * pb - 1)), 4),
|
||||
"confidence": round(float(confidence), 4),
|
||||
})
|
||||
return out
|
||||
|
||||
|
||||
def score_news(bundle: dict[str, Any], headline: str) -> dict[str, Any]:
|
||||
return score_batch(bundle, [headline])[0]
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
parser = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
sub = parser.add_subparsers(dest="command", required=True)
|
||||
score = sub.add_parser("score", help="score headlines")
|
||||
score.add_argument("--model-dir", type=Path, default=DEFAULT_MODEL_DIR)
|
||||
score.add_argument("--threads", type=int, default=None)
|
||||
group = score.add_mutually_exclusive_group(required=True)
|
||||
group.add_argument("--headline")
|
||||
group.add_argument("--input", metavar="JSONL",
|
||||
help='JSONL with a "headline" field per line, or - for stdin')
|
||||
args = parser.parse_args(argv)
|
||||
try:
|
||||
bundle = load_model(args.model_dir, args.threads)
|
||||
if args.headline:
|
||||
print(json.dumps(score_news(bundle, args.headline), indent=2))
|
||||
return 0
|
||||
handle = sys.stdin if args.input == "-" else open(args.input, encoding="utf-8")
|
||||
with handle:
|
||||
records = [json.loads(line) for line in handle if line.strip()]
|
||||
for start in range(0, len(records), 64):
|
||||
chunk = records[start:start + 64]
|
||||
for record, result in zip(chunk, score_batch(bundle, [r["headline"] for r in chunk])):
|
||||
print(json.dumps({**record, **result}))
|
||||
except (FileNotFoundError, OSError, ValueError, KeyError) as error:
|
||||
print(f"error: {error}", file=sys.stderr)
|
||||
return 2
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
# GPU training environment (.venv-train). The CPU runtime needs only
|
||||
# requirements.txt; nothing here is needed to score headlines.
|
||||
torch
|
||||
transformers
|
||||
sentencepiece
|
||||
tiktoken
|
||||
protobuf
|
||||
onnx
|
||||
onnxruntime
|
||||
onnxscript
|
||||
scikit-learn
|
||||
numpy
|
||||
pandas # eval scripts (spearman)
|
||||
@@ -0,0 +1,6 @@
|
||||
joblib==1.6.0
|
||||
scikit-learn==1.9.1
|
||||
# CPU runtime for news_transformer.py (two-stage transformer model)
|
||||
onnxruntime
|
||||
tokenizers
|
||||
numpy
|
||||
@@ -0,0 +1,187 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Export a trained two-head model to int8 ONNX for CPU scoring.
|
||||
|
||||
Reads a train.py output directory (model.pt, tokenizer, meta.json),
|
||||
exports ONNX (inputs input_ids / attention_mask, outputs
|
||||
relevance_logit / direction_logit), quantises the embedding table to
|
||||
int8 (weight-only; compute stays fp32), and writes the runtime bundle
|
||||
news_transformer.py loads:
|
||||
|
||||
models/xau_transformer/model.onnx
|
||||
models/xau_transformer/tokenizer.json
|
||||
models/xau_transformer/meta.json
|
||||
|
||||
Why only the embeddings: on DeBERTa-v3 any dynamic int8 quantisation
|
||||
of the transformer MatMuls (all, per-channel, reduce-range, FFN only)
|
||||
moved probabilities by up to 0.55-0.72 and flipped 13-16% of decisions
|
||||
(activation outliers). The 128k x 768 embedding table is 70% of the
|
||||
weights; quantising it alone halves the file (566 -> 271 MB) with mean
|
||||
|diff| 0.004 and ~1% flips, all near 0.5. Latency is set by the fp32
|
||||
encoder: ~18 ms per headline on 1 thread, ~9 ms on 4.
|
||||
|
||||
Then checks, on up to 500 headlines, that the runtime tokenizer produces
|
||||
the same ids as the training tokenizer, that probabilities stay within
|
||||
--tolerance of the PyTorch fp32 ones and flip at most --max-flip-rate of
|
||||
decisions, and times single-headline CPU latency.
|
||||
|
||||
Usage:
|
||||
.venv-train/bin/python transformer/export_onnx.py # torch_final if present
|
||||
.venv-train/bin/python transformer/export_onnx.py --src models/xau_transformer/torch
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
import numpy as np
|
||||
import torch
|
||||
|
||||
ML_NEWS_DIR = Path(__file__).resolve().parent.parent
|
||||
sys.path.insert(0, str(ML_NEWS_DIR))
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
import news_transformer # noqa: E402
|
||||
from train import TwoHeadModel, load_rows, split # noqa: E402
|
||||
|
||||
BUNDLE_DIR = ML_NEWS_DIR / "models" / "xau_transformer"
|
||||
|
||||
|
||||
class Exportable(torch.nn.Module):
|
||||
def __init__(self, model: TwoHeadModel):
|
||||
super().__init__()
|
||||
self.model = model
|
||||
|
||||
def forward(self, input_ids, attention_mask):
|
||||
return self.model(input_ids, attention_mask)
|
||||
|
||||
|
||||
def export(model: TwoHeadModel, tokenizer, path: Path) -> None:
|
||||
sample = tokenizer(["Gold rises as the dollar weakens", "Fed hikes"], padding=True,
|
||||
return_tensors="pt")
|
||||
args = (sample["input_ids"], sample["attention_mask"])
|
||||
wrapper = Exportable(model).eval()
|
||||
# TorchScript exporter: the dynamo exporter's value_info shapes fail
|
||||
# onnxruntime's shape inference during quantisation (768 vs 1).
|
||||
torch.onnx.export(
|
||||
wrapper, args, str(path),
|
||||
input_names=["input_ids", "attention_mask"],
|
||||
output_names=["relevance_logit", "direction_logit"],
|
||||
dynamic_axes={"input_ids": {0: "batch", 1: "sequence"},
|
||||
"attention_mask": {0: "batch", 1: "sequence"},
|
||||
"relevance_logit": {0: "batch"}, "direction_logit": {0: "batch"}},
|
||||
opset_version=17, dynamo=False)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--src", type=Path, default=None,
|
||||
help="train.py output dir (default: torch_final, else torch)")
|
||||
ap.add_argument("--out", type=Path, default=BUNDLE_DIR)
|
||||
ap.add_argument("--tolerance", type=float, default=0.05,
|
||||
help="max |probability difference| vs PyTorch fp32")
|
||||
ap.add_argument("--max-flip-rate", type=float, default=0.02,
|
||||
help="max share of relevance/direction decisions that may flip")
|
||||
ap.add_argument("--check-rows", type=int, default=500)
|
||||
args = ap.parse_args()
|
||||
|
||||
src = args.src or next(p for p in (BUNDLE_DIR / "torch_final", BUNDLE_DIR / "torch")
|
||||
if (p / "model.pt").is_file())
|
||||
meta = json.loads((src / "meta.json").read_text())
|
||||
from transformers import AutoTokenizer
|
||||
tokenizer = AutoTokenizer.from_pretrained(src)
|
||||
model = TwoHeadModel(meta["base_model"])
|
||||
model.load_state_dict(torch.load(src / "model.pt", map_location="cpu"))
|
||||
model.eval()
|
||||
|
||||
args.out.mkdir(parents=True, exist_ok=True)
|
||||
fp32 = args.out / "model.fp32.onnx"
|
||||
int8 = args.out / "model.onnx"
|
||||
print(f"exporting {src} -> {fp32}")
|
||||
export(model, tokenizer, fp32)
|
||||
from onnxruntime.quantization import QuantType, quantize_dynamic
|
||||
quantize_dynamic(str(fp32), str(int8), weight_type=QuantType.QInt8,
|
||||
op_types_to_quantize=["Gather"])
|
||||
print(f"embeddings int8 -> {int8} ({int8.stat().st_size / 1e6:.0f} MB, "
|
||||
f"fp32 {fp32.stat().st_size / 1e6:.0f} MB)")
|
||||
|
||||
shutil.copy(src / "tokenizer.json", args.out / "tokenizer.json")
|
||||
runtime_meta = {
|
||||
**meta,
|
||||
"onnx_file": int8.name,
|
||||
"quantization": "int8 weight-only embedding table; fp32 compute",
|
||||
"pad_token": tokenizer.pad_token,
|
||||
"pad_token_id": tokenizer.pad_token_id,
|
||||
"exported_from": os.path.relpath(src.resolve(), ML_NEWS_DIR),
|
||||
}
|
||||
(args.out / "meta.json").write_text(json.dumps(runtime_meta, indent=2, default=str) + "\n")
|
||||
|
||||
# ── parity: tokenizer ids and probabilities on held-out headlines ──
|
||||
_, _, val = split(load_rows(), meta["hyperparameters"]["val_from"],
|
||||
meta["hyperparameters"]["seed"])
|
||||
texts = [r["text"] for r in val[: args.check_rows]]
|
||||
bundle = news_transformer.load_model(args.out)
|
||||
tok_mismatch = sum(
|
||||
bundle["tokenizer"].encode(t).ids
|
||||
!= tokenizer(t, truncation=True, max_length=news_transformer.MAX_LENGTH)["input_ids"]
|
||||
for t in texts)
|
||||
with torch.no_grad():
|
||||
ref_rel, ref_dir = [], []
|
||||
for start in range(0, len(texts), 64):
|
||||
enc = tokenizer(texts[start:start + 64], padding=True, truncation=True,
|
||||
max_length=news_transformer.MAX_LENGTH, return_tensors="pt")
|
||||
r, d = model(enc["input_ids"], enc["attention_mask"])
|
||||
ref_rel.append(torch.sigmoid(r))
|
||||
ref_dir.append(torch.sigmoid(d))
|
||||
ref_rel = torch.cat(ref_rel).numpy()
|
||||
ref_dir = torch.cat(ref_dir).numpy()
|
||||
got = []
|
||||
for start in range(0, len(texts), 64):
|
||||
got += news_transformer.score_batch(bundle, texts[start:start + 64])
|
||||
diff_rel = np.abs(ref_rel - np.array([g["p_relevant"] for g in got]))
|
||||
diff_dir = np.abs(ref_dir - np.array([g["p_bullish"] for g in got]))
|
||||
thr = runtime_meta["relevance_threshold"]
|
||||
flips = int(sum((a >= thr) != g["relevant"] for a, g in zip(ref_rel, got))
|
||||
+ sum((b >= 0.5) != (g["direction"] == "bullish") for b, g in zip(ref_dir, got)))
|
||||
print(f"tokenizer mismatches: {tok_mismatch}/{len(texts)}")
|
||||
print(f"int8 vs fp32 over {len(texts)}: p_relevant |diff| mean {diff_rel.mean():.4f} max "
|
||||
f"{diff_rel.max():.4f}; p_bullish mean {diff_dir.mean():.4f} max {diff_dir.max():.4f}; "
|
||||
f"decision flips {flips}")
|
||||
|
||||
# ── latency: one headline at a time, as the live feed would call it ──
|
||||
latency = {}
|
||||
for threads in (1, os.cpu_count()):
|
||||
b = news_transformer.load_model(args.out, threads=threads)
|
||||
for t in texts[:20]:
|
||||
news_transformer.score_news(b, t)
|
||||
t0 = time.perf_counter()
|
||||
for t in texts[:200]:
|
||||
news_transformer.score_news(b, t)
|
||||
latency[threads] = (time.perf_counter() - t0) * 1000 / min(200, len(texts))
|
||||
print(f"CPU latency, {threads} thread(s): {latency[threads]:.1f} ms per headline")
|
||||
|
||||
runtime_meta["export_checks"] = {
|
||||
"rows": len(texts), "tokenizer_mismatches": tok_mismatch,
|
||||
"p_relevant_max_abs_diff": float(diff_rel.max()),
|
||||
"p_bullish_max_abs_diff": float(diff_dir.max()),
|
||||
"decision_flips": flips,
|
||||
"latency_ms_per_headline": {str(k): round(v, 2) for k, v in latency.items()},
|
||||
}
|
||||
(args.out / "meta.json").write_text(json.dumps(runtime_meta, indent=2, default=str) + "\n")
|
||||
fp32.unlink()
|
||||
flip_rate = flips / (2 * len(texts))
|
||||
ok = (tok_mismatch == 0 and max(diff_rel.max(), diff_dir.max()) <= args.tolerance
|
||||
and flip_rate <= args.max_flip_rate)
|
||||
print("PARITY OK" if ok else
|
||||
f"PARITY FAILED (tolerance {args.tolerance}, flip rate {flip_rate:.1%} "
|
||||
f"> {args.max_flip_rate:.0%}?)")
|
||||
return 0 if ok else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
@@ -0,0 +1,374 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Fine-tune a two-head transformer: gold-relevant? and bullish/bearish.
|
||||
|
||||
Data (all labels are DeepSeek's live-prompt XAU score):
|
||||
* data/history.db crawled headlines 2019-2026 + labels table
|
||||
* newsdata.db the live archive (xau_score -> JSON XAU -> backfill)
|
||||
Headlines are deduplicated on case-folded text (median xau). Anything in
|
||||
the golden set is removed from every split.
|
||||
|
||||
Targets per headline, from xau:
|
||||
relevance 1 if |xau| >= 0.25, 0 if |xau| <= 0.10, ignored in between
|
||||
direction sign(xau), only where relevance = 1
|
||||
|
||||
Splits:
|
||||
val newsdata rows published on or after --val-from (2026-09-18):
|
||||
the unseen days of the 2026-09-22 report, never used to choose
|
||||
anything
|
||||
dev a seeded random 5% of the rest: picks the best epoch and the
|
||||
relevance threshold
|
||||
train everything else
|
||||
``--final`` trains on train + dev + val for the epoch count chosen by
|
||||
the last non-final run, for deployment.
|
||||
|
||||
Outputs models/xau_transformer/torch/ (state dict, tokenizer, meta.json);
|
||||
``--final`` writes models/xau_transformer/torch_final/.
|
||||
Export for CPU with transformer/export_onnx.py.
|
||||
|
||||
Usage:
|
||||
.venv-train/bin/python transformer/train.py
|
||||
.venv-train/bin/python transformer/train.py --final
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import math
|
||||
import random
|
||||
import sqlite3
|
||||
import sys
|
||||
import time
|
||||
from collections import Counter
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from statistics import median
|
||||
|
||||
import numpy as np
|
||||
import torch
|
||||
from torch import nn
|
||||
from transformers import AutoModel, AutoTokenizer, get_linear_schedule_with_warmup
|
||||
|
||||
ML_NEWS_DIR = Path(__file__).resolve().parent.parent
|
||||
sys.path.insert(0, str(ML_NEWS_DIR))
|
||||
sys.path.insert(0, str(ML_NEWS_DIR / "eval"))
|
||||
|
||||
from news_transformer import (MAX_LENGTH, RELEVANT_MAX_IRRELEVANT, # noqa: E402
|
||||
RELEVANT_MIN, clean_headline)
|
||||
|
||||
HISTORY_DB = ML_NEWS_DIR / "data" / "history.db"
|
||||
NEWSDATA_DB = ML_NEWS_DIR / "newsdata.db"
|
||||
BACKFILL = ML_NEWS_DIR / "eval" / "results" / "backfill_labels.jsonl"
|
||||
OUT_DIR = ML_NEWS_DIR / "models" / "xau_transformer" / "torch"
|
||||
IGNORE = -1.0
|
||||
|
||||
|
||||
class TwoHeadModel(nn.Module):
|
||||
"""Mean-pooled encoder with a relevance logit and a direction logit."""
|
||||
|
||||
def __init__(self, base: str, dropout: float = 0.1):
|
||||
super().__init__()
|
||||
# transformers 5 loads the checkpoint's stored dtype (fp16 for
|
||||
# deberta-v3-small) by default; fp16 master weights overflow under
|
||||
# AdamW. Keep fp32 weights; autocast does bf16 compute.
|
||||
self.encoder = AutoModel.from_pretrained(base, dtype=torch.float32)
|
||||
hidden = self.encoder.config.hidden_size
|
||||
self.dropout = nn.Dropout(dropout)
|
||||
self.relevance = nn.Linear(hidden, 1)
|
||||
self.direction = nn.Linear(hidden, 1)
|
||||
|
||||
def forward(self, input_ids, attention_mask):
|
||||
states = self.encoder(input_ids=input_ids, attention_mask=attention_mask).last_hidden_state
|
||||
mask = attention_mask.unsqueeze(-1).to(states.dtype)
|
||||
pooled = (states * mask).sum(1) / mask.sum(1).clamp(min=1.0)
|
||||
pooled = self.dropout(pooled)
|
||||
return self.relevance(pooled).squeeze(-1), self.direction(pooled).squeeze(-1)
|
||||
|
||||
|
||||
# ── data ─────────────────────────────────────────────────────────────
|
||||
|
||||
def golden_texts() -> set[str]:
|
||||
from eval_common import load_golden
|
||||
return {clean_headline(g["headline"]).casefold() for g in load_golden()}
|
||||
|
||||
|
||||
def load_rows() -> list[dict]:
|
||||
raw: list[dict] = []
|
||||
if HISTORY_DB.is_file():
|
||||
uri = f"{HISTORY_DB.resolve().as_uri()}?mode=ro"
|
||||
with sqlite3.connect(uri, uri=True) as conn:
|
||||
has_labels = conn.execute("SELECT 1 FROM sqlite_master WHERE type = 'table'"
|
||||
" AND name = 'labels'").fetchone()
|
||||
for headline, published_at, xau in [] if not has_labels else conn.execute(
|
||||
"SELECT h.headline, h.published_at, l.xau FROM headlines h"
|
||||
" JOIN labels l ON l.hash = h.hash"):
|
||||
raw.append({"headline": headline, "published_at": published_at or "",
|
||||
"xau": float(xau), "source": "history"})
|
||||
from eval_common import load_archive_rows
|
||||
for r in load_archive_rows(NEWSDATA_DB, BACKFILL if BACKFILL.is_file() else None):
|
||||
if r["score_source"] == "llm" and r["xau"] is not None and r["headline"]:
|
||||
raw.append({"headline": r["headline"],
|
||||
"published_at": r["published_at"] or r["first_seen"] or "",
|
||||
"xau": float(r["xau"]), "source": "newsdata"})
|
||||
|
||||
golden = golden_texts()
|
||||
grouped: dict[str, dict] = {}
|
||||
dropped_golden = 0
|
||||
for r in raw:
|
||||
try:
|
||||
text = clean_headline(r["headline"])
|
||||
except ValueError:
|
||||
continue
|
||||
key = text.casefold()
|
||||
if key in golden:
|
||||
dropped_golden += 1
|
||||
continue
|
||||
g = grouped.setdefault(key, {"text": text, "xaus": [], "dates": [], "sources": set()})
|
||||
g["xaus"].append(r["xau"])
|
||||
g["dates"].append(r["published_at"])
|
||||
g["sources"].add(r["source"])
|
||||
rows = []
|
||||
for g in grouped.values():
|
||||
xau = float(median(g["xaus"]))
|
||||
a = abs(xau)
|
||||
rel = 1.0 if a >= RELEVANT_MIN else 0.0 if a <= RELEVANT_MAX_IRRELEVANT else IGNORE
|
||||
rows.append({
|
||||
"text": g["text"], "xau": xau, "published_at": max(g["dates"]),
|
||||
"source": "newsdata" if "newsdata" in g["sources"] else "history",
|
||||
"rel": rel, "dir": (1.0 if xau > 0 else 0.0) if rel == 1.0 else IGNORE,
|
||||
})
|
||||
print(f"{len(raw)} labelled rows -> {len(rows)} unique headlines "
|
||||
f"({dropped_golden} golden-set duplicates dropped)")
|
||||
return rows
|
||||
|
||||
|
||||
def split(rows: list[dict], val_from: str, seed: int):
|
||||
val = [r for r in rows if r["source"] == "newsdata" and r["published_at"] >= val_from]
|
||||
rest = [r for r in rows if not (r["source"] == "newsdata" and r["published_at"] >= val_from)]
|
||||
rng = random.Random(seed)
|
||||
rng.shuffle(rest)
|
||||
n_dev = max(200, len(rest) // 20)
|
||||
return rest[n_dev:], rest[:n_dev], val
|
||||
|
||||
|
||||
def describe(name: str, rows: list[dict]) -> dict:
|
||||
rel = Counter(r["rel"] for r in rows)
|
||||
d = Counter(r["dir"] for r in rows if r["dir"] != IGNORE)
|
||||
years = Counter(r["published_at"][:4] for r in rows)
|
||||
info = {"n": len(rows), "relevant": rel[1.0], "irrelevant": rel[0.0], "grey": rel[IGNORE],
|
||||
"bullish": d[1.0], "bearish": d[0.0],
|
||||
"sources": dict(Counter(r["source"] for r in rows)),
|
||||
"years": dict(sorted(years.items()))}
|
||||
print(f" {name:<6} n={info['n']:>6} relevant {info['relevant']:>6} irrelevant "
|
||||
f"{info['irrelevant']:>6} grey {info['grey']:>5} bull {info['bullish']:>5} "
|
||||
f"bear {info['bearish']:>5} {info['sources']}")
|
||||
return info
|
||||
|
||||
|
||||
# ── training / evaluation ────────────────────────────────────────────
|
||||
|
||||
def batches(rows, tokenizer, batch_size, shuffle, rng=None):
|
||||
order = list(range(len(rows)))
|
||||
if shuffle:
|
||||
rng.shuffle(order)
|
||||
for start in range(0, len(order), batch_size):
|
||||
chunk = [rows[i] for i in order[start:start + batch_size]]
|
||||
enc = tokenizer([r["text"] for r in chunk], padding=True, truncation=True,
|
||||
max_length=MAX_LENGTH, return_tensors="pt")
|
||||
rel = torch.tensor([r["rel"] for r in chunk])
|
||||
dirs = torch.tensor([r["dir"] for r in chunk])
|
||||
yield enc["input_ids"], enc["attention_mask"], rel, dirs
|
||||
|
||||
|
||||
def masked_bce(logits, targets, pos_weight):
|
||||
mask = targets != IGNORE
|
||||
if not mask.any():
|
||||
return logits.sum() * 0.0
|
||||
return nn.functional.binary_cross_entropy_with_logits(
|
||||
logits[mask].float(), targets[mask].float(), pos_weight=pos_weight)
|
||||
|
||||
|
||||
@torch.no_grad()
|
||||
def predict(model, rows, tokenizer, device, batch_size=256):
|
||||
model.eval()
|
||||
p_rel, p_bull = [], []
|
||||
for ids, mask, _, _ in batches(rows, tokenizer, batch_size, False):
|
||||
with torch.autocast("cuda", dtype=torch.bfloat16, enabled=device.type == "cuda"):
|
||||
r, d = model(ids.to(device), mask.to(device))
|
||||
p_rel.append(torch.sigmoid(r.float()).cpu())
|
||||
p_bull.append(torch.sigmoid(d.float()).cpu())
|
||||
return torch.cat(p_rel).numpy(), torch.cat(p_bull).numpy()
|
||||
|
||||
|
||||
def deepseek_class(xau: float, band: float = 0.05) -> int:
|
||||
return 1 if xau > band else -1 if xau < -band else 0
|
||||
|
||||
|
||||
def metrics(rows, p_rel, p_bull, threshold: float) -> dict:
|
||||
rel_t = np.array([r["rel"] for r in rows])
|
||||
dir_t = np.array([r["dir"] for r in rows])
|
||||
m = rel_t != IGNORE
|
||||
pred_rel = p_rel >= threshold
|
||||
tp = int(((pred_rel == 1) & (rel_t == 1)).sum())
|
||||
fp = int(((pred_rel == 1) & (rel_t == 0)).sum())
|
||||
fn = int(((pred_rel == 0) & (rel_t == 1)).sum())
|
||||
prec = tp / (tp + fp) if tp + fp else 0.0
|
||||
rec = tp / (tp + fn) if tp + fn else 0.0
|
||||
dm = dir_t != IGNORE
|
||||
dir_acc = float(((p_bull[dm] >= 0.5) == (dir_t[dm] == 1)).mean()) if dm.any() else float("nan")
|
||||
pred_cls = np.where(pred_rel, np.where(p_bull >= 0.5, 1, -1), 0)
|
||||
ds = np.array([deepseek_class(r["xau"]) for r in rows])
|
||||
cls3 = float((pred_cls == ds).mean())
|
||||
from sklearn.metrics import f1_score
|
||||
return {
|
||||
"relevance_threshold": threshold,
|
||||
"relevance_precision": prec, "relevance_recall": rec,
|
||||
"relevance_f1": 2 * prec * rec / (prec + rec) if prec + rec else 0.0,
|
||||
"relevance_accuracy": float((pred_rel[m] == (rel_t[m] == 1)).mean()),
|
||||
"direction_accuracy_on_relevant": dir_acc,
|
||||
"three_class_vs_deepseek_0.05": cls3,
|
||||
"three_class_macro_f1": float(f1_score(ds, pred_cls, average="macro")),
|
||||
"n": len(rows),
|
||||
}
|
||||
|
||||
|
||||
def best_threshold(rows, p_rel, p_bull) -> float:
|
||||
"""Relevance cut that maximises 3-class agreement on dev."""
|
||||
grid = [round(x, 2) for x in np.arange(0.2, 0.81, 0.05)]
|
||||
return max(grid, key=lambda t: metrics(rows, p_rel, p_bull, t)["three_class_vs_deepseek_0.05"])
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0])
|
||||
ap.add_argument("--base", default="microsoft/deberta-v3-small")
|
||||
ap.add_argument("--epochs", type=int, default=4)
|
||||
ap.add_argument("--batch-size", type=int, default=64)
|
||||
ap.add_argument("--lr", type=float, default=5e-5)
|
||||
ap.add_argument("--warmup", type=float, default=0.06)
|
||||
ap.add_argument("--weight-decay", type=float, default=0.01)
|
||||
ap.add_argument("--val-from", default="2026-09-18")
|
||||
ap.add_argument("--seed", type=int, default=42)
|
||||
ap.add_argument("--out", type=Path, default=OUT_DIR)
|
||||
ap.add_argument("--final", action="store_true",
|
||||
help="train on every split for the epoch count chosen by the last run")
|
||||
args = ap.parse_args()
|
||||
|
||||
random.seed(args.seed)
|
||||
np.random.seed(args.seed)
|
||||
torch.manual_seed(args.seed)
|
||||
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
||||
|
||||
rows = load_rows()
|
||||
train, dev, val = split(rows, args.val_from, args.seed)
|
||||
print("splits:")
|
||||
data_info = {"train": describe("train", train), "dev": describe("dev", dev),
|
||||
"val": describe("val", val)}
|
||||
previous = {}
|
||||
if args.final:
|
||||
prev_path = args.out / "meta.json"
|
||||
if not prev_path.is_file():
|
||||
raise SystemExit("--final needs a previous non-final run (its meta.json)")
|
||||
previous = json.loads(prev_path.read_text())
|
||||
args.epochs = int(previous["best_epoch"])
|
||||
train = train + dev + val
|
||||
args.out = args.out.with_name("torch_final")
|
||||
print(f"final: training on all {len(train)} rows for {args.epochs} epochs -> {args.out}")
|
||||
|
||||
tokenizer = AutoTokenizer.from_pretrained(args.base)
|
||||
model = TwoHeadModel(args.base).to(device)
|
||||
rel_counts = Counter(r["rel"] for r in train)
|
||||
dir_counts = Counter(r["dir"] for r in train)
|
||||
rel_pw = torch.tensor(rel_counts[0.0] / max(1, rel_counts[1.0]), device=device)
|
||||
dir_pw = torch.tensor(dir_counts[0.0] / max(1, dir_counts[1.0]), device=device)
|
||||
|
||||
no_decay = ("bias", "LayerNorm.weight", "layernorm", "norm")
|
||||
params = [
|
||||
{"params": [p for n, p in model.named_parameters() if not any(k in n for k in no_decay)],
|
||||
"weight_decay": args.weight_decay},
|
||||
{"params": [p for n, p in model.named_parameters() if any(k in n for k in no_decay)],
|
||||
"weight_decay": 0.0},
|
||||
]
|
||||
optimizer = torch.optim.AdamW(params, lr=args.lr)
|
||||
steps = math.ceil(len(train) / args.batch_size) * args.epochs
|
||||
scheduler = get_linear_schedule_with_warmup(optimizer, int(steps * args.warmup), steps)
|
||||
|
||||
args.out.mkdir(parents=True, exist_ok=True)
|
||||
rng = random.Random(args.seed)
|
||||
history = []
|
||||
best = {"score": -1.0}
|
||||
started = time.time()
|
||||
for epoch in range(1, args.epochs + 1):
|
||||
model.train()
|
||||
total = n = 0
|
||||
for ids, mask, rel, dirs in batches(train, tokenizer, args.batch_size, True, rng):
|
||||
ids, mask, rel, dirs = ids.to(device), mask.to(device), rel.to(device), dirs.to(device)
|
||||
with torch.autocast("cuda", dtype=torch.bfloat16, enabled=device.type == "cuda"):
|
||||
r_logit, d_logit = model(ids, mask)
|
||||
loss = masked_bce(r_logit, rel, rel_pw) + masked_bce(d_logit, dirs, dir_pw)
|
||||
optimizer.zero_grad(set_to_none=True)
|
||||
loss.backward()
|
||||
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)
|
||||
optimizer.step()
|
||||
scheduler.step()
|
||||
total += loss.item() * len(ids)
|
||||
n += len(ids)
|
||||
entry = {"epoch": epoch, "train_loss": total / n, "seconds": round(time.time() - started)}
|
||||
if not args.final:
|
||||
pr, pb = predict(model, dev, tokenizer, device)
|
||||
thr = best_threshold(dev, pr, pb)
|
||||
entry["dev"] = metrics(dev, pr, pb, thr)
|
||||
score = entry["dev"]["three_class_vs_deepseek_0.05"]
|
||||
if score > best["score"]:
|
||||
best = {"score": score, "epoch": epoch, "threshold": thr}
|
||||
torch.save(model.state_dict(), args.out / "model.pt")
|
||||
d = entry["dev"]
|
||||
print(f"epoch {epoch}: loss {entry['train_loss']:.4f} dev 3-class "
|
||||
f"{d['three_class_vs_deepseek_0.05']:.3f} rel F1 {d['relevance_f1']:.3f} "
|
||||
f"dir acc {d['direction_accuracy_on_relevant']:.3f} thr {thr} "
|
||||
f"({entry['seconds']}s)", flush=True)
|
||||
else:
|
||||
print(f"epoch {epoch}: loss {entry['train_loss']:.4f} ({entry['seconds']}s)", flush=True)
|
||||
history.append(entry)
|
||||
|
||||
if args.final:
|
||||
torch.save(model.state_dict(), args.out / "model.pt")
|
||||
best = {"epoch": args.epochs, "threshold": previous["relevance_threshold"]}
|
||||
evaluation = previous.get("evaluation", {})
|
||||
else:
|
||||
model.load_state_dict(torch.load(args.out / "model.pt", map_location=device))
|
||||
evaluation = {}
|
||||
for name, part in (("dev", dev), ("val", val)):
|
||||
pr, pb = predict(model, part, tokenizer, device)
|
||||
evaluation[name] = metrics(part, pr, pb, best["threshold"])
|
||||
v = evaluation["val"]
|
||||
print(f"best epoch {best['epoch']}, relevance threshold {best['threshold']}")
|
||||
print(f"VAL (unseen {args.val_from}+, n={v['n']}): 3-class {v['three_class_vs_deepseek_0.05']:.3f}"
|
||||
f" macro-F1 {v['three_class_macro_f1']:.3f} rel P/R/F1 {v['relevance_precision']:.3f}/"
|
||||
f"{v['relevance_recall']:.3f}/{v['relevance_f1']:.3f} dir acc "
|
||||
f"{v['direction_accuracy_on_relevant']:.3f}")
|
||||
|
||||
tokenizer.save_pretrained(args.out)
|
||||
meta = {
|
||||
"base_model": args.base,
|
||||
"trained_at": datetime.now(timezone.utc).isoformat(),
|
||||
"final": args.final,
|
||||
"max_length": MAX_LENGTH,
|
||||
"relevant_min_abs_xau": RELEVANT_MIN,
|
||||
"irrelevant_max_abs_xau": RELEVANT_MAX_IRRELEVANT,
|
||||
"relevance_threshold": best["threshold"],
|
||||
"best_epoch": best["epoch"],
|
||||
"hyperparameters": {k: v for k, v in vars(args).items() if k not in ("out",)},
|
||||
"data": data_info,
|
||||
"history": history,
|
||||
"evaluation": evaluation,
|
||||
"evaluation_note": ("final model trained on val too; evaluation is from the "
|
||||
"non-final run" if args.final else "val never used for selection"),
|
||||
"labels": "DeepSeek deepseek-v4-flash live prompt XAU score",
|
||||
}
|
||||
(args.out / "meta.json").write_text(json.dumps(meta, indent=2, default=str) + "\n")
|
||||
print(f"wrote {args.out}/model.pt and meta.json")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user