Passer au contenu
Tous les documents de la bibliothèque

Corpus d’actualités financières pour l’analyse du sentiment et des rendements

Article Machine Learning for Trading

Résumé

Cette référence décrit deux corpus d’actualités financières utilisés pour l’analyse du sentiment, le développement de caractéristiques textuelles et les expériences reliant les actualités aux rendements. FNSPID relie les titres aux symboles boursiers et couvre une longue période historique ; un échantillon plus réduit est disponible en plus de la collection complète. Les archives Bloomberg contiennent des textes d’actualité et des séries financières structurées sur une période plus courte ; elles sont présentées comme une source secondaire pour les travaux sur le sentiment, les thèmes et la robustesse entre jeux de données. Les deux sont distribués via une plateforme publique de jeux de données, et le document présente leur contenu de base et les options de chargement.

Le guide explique également d’importantes limites pratiques. FNSPID exige une attribution selon la licence indiquée, tandis que les textes Bloomberg sont réservés à la recherche et ne peuvent pas être redistribués à des fins commerciales. Les données structurées Bloomberg sont traitées séparément du chargeur d’actualités, et le guide recommande FNSPID pour les nouveaux pipelines. Ces corpus fournissent des données pour la recherche, et non des preuves que les caractéristiques d’actualité prédisent les rendements ; les utilisateurs doivent toujours définir et valider leurs propres signaux, horodatages et protocoles d’évaluation.

Idées clés

  • FNSPID relie les titres financiers aux symboles boursiers et permet d’étudier le sentiment des actualités et l’attribution des rendements.
  • Les archives Bloomberg associent des textes d’actualité à des données financières structurées pour des expériences secondaires.
  • Les corpus diffèrent par leur couverture, leur échelle et la manière de charger leurs données textuelles et structurées.
  • FNSPID exige une attribution, tandis que les archives Bloomberg sont réservées à la recherche.
  • Ces jeux de données fournissent du matériel de recherche, mais ne permettent pas à eux seuls d’établir que les actualités prédisent les rendements.

Étiquettes

Texte intégral
# Financial News Archives


# Financial News Archives

Two news corpora used for sentiment analysis, text-signal engineering,
and news-return experiments. Both distributed via HuggingFace Hub.

| Dataset                 | Records                                      | Coverage   | Disk   | Source                                              |
| ----------------------- | -------------------------------------------- | ---------- | ------ | --------------------------------------------------- |
| FNSPID                  | 15.7M headlines, 4,775 S&P 500 companies     | 1999-2023  | ~50 MB (1M sample); ~3 GB full | HuggingFace `Zihan1004/FNSPID` |
| Bloomberg news archive  | ~470k news records + structured fin-data     | 2006-2013  | ~940 MB | HuggingFace (mirrored archive)                      |

Both downloads are HuggingFace public datasets — **no API key required**,
but a free HuggingFace account (`huggingface-cli login`) makes downloads
faster and more reliable.

## FNSPID

Large-scale financial news dataset linking headlines to stock tickers.
Used in Ch10 for news-sentiment features and return-attribution
experiments.

- **Source / citation**: Zhao et al., "FNSPID: A Comprehensive Financial
  News Dataset in Time Series," *arXiv:2402.06698* (2024).
  GitHub: https://github.com/Zdong104/FNSPID_Financial_News_Dataset.
- **License**: the HuggingFace dataset page lists `cc-by-4.0` — free for
  any use (including commercial) with attribution to the FNSPID paper.
- **Size on disk**: 1M sample ~50 MB (default); full ~3 GB.
- **Runtime**: ~30 seconds for 1M sample; ~10 minutes for the full pull.

### Download

```bash
# 1M sample (default, recommended — ~50 MB)
uv run python data/alternative/news/fnspid_download.py

# Larger samples
uv run python data/alternative/news/fnspid_download.py --sample 2000000
uv run python data/alternative/news/fnspid_download.py --sample 0   # full ~15.7M rows

# Preview
uv run python data/alternative/news/fnspid_download.py --dry-run
```

Output under `$ML4T_DATA_PATH/alternative/news/fnspid/`:

```
fnspid_1000k.parquet      # 1M sample (default)
fnspid_2000k.parquet      # when --sample 2000000 is used
fnspid_full.parquet       # --sample 0
```

### Loading

```python
from data import load_fnspid

news = load_fnspid()                                               # newest sample on disk
aapl = load_fnspid(symbols=["AAPL", "MSFT"],
                   start_date="2020-01-01", end_date="2023-12-31")
```

Schema: `symbol`, `timestamp`, `title`, `body`, `source`, `url`.

### Consumers

- **Ch10**: `07_news_return_signals.py`, `08_text_feature_evaluation.py`.

## Bloomberg News Archive

Bloomberg news headlines and bodies combined with structured financial
data series, distributed via a HuggingFace-mirrored archive. Used as a
secondary corpus for sentiment / topic experiments and cross-dataset
robustness checks.

- **Source**: HuggingFace mirrored Bloomberg archive.
- **License**: Bloomberg owns the underlying text; the mirrored archive
  is distributed under HuggingFace terms **for research use only**.
  Commercial redistribution is not permitted. See the dataset card on
  HuggingFace before using for anything beyond personal study.
- **Size on disk**: ~940 MB total (news ~460 MB, structured ~480 MB).
- **Runtime**: ~3-5 minutes.

### Download

```bash
uv run python data/alternative/news/bloomberg_download.py
```

Output under `$ML4T_DATA_PATH/alternative/news/bloomberg/`:

```
bloomberg_news.parquet                   # headline + body corpus (~460 MB)
bloomberg_financial_data.parquet.gzip    # structured financial fields (~480 MB)
.cache/huggingface/download/             # HF download staging (safe to wipe)
```

### Loading

```python
from data import load_bloomberg_news
df = load_bloomberg_news(start_date="2010-01-01", end_date="2013-12-31")
```

The loader covers ``bloomberg_news.parquet`` (headline + body corpus) and
returns the article publication time as canonical ``timestamp``.
The structured-financials file is still read directly when needed —
Bloomberg corpora are secondary to FNSPID; prefer ``load_fnspid()``
when building new pipelines.

### Consumers

- **Ch22**: ESG RAG-vs-fine-tune comparison (``06_esg_rag_vs_finetune.py``).

Reproduit dans son intégralité avec attribution, conformément à la licence de la source. Licence: MIT

Ce résumé a été rédigé par l’agent de recherche de Stratmill à partir de la source originale ; il n’en est pas une copie.