DEV Community is a community of 664,478 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Comparing currency devaluation with Python

Harvey

As the old saying goes, "money makes the world go around". Sure enough, money is the easiest way to measure a country's economic health, or at least its purchasing power.

Data about purchasing power is publicly available at statista. We can use matplotlib to plot a line chart and compare the devaluation process of currencies.

For the euro the purchasing power data from 2000 to 2020 is:

``````y = [ 1.39, 1.36, 1.33, 1.3, 1.28, 1.25, 1.22, 1.2, 1.16, 1.15, 1.13, 1.1, 1.08, 1.06, 1.06, 1.06, 1.06, 1.04, 1.02, 1.01, 1]
``````

The code below plots the devaluation of the euro:

``````import matplotlib.pyplot as plt
import numpy as np

y = [ 1.39, 1.36, 1.33, 1.3, 1.28, 1.25, 1.22, 1.2, 1.16, 1.15, 1.13, 1.1, 1.08, 1.06, 1.06, 1.06, 1.06, 1.04, 1.02, 1.01, 1]
x = range(0,len(y))

plt.figure()
plt.plot(x,y)

plt.show()
``````

For the dollar the devaluation is:

``````y = [ 1.51, 1.47, 1.45, 1.41, 1.38, 1.33, 1.29, 1.26, 1.21, 1.19, 1.16, 1.13, 1.12, 1.1, 1.1, 1.08, 1.06, 1.04, 1.02 ]
``````

The numbers are not in the same range, so you need to normalize them. I will normalize against the maximum, not normalize against the sum. To normalize against the maximum you can use

``````norm = [float(i)/max(raw) for i in raw]
``````

Ofcourse I add a legend to the plot to show the currency.
That gives us this plot:

``````import matplotlib.pyplot as plt
import numpy as np

eur = [ 1.39, 1.36, 1.33, 1.3, 1.28, 1.25, 1.22, 1.2, 1.16, 1.15, 1.13, 1.1, 1.08, 1.06, 1.06, 1.06, 1.06, 1.04, 1.02]

usd = [ 1.51, 1.47, 1.45, 1.41, 1.38, 1.33, 1.29, 1.26, 1.21, 1.19, 1.16, 1.13, 1.12, 1.1, 1.1, 1.08, 1.06, 1.04, 1.02 ]

x = range(0,len(eur))

y_eur = [float(i)/max(eur) for i in eur]
y_usd = [float(i)/max(usd) for i in usd]

plt.figure()
plt.plot(x,y_eur)
plt.plot(x,y_usd)

plt.xlabel("Year")
plt.legend(['eur','usd'])
plt.show()
``````

The trend is similar in both currencies. This program should work with any currency