Ticker-Prediction System is an advanced machine learning project that leverages LSTM (Long Short Term Memory) neural networks combined with XGBoost ensemble methods to predict stock market trends using time-series analysis.
- π€ Deep Learning Architecture: Stacked LSTM model for capturing temporal dependencies in stock data
- π Data Preprocessing: Advanced techniques for continuous dataset normalization and transformation
- π Ensemble Method: XGBoost integration to enhance prediction accuracy
- π¨ Dual Interface: Both Streamlit web app and React-based frontend
- π³ Docker Support: Containerized deployment with version tracking
- π Time-Series Prediction: Sophisticated forecasting for financial data
Note: All research, testing, and model training work are maintained in a separate repository with different epoch cycles and parameters.
This project combines cutting-edge deep learning techniques with practical deployment strategies:
- Core Technology: LSTM networks with XGBoost ensemble methods for superior prediction performance
- Multiple Interfaces:
- Streamlit Application - Quick web-based interface
- React Application - Full-featured frontend with advanced UI/UX
- Containerization: Docker images for consistent deployment across environments with semantic versioning
- Python 3.8+
- Node.js 14+
- Docker (optional, for containerized deployment)
- Git
Navigate to the Ticker Predictor Website folder:
cd "Ticker Predictor Website"
cd "Front-end"
npm install
npm run startThe React app will be available at https://localhost:3000
In a separate terminal, navigate to the Backend folder:
cd "Ticker Predictor Website"
cd "Backend"
python waitress_server.pyThe backend server will connect with the React frontend automatically.
Visual Guide:
Terminal Output Example:
β Backend running on http://localhost:5000
β Frontend running on http://localhost:3000
β Connected and ready for predictions
Terminal 1 - Backend:
docker run -p 5000:5000 debasishray/predictor-backend:latestTerminal 2 - Frontend:
docker run -p 3000:3000 debasishray/predictor-frontend:latestThen navigate to: https://localhost:3000
docker run -p 8501:8501 debasishray/streamlit-app:latestAccess the app via the link provided in the terminal output.
- Create a Docker image replica with a new tag:
docker tag debasishray/streamlit-app:v1.0 webapp- Tag for GitHub Container Registry:
docker tag webapp ghcr.io/debasishray16/stockpredictor/webapp:latest
docker image ls- Authenticate with GitHub Packages:
echo "YOUR_PAT_TOKEN" | docker login ghcr.io -u debasishray16 --password-stdin- Push to GitHub Packages:
docker push ghcr.io/debasishray16/stockpredictor/webapp:latestFormat:
ghcr.io/<username>/<repository>/<image>:tag
StockPredictor/
β
βββ π README.md # Project documentation
βββ π LICENCE # MIT License
βββ π .gitignore # Git ignore configuration
βββ π docker-compose.yml # Docker Compose configuration
β
βββ π Ticker Predictor Website/ # Main application folder
β β
β βββ π Front-end/ # React Frontend Application
β β βββ π package.json # Node.js dependencies
β β βββ π package-lock.json # Dependency lock file
β β βββ π tailwind.config.js # Tailwind CSS configuration
β β βββ π Dockerfile # Frontend container config
β β βββ π .dockerignore # Docker ignore rules
β β βββ π .gitignore # Git ignore rules
β β β
β β βββ π public/ # Static public assets
β β β βββ π index.html # Main HTML entry point
β β β βββ π manifest.json # PWA manifest
β β β βββ π robots.txt # SEO robots configuration
β β β
β β βββ π src/ # Source code
β β βββ π index.js # React entry point
β β βββ π index.css # Global CSS styles
β β βββ π App.js # Main App component
β β βββ π App.css # App-specific styles
β β βββ π reportWebVitals.js # Performance monitoring
β β β
β β βββ π Components/ # React Components
β β β βββ π Main.js # Main dashboard component
β β β βββ π Sidebar.js # Sidebar navigation (70KB)
β β β βββ π Dashboardview.js # Dashboard view component
β β β βββ π StockPredictionChart.js # Chart visualization
β β β βββ π LoadingAnim.js # Loading animation component
β β β βββ π Spinner.js # Spinner component
β β β βββ π aboutModel.js # Model information component
β β β βββ π companyInfo.js # Company details (9KB)
β β β βββ π companyDesc.js # Company description
β β β β
β β β βββ π Styles/ # Component-specific styles
β β β βββ π spinner.css # Spinner animations
β β β
β β βββ π router/ # Route configuration
β β β βββ π Router.js # React Router setup
β β β
β β βββ π assets/ # Media assets
β β βββ ποΈ idle.gif # Idle state animation
β β βββ ποΈ loading.gif # Loading animation
β β βββ ποΈ loading2.gif # Alternative loading animation
β β
β βββ π Back-end/ # Python Backend Server
β βββ π model_api.py # ML model API (12.7KB)
β βββ π waitress_server.py # WSGI server launcher
β βββ π requirements.txt # Python dependencies
β βββ π Dockerfile # Backend container config
β βββ π .dockerignore # Docker ignore rules
β β
β βββ π model/ # Trained ML Models
β βββ π€ 8_15_23_125_LXg.h5 # LSTM model (2.2MB)
β βββ π€ 8_15_23_300_LXg.h5 # LSTM model (2.2MB)
β
βββ π assets/ # Project assets
β βββ π images/ # Documentation images
β β βββ πΌοΈ Website_Preview.png # Website screenshot
β β βββ πΌοΈ terminal_screenshot.png # Terminal output screenshot
β β
β βββ π dataset/ # Training datasets (optional)
- Model Training Repository: Stock-Prediction-Models
- Live Streamlit App: Ticker Prediction - Streamlit
- Model Research: Various epoch cycles and parameter configurations available in training repo
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, suggestions, or issues:
- Open an Issue
- Check the Model Training Repository for research details
Last Updated: 2026-04-29 | Status: Active Development