Downloads · 30 days
731
4% of all-time downloads
Vansh180/FinBERT-India-v1
FinBERT-India-v1 is a text classification model from Vansh180. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as mit.
FinBERT-India-v1 is a fine-tuned financial sentiment analysis model trained specifically for Indian financial news and stock market headlines. further adapted to understand India-specific financial context, market lan…
Downloads · 30 days
731
4% of all-time downloads
All-time downloads
20.3K
Public
Parameters
110M
439 MB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors439 MB · 100%
From the Hugging Face model README
FinBERT-India-v1 is a fine-tuned financial sentiment analysis model trained specifically for Indian financial news and stock market headlines. further adapted to understand India-specific financial context, market language, and sentiment nuances.
Trained on a curated dataset of India-focused financial articles, this model effectively captures regional market language, economic tone, and sentiment patterns, classifying each headline as positive, neutral, or negative.
It is designed to assist in financial analytics, market forecasting, and investment decision-making by providing precise sentiment insights tailored to the Indian financial landscape.
Base Model: yiyanghkust/finbert-tone
Framework: Hugging Face Transformers
Training Hardware: Google Colab GPU (T4)
Epochs: 8 (early-stopped at best validation performance)
Batch Size: 8 (train), 16 (eval)
Learning Rate: 3e-5
Optimizer: AdamW
Dataset Size: 7,451 labeled financial news samples
Label Classes:
The dataset was LLM-labeled using an advanced large language model-based annotation pipeline, inspired by FinBERT’s financial sentiment framework and refined through manual quality validation. It consists of Indian financial news headlines collected from various stock market sources and business outlets.
| Label | Count | Percentage |
|---|---|---|
| Positive | ~45% | Market gains, optimism, positive earnings |
| Neutral | ~33% | Factual statements, mixed signals |
| Negative | ~20% | Market declines, losses, or risk sentiments |
| Metric | Score |
|---|---|
| Eval Loss | 0.54 |
| Accuracy | 76.8% |
| Precision | 76.7% |
| Recall | 76.8% |
| F1 Score | 76.4% |
✅ The model generalizes well with balanced precision and recall, and shows strong performance despite diverse phrasing and tone in Indian market headlines.
from transformers import pipeline
pipe = pipeline("text-classification", model="Vansh180/FinBERT-India-v1")
texts = [
"Sensex surges 500 points as IT and banking stocks rally.",
"Rupee falls sharply against the dollar amid global uncertainty.",
"TCS announces leadership reshuffle; markets await further clarity.",
]
for t in texts:
print(pipe(t))
Output:
[{'label': 'positive', 'score': 0.92},
{'label': 'negative', 'score': 0.88},
{'label': 'neutral', 'score': 0.73}]
If you use FinBERT-India-v1 in your research or project:
@online{momaya2025finbertindia,
author = {Vansh Momaya},
title = {FinBERT-India-v1: A Domain-Specific Sentiment Analysis Model for Indian Financial Markets},
year = {2025},
version = {v1},
url = {https://huggingface.co/Vansh180/FinBERT-India-v1},
institution = {D. J. Sanghvi College of Engineering},
note = {Fine-tuned model for analyzing Indian financial news and stock market sentiment},
license = {MIT}
}