Skip to content

Arsenik1/XGPrice

XGPrice

Technical-first machine learning project for stock movement modeling with a focus on XGBoost pipelines and notebook-driven experimentation.

Project Scope

  • 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/.

Current Stack

  • Python 3.10+
  • XGBoost (XGBClassifier, XGBRegressor)
  • scikit-learn (metrics, split logic, utilities)
  • pandas / NumPy
  • matplotlib / seaborn
  • Optuna (hyperparameter search)
  • SHAP (model explainability experiments)

Repository Layout

.
├─ data/
│  ├─ gfinance/
│  ├─ tradingview/
│  └─ yfinance/
├─ export/
│  ├─ predict.py
│  ├─ xgb_classification.py
│  └─ xgb_regression.py
├─ models/
│  ├─ *.model
│  └─ *_model_specs.txt
└─ src/
   ├─ DL/
   ├─ preprocess/
   ├─ XGB/
   └─ other/

Workflow Summary

  1. Prepare data in preprocessing modules / notebooks.
  2. Train with XGBoost workflows (classification or regression).
  3. Evaluate with fold-based metrics and confusion/error analysis.
  4. Save model checkpoints and experiment specifications to models/.
  5. Run prediction scripts for downstream inspection/backtesting.

Reproducibility Quick Start

1) Environment

Install dependencies:

pip install -r requirements.txt

2) Preferred execution

  • Open and run notebooks under src/XGB/ and src/DL/ for iterative experimentation.
  • Use scripts in export/ for exported notebook workflows.

3) Data and model artifacts

  • Input and processed datasets are kept in data/.
  • Checkpoints and spec reports are kept in models/.

Baseline Snapshot (from committed specs)

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.

Engineering Notes

  • This repository intentionally tracks:
    • .ipynb notebooks
    • dataset files under data/
    • model checkpoints/specs under models/
  • Temporary scratch file src/XGB/temp.txt is excluded from version control.

Disclaimer

This is a research/engineering project. It is not financial advice.

About

A side project I did in my university years, just to explore decision trees like XGBoost and also explore data science by curating my own dataset.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors