FinSense

πŸ‚ FinSense β€” financial news sentiment, modern and fast

The modern FinBERT alternative β€” more accurate, faster, fully reproducible. One pipeline() line and you're scoring news.

from transformers import pipeline

clf = pipeline("text-classification", model="AnkitAI/FinSense-ModernBERT-Financial-News-Sentiment")
clf("The company's quarterly earnings surpassed all estimates.")
# [{'label': 'positive', 'score': 0.99}]

positive / neutral / negative for headlines, news wires, analyst sentences. Built on ModernBERT-base β€” Flash-Attention-fast, 149M params, runs happily on CPU.


πŸ“Š Benchmarks

Financial PhraseBank (the standard benchmark for this task), held-out test set, identical harness for every row:

Model Accuracy Macro-F1
πŸ‚ FinSense 0.8675 0.8589
FinBERT (reproducible benchmarkΒΉ) 0.8423 0.8439
distilbert financial-sentiment v1 0.8323 0.8064

+2.5 points over FinBERT on like-for-like evaluation β€” with a 5-years-newer architecture, faster inference, and a fully published split so you can verify every number yourself.ΒΉ

ΒΉ Independently replicated score of the public FinBERT checkpoint (Thomas, 2024). FinBERT scores higher (0.88) when evaluated on FPB samples overlapping its own training data; FinSense's test set is fully held out. Split script + raw eval outputs ship in this repo.

🏷 Labels

id label example
0 negative "Operating profit fell to EUR 35.4 mn from EUR 68.8 mn."
1 neutral "The annual general meeting will be held on April 12."
2 positive "Quarterly earnings surpassed all estimates."

Batch scoring (thousands of headlines):

headlines = ["Shares jumped 8% after the guidance raise.",
             "The company filed its annual report on Thursday.",
             "Regulators fined the bank EUR 20 mn."]
for h, r in zip(headlines, clf(headlines, batch_size=32)):
    print(f"{r['label']:<9} {r['score']:.2f}  {h}")

πŸ’Ό Built for

  • Trading & research pipelines β€” score news flow at scale (fast batch inference, CPU-friendly)
  • Fintech products β€” sentiment tags for news feeds, alerts, dashboards
  • Quant & academic work β€” reproducible split + eval script included, cite with confidence

⚠️ Good to know

  • Tuned for financial news register β€” tweets and Reddit are a different dialect
  • English, sentence-level, three classes
  • Errors concentrate on positive-vs-neutral β€” the same boundary human annotators disagree on 25% of the time (structural ceiling of this task, affects every model including FinBERT)

πŸ”§ Training details

Full fine-tune of ModernBERT-base on Financial PhraseBank (sentences_50agree, 4,846 expert-annotated sentences): 5 epochs, lr 2e-5, batch 16, max length 128, fp32, best checkpoint by validation macro-F1. Stratified 80/10/10 split with a fixed, published seed β€” the split script and raw evaluation outputs are in this repo, so every number above is reproducible end-to-end.

πŸ“– Citation

@misc{finsense2026,
  author = {Aglawe, Ankit},
  title = {FinSense: Financial News Sentiment on Modern Encoders},
  year = {2026},
  publisher = {Hugging Face},
  url = {https://huggingface.co/AnkitAI/FinSense-ModernBERT-Financial-News-Sentiment}
}

πŸ“š Base & license

Apache-2.0 weights (ModernBERT-base, Answer.AI). Trained on Financial PhraseBank (Malo et al., 2014 β€” CC BY-NC-SA; commercial users, check dataset terms).

πŸ‚ The FinSense family

Model Size Accuracy Pick it for
This model 149M 0.8675 best accuracy, modern stack
FinSense distilbert v2 67M 0.8447 smallest & fastest, drop-in upgrade for v1 users

More sizes and a multilingual variant are on the roadmap. Sibling series: Parable β€” local agent LLMs from the same maker.

πŸ—‚ Version history

  • v1 (2026-07-17) β€” initial release: ModernBERT-base, FPB 50agree, published stratified split (seed 42).
Downloads last month
15
Safetensors
Model size
0.1B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for AnkitAI/FinSense-ModernBERT-Financial-News-Sentiment

Finetuned
(1364)
this model

Dataset used to train AnkitAI/FinSense-ModernBERT-Financial-News-Sentiment