CoolFace
Datasetpublic

artefactory/ledger-market-sentiment

LEDGER Market Sentiment Prediction Data Data used for the market sentiment prediction case study in the LEDGER paper, linking CEO-letter rhetoric to EPS surprises and post-publication market reactions. Dataset Description This dataset supports research on whether the rhetoric in corporate annual report CEO letters carries signal about future fundamentals and market reaction. It covers six highly liquid industries (specialty chemicals, auto parts, packaged foods… See the full description on the dataset page: https://huggingface.co/datasets/artefactory/ledger-market-sentiment.

sourceHugging Facecc-by-4.0updated 2mo agoView on Hugging Face
10likes141downloads
Dataset Card

LEDGER Market Sentiment Prediction Data

Data used for the market sentiment prediction case study in the LEDGER paper, linking CEO-letter rhetoric to EPS surprises and post-publication market reactions.

Dataset Description

This dataset supports research on whether the rhetoric in corporate annual report CEO letters carries signal about future fundamentals and market reaction. It covers six highly liquid industries (specialty chemicals, auto parts, packaged foods, oil & gas E&P, oil & gas equipment & services, and mortgage REITs) spanning fiscal years 2017–2022.

Configs

ConfigRowsDescription
letters464CEO/chairman letters extracted from annual reports, with sentiment labels
eps_surprise13,489Earnings per share surprise data (consensus vs. reported)
stock_prices422,888Daily stock prices with rolling return windows (t-90 to t+90)
industry_indicators12,525Aggregate industry-level daily indicators

Schema

letters

ColumnTypeDescription
tickerstringStock ticker symbol
exchangestringStock exchange (NYSE, NASDAQ, LSE, AMEX)
industrystringIndustry classification
yearintFiscal year of the annual report
letter_numberintLetter index within the report (1-based)
titlestringLetter heading (e.g. "Chairman's Statement")
start_pageintFirst page in the source report
end_pageintLast page in the source report
sentimentstringOverall sentiment label: positive, negative, or null
textstringFull letter text (Markdown)
source_reportstringPath to the source OCR'd report

eps_surprise

ColumnTypeDescription
tickerstringStock ticker symbol
earnings_datedatetimeEarnings announcement date (UTC)
eps_estimatefloatConsensus analyst EPS estimate
reported_epsfloatActual reported EPS (null for future dates)
surprise_pctfloatSurprise percentage: (actual - estimate) / estimate × 100

stock_prices

ColumnTypeDescription
tickerstringStock ticker symbol
DatedateTrading date
OpenfloatOpening price
HighfloatDaily high
LowfloatDaily low
ClosefloatClosing price
VolumefloatTrading volume
Volume_ATSfloatAlternative trading system volume (normalized)
returnsfloatDaily return
VolatilityfloatRolling volatility
return_t-90 … return_t90floatRolling returns from t-90 to t+90 trading days

industry_indicators

ColumnTypeDescription
industrystringIndustry name
DatedateTrading date
returnsfloatEqual-weighted industry return
volumesfloatNormalized aggregate volume
volatilityfloatIndustry volatility
returns_vwfloatValue-weighted industry return
volumes_vwfloatValue-weighted aggregate volume
volatility_vwfloatValue-weighted volatility
return_t-90_vw … return_t42_vwfloatValue-weighted rolling returns (t-90 to t+42)

Usage

python
from datasets import load_dataset

# Load CEO letters with sentiment
letters = load_dataset("artefactory/LEDGER-market-sentiment", "letters")

# Load EPS surprises
eps = load_dataset("artefactory/LEDGER-market-sentiment", "eps_surprise")

# Load daily stock prices
prices = load_dataset("artefactory/LEDGER-market-sentiment", "stock_prices")

# Load industry indicators
indicators = load_dataset("artefactory/LEDGER-market-sentiment", "industry_indicators")

# Example: filter to positive-sentiment letters
positive_letters = letters["train"].filter(lambda x: x["sentiment"] == "positive")

Industries Covered

  1. 1.Basic Materials / Specialty Chemicals
  2. 2.Consumer Cyclical / Auto Parts
  3. 3.Consumer Defensive / Packaged Foods
  4. 4.Energy / Oil & Gas E&P
  5. 5.Energy / Oil & Gas Equipment & Services
  6. 6.Real Estate / REIT - Mortgage

Citation key

If you use LEDGER datasets and / or code ressources, please consider citing our work with:

@misc{moslonka2026ledgerlongcontextbenchmarkcorporate,
      title={LEDGER: A Long-Context Benchmark of Corporate Annual Reports for Grounded Financial Retrieval and Extraction}, 
      author={Charles Moslonka and Amaury de Vitry and Arthur Garnier and Hicham Randrianarivo and Emmanuel Malherbe},
      year={2026},
      eprint={2606.13100},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2606.13100}, 
}

License

Code: MIT | Data: CC-BY-4.0

Links