pandas
Frankfurter의 CSV 엔드포인트는 DataFrame에 바로 로드되므로, 환율을 가져오는 데 한 줄이면 됩니다. 간단한 시장 환율 조회 대신 Frankfurter를 쓰는 이유는 재현성입니다. 제공 기관 하나를 고정하면 과거 데이터가 공표된 그대로 유지되므로, 오늘 실행한 백테스트가 작년에 실행한 결과와 일치합니다.
빠른 시작
read_csv에 CSV 엔드포인트를 지정하세요:
import pandas as pd
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur,gbp")대상 통화별로 한 행씩 담긴 date,base,quote,rate 프레임을 받습니다.
금액 환전
CSV는 환전된 총액이 아니라 환율을 제공합니다. rate 열에 금액을 곱하세요. pandas 없이 값 하나만 필요하면 requests로 단일 환율 엔드포인트를 호출하세요:
import requests
rate = requests.get("https://api.frankfurter.dev/v2/rate/usd/eur").json()["rate"]
total = 100 * rate공식 제공 기관 고정
기본적으로 모든 제공 기관을 종합한 환율을 받습니다. providers를 추가해 기관 하나를 고정하면 분석을 감사할 수 있는 상태로 유지할 수 있습니다. 많은 관할 지역이 외화 금액을 환산할 때 자국 중앙은행이 공표한 환율을 요구합니다.
df = pd.read_csv("https://api.frankfurter.dev/v2/rates.csv?base=usd"es=eur&providers=ecb")ECB- 유럽중앙은행 기준 환율. EU 부가가치세와 관세의 표준입니다.
NBP- 폴란드 국립은행. 폴란드 부가가치세와 법인세는 NBP 환율로 환산합니다.
CNB- 체코 국립은행 고시 환율. 체코 회계와 세무에 사용됩니다.
BCB- 브라질 중앙은행 PTAX. 브라질 계약과 세무의 기준입니다.
BANXICO- 멕시코 중앙은행 FIX 환율. 미국 달러 채무 결제에 사용됩니다.
모든 제공 기관을 살펴보세요. 고정한 제공 기관은 자체 공표 일정을 따르므로, 최신 환율이 종합 환율보다 하루 늦을 수 있습니다.
과거 시계열
기간에는 from을, 월별 한 행에는 group=month를 사용하세요. 날짜 열을 파싱해 인덱스로 설정한 뒤 차트를 그리거나 리샘플링하세요. 종합 환율의 과거 데이터는 새 데이터가 들어오면 조금씩 바뀔 수 있으므로, 재현이 필요한 작업에는 제공 기관을 고정하세요.
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() 이 쿼리는 도이치 분데스방크 아카이브에서 1949년까지의 미국 달러 대 영국 파운드 환율을 가져옵니다. 2.80달러의 케이블 페그가 수년간 유지되다가 1967년에 깨지는 모습을 볼 수 있습니다. 깊은 과거 데이터는 분데스방크의 프랑크푸르트 고시 환율에서 나옵니다. 1948년부터의 달러 대 마르크, 1949년부터 1970년까지의 대부분의 달러 교차 환율이 여기에 포함됩니다. 1999년부터는 유럽중앙은행이 이어받으므로, 현대의 연속된 시계열에는 기본 종합 환율이나 providers=ecb를 사용하세요.