ACEFormer

Python 3.7 PyTorch ACEFormer

This is the origin Pytorch implementation of ACEFormer in the following paper: An End-to-End Structure with Novel Position Mechanism and Improved EMD for Stock Forecasting

Table of Contents

Requirements

  • Python 3.7
  • matplotlib == 3.1.1
  • numpy == 1.19.4
  • pandas == 0.25.1
  • scikit_learn == 0.21.3
  • torch == 1.8.0

Data

The stock dataset used in the paper can be downloaded in the repo Stock Data.

Two real-world datasets, which are NASDAQ100 and SPY500, from US stock markets spanning over ten years. The NASDAQ100 is a stock market index made up of 102 equity stocks of non-financial companies from the NASDAQ. The SPY500 is Standard and Poor's 500, which is a stock market index tracking the stock performance of 500 large companies listed on stock exchanges in the United States. The historical data ranging from Jan-03-2012 to Jan-28-2022 for our experiments.

Usage

The training script for ACEFormer is the ACEFormer.py. A sample command to execute the script is as follows:

# NDX100 
python cpu 5 ./result ./stockdata/NDX100.csv 1 2000

Additionally, you can refer to the example in the example.ipynb to understand the model training process.