← all repositories
khuangaf/CryptocurrencyPrediction

A 2017 time capsule: predicting Bitcoin with Keras and Python 2.7

Student project compares LSTM, GRU, and 1D CNN on five-minute Poloniex tick data, finds deep learning barely beats linear regression.

1k stars Jupyter Notebook Domain AppsML Frameworks
CryptocurrencyPrediction
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

Trains LSTM, GRU, and 1D CNN models in Keras on 256-step windows of Bitcoin price data (five-minute ticks from Poloniex) to predict the next 16 steps—about 80 minutes ahead. The repo includes data collection notebooks, model scripts, and plotted validation results. It was built as a final-year project and the README frames it explicitly as a learning exercise.

The interesting bit

The results table is admirably honest: the best LSTM barely edges out a simple lag baseline and linear regression on test loss, and the author flags a likely bug in the 4-layer CNN that explodes validation loss to 12 million. That transparency is rarer than the “state-of-art” claim in the introduction suggests.

Key highlights

  • Three model architectures: LSTM, GRU, and 1D CNN with configurable layers and activations
  • Data pipeline from Poloniex → h5py via Jupyter notebooks (DataCollection.ipynb, PastSampler.ipynb)
  • MinMax-scaled inputs, MSE loss, 100 training epochs per experiment
  • Leaky ReLU consistently outperforms plain ReLU across architectures
  • CNN trains fast (2 sec/epoch on GPU) but captures local temporal patterns less effectively than recurrent models

Caveats

  • Frozen in 2017: requires Python 2.7, TensorFlow 1.2.0, and Keras 2.1.1—reproducing this today is archaeology, not engineering
  • The “state-of-art” framing in the README is aspirational; the results show marginal improvement over trivial baselines
  • No code for the regularization update mentioned at the bottom—only a notebook name, no file

Verdict

Worth a quick skim for students building their first financial time-series project and wanting a template for honest benchmarking. Anyone seeking profitable crypto prediction should look elsewhere—though they probably already knew that.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.