← Blog/blog/sentiment-accuracy-no-alpha

The 88% sentiment model that found no tradable signal

A financial headline can be correctly labeled positive and still tell you nothing new about tomorrow's stock return. The market may already expect the news, react before you can trade, or care more about the surprise than the sentence's tone.

Luo separates those two questions. First, seven- and eight-billion-parameter models learn three-way financial sentiment. Then frozen classifiers face a temporally separate 2019 news panel, where the score that matters is whether sentiment ranks future returns.

01

QLoRA genuinely improves the language task

The supervised benchmark harmonizes five datasets into negative, neutral, and positive labels. Macro-F1 averages the three class-specific F1 scores so the majority neutral class cannot dominate. QLoRA stores the backbone in four bits, freezes it, and trains rank-16 adapters plus a classification head.

Paper-reported held-out macro-F1. The 13.41-point jump from zero-shot Qwen to QLoRA is real evidence of task adaptation—not evidence of market predictability.
ModelAccuracyMacro-F1
Qwen zero-shot72.80%72.74%
Qwen + QLoRA86.83%86.15%
LLaMA3 + QLoRA88.14%87.53%
Mistral + QLoRA88.40%87.71%
Paper-reported test results on 5,033 labeled examples.
02

Turn probabilities into a rankable signal

For each headline, expected polarity is p(positive) − p(negative); neutral contributes zero. Multiple headlines for the same stock and date are averaged so heavily covered firms do not receive mechanically larger signals. A probability vector (0.1, 0.2, 0.7) becomes 0.6 in the tested core.

def sentiment_score(p_negative, p_neutral, p_positive):
    return p_positive - p_negative

def stock_day_score(headline_scores):
    return sum(headline_scores) / len(headline_scores)

Each day, the study computes Spearman rank correlation between stock sentiment and subsequent returns. Spearman correlation cares about ordering, not common probability calibration. The illustrative perfectly ordered cross-section in the core has rank IC 1.0.

Signals dated on a calendar day enter at the next trading session's open because reliable intraday timestamps are unavailable. That avoids same-day look-ahead, but it can arrive after liquid stocks have incorporated the news.

03

The positive one-day result evaporates by horizon

FinBERTFinancial-RoBERTaQwen QLoRA
Paper-reported mean daily rank IC at 1, 2, 3, and 5 trading days. The selected models turn negative after the first day; none of the full 28 tests is significant after correction.
04

Twenty-eight chances demand a correction

Seven models times four horizons create 28 hypotheses. Benjamini–Hochberg sorts their p-values and raises the threshold burden while controlling the expected false-discovery proportion. The paper's smallest adjusted q-value was 0.9622; even an unadjusted two-day p-value of 0.0397 did not survive.

Illustrative four-test Benjamini–Hochberg example computed by the tested core. Orange bars are raw p-values; green bars are monotone adjusted q-values. This is formula validation, not paper data.

The portfolio diagnostic takes the top and bottom 15%, assigning +0.5 gross exposure to longs and −0.5 to shorts. The core's five-stock toy produces weights [-0.5, 0.0, 0.0, 0.0, 0.5], exactly market-neutral before returns.

Gross portfolios omit commissions, spread, impact, slippage, and stock-borrow costs, and are not neutralized against beta, sector, size, or momentum. Long-only gains can therefore be market exposure rather than sentiment alpha.

05

What to probe next

  • Use point-in-time models and timestamped headlines with pre-event prices.
  • Predict abnormal returns or surprise, not human sentiment labels alone.
  • Deduplicate syndicated stories and weight novelty and event importance.
  • Report factor-neutral net returns with realistic turnover costs.
  • Pre-register models and horizons or preserve the full multiple-testing correction.

The bridge from the Transformer, linear regression, and logistic regression pages is simple: classification estimates a label humans supplied; trading needs incremental information about a price humans are already updating. Better semantics can be valuable without being alpha.

References

  1. Fusheng Luo (2026). From Financial Sentiment Classification to Return Predictability: A QLoRA Benchmark of Large Language Models. arXiv preprint, q-fin.MF / cs.LG
  2. Tim Dettmers et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. NeurIPS 2023