Script to retrieve currency exchange rates and put them in a CSV, plus a CSV with data added every day. Attempts to have a lot of currencies.
Uses the Yahoo Finance API (which has a lot of currencies) to retrieve current exchange rates and stick them in a CSV together with the date.
This repository will be updated once in a while to include daily data.
This should not break when the world changes and currencies appear or disappear -- the script will just retrieve whatever is available and correctly merge the new data with the old CSV. (Therefore the CSV file cannot be append-only. At least it is written atomically.)
rates.csv: Data that falls out of the script when it is run once a day (from 2017-01-10). Example thing to do with it:
from datetime import date from currency_converter import CurrencyConverter # https://pypi.python.org/pypi/CurrencyConverter/ URL = 'https://raw.githubusercontent.com/AnotherKamila/currency-exchange-rates/master/rates.csv' cc = CurrencyConverter(URL, ref_currency='USD') print(cc.convert(10, 'EUR', 'CHF', date=date(2016, 12, 20))) # prints 10.69
getrates.py: commandline tool to retrieve the data. Make sure to install the requirements (probably in a venv). See
cron.sh: If your venv is called
venvand the requirements are installed, this will run
getrates.pyand commit the updated
All of this is best effort: I will not be responsible if your world-domination bot makes wrong decisions because of the data/script here.
I believe that the currency exchange rates are public domain, correct me if I am wrong.
I unlicense everything in this repository. But it would be nice if you linked to this repo when you use it.