A comprehensive system that combines web crawling, sentiment analysis, and deep learning to predict short-term stock price movements. The system integrates news sentiment with technical indicators to provide more accurate stock price predictions.
Check out our portfolio
- LSTM model developing
- Check
StockPredictor
inLSTM.py
- Check
- News, Tweets, Earnings Call BERT model fine-tuning
- CNBC and Yahoo Finance News Web crawling
- Check
News_Crawler.py
- Check
- Tweets Web crawling
- Tweets BERT model fine-tuning
- Check
FineTune.py
- Check
- Earnings Call BERT model fine-tuning
- Earnings Call summarization
- Check
Summary.py
- Check
- Portfolio pages design
- Check GitHub pages
- News BERT model fine-tuning
- Check
FineTune.py
- Check YC9Z/tesla_news_title_sentiment_analysis
- Check
- Automated data collection from multiple sources:
- Yahoo Finance news articles
- CNBC news articles
- Earnings call transcripts
- Tweets
- Sentiment analysis using fine-tuned BERT model
- Stock price prediction using LSTM with sentiment features
- Scalable architecture for multiple stocks
- Implements web crawling using Selenium and BeautifulSoup4
- Collects news titles from Yahoo Finance and CNBC
- Stores data in CSV format with timestamps
- Handles rate limiting and browser automation
- Fine-tunes BERT model for financial sentiment analysis
- Uses pseudo-labeling technique for efficient data labeling
- Supports three sentiment classes: positive, neutral, negative
- Includes custom dataset handling and metrics computation
- Implements LSTM model for time series prediction
- Features:
- Technical indicators integration
- VIX index integration
- Sentiment score integration
- Hyperparameter tuning using Keras Tuner
pip install -r requirements.txt
Required packages:
- tensorflow
- torch
- transformers
- pandas
- numpy
- selenium
- beautifulsoup4
- yfinance
- keras-tuner
- scikit-learn
- Data Collection
python News_Crawler.py
- Model Fine-tuning
python FineTune.py
- Stock Prediction
python LSTM.py
- Base model: google-bert/bert-large-uncased
- Custom classification head
- Configurable hyperparameters:
- Learning rate
- Batch size
- Number of epochs
- Maximum sequence length
- Features:
- Close price
- Volume
- VIX index
- Technical indicators
- Sentiment scores
- Configurable architecture:
- Number of LSTM layers
- Units per layer
- Dropout rates
- Dense layer configuration
config = ModelConfig(
model_name = "google-bert/bert-large-uncased",
num_labels = 3,
train_batch_size = 32,
eval_batch_size = 32,
learning_rate = 2e-5,
num_epochs = 5
)
- Configurable through
StockPredictor
class initialization - Supports hyperparameter tuning via Keras Tuner
- F1 Score (weighted average)
- Classification accuracy
- Confusion matrix
- Mean Squared Error (MSE)
- Root Mean Squared Error (RMSE)
- Direction accuracy
- Add support for more news sources
- Implement real-time prediction pipeline
- Add more technical indicators
- Enhance model interpretability
- Add backtesting framework
- Implement portfolio optimization
This project is for educational purposes only. The predictions should not be used as financial advice. Always do your own research before making investment decisions.