Updated: Aug 26
Author: Aga Tucholka
Publication date: 07.08.2023
Making accurate decisions in trading is really beneficial. But how to win it? Now comes the Autoregressive Integrated Moving Average (ARIMA) model which is widely used in economics, banking, and also trading. Actually, it is treated as a reliable way to support economists' decisions. Long story short ARIMA model is based on historical data (x previous days have an influence on the next y days). Don’t you have an idea of how to implement models using Python? Do not worry, I will explain how to reach it step by step.
What exactly does ARIMA model abbreviation mean?
ARIMA model is based on decomposing a time series into three components. ARIMA consists of three parameters – p,d,q respectively, which decide about the order of AR, I, and MA components.
● AR - Autoregression
● I - Integration
● MA - Moving Average
It’s the end of theory, let’s move on to the practical part which I hope will be more interesting.
How to implement ARIMA using Python?
Let’s see how it works and how to implement it using Python. In the beginning, you need to install some necessary libraries which are required to create charts. Then download the financial database.
In this project, we use the Bitcoin - USD dataset. That’s why we need to download it:
Let’s see how the data looks:
It is very important to visualize the data. At first glance, you can see a bullish trend within the period of 2021 to 2022.
Additionally, we have to check if the data is seasonal or not. It is an extremely important part because ARIMA is used only for non-stationary data.
Checking the stationarity of the data
To check it we need to use ADF (Augmented Dickey-Fuller) which determines the stationarity of the data.
Without delving into details you have to know that p-value decides if the data is stationary or not. If the p-value is higher than 0.05 the data is non-stationary. As you can see, in this case, we are dealing with non-stationary data.
Creating ARIMA model
Now we can move on to create the ARIMA model. In Python, there is an available ready library to create it. Auto_arima function is used to find the best parameters for your model.
ARIMA contains 3 parameters(p,d,q). In this case, the best parameters are p=0, d=1, q=0.
Let’s run the model and see the results:
On the chart above, the blue line shows the downloaded data whereas the red one presents the forecasting data. As we can see the ARIMA model predicts very well.
For all intents and purposes, ARIMA models are widely used in trading. Traders often learn data analysis in Python to improve analysis skills also to increase their profits. So, I highly encourage you to put your time into going deeper into this topic.