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