StockRadar is an intelligent stock market analysis platform that combines portfolio management, machine learning-based stock recommendations, and real-time news impact analysis.
- Portfolio management (add, edit, delete holdings)
- Stock recommendations based on portfolio similarity
- News impact analysis with sentiment scoring
- Live price tracking with yfinance
- Real-time RSS feed processing
- Interactive data visualization
- FastAPI (Python)
- SQLite with SQLAlchemy
- yfinance for stock data
- TextBlob for sentiment analysis
- FAISS for similarity search
- React
- Chart.js for visualizations
- Material-UI components
- Python 3.8+
- Node.js 16+
- pip
- npm
- Clone the repository:
git clone https://github.com/chirumamilla1522/666.git
cd 666- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install Python dependencies:
pip install -r requirements.txt- Set up environment variables:
Create a
.envfile in the root directory with:
DATABASE_URL=sqlite:///./stockradar.db
- Start the FastAPI server:
uvicorn app:app --reload --host 0.0.0.0 --port 8000- Navigate to the React app directory:
cd stockradar-ui- Install dependencies:
npm install- Start the development server:
npm start-
Open your browser to:
- Static HTML interface: http://localhost:8000
- React interface: http://localhost:3000
-
Add stocks to your portfolio using the "Add Holding" button
-
View recommendations based on your portfolio
-
Check news impact analysis to see how recent news affects your holdings
Once the server is running, visit:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
/
├── app.py # Main FastAPI backend application
├── crawl.py # RSS feed crawler for financial news
├── index.py # Script to build search indexes
├── index.html # Static HTML frontend
├── stockradar.db # SQLite database
├── requirements.txt # Python dependencies
├── stockradar-ui/ # React frontend
│ ├── src/ # React source code
│ └── package.json # React dependencies
└── data/ # Data storage
├── raw_articles/ # Crawled news articles
└── index/ # Search indexes
pytestblack .
flake8- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Course: 601.666 Information Retrieval and Web Agents
- Institution: Johns Hopkins University
- Instructor: [Instructor Name]