Files
Finlytic/FinlyticSentiment/Project.md
T

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

  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

  • 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.