본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 18. 21:33

FRED API를 사용하여 일·미·EU의 물가(Core CPI, PPI)와 정책 금리를 비교해 보았다

요약

FRED API를 활용하여 일본, 미국, 유로존의 물가 지표(Core CPI, PPI)와 정책 금리를 비교 분석한 사례입니다. 데이터 수집 과정에서의 주의사항과 국가별 물가 추이 차이를 다룹니다.

핵심 포인트

  • FRED API를 통해 여러 국가의 경제 지표를 통합 수집 가능
  • 데이터 ID의 정확한 확인이 분석 결과의 신뢰성을 결정
  • API 키 보안을 위해 .env 파일과 .gitignore 활용 권장
  • 일본의 기업 물가 급등 및 금리 인상 타이밍 지연 확인

프로그래밍은 초보자이며, 평소에는 작은 공장에서 일하는 현장 작업자입니다.

물가 상승과 주택 담보 대출 금리가 걱정되어, 뉴스의 수치를 직접 비교해 확인하고 싶어졌고, AI와 상담하며 Python으로 일·미·EU의 물가 그래프를 만들었습니다.

마침 일본은행(BoJ)이 금리 인상을 발표한 날에 정리되었기에 그 이야기도 포함했습니다. 초안은 평소처럼 AI를 사용했습니다.

TL;DR

  • FRED(세인트루이스 연방준비은행의 데이터 사이트) 한 곳에서 일본, 미국, 유로존의 물가 지표와 정책 금리를 한꺼번에 가져올 수 있었다
  • 몰입했던 부분은 내용보다 준비 과정: 계열 ID(데이터의 번호) 확인, API 키를 공개하지 않는 방식, 라벨 겹침, 국가별로 물가 정의가 다른 문제
  • 만들어 보며 알게 된 점은 "기업 물가는 3개국 모두 급등하고 있는데, 일본의 소비자 물가만 뒤처져 있다"는 것. 금리 인상 타이밍도 일본만 크게 늦었다

배경: 계기는 X에서 본 "디재스터(Disaster)"라는 단어

X에서 다음과 같은 취지의 게시물을 보았습니다.

일본의 기업 물가 지수는 6.3%. 솔직히 말해서 이것은 디재스터(재난)다. 금리를 0.5% 인상해도 부족할 정도로 치솟고 있다.

마음에 걸린 것은 "디재스터(재난)"라는 단어입니다. 그래프를 보면 확실히 최근에 급등했습니다. 하지만 이것으로 국가가 재난급이 된다는 것이, 과거에 단 한 번도 없었던 수준의 이야기일까? 그것이 궁금해져서 직접 조사해 보기로 했습니다. 이왕이면 다른 나라와도 비교해 보고.

다행히 얼마 전부터 Python으로 주가 데이터를 다루는 연습을 하고 있었기에, 그 연장선상에서 할 수 있을 것 같다는 생각이 들었습니다. 결과는 이런 그래프입니다.

왜 FRED를 선택했는가

첫 번째 관문은 "데이터를 어디서 가져올 것인가"였습니다. 일본은 일본은행, 미국은 노동부, 유럽은 Eurostat. 국가마다 제각각인 곳을 돌아다녀야 하나 싶어 시작하기도 전부터 귀찮아졌습니다.

조사해 보니, FRED라는 미국의 데이터 사이트에 일본, 미국, 유로존의 물가 지표가 한데 모여 있었습니다. 한 곳에서 해결된다. 이라면 초보자라도 어떻게든 될 것 같아 FRED로 결정했습니다. 데이터를 추출하기 위한 무료 키는 등록하면 1분 정도면 받을 수 있습니다.

빠지기 쉬운 함정 (본론)

여기서부터는 같은 일을 하는 사람들에게 도움이 될지도 모르는 부분입니다. 순탄치 않았습니다.

① 데이터 ID를 틀리면 다른 그래프가 만들어진다

