Nifty Stock Research System
Overview
The Nifty Stock Research System is an AI-powered platform for analyzing Indian stocks, specifically focusing on the NSE Top 100 companies. This project leverages Google’s Gemini AI model to perform deep research and analysis of stocks, generating comprehensive reports and portfolio recommendations.
The system uses a unique approach called “vibe-coding” (stored in the prompts/
directory) to generate human-like, contextually aware analysis of stocks. This methodology combines technical analysis with qualitative insights to provide a holistic view of each stock’s potential.
Key Features
- 🤖 AI-powered stock analysis using Gemini AI
- 📊 Comprehensive technical and fundamental analysis
- 💼 Portfolio optimization and recommendations
- 📈 Historical performance tracking
- 📱 Modern, responsive web interface
Latest Research Outputs
Our latest research outputs are available in the following reports:
Architecture
The system is built with a modular architecture consisting of several key components:
- AI Analysis Engine
- Powered by Google’s Gemini AI
- Custom prompt engineering for stock analysis
- Context-aware research generation
- Data Storage
- MongoDB database for storing:
- Stock forecasts and predictions
- Historical price data
- Research reports
- Portfolio recommendations
- Visualization
- Interactive charts and graphs
- Performance metrics
- Portfolio analytics
- Automation
- Scheduled stock analysis
- Automated email reports
- Portfolio rebalancing
Setup and Configuration
- Environment Setup
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- Configuration
- Set up environment variables
- Configure MongoDB connection
- Set up Gemini API credentials
Development
- Code Standards
- Use type hints
- Follow PEP 8
- Write unit tests
- Document new features
- Prompt Management
- Store prompts in
prompts/
directory
- Version control prompt changes
- Document prompt modifications
Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Update documentation
- Submit a pull request
Support
For issues and feature requests, please use the GitHub issue tracker.