본문 바로가기
퀀트 분석/퀀트 기초

[Python] Yahoo Finance API로 환율 받아오기

by 쿼카퀀트 2021. 8. 31.
728x90

안녕하세요, 예전에 Yahoo Finance API로 주가를 받아오는 방법을 설명했던 적이 있는데요, 글을 쓰고 보니 방문하신 분들이 Yahoo Finance 사용법에 대해 관심이 많으신 것 같더라구요. 그래서 이번에는 Yahoo Finance API로 환율 정보를 받아오는 방법을 알려드리겠습니다.

 

yfinance 패키지 연결

yfinance는 yahoo finance의 데이터를 받아오는 패키지로, 공식적으로 지원하는 패키지는 아니지만, 사용성이 매우 좋습니다.

예전에 yfinance의 기본적인 사용법을 포스팅한 적이 있어, 해당 글을 아래 링크로 남겨드립니다.

2020.08.20 - [퀀트 분석/퀀트 기초] - [Python] Yahoo Finance API로 주가 데이터 받아오기

 

[Python] Yahoo Finance API로 주가 데이터 받아오기

미국 주식 정보는 네이버 등 우리가 흔히 쓰는 사이트에서 확인하기 쉽지 않다. 따라서 해외주식 투자자들은 여러 종류의 사이트를 통해 미국 주식 정보를 얻고 있을 것이다. investing.com, FINVIZ, S

junyoru.tistory.com

 

여기서도 간략하게 패키지 연결 방법을 소개해드리겠습니다(강매).

 

먼저 yfinance 패키지를 설치해줍니다. 터미널, 아나콘다 등 환경에서 아래 코드를 입력해주세요

pip install yfinance

이제 설치가 완료됐다면 아래 코드로 yf를 import합니다.

import yfinance as yf

이렇게만 하면, yfinance패키지 연결은 끝납니다.

 

받아올 환율 티커 찾기

아마존(AMZN), 애플(AAPL), 마이크로소프트(MSFT) 등, 미국 종목들에겐 티커라는게 존재합니다. 해외주식 투자를 해보신 분들은 종목을 검색할 때 이 티커를 검색창에 입력해본 경험이 다들 있으실텐데요, Yahoo Finance API에서도 데이터를 다운로드할 때 티커를 통해 다운받을 종목을 선택합니다.

 

그렇다면, 환율에게 있어 티커란 무엇일까요?

Yahoo Finance 사이트에 직접 접속해서 확인해봅니다. 원/엔화 환율(JPY/KRW)을 검색하면, 아래 스크린샷처럼 JPY/KRW이란 이름 오른쪽에 'JPYKRW=X' 라는 단어가 있습니다. 이게 Yahoo Finance에서 사용되는 환율 티커입니다.

 

그럼 원/달러 환율의 티커는 무엇일까요? 'USDKRW=X' 입니다. (Yahoo Finance에서만 쓰이는 환율 티커로, 다른 사이트에서는 티커의 이름이 다를수도 있습니다)

이처럼, yahoo finance에선

<타겟화폐>KRW=X

가 해당 국가 화폐와 원화간 환율 티커입니다. 아래 표는 대표적인 국가들의 환율 티커 예시입니다.

국가 원화 환율 티커
미국 USDKRW=X
일본 JPYKRW=X
영국 GBPKRW=X

 

환율 데이터 다운로드

자 이제 티커도 구했으니, 데이터를 직접 다운받아보시죠!

 

yfinance패키지를 사용한다면, 간단하게 끝낼 수 있습니다.

import yfinance as yf

start_date = '2010-01-01'
end_date = '2021-01-01'
data = yf.download(['USDKRW=X','JPYKRW=X'],start=start_date, end=end_date)

이렇게 코드를 돌리면, 시작 시점(start)인 2010년 1월 1일부터 종료 시점(end)인 2021년 1월 1일까지 원/엔, 원/달러 환율을 모두 구할 수 있습니다.

주가와 동일하게 일별 환율의 Close, High, Low, Open, Adj Close가 있구요, 아쉽게도 Volume은 0 값으로 고정되어 있습니다.

 

만들어진 data 변수 결과물은 아래와 같이 출력됩니다. 최근 데이터일수록 아래쪽 row에 가 있네요.

 

이  data테이블에서 Close만 선택하고 싶다면,

data['Close']

 

위 코드를 통해 아래처럼 각 환율의 Close값만 가져올 수도 있습니다.

 

환율도 나름 변동성이 있기 때문에, 꼭 FX선물같이 복잡한 상품이 아니더라도 소소하게 외화 매매에서 차익을 노릴 수 있지 않을까 기대됩니다.

 

그럼 오늘도 성투하세요~~!

728x90

댓글