FRED 안에서는 지표마다 ID라는 번호와 같은 문자열이 부여되어 있습니다. 이것을 틀리면 그럴싸해 보이지만 내용은 다른 그래프가 만들어집니다.

처음에 AI가 "아마 이 ID일 것입니다"라고 추측하며 진행하려 했지만, 추측대로 사용하는 것은 무서웠기에 실제로 존재하는 ID인지 확인한 후에 사용하도록 했습니다.

AI는 모르는 것도 자신만만하게 대답할 때가 있다는 것을 과거에 몇 번의 시행착오를 통해 배웠습니다. 번호 같은 것은 특히 확인시킨 후에 사용하도록 하고 있습니다.

② API 키를 코드에 그대로 적지 않는다

이 부분은 당연한 일일 수도 있겠지만, 저와 같은 비엔지니어 초보자를 위해서 적어둡니다. 나중에 코드를 공개할 때 영향을 미치는 이야기입니다.

API 키는 비밀번호와 같아서, 코드에 직접 적고 그것을 그대로 공개하면 타인이 사용할 위험이 있습니다. 그래서 키는 .env라는 별도의 파일에 적고, 코드 본체는 "그 파일을 읽으러 가는" 형태로 만들었습니다. 공개할 때는 .env를 함께 내보내지 않도록 합니다 (.gitignore에 넣기).

솔직히 이런 관례는 AI에게 "공개해도 사고가 나지 않게 해줘"라고 부탁해서 배웠습니다. 저 혼자였다면 아마 키를 그대로 붙여넣어 공개했을 것입니다. 무섭네요.

③ 라벨이 겹쳐서 읽을 수 없다

처음 출력한 그래프는 선의 오른쪽 끝에 표시한 최신값(예: "6.5%" 등)이 일본과 미국에서 거의 같은 높이가 되어, 글자가 겹쳐서 읽을 수 없었습니다.

값이 가까우면 라벨이 충돌합니다. 가까운 값끼리의 라벨을 약간 상하로 어긋나게 하여 해결했습니다. 사소하지만 가독성에 직결됩니다.

④ 국가별로 "물가"의 정의가 미묘하게 다르다

이것은 만들고 나서 깨달았습니다. 같은 "기업 물가"라도 일본, 미국, 유로존에서 대상으로 하는 범위가 조금씩 다릅니다. "소비자 물가"도 마찬가지이며, 특히 코어 지표(변동이 심한 항목을 제외한 것)는 국가마다 무엇을 제외하는지가 다릅니다. 일본에서 말하는 "코어 코어 CPI"는 식품과 에너지를 제외한 것이지만, 이것에 맞추지 않으면 국제 비교가 되지 않습니다.

완전히 동일한 잣대는 아니기에, 그래프 하단에 "※각국마다 산출 방식이 다름"이라는 주석을 달았습니다.

엄밀히 말하면 서로 다른 것을 나란히 놓는 것이라, 처음에는 "이걸 나란히 비교해도 되는 걸까?"라고 고민했습니다. 하지만 차이점을 명시한 상태에서 나열하는 것이, 뉴스가 숫자 하나만을 보여주는 것보다는 나을 것이라고 생각하여 공개하기로 했습니다.

만들어보며 알게 된 점

몇 개를 만들어 보았는데, 흥미로웠던 것은 두 가지입니다.

하나는 기업물가 (PPI)와 소비자물가 (CPI)를 상하로 나란히 놓았을 때입니다. 기업이 매입하는 단계의 물가는 일본, 미국, EU 3곳 모두 급등하고 있는데, 소비자의 단계인 물가는 일본만 낮은 상태를 유지하고 있었습니다. 가격 인상이 상류(upstream)에서는 일어나고 있는데, 일본에서는 하류(downstream)까지 제대로 전달되지 않고 있습니다. 중소기업 현장에 있는 감각으로 보면, 이는 "비용 증가를 스스로 감내하고 있는 회사가 많다"는 이야기로 보입니다. 저희 회사도 그러하기에 월급이 오르지 않는 것이겠지요…….

