Hurst Exponent Based Trading Strategy

The Project covers a short term trading strategy using Hurst exponent to segment the data and then built trading models over that. Detailed paper can be found here: http://ssrn.com/abstract=3824032

The strategy was explored for four different assets:

  1. S&P 500 Index: Representative of a mature market
  2. SSE Composite: Representative of a developing market
  3. Gold: Mature commodity market
  4. Bitcoin (USD): emerging markets for cryptocurrencies

Under the "Dev" folder there are four different folders for each of above assets. Within the folder, there are four sub-folders as described:

  1. Codes: Containes Jupyter files (Python) whose name explains the code inside. The codes cover the whole spectrum; downloading data, hurst exponent calculation, segmentation, feature engineering, Grid search (GBM, RF, and XgBoost) and generate trading strategy results
  2. Data: Stores the data output of the codes. Name of csv files are self-explanatory
  3. Images: Stores the png images generated by codes (for reference, and documentation). Same images can also be found in the Jupyter notebooks
  4. Models: Store the "pickled" version of the selected models based on Grid Search

Libraries required for running this project:

  1. pandas_datareader.version = 0.8.1 (https://pandas-datareader.readthedocs.io/en/latest/)
  2. pandas.version = 1.0.1 (https://pandas.pydata.org/)
  3. numpy.version = 1.18.1 (https://numpy.org/)
  4. matplotlib.version = 3.1.3 (https://matplotlib.org/)
  5. yfinance.version = 0.1.54 (https://pypi.org/project/yfinance/)
  6. scipy.version = 1.4.1 (https://www.scipy.org/)
  7. hurst.version = 0.0.5 (https://pypi.org/project/hurst/)
  8. sklearn.version = 0.22.1 (https://scikit-learn.org/stable/)
  9. ta.version = 0.7.0 (https://pypi.org/project/ta/)
  10. pickle (https://github.com/python/cpython/blob/3.9/Lib/pickle.py)
  11. os (https://docs.python.org/3/library/os.html)