π Intraday Stock ML
A complete end-to-end intraday stock market machine learning pipeline built using Python. This project covers data extraction β cleaning β feature engineering β model training β prediction β visualization, following a production-grade ML workflow.
π Project Overview
This system predicts short-term intraday price movement direction using technical indicators such as:
EMA (8, 21, 50)
MACD (12, 26, 9)
RSI (14)
Bollinger Bands
ATR volatility
VWAP
Volume SMA / ratios
Rolling statistics
Lag features (previous bar info)
The project is structured like a real ML pipeline used in quantitative trading.
π§ Key Features β Data Extraction
Scripts inside src/extractors/ pull stock data and save them into:
data/raw/
β Data Cleaning
Cleans raw data by:
handling missing timestamps
forward/backward fill
sorting by date
removing duplicates
Outputs to:
data/processed/
β Feature Engineering
Inside src/features/ Creates technical indicators & engineered features:
EMA
MACD
RSI
Bollinger Bands
ATR
VWAP
Volume-based indicators
Rolling mean/std
Lag features
Saved to:
data/features/
β Model Training
Inside src/models/ Trains ML models like:
XGBoost
RandomForest
Includes:
train/validation/test split
performance metrics
saved predictions in data/predictions/
β Visualization
Inside src/visualize/ Generates:
price charts
technical indicator charts
predicted signals plots
π Project Folder Structure Intraday-Stock-ML/ β βββ data/ β βββ raw/ # Raw downloaded stock data β βββ processed/ # Cleaned data β βββ features/ # Technical indicator features β βββ predictions/ # Model predictions β βββ src/ β βββ extractors/ # Data extraction scripts β βββ preprocessors/ # Data cleaning logic β βββ features/ # Feature engineering β βββ models/ # Model training/evaluation β βββ visualize/ # Visualization utilities β βββ .gitignore βββ README.md
βοΈ Technology Stack
Python
Pandas / NumPy
TA-Lib (or custom indicator formulas)
Matplotlib / Seaborn
Scikit-Learn
XGBoost
YFinance / NSE API
π ML Task
A binary classification problem predicting if the next candle closes:
Up (1) β bullish
Down (0) β bearish
π§ͺ Evaluation Metrics
Accuracy
Precision
Recall
Confusion Matrix
(Optional) Profit-based evaluation
βΆ How to Run 1οΈβ£ Extract raw data python src/extractors/extract_data.py
2οΈβ£ Clean data python src/preprocessors/clean_data.py
3οΈβ£ Build features python src/features/build_features.py
4οΈβ£ Train model python src/models/buildmodels.py
5οΈβ£ Visualize results python src/visualize/visualisematlib.py
π Future Enhancements
Backtesting engine
LSTM / Temporal Convolution models
Streamlit dashboard
Live paper trading API
Ensemble models
π₯ Author
Akshay R GitHub: akshayremesh7
Project Repo: Intraday-Stock-ML