또 하나는 코어 코어 CPI (식품·에너지를 제외한 물가)와 정책 금리를 국가별로 나란히 놓았을 때입니다. 미국과 유로존 모두 "물가가 오르면 금리를 올린다"는 흐름이 연동되고 있는데, 일본만은 물가가 올라도 오랫동안 금리를 올리지 않고 있었습니다. 그래프로 나타내니 그 차이가 명확히 보였습니다.

그리고 기사를 작성하고 있는 2026년 6월 16일, 일본은행이 정책 금리를 1.0%로 인상했습니다. 31년 만의 수준이라고 합니다. 방금 전 그래프로 치면, 일본만 계속 누워 있던 금리 선이 마지막에 드디어 일어서는 장면입니다.

"세계가 금리를 인상할 때 일본만 움직이지 않았다. 그리고 이제야 비로소"라는 점이, 뉴스의 한 문장이 아니라 자신의 그래프를 통해 보였다는 것이 조금 흥미로웠습니다. 데이터를 나란히 배치하면 이런 흐름이 보입니다.

마치며 ―― 다음에 하고 싶은 것과 이 기사를 만드는 방법

이번에는 "이미지"로서 그래프를 출력했습니다. X(구 트위터)에 올리기에는 이 방식이 간편하고 적당합니다.

다만, 만들다 보니 "선을 지우거나 나타내면서 직접 조작할 수 있는 그래프로 만들 수 있다면 재미있겠다"라는 생각이 들었습니다. 미국을 지우고 유럽과 일본만 비교하는 식의 것이죠. 다음에는 브라우저에서 조작할 수 있는 형태로도 도전해 보고 싶습니다 (가능하다면 다시 기사로 쓰겠습니다).

또한, 최근의 PPI 전년 대비 6.3% 상승은 상당한 수준이지만, 2022년에는 10%를 넘는 상승도 있었습니다. 확실히 이 시기가 일본이 아직 마이너스 금리였던 시기이긴 하지만, EU가 30%를 넘었던 시기도 있었음을 고려하면 "디재스터(disaster)"라는 표현은 과한 것일지도 모르겠습니다.

남은 숙제:

  • 유로존 코어 지표의 ID가 정말 다른 국가와 일치하는 정의인지 조금 더 파고들고 싶음
  • 정책 금리는 국가마다 이름도 구조도 다르므로, 주석을 더 상세하게 다는 것이 좋을 것 같음
  • 매달 자동으로 최신 버전으로 업데이트하여 X에 올리는 것까지 자동화하고 싶음

마지막으로, 이 기사 자체를 만드는 방법도 적어둡니다. 평소처럼 초안은 AI의 도움을 받았지만, 이번에는 다이치(daichi)님이 공개하신 stop-ai-slop-jp라는 Skill을 사용하여 AI스러운 느낌을 걷어내는 작업도 해보았습니다 (소개 기사는 여기).

사용해 보고 가장 납득이 갔던 점은, 이 Skill이 "기호나 말투는 고칠 수 있지만, '무엇을 보고 무엇에 걸렸는지'는 본인만이 쓸 수 있다"라고 명확히 말하고 있다는 점이었습니다. 그래서 배경 부분은 뉴스로 본 숫자가 아니라, 제가 실제로 걸렸던 "디재스터"라는 단어로부터 다시 써 내려갔습니다.

전문가가 아닌 평범한 회사원이라도 AI와 함께라면 이 정도까지 만들 수 있다는 기록이었습니다. 마찬가지로 "뉴스의 숫자를 직접 확인하고 싶다"고 생각하는 분들에게 참고가 되길 바랍니다.

사용 도구:

  • Python
  • pandas
  • matplotlib
  • fredapi
  • python-dotenv

문중의 코드나 지표의 세부 정의는 솔직히 아직 완전히 이해하지 못했습니다. 오류나 조언이 있다면 댓글로 알려주세요.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0