pandas
L'endpoint CSV de Frankfurter se charge directement dans un DataFrame, ce qui permet d'extraire des taux en une seule ligne. L'intérêt de Frankfurter face à une recherche rapide de cours de marché réside dans la reproductibilité : fixe une institution précise et ton notebook devient totalement auditable. De plus, les données historiques ne sont jamais modifiées rétroactivement, garantissant qu'un backtest lancé aujourd'hui donnera exactement les mêmes résultats que celui de l'an dernier.
Démarrage rapide
Pointe read_csv vers l'endpoint CSV :
import pandas as pd
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp")Tu obtiens un DataFrame date,base,quote,rate avec une ligne par devise cible.
Convertir un montant
Le CSV fournit le taux, pas le montant total converti. Multiplie ton montant par la colonne rate. Pour un montant scalaire unique sans pandas, interroge l'endpoint de taux unitaire avec requests :
import requests
rate = requests.get("https://api.frankfurter.dev/v2/rate/usd/eur").json()["rate"]
total = 100 * rateFixer une source officielle
Par défaut, tu obtiens le taux combiné de toutes les sources. Ajoute providers pour cibler une institution précise et garantir l'auditabilité de tes analyses : de nombreux pays exigent le taux publié par leur propre banque centrale pour convertir des montants en devises.
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecb")ECB- Taux de référence de la Banque centrale européenne, standard pour la TVA et les douanes dans l'UE.
NBP- Narodowy Bank Polski. La TVA et l'impôt sur les sociétés en Pologne se convertissent au taux de la NBP.
CNB- Banque nationale tchèque, référence pour la comptabilité et la fiscalité tchèques.
BCB- Banco Central do Brasil PTAX, la référence pour les contrats et impôts brésiliens.
BANXICO- Taux FIX de Banco de México pour le règlement des dettes en dollars américains.
Consulte toutes les sources. Une source spécifique suit son propre calendrier de publication, son dernier taux peut donc avoir un jour de décalage par rapport au taux combiné.
Séries historiques
Utilise from pour définir une période et group=month pour condenser les données à une ligne par mois. Parse la colonne de date et définis-la comme index, puis trace tes courbes ou rééchantillonne. C'est là que Frankfurter prend toute sa valeur dans un notebook : des séries longues, stables et jamais modifiées rétroactivement.
df = pd.read_csv(
"https://api.frankfurter.dev/v2/rates.csv?from=1949-12-01&base=usd"es=gbp&providers=bbk&group=month",
parse_dates=["date"],
index_col="date",
)
df["rate"].plot() Cette requête extrait le dollar américain face à la livre sterling jusqu'en 1949 depuis les archives de la Deutsche Bundesbank. On peut observer l'ancrage du câble à 2,80 $ rester stable pendant des années, avant de céder en 1967. L'historique profond provient des fixings de Francfort par la Bundesbank : le dollar contre le mark dès 1948, et la plupart des autres paires du dollar de 1949 à 1970. La Banque centrale européenne prend le relais à partir de 1999 ; une série moderne continue utilise le taux combiné par défaut ou providers=ecb.