35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# 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
|
|
|
|
1. **FinBERT AI Integration**:
|
|
- Evaluates positive, negative, and neutral sentiment probabilities (`positiveProbability`, `negativeProbability`, `neutralProbability`, `compoundScore`).
|
|
|
|
2. **ISIN & Sector Sentiment Aggregation**:
|
|
- Aggregates sentiment scores per financial asset (`IsinSentimentSummaryDto`) and sector (`SectorSentimentSummaryDto`).
|
|
|
|
3. **Background Worker Engine**:
|
|
- Runs a 5-minute background loop (`SentimentBackgroundService`) polling pending articles, processing FinBERT evaluations, and publishing results over MQTT.
|
|
|
|
4. **MQTT Event Channels**:
|
|
- Publishes updates to `finlytic/sentiment/result` and responds to RPC requests on `services/request/sentiment_GetArticle/#` and `services/request/sentiment_GetIsin/#`.
|
|
|
|
---
|
|
|
|
## Feature Status
|
|
|
|
### Implemented Features
|
|
- [x] FinBERT AI Sentiment Evaluation Service (`IFinBertAnalyzerService`).
|
|
- [x] Sentiment Storage & In-Memory Aggregation (`ISentimentStorageService`).
|
|
- [x] 5-minute Background Worker loop (`SentimentBackgroundService`).
|
|
- [x] Zero-Allocation MQTT serialization via `FinlyticJsonSerializerContext`.
|
|
- [x] 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.
|