pandas
Endpoint CSV Frankfurter dapat dimuat langsung ke dalam DataFrame, sehingga mengambil kurs cukup satu baris kode. Alasan memilihnya dibanding sekadar pencarian kurs pasar cepat adalah reprodusibilitas: kunci satu penyedia dan riwayatnya tetap sesuai saat diterbitkan, sehingga backtest yang Anda jalankan hari ini sama persis dengan yang dijalankan tahun lalu.
Mulai Cepat
Arahkan read_csv ke endpoint CSV:
import pandas as pd
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp")Anda mendapatkan DataFrame date,base,quote,rate, satu baris per mata uang tujuan.
Konversi Jumlah
CSV memberikan nilai kurs, bukan total hasil konversi. Kalikan jumlah Anda dengan kolom rate. Jika hanya memerlukan satu nilai skalar tanpa pandas, panggil endpoint kurs tunggal dengan requests:
import requests
rate = requests.get("https://api.frankfurter.dev/v2/rate/usd/eur").json()["rate"]
total = 100 * rateKunci Penyedia Resmi
Secara default Anda mendapatkan kurs gabungan dari seluruh penyedia. Tambahkan providers untuk mengunci satu otoritas, sehingga analisis tetap dapat diaudit: banyak yurisdiksi mewajibkan kurs resmi terbitan bank sentral masing-masing saat mengonversi nominal mata uang asing.
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecb")ECB- Kurs referensi Bank Sentral Eropa, standar untuk PPN dan bea cukai Uni Eropa.
NBP- Narodowy Bank Polski. PPN dan pajak badan Polandia dikonversi menggunakan kurs NBP.
CNB- Kurs penetapan Bank Nasional Ceko, digunakan untuk akuntansi dan pajak di Ceko.
BCB- PTAX Banco Central do Brasil, acuan untuk kontrak dan pajak di Brasil.
BANXICO- Kurs FIX Banco de México untuk penyelesaian kewajiban berdenominasi dolar AS.
Jelajahi semua penyedia. Penyedia yang dikunci mengikuti jadwal penerbitannya sendiri, sehingga kurs terbarunya bisa tertinggal satu hari dibanding kurs gabungan terbaru.
Deret Waktu Historis
Gunakan from untuk rentang tanggal dan group=month untuk satu baris per bulan. Parsing kolom tanggal dan jadikan sebagai indeks, lalu buat grafik atau lakukan resampling. Riwayat kurs gabungan dapat bergeser tipis saat data baru masuk, jadi kunci penyedia untuk analisis yang perlu direproduksi.
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() Kueri tersebut menarik data dolar AS terhadap pound sejak 1949 dari arsip Deutsche Bundesbank. Anda dapat melihat patokan kabel $2,80 bertahan datar selama bertahun-tahun sebelum berakhir pada 1967. Riwayat panjang berasal dari penetapan kurs Frankfurt oleh Bundesbank: dolar terhadap mark sejak 1948, dan sebagian besar pasangan dolar lainnya dari 1949 hingga 1970. Bank Sentral Eropa melanjutkannya mulai 1999, sehingga deret waktu modern yang berkesinambungan menggunakan gabungan default atau providers=ecb.