Technical-first machine learning project for stock movement modeling with a focus on XGBoost pipelines and notebook-driven experimentation.
- Forecasting / classifying price behavior for ASELSAN-based market data.
- Feature engineering and preprocessing for both classification and regression tracks.
- Experimentation in notebooks and script exports.
- Model artifact persistence and result specs under
models/.
- Python 3.10+
- XGBoost (
XGBClassifier,XGBRegressor) - scikit-learn (metrics, split logic, utilities)
- pandas / NumPy
- matplotlib / seaborn
- Optuna (hyperparameter search)
- SHAP (model explainability experiments)
.
├─ data/
│ ├─ gfinance/
│ ├─ tradingview/
│ └─ yfinance/
├─ export/
│ ├─ predict.py
│ ├─ xgb_classification.py
│ └─ xgb_regression.py
├─ models/
│ ├─ *.model
│ └─ *_model_specs.txt
└─ src/
├─ DL/
├─ preprocess/
├─ XGB/
└─ other/
- Prepare data in preprocessing modules / notebooks.
- Train with XGBoost workflows (classification or regression).
- Evaluate with fold-based metrics and confusion/error analysis.
- Save model checkpoints and experiment specifications to
models/. - Run prediction scripts for downstream inspection/backtesting.
Install dependencies:
pip install -r requirements.txt- Open and run notebooks under
src/XGB/andsrc/DL/for iterative experimentation. - Use scripts in
export/for exported notebook workflows.
- Input and processed datasets are kept in
data/. - Checkpoints and spec reports are kept in
models/.
From models/multi_mk1_xgboost_model_specs.txt:
- Multi-class AUC:
0.6247 - Accuracy:
0.4261 - Backtest total balance:
$286,814.59 - Backtest stock difference:
142.51%
These values are historical run outputs and should be interpreted as experiment-specific, not guaranteed future performance.
- This repository intentionally tracks:
.ipynbnotebooks- dataset files under
data/ - model checkpoints/specs under
models/
- Temporary scratch file
src/XGB/temp.txtis excluded from version control.
This is a research/engineering project. It is not financial advice.