1.6 KiB
1.6 KiB
Finlytic Sentiment Service
Finlytic Sentiment is a C# microservice dedicated to real-time AI sentiment analysis of financial news. It consumes pending news articles, runs FinBERT neural model evaluations, and aggregates sentiment scores at the asset (ISIN) and sector level.
Core Features & Architecture
-
FinBERT AI Integration:
- Evaluates positive, negative, and neutral sentiment probabilities (
positiveProbability,negativeProbability,neutralProbability,compoundScore).
- Evaluates positive, negative, and neutral sentiment probabilities (
-
ISIN & Sector Sentiment Aggregation:
- Aggregates sentiment scores per financial asset (
IsinSentimentSummaryDto) and sector (SectorSentimentSummaryDto).
- Aggregates sentiment scores per financial asset (
-
Background Worker Engine:
- Runs a 5-minute background loop (
SentimentBackgroundService) polling pending articles, processing FinBERT evaluations, and publishing results over MQTT.
- Runs a 5-minute background loop (
-
MQTT Event Channels:
- Publishes updates to
finlytic/sentiment/resultand responds to RPC requests onservices/request/sentiment_GetArticle/#andservices/request/sentiment_GetIsin/#.
- Publishes updates to
Feature Status
Implemented Features
- FinBERT AI Sentiment Evaluation Service (
IFinBertAnalyzerService). - Sentiment Storage & In-Memory Aggregation (
ISentimentStorageService). - 5-minute Background Worker loop (
SentimentBackgroundService). - Zero-Allocation MQTT serialization via
FinlyticJsonSerializerContext. - Pure Worker Service architecture (
Host.CreateApplicationBuilder, no Kestrel HTTP server).
Planned Features
- Historical sentiment trend charting (multi-month sentiment drift per asset).
- Financial entity sentiment impact correlation model.