Inspiration
The volatility and complexity of the stock market often make it difficult for beginners and even experienced investors to make data-driven decisions. We wanted to create a user-friendly tool that combines historical data with machine learning to help users visualize trends and make more informed predictions about future stock performance.
What it does
AI Stock Analyzer enables users to:
- Search any stock by ticker symbol
- Select a custom date range to view historical stock prices
- Visualize stock trends using interactive charts
- Predict future stock prices using machine learning models
- Calculate potential profits over selected investment periods
How we built it
We built the project using:
- React for the frontend UI
- Flask for the backend API
- yfinance for real-time stock data extraction
- Scikit-learn to train predictive models like Linear Regression and Decision Trees
- Plotly.js for charting and interactive visualizations
- Axios for client-server communication
The application is deployed on Render for easy access.
Challenges we ran into
- Ensuring consistent and accurate stock data retrieval across various ticker symbols
- Designing a responsive, clean UI that works well across different devices
- Managing cross-origin requests between the React frontend and Flask backend
- Training and fine-tuning models to avoid overfitting with small datasets
Accomplishments that we're proud of
- Developed a full-stack app that integrates real-time data with predictive ML
- Built an intuitive and visually appealing interface
- Successfully deployed the application with all components running smoothly
- Created a modular codebase for easy expansion and contribution
What we learned
- How to structure and manage a full-stack ML project
- Integration of ML models into web applications
- Handling asynchronous data fetching and error management in React
- Importance of modular coding practices and effective team collaboration
What's next for AI Stock Analyzer
- Add support for more advanced ML models like LSTM for time-series forecasting
- Enable user accounts and save preferences
- Include technical indicators and sentiment analysis
- Improve prediction accuracy using larger datasets and hyperparameter tuning
- Expand to crypto and forex markets
Log in or sign up for Devpost to join the conversation.