Summary
"Sharing an idea and asking a question"
Objective?
Replicate workflow and results of Bao W, Yue J, Rao Y. A deep learning framework for financial time series using stacked autoencoders and long-short term memory. PLoS One. 2017 Jul 14;12(7):e0180944. doi: 10.1371/journal.pone.0180944. PMID: 28708865; PMCID: PMC5510866 in Wolfram cloud using Mathematica - as opposed to Python.
Focussing on only the S&P500 workflow/backtest
Workflow in three phases:
1. Daily S&P500 daily OHLCV data denoised using Haar Discrete Wavelet Transform and de-noised values passed to a selection of technical indicators that in turn generate time series values that are normalised.
2. Stacked Auto Encoders (SAE) are the main part of the model to learn deep features of the data set from 1
3. LSTM for one day/step ahead prediction
Why do this?
Results published https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5510866/ look promising using daily forecasting on S&P500 data including:
95% predictive accuracy
0.011 Mean Absolute Percentage Error (MAPE)
45% Ave Annual Profitability
The paper summarises this as follows:
Objective?
Replicate workflow and results of Bao W, Yue J, Rao Y. A deep learning framework for financial time series using stacked autoencoders and long-short term memory. PLoS One. 2017 Jul 14;12(7):e0180944. doi: 10.1371/journal.pone.0180944. PMID: 28708865; PMCID: PMC5510866 in Wolfram cloud using Mathematica - as opposed to Python.
Focussing on only the S&P500 workflow/backtest
Workflow in three phases:
1. Daily S&P500 daily OHLCV data denoised using Haar Discrete Wavelet Transform and de-noised values passed to a selection of technical indicators that in turn generate time series values that are normalised.
2. Stacked Auto Encoders (SAE) are the main part of the model to learn deep features of the data set from 1
3. LSTM for one day/step ahead prediction
Why do this?
Results published https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5510866/ look promising using daily forecasting on S&P500 data including:
95% predictive accuracy
0.011 Mean Absolute Percentage Error (MAPE)
45% Ave Annual Profitability
The paper summarises this as follows:
Starting with phase 1 load Adjusted OHLCV data for S&P500 from 1 July 2008 to 30 September 2016
In[]:=
data=FinancialData["SP500","AdjustedOHLCV"{{2008,7,01},{2016,9,30}}]
Out[]=
FinancialData[SP500,{{2008AdjustedOHLCV,7AdjustedOHLCV,AdjustedOHLCV},{2016AdjustedOHLCV,9AdjustedOHLCV,30AdjustedOHLCV}}]
Denoise OHLC data using Haar Wavelet - problematic given the error above using the syntax specified in the help page?
