| --- |
| 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](https://github.com/hitenvk22/finstream). |
|
|
| ## 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 |
|
|
| ```python |
| 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` |
|
|