/Attention-CLX-stock-prediction

Attention-based CNN-LSTM and XGBoost hybrid model for stock prediction

Primary LanguagePython

Attention-based CNN-LSTM and XGBoost hybrid model for stock prediction

Requirements

The code has been tested running under Python 3.7.4, with the following packages and their dependencies installed:

numpy==1.16.5
sklearn==0.21.3
statsmodels==0.10.1
pandas==0.25.1
tensorflow==2.1.0
keras==2.3.1
xgboost==1.5.0

The stock data used in this repository was downloaded from TuShare. The stock data on TuShare are with public availability.

Usage

Firstly, run ARIMA.py for pre-processing step by ARIMA model. Then, run the neural network or XGBoost models.

  • Run LSTM.py for the single-layer LSTM, multi-layer LSTM, and bidirectional LSTM models.
  • Run XGBoost.py for the XGBoost model.
  • Run Main.py for our proposed Attention-based CNN-LSTM and XGBoost hybrid model.

Citation

@article{shi2022attclx,
    author={Zhuangwei Shi and Yang Hu and Guangliang Mo and Jian Wu},
    title={Attention-based CNN-LSTM and XGBoost hybrid model for stock prediction},
    journal={arXiv preprint arXiv:2204.02623},
    year={2022},
}