项目作者: scaperex

项目描述 :
Stock Price Change Direction Prediction
高级语言: Python
项目地址: git://github.com/scaperex/Stock-Price-Change-Direction-Prediction.git


Stock Price Change Direction Prediction

This code implements and demonstrates the use of different models
and algorithms to predict the direction of change of stock price.

As we describe in the paper, part 1 compares unstructured to structured models,
where the structure comes into play by grouping the days into weeks.
Part 2 implements structured prediction as well, this time by looking
at the connections between different companies on the same day.

The classifiers include

  • Perceptron
  • Structured (Chain CRF) Perceptron
  • LSTM Neural Network
  • MRF + Belief Propagation

We implement several aspects and build upon basic skeletons from sklearn, pystruct and pytorch for
the remaining algorithms and training and inference stages.
Our work includes the preprocessing stages - for each day, for each week,
for each company, and for each company pair,
the LSTM Neural Network training phase, structuring and creating the MRF,
adapting the BP for multi-day inference, result analysis and more.

To reproduce the results:

  1. Clone the code
  2. Create a suitable environment conda create --file env.yaml
  3. Activate the env conda activate ML36
  4. Run the main script python main.py

Notes:

  • Hyperparameters are defined in utils/Params.py and can be freely changed.
  • Full run log log_file.log is automatically created and filled.
  • To use different companies simply add the data to the data folder, following the naming convention <stock_name>.us.txt
    and update the STOCK_NAMES parameter in the Params.py config file.