|
--- |
|
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 |
|
|
|
```bash |
|
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 |