FLAME2 — Multilingual Perspective-Aware Financial Sentiment
XLM-RoBERTa-large fine-tuned on 145,637 financial headlines across 10 languages.
Key innovation: Same news event → different sentiment per market perspective.
Key numbers
Quick start
from transformers import pipeline
classifier = pipeline(
"text-classification",
model="Kenpache/perspective-aware-financial-sentiment"
)
# IMPORTANT: Always prefix with [LANG] for correct perspective
classifier("[EN] Federal Reserve cuts interest rates by 25 basis points")
# → {'label': 'positive', 'score': 0.94}
classifier("[AR] Oil prices fall sharply to $60 per barrel")
# → {'label': 'negative', 'score': 0.89} (Arab: oil exporter → bad)
classifier("[HI] Oil prices fall sharply to $60 per barrel")
# → {'label': 'positive', 'score': 0.87} (India: oil importer → good)
Perspective-aware: same news, different labels
from transformers import pipeline
classifier = pipeline("text-classification",
model="Kenpache/perspective-aware-financial-sentiment")
oil_drop = "Oil prices fall to $60 per barrel"
results = {}
for lang in ["AR", "HI", "EN", "DE", "JA", "KO"]:
r = classifier(f"[{lang}] {oil_drop}")[0]
results[lang] = f"{r['label']} ({r['score']:.2f})"
# AR → negative (Gulf exporter: lost revenue)
# HI → positive (India importer: lower costs)
# EN → positive (US: lower inflation)
# DE → positive (Germany: lower energy costs)
# JA → positive (Japan: lower import costs)
# KO → positive (Korea: lower import costs)
Batch processing
headlines = [
"[EN] Amazon reports record quarterly revenue of $187 billion",
"[AR] OPEC+ agrees to increase oil output by 400,000 bpd",
"[HI] OPEC+ agrees to increase oil output by 400,000 bpd",
"[JA] Bank of Japan raises interest rates to 0.5%",
"[DE] ECB cuts rates by 25 basis points amid slowdown",
"[ZH] CSI 300 index rises 2.3% on stimulus optimism",
]
results = classifier(headlines)
for h, r in zip(headlines, results):
print(f"{h[:50]:<50} → {r['label']} ({r['score']:.2f})")
Per-language performance
Training details
Language prefix injection: Each input is prefixed with [LANG] (e.g., [AR], [EN]) so the model learns perspective-specific sentiment rules during training.
Dataset
Trained on FLAME Perspective-Aware Financial Sentiment Dataset — 145,637 headlines across 10 languages with local investor perspective labeling.
When to use language prefixes
Citation
@model{perspective_aware_financial_sentiment_2026,
title = {FLAME2: Multilingual Perspective-Aware Financial Sentiment Model},
author = {Zaraki},
year = {2026},
publisher = {HuggingFace},
url = {https://huggingface.co/Kenpache/perspective-aware-financial-sentiment}
}