FinTone β€” Financial Sentiment Classifier

Fine-tuned DistilBERT for financial text sentiment classification. Trained on 7,634 real financial news sentences, achieving F1 0.902 β€” outperforming GPT-4o-mini (F1 0.658) by +24.4 points.

Model Details

  • Base model: distilbert-base-uncased (67M parameters)
  • Task: 3-class sentiment classification (positive / negative / neutral)
  • Dataset: Twitter Financial News Sentiment (9,543 samples)
  • Training: 5 epochs, lr=2e-5, batch size=32, fp16
  • Developer: Shun Le Yi Mon (Sheryl)

Performance

Model Weighted F1 Accuracy
GPT-4o-mini (baseline) 0.658 65%
FinTone-DistilBERT 0.902 90%
Delta +0.244 +25%

Per-class Results

Class Precision Recall F1
Negative 0.83 0.94 0.88
Neutral 0.97 0.90 0.93
Positive 0.74 0.88 0.80

Usage

from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="SLYM06/fintone-distilbert-financial-sentiment"
)

result = classifier("The company reported record profits this quarter.")
print(result)
# [{'label': 'positive', 'score': 0.94}]

Key Finding

A domain-adapted 67M parameter model outperforms GPT-4o-mini on financial sentiment by 24.4 F1 points β€” demonstrating that fine-tuning a purpose-built classifier on domain-specific data is more effective and cost-efficient than prompting a general LLM.

Training Data

Twitter Financial News Sentiment dataset β€” 9,543 financial news headlines and tweets labelled as positive, negative, or neutral.

GitHub

github.com/Shun024/fintone

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for SLYM06/fintone-phi3-financial-sentiment

Finetuned
(11779)
this model

Dataset used to train SLYM06/fintone-phi3-financial-sentiment