Vragen of problemen? Vraag het in de GitHub Discussions.

Frankfurters CSV-endpoint laadt direct in een DataFrame, zodat je met één regel code wisselkoersen binnenhaalt. De reden om Frankfurter te gebruiken in plaats van een willekeurige marktfeed is reproduceerbaarheid: leg een vaste bron vast en je notebook blijft controleerbaar en auditeerbaar. Historische koersen worden nooit achteraf gewijzigd, zodat een backtest vandaag exact hetzelfde resultaat geeft als vorig jaar.

Snel aan de slag

Verwijs met read_csv direct naar het CSV-endpoint:

import pandas as pd

df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd&quotes=eur,gbp")

Je ontvangt een date,base,quote,rate DataFrame met 1 rij per doelvaluta.

Bedrag omrekenen

De CSV-uitvoer levert de koers, niet het omgerekende totaalbedrag. Vermenigvuldig je bedrag met de kolom rate. Voor een enkele scalaire waarde zonder pandas raadpleeg je het platte endpoint met requests:

import requests

rate = requests.get("https://api.frankfurter.dev/v2/rate/usd/eur").json()["rate"]
total = 100 * rate

Officiële bron vastleggen

Standaard ontvang je de samengestelde koers van alle bronnen. Voeg providers toe om een specifieke instelling vast te leggen voor auditeerbare analyses: veel instanties vereisen de koers van hun eigen centrale bank.

df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd&quotes=eur&providers=ecb")
ECB
Referentiekoers van de Europese Centrale Bank, de standaard voor EU-btw en douane.
NBP
Narodowy Bank Polski. Poolse btw- en winstbelastingaangiften rekenen om tegen de NBP-koers.
CNB
Tsjechische Nationale Bank, referentie voor Tsjechische boekhouding en belastingen.
BCB
Banco Central do Brasil PTAX, referentie voor Braziliaanse contracten en belastingen.
BANXICO
Banco de México FIX-koers voor het vereffenen van verplichtingen in Amerikaanse dollars.

Bekijk alle bronnen. Een vaste bron volgt haar eigen publicatieschema, waardoor de meest recente koers een dag kan achterlopen op de samengestelde marktkoers.

Historische tijdreeksen

Gebruik from voor een periode en group=month voor 1 rij per maand. Parse de datumkolom, stel deze in als index en maak grafieken. Hier bewijst Frankfurter zijn waarde: lange, stabiele tijdreeksen die nooit achteraf worden aangepast.

df = pd.read_csv(
    "https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd&quotes=gbp&providers=bbk&group=month",
    parse_dates=["date"],
    index_col="date",
)
df["rate"].plot()

Dit haalt de Amerikaanse dollar tegenover het Britse pond op tot 1949 uit het archief van de Deutsche Bundesbank. De historische fixings van de Bundesbank dekken de dollar tegenover de D-mark vanaf 1948 en de meeste andere dollarkoersen van 1949 tot 1970. Vanaf 1999 neemt de Europese Centrale Bank het over; een doorlopende moderne reeks gebruikt de standaard samengestelde koers of providers=ecb.