pandas
O endpoint CSV do Frankfurter é carregado diretamente em um DataFrame, de modo que obter taxas se resume a uma única linha. A razão para preferi-lo em vez de uma consulta rápida de mercado é a reprodutibilidade: fixe uma autoridade específica e seu notebook se torna auditável; o histórico não sofre revisões silenciosas retroativas, garantindo que um backtest executado hoje apresente os mesmos resultados do que você executou no ano passado.
Início rápido
Aponte o read_csv para o endpoint CSV:
import pandas as pd
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp")Você obtém um DataFrame date,base,quote,rate com uma linha por cotação.
Converter um valor
O CSV fornece a taxa, não o total convertido. Multiplique o valor pela coluna rate. Para um único valor escalar sem o pandas, consulte o endpoint direto com requests:
import requests
rate = requests.get("https://api.frankfurter.dev/v2/rate/usd/eur").json()["rate"]
total = 100 * rateFixar uma fonte oficial
Por padrão, você obtém a taxa combinada de todas as fontes. Adicione providers para fixar uma autoridade específica e manter a rastreabilidade da análise: muitas jurisdições exigem a taxa oficial do próprio banco central ao converter valores em moeda estrangeira.
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecb")ECB- Taxa de referência do Banco Central Europeu, padrão para IVA e alfândega na UE.
NBP- Narodowy Bank Polski. O IVA e imposto corporativo na Polônia são convertidos pela taxa do NBP.
CNB- Fixação do Banco Nacional Tcheco, usada para contabilidade e tributos na República Tcheca.
BCB- PTAX do Banco Central do Brasil, a referência para contratos e tributação no Brasil.
BANXICO- Taxa FIX do Banco de México para liquidação de obrigações em dólares americanos.
Explore todas as fontes. Uma fonte fixada segue seu próprio calendário de publicação, portanto sua cotação mais recente pode ficar um dia atrás da média combinada mais recente.
Séries históricas
Use from para um intervalo de datas e group=month para consolidar em uma linha por mês. Faça o parse da coluna de datas, defina-a como índice e plote ou reamostre. É aqui que o Frankfurter se destaca em um notebook: séries longas e estáveis que não sofrem revisões silenciosas retroativas.
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() Isso puxa a cotação do dólar americano em relação à libra até 1949 do arquivo do Deutsche Bundesbank. Você pode ver a paridade fixa de $2,80 se manter constante por anos antes de se romper em 1967. O histórico profundo vem das fixações de Frankfurt do Bundesbank: o dólar contra o marco desde 1948, e a maioria dos outros cruzamentos do dólar de 1949 a 1970. O Banco Central Europeu assume a partir de 1999, de modo que uma série moderna contínua utiliza a média combinada padrão ou providers=ecb.