Ethereum Price prediction the passion project continues!

Louis Brown
Coinmonks
6 min readAug 6, 2023

--

Photo by Ian Schneider on Unsplash

Introduction

We created a model called bitcoinpredict10, and as an extension, we wanted to start looking at how we could model Ethereum. to do that, we wanted to ask ourselves the following questions:-

  1. Is there any pattern or repetition in the hourly Ethereum Price?
  2. Do we see any Trends in the Ethereum Price?
  3. Can we predict the hourly close price of Ethereum?

We ask ourselves these questions to see if we see any patterns that can help us build a model; this article will highlight our findings.

A Brief History of!!!

So, in the beginning, we built bitcoinpredict10, and the model predicted bitcoin price movement over 10 minutes; although useful, the number of messages meant that users started to ignore the messages, as they became numb to the number of messages and therefore became disengaged from the service.

So we then decided to move to a 1-hour massage. This seemed to bring back user engagement to the service, and so we stuck with this level of messages from our users. We then asked users what they would like us to do next, and we got some interesting feedback:-

  1. Create a bot for users to use with the models.
  2. Add more coins to the project.
  3. Create a warning message for users.

This article looks to start answering some of the questions for 2.

Lets now jump into some of the analysis!

The analysis is based on Bitstamp Open High Low Closed (OHLC) data, I have previously discussed how to source this data in the article sourcing intraday cryptodata.

Is there any pattern or repetition in the hourly Ethereum Price?

How do we answer these questions? We try to answer this initially by doing tests for seasonality, and luckily for us, some of this has now been built into ydata-profiling, which is an Exploratory Data Analysis (EDA) library. Let’s look at the table output for Ethereum Close price.

So we can see from the table that we do see seasonality in the time series (we can see repetition in the time series); however, also we get the lovely message seasonal at the top of our chart!

We can dig further into this by looking at how many repeating cycles we may be able to identify by decomposing the series. We will do this by looking at the last 1000 data points.

We can see from the analysis that we have six repeating patterns that make up the underlying series, from IMF 1 being a high-frequency pattern to IMF 6, which is a low-frequency pattern.

So we now have the answer to our first question; there are several repeating patterns in the underlying series that we can identify in the hourly Ethereum closing price.

Do we see any Trend in the Ethereum Price?

So the first thing to note when answering this question is that data 1-hour close prices are non-stationary, which can point to a series trending, seasonality, or random walk. We can also see clearly over all the data that there is generally an increasing trend in the series, notwithstanding the significant price drop that starts around 2021.

Let’s see what we find from our decomposition of the last 1000 data points.

Based on the last 1000 data points, we notice a downward trend in the hourly price of Ethereum based on this part of the time series.

Can we predict the hourly close price of Ethereum?

So now we’ve identified underlying patterns and effects we would also like to handle in the Ethereum price, we can start thinking about the third question we posed.

How should we think about modelling the series in the first instance? We could do something simple and not really create a statistically driven model at all; what do I mean? We could say, what if we used the price 1 hour before? Let’s have a look.

1-hour lag vs 1 hour closed price

We see a strong relationship between the lagged price and the current price, looking at the R² 0.95, which shows a very strong correlation between the two; indeed, the MSE is ~$46. We can look at the residuals and fitted against the actual we see that the model behaves well in the graphs below.

Can we improve upon this by building a linear regression model?

Well, there are a few things we should consider. We have a non-stationary time series with some seasonality, so to account for this, we take the differences between the current price and the 1 hour lagged price.

This will be the series that we will look to model. We do this because this series becomes stationary and does not show any seasonality; we also take other differences from 5 hours to 2 hours and use these as our independent variables as well as Ethereum and USD volume. Let’s compare the time series and see what has happened.

predicted price vs actual price

So again, we see there is a strong relationship between our current and predicted price of R² 0.98 and an MSE of ~$21. Let’s see the residual and actual vs predicted to see if the model is behaving well.

The residuals and fitted are well behaved; we can therefore confirm that we can predict the 1-hour price of Ethereum, and as such, might be able to start thinking about how we can add Ethereum into our modelling process.

Summary: “Passion led us here.”

The prediction models we have been creating have been a passion project for the team. On the journey, we have gone down a number of rabbit holes on the best way to model crypto prices and what we should do with them afterwards!!! In this article, we have shared how you can start thinking about modelling time series for Ethereum.

  • So we have looked at the 1-hour time series, seeing if we can find any repeating patterns that might be useful for us to consider for modelling.
  • We have shown that there is an underlying trend in the time series.
  • Finally, we showed that the price is predictable!

Have we inspired you to start your own project? If so:-

  • Here is a link to our notebook for this project.
  • A link to the previous article looking using the forecasts.

--

--