본문 바로가기
Quant

[Quant] yfinance 라이브러리

by 바건정 2025. 11. 29.

yfinance는 무엇인가요?

yfinance는 야후 파이낸스(Yahoo Finance)의 방대한 금융 데이터를 파이썬 환경에서 손쉽게 다운로드 받을 수 있게 해주는 라이브러리입니다.

이 라이브러리는 야후 파이낸스의 웹 스크래핑을 기반으로 작동하기 때문에 별도의 API 키를 발급받거나 복잡한 인증 과정을 거칠 필요가 없다는 특징을 갖고 있습니다. 

pip install yfinance

위 명령어를 통해 설치를 할 수 있으며, 바로 데이터를 가져와 분석을 시작할 수 있습니다. 금융 데이터를 다루는 개발자나 데이터 분석가에게는 가장 빠르고 접근성이 좋은 데이터 수집 통로라고 할 수 있습니다.

 

yfinance가 제공하는 핵심 데이터

yfinance를 통해 얻을 수 있는 데이터는 단순히 현재 주가 수준에 그치지 않습니다. 개인 투자자부터 전문가까지 필요로 하는 핵심 정보를 깔끔하게 제공합니다.

  • 히스토리컬 주가 데이터 (OHLCV): 특정 종목의 과거 시가(Open), 고가(High), 저가(Low), 종가(Close), 그리고 거래량(Volume)을 일별, 주별, 월별, 심지어는 분 단위 간격으로 원하는 기간만큼 가져올 수 있습니다. 이 데이터는 분석에 가장 기초가 됩니다.
  • 기본 정보 (Ticker Info): 회사명, 업종, 시가총액, PER, PBR, 배당 수익률 등 종목에 대한 기본적인 스냅샷 정보를 빠르게 확인할 수 있습니다.
  • 재무제표 데이터: 투자에 있어 가장 중요한 기업의 체력을 확인할 수 있는 재무상태표, 손익계산서, 현금 흐름표 등의 핵심 재무 데이터를 연간/분기별로 가져올 수 있습니다.
  • 배당 및 분할 정보: 해당 종목이 언제 얼마만큼의 배당금을 지급했는지, 주식 분할은 언제 있었는지 등의 중요한 이벤트 기록을 추출할 수 있습니다.

yfinance를 사용해야 하는 이유

가장 큰 장점은 데이터를 Pandas DataFrame 형태로 깔끔하게 제공한다는 점입니다. 파이썬에서 데이터 분석의 표준으로 통하는 Pandas DataFrame 형태로 데이터가 즉시 정리되어 나오기 때문에, 데이터를 가져온 후 별도의 가공 과정 없이 바로 시각화나 통계 분석, 알고리즘 개발에 투입할 수 있습니다.

또한 주식 뿐 아니라 비트코인을 포함한 주요 암호화폐 관련 데이터도 쉽게 가져올 수 있다는 장점이 있습니다. 

저는 비트코인 트레이딩에도 관심이 많아, 비트코인 데이터를 가져오는 방법 위주로 살펴보겠습니다.

 

yfinance를 사용해 비트코인 데이터를 가져오는 방법

비트코인 데이터를 가져오기 위해서는 Yahoo Finance에서 해당 암호화폐에 부여한 고유 티커 심볼(Ticker Symbol)을 사용해야 합니다.

 

  • 비트코인 (USD 기준): 보통 BTC-USD 티커를 사용합니다.
  • 이더리움 (USD 기준): 보통 ETH-USD 티커를 사용합니다.

이 티커를 이용해 주식 데이터를 가져오는 것과 똑같은 방식으로 과거 가격 데이터, 거래량 등의 정보를 쉽게 추출할 수 있습니다.

import yfinance as yf
import pandas as pd

# 비트코인 (BTC-USD) 티커 설정
btc_ticker = yf.Ticker("BTC-USD")

# 과거 데이터 가져오기 (예: 지난 6개월간의 일별 데이터)
# 'period'='6mo' 또는 'start'='YYYY-MM-DD', 'end'='YYYY-MM-DD' 설정 가능
btc_history = btc_ticker.history(period="6mo") 

print(btc_history.tail())

 

 

이 코드를 실행하면 비트코인의 시가(Open), 고가(High), 저가(Low), 종가(Close), 거래량(Volume) 등의 히스토리컬 데이터가 Pandas DataFrame 형태로 반환됩니다.