metadata
language: en
license: apache-2.0
tags:
- text-classification
- financial-nlp
- sentiment-analysis
- distilroberta
- finstream
datasets:
- financial_phrasebank
metrics:
- accuracy
- f1
hitenvk22/finstream-sentiment
FinStream financial sentiment classifier fine-tuned on Financial PhraseBank.
Part of the FinStream Active Learning Pipeline.
Model Description
| Property | Value |
|---|---|
| Base model | distilroberta-base |
| Task | 3-class financial sentiment classification |
| Dataset | Financial PhraseBank (~4,845 sentences) |
| Labels | negative (Bearish) · neutral · positive (Bullish) |
| Accuracy | 0.8443298969072165 |
| F1 macro | 0.8457725376192002 |
| Precision | 0.8510783764659424 |
| Recall | 0.8443298969072165 |
| Training hardware | Kaggle T4 GPU · FP16 · 5 epochs |
Quick Start
from transformers import pipeline
classifier = pipeline(
"text-classification",
model="hitenvk22/finstream-sentiment",
tokenizer="hitenvk22/finstream-sentiment",
)
result = classifier("The company reported record earnings, beating all analyst estimates.")
print(result)
# [{'label': 'positive', 'score': 0.96}]
Label Mapping
| Integer | Label | Financial meaning |
|---|---|---|
| 0 | negative | Bearish — price likely to fall |
| 1 | neutral | No directional signal |
| 2 | positive | Bullish — price likely to rise |
Intended Use
- Real-time financial news sentiment scoring
- Portfolio risk alerts
- Market signal generation
- Active learning pipeline retraining target
Limitations
- Trained on English-only text
- Short sentences (< 128 tokens); may underperform on long documents
- Not fine-tuned on post-2020 financial language
Training Details
- Optimiser: AdamW · LR 2e-5 · warmup 10 % · weight decay 0.01
- Early stopping patience: 2 epochs
- Dynamic padding via
DataCollatorWithPadding