RickyGuoTheCrazish
update docker file
47d83ad
metadata
title: Finbert Market Evaluation
emoji: 🚀
colorFrom: red
colorTo: red
sdk: docker
app_port: 8501
tags:
  - streamlit
  - finbert
  - sentiment-analysis
  - finance
  - machine-learning
pinned: false
short_description: Evaluate FinBERT’s sentiment predictions against market data
license: mit

🚀 FinBERT Market Evaluation

Evaluate how well FinBERT's financial sentiment predictions match actual stock market movements.

What It Does

Enter financial news → Get FinBERT sentiment → Compare with actual stock price movement → See if the prediction was right.

How to Use

  1. Paste financial news (e.g., "Apple reports record earnings")
  2. Enter stock ticker (e.g., AAPL)
  3. Select news date (when the news was published)
  4. Get results - see if sentiment matched price movement

Key Features

  • Smart thresholds - Uses each stock's volatility (no rigid ±1% rules)
  • Same-day + 24h analysis - Immediate reaction + follow-through
  • Graded scoring - Not just right/wrong, but how right (0-1 score)
  • Market context - Compares stock vs overall market performance

Example

News: "Tesla announces new factory in Germany"

  • FinBERT says: Positive sentiment (85% confidence)
  • Stock moved: +4.2% same day
  • Evaluation: ✅ Aligned (sentiment matched direction)
  • Score: 0.91/1.0 (excellent alignment)

Installation

pip install -r requirements.txt
streamlit run src/streamlit_app.py

Limitations

  • Research tool only (not for trading)
  • 30-second rate limit between requests
  • Needs 1+ day old news (requires market data)
  • Uses Yahoo Finance (free but limited)

Build the Docker image

docker build -t finbert-market-eval .

Run locally to test

docker run -p 8501:8501 finbert-market-eval