StockScout is a stock analysis dashboard that combines technical indicators, momentum metrics, fundamental data, and news sentiment into a single composite score.
The project fetches market data, evaluates multiple signals, ranks stocks, and presents the results through an interactive Streamlit dashboard.
- Technical analysis using RSI and moving averages
- Momentum scoring based on historical returns
- Fundamental scoring from company metrics
- News sentiment analysis
- Composite scoring system
- Buy / Hold / Sell recommendations
- Interactive Streamlit dashboard
- Candlestick charts with RSI visualization
- Filterable and sortable stock rankings
- Python
- Streamlit
- Pandas
- Plotly
- yfinance
- Python-dotenv
stockscout/
├── app.py
├── run_scoring.py
├── config.py
├── requirements.txt
├── agent/
│ ├── scoring_agent.py
│ └── prompts.py
├── tools/
│ ├── market_data.py
│ ├── signal_calculator.py
│ └── news_sentiment.py
└── data/
Clone the repository:
git clone https://github.com/<your-username>/stockscout.git
cd stockscoutCreate a virtual environment:
python -m venv venvActivate it:
venv\Scripts\activatesource venv/bin/activateInstall dependencies:
pip install -r requirements.txtCreate an environment file:
cp .env.example .envConfigure the required API keys if needed.
python run_scoring.pyThe generated scores are stored in the data/ directory.
streamlit run app.pyThe application will be available at:
http://localhost:8501
The final score is calculated using weighted components:
| Component | Weight |
|---|---|
| Technical | 35% |
| Momentum | 25% |
| Fundamental | 20% |
| Sentiment | 20% |
The resulting score is converted into a recommendation category:
- STRONG BUY
- BUY
- HOLD
- SELL
- STRONG SELL
- Portfolio tracking
- Historical backtesting
- Alert notifications
- Additional technical indicators
- Sector-level analysis
- Automated scheduled runs
This project is intended for educational and research purposes only and should not be considered financial advice.