Now Reading
Applying Time Series Analysis On Forex Historical Dataset

Applying Time Series Analysis On Forex Historical Dataset

Forex or the foreign exchange market is a decentralised system for foreign currency trading and exchange. Foreign exchange is the process of changing one country’s currency into another country’s currency for trading, commerce, or tourism. The rise to the foreign exchange services and trading was due to the varying values of individual currencies. In the world trade market Forex is regarded as the largest and most liquid asset market. National currencies have an exchange rate fixed in pairs, e.g. USD/JPY. Commercial and investment banks carry out most of the trading process on behalf of their clients. 

Currency trading is completely conducted electronically over computer networks between institutions, banks, brokers, and individual traders (mostly trading through brokers or banks) around the globe, that is known as over-the-counter (OTC). The market is open 24 hours a day and five trading days a week. Currencies are traded in the major financial centres of London(U.K), New York(U.S), Tokyo(Japan), Zurich(Switzerland), Frankfurt(Germany), Hong Kong(China), Singapore, Paris(France) and Sydney(Australia)—across almost every time zone. This means that when the trading day ends in the U.S., it begins in Singapore and Hong Kong. The forex market is almost active the entire day, with price quotes rapidly changing.

Time Series Analysis 

AI now rules the world with use cases in almost all business sectors. Finance is one such widespread area where time series is used for analytics and prediction. Exchange Rate is one of the daily economic topics that is observed by everyone. We will be analyzing the exchange rate pattern over a time span to be able to forecast it in the future.

The dataset used for demonstration is the Forex pair EUR/USD dataset which holds the record from 1971 to 2019. Dataset link.

# importing libraries

 import pandas as pd
 import numpy as np
 import seaborn as sns
 import matplotlib.pyplot as plt 

# dataset exploration setting date as index

 df = pd.read_csv('../input/eurusd-daily/eu.csv', index_col=0, parse_dates=True, skipinitialspace=True)
 df.drop('date', axis='columns', inplace=True)



 <class 'pandas.core.frame.DataFrame'>
 DatetimeIndex: 12115 entries, 1971-01-04 to 2019-05-09
 Data columns (total five columns):
  #   Column  Non-Null Count  Dtype  
 ---  ------  --------------  -----  
  0   open    12115 non-null  float64
  1   high    12115 non-null  float64
  2   low     12115 non-null  float64
  3   close   12115 non-null  float64
  4   volume  12115 non-null  int64  
 dtypes: float64(4), int64(1)
 memory usage: 567.9 KB
 ((12115,5), None) 

# checking null values 


 open      0
 high      0
 low       0
 close     0
 volume    0
 dtype: int64 

# statistical analysis


Market Trends

# data visualisation

# visualizing trend for closing price 

 plt.title('Euro vs USD')

# visualizing trend for volume

 plt.title('Euro vs USD')


df.drop('volume', axis=1).boxplot()

#generating heatmap

See Also


# Resampling yearly analysis on volume

df.resample('Y').mean()['volume'], figsize=[25,10])

# Resampling yearly analysis on closing price

df.resample('Y').mean()['close'], figsize=[25,10])

# lag plot comparing before and after values on volume

 from pandas.plotting import lag_plot

# lag plot comparing before and after values on closing price

 from pandas.plotting import lag_plot

Complete notebook link is here.


In this article, we have successfully implemented the time series analysis trends over the Forex historical dataset pair EUR/USD for visualising market scenario over the past 30 years depending on various attributes such as opening price, closing price, lowest price, highest price and volume.

What Do You Think?

Join Our Telegram Group. Be part of an engaging online community. Join Here.

Subscribe to our Newsletter

Get the latest updates and relevant offers by sharing your email.

Copyright Analytics India Magazine Pvt Ltd

Scroll To Top