This repository's work is inspired by "A novel validation framework to enhance deep learning models in time-series forecasting" (Livieris et al.) and "Investigating the Problem of Cryptocurrency Price Prediction: A Deep Learning Approach" (Pintelas et al.)
Full report can be found here
For best view and the ability to navigate via table of contents, please visit our colab version here
In "A novel validation framework to enhance deep learning models in time-series forecasting" (Livieris et al.), it was theoretical and empirically proved the proposed framework based on differencing can significantly improve the efficiency and reliability of any (deep learning) model. More analytically, it present why the series should be differenced in order to improve the performance of a deep learning model.
To verify and advance the original authors' work, we present the following repository with more CNN and LSTM architectures, inclusion of external datasets, and various model improvement methods along with transaction cost analysis.
- 'BTC_USD_1h.csv': original Bitocin price data gathered from Bistamps
- 'all_features_combine.csv': combined dataset with Bitcoin prices and all external factors
Will used the all_features_combine.csv for further analysis.
- create_dataset
- getLogData
- ConstructFirstDifferencesData
- EvaluateModel
- ClassificationEvaluation
- AutoCorrelationResidual_Test
- TestForResidualCorrelation
- ADF_test
- price_pattern: calculated open price related features
- standard_average: simple slide window average prediction
- TC_modeller
- TC_plotter
- Train_Valid_Test_split
- model_CNN_LSTM, model_CNN, model_LSTM
- model_constructor, model_trainer
- model_trainer_threshold: adding accuracy threshold
- model_CNN_LSTM_bayes: Parameter Tunning