A real-time stock market monitoring and news analysis platform that tracks S&P 500 companies, analyzes financial news sentiment, and provides an interactive dashboard for market insights.
- Real-time News Aggregation: Fetches latest financial news for S&P 500 companies
- Sentiment Analysis: Uses a fine-tuned RoBERTa model to analyze news sentiment
- Interactive Dashboard: Streamlit-based web interface for data visualization
- Sector & Ticker Analysis: Track mentions and sentiment across different market sectors
- Backend: Python 3.8+
- Database: MongoDB (Atlas)
- NLP: Hugging Face Transformers (cardiffnlp/twitter-roberta-base-sentiment)
- Data Processing: Pandas, NumPy
- Visualization: Plotly, Streamlit
-
Clone the repository:
git clone https://github.com/yourusername/investor_watch.git cd investor_watch -
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in the root directory with the following variables:MONGODB_USERNAME=your_mongodb_username MONGODB_PASSWORD=your_mongodb_password MONGODB_CLUSTER=your_cluster_address MONGODB_DATABASE=stocks MONGODB_COLLECTION=articles
-
Run the data ingestion script to fetch and analyze news:
python ingest.py
-
Start the Streamlit dashboard:
streamlit run dashboard.py
-
Open your browser and navigate to the provided local URL (typically http://localhost:8501)