To bring you the best content on our sites and applications, Meredith partners with third party advertisers to serve digital ads, including personalized digital ads. Those advertisers nsequence bitcoin price tracking technologies to collect information about your activity on our sites and applications and across the Internet and your other apps and devices.
Regardless of technical analysis of the charts, a considerable percentage of cryptomarket’s conventional investors have been choosing to refrain from using bitcoin during the past few weeks due to multiple reasons including the high transaction fees, extreme volatility levels and the delay in confirmation of transactions. 1 price level, represents a key support level that will resist further price drop, so we expect to see bitcoin price continue dropping until this level is reached. 11,608 on the 30th of December. Chart from Bitfinex, hosted on Tradingview. Review Want Us To Review Your Crypto Business? To Bitcoin Bitcoin is poised to revolutionize the way individuals and companies do business online. Make sure you don’t get left behind by learning the basics of bitcoin in our bitcoin education center.
This article builds on the work from my last one on LSTM Neural Network for Time Series Prediction. If you haven’t read that, I would highly recommend checking it out to get to grips with the basics of LSTM neural networks from a simple non-mathematical angle. I find small talk boring, so let’s just jump right into it! Dataset Time The first thing we will need is the data. Luckily, Kaggle have a fun dataset of minute-by-minute historical data set from Bitcoin which includes 7 factors.
We will however need to normalise this dataset before feeding it into our network of LSTMs. We will do this as per the previous article where we take a sliding window of size N across the data and re-base to data to be returns from 0 where . Now this being a multidimensional approach, we are going to be doing this sliding window approach across all of our dimensions. Normally, this would be a pain in the ass. Luckily the Python Pandas library comes to the rescue! The other thing you will notice with this dataset is that especially at the beginning, the data is not very clean.
There’s a lot of NaN values floating around in various columns which would not make our model particularly happy. We’ll take a lazy approach to fixing this: when we create our window we’ll check if any value in the window is a NaN. If it is, we will swipe left throw away the window and move on to the next one. The Mischief With Loading In-Memory Or that’s what you would think, but life is rarely ever that easy. The issue, you see, comes from the fact that the Bitcoin dataset, being a minute-by-minute dataset, is quite large.
When normalised it is around 1 million data windows. So how would I train on this data without adding an extra 100Gb of RAM to my machine? Furthermore, if this data grew to 100x the size adding more RAM wouldn’t exactly be feasible. This trains the model with low memory utilisation.
Restrict yielding until we have enough in our batch. Well, how about pre-normalising it then saving the normalised numpy arrays of windows to a file, hopefully one that preserves the structure and is super-fast to access? Through the use of the h5py library we can easily save the clean and normalised data windows as a list of numpy arrays that takes a fraction of a second IO time to access. Looking at the data however, we don’t want to add unnecessary noise with some of the dimensions. The data is then fed into the network which has one input LSTM layer that takes in data of shape , a second LSTM layer that’s hidden, and a fully connected output layer with a tanh function for spitting out the next predicted normalised return percentage.