본문 바로가기

정보/프로그래밍

[Python] yfinance 증권 데이터 수집 라이브러리 기초 사용법

세 가지 증권 데이터 수집 라이브러리를 비교하고 사용법을 익히는 시간을 가져보려 합니다.

 

바로 yfinance, pykrx, FinanceDataReader입니다.

 

오늘은 그중에서 yfinance에 대해 다뤄보려 합니다.

 

파이썬에 증권 데이터를 수집할 수 있는 라이브러리가 많아 뭘 써야 할지 모르겠는 경우가 많습니다.

 

오늘 주제가 여러분의 프로젝트에 가장 도움이 될만한 라이브러리를 찾을 수 있도록 도울 수 있다면 좋겠습니다.

 

(세 라이브러리 모두 Pandas 데이터프레임을 사용합니다)

 

다른 증권 데이터 수집 라이브러리 설명을 보고 싶으면 아래 링크를 클릭하시면 됩니다.

 

pykrx : https://bigdata-doctrine.tistory.com/7

 

[Python] pykrx 증권 데이터 수집 라이브러리 기초 사용법

오늘은 증권 데이터 수집 라이브러리인 yfinance, pykrx, FinanceDataReader 라이브러리 중 pykrx에 대해 다뤄보도록 하겠습니다. 다른 증권 데이터 수집 라이브러리 설명을 보고 싶으면 아래 링크를 클릭

bigdata-doctrine.tistory.com

FinanceDataReader : https://bigdata-doctrine.tistory.com/8

 

[Python] FinanceDataReader 증권 데이터 수집 라이브러리 기초 사용법

오늘은 증권 데이터 수집 라이브러리 yfinance, pykrx, FinanceDataReader 중 pykrx에 대해 다뤄보도록 하겠습니다. 다른 증권 데이터 수집 라이브러리 설명을 보고 싶으면 아래 링크를 클릭하시면 됩니다.

bigdata-doctrine.tistory.com

 

 

yfinance 특징, 사용법


 yfinance는 야후 파이낸스에서 크롤링한 데이터를 제공하는 라이브러리입니다.

 

재무제표, 주주정보 등 수집하기 어려운 다양한 데이터를 수집할 수 있습니다.

 

하지만 야후 파이낸스 특성상 미국 주식 데이터는 정확하지만 국내 주식 데이터는 불안정합니다.

 

예를 들어 특정 일자들의 데이터가 누락되거나 수정 종가가 틀린 경우가 있습니다.

 

또한 종목(심볼, 기업명)을 수집하는 기능이 없기 때문에 이를 위해서는 다른 라이브러리를 같이 사용해야 합니다.

 

기초적인 사용방법은 다음과 같습니다.

 

pip install yfinance

from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()

# df = pdr.get_data_yahoo(주식 종목(한국주식의 경우 ".KS") [, 시작일(YYYY-mm-dd)] [,종료일(YYYY-mm-dd)])

# 예시
df = pdr.get_data_yahoo("005930.KS", "2022-02-21", "2022-02-22")

df
  1. yfinance를 설치 한 다음에 pandas_datareader와 yfinance를 가져옵니다.
  2. pdr에 yf의 메서드를 재정의(override)해줍니다.
  3. get_data_yahoo 메서드를 통해 특정 주식의 시세 데이터를 가져옵니다.

삼성전자의 2022년 2월 21일부터 2022년 2월 22일까지의 시세 데이터를 가져온 결과는 다음과 같습니다.

 

출력 결과

2월 21일의 거래량 데이터가 0인 것을 확인할 수 있습니다.

 

이처럼 국내 주식의 경우 데이터가 누락될 수 있습니다.

 

yfinance는 재무제표, 주주정보 등 다양한 데이터를 수집할 수 있습니다.

 

사용방법은 다음과 같습니다.

 

aapl_yf = yf.Ticker("AAPL")

aapl_financials = aapl_yf.financials # 재무제표

aapl_major_holders = aapl_yf.major_holders # 주식 보유 지분
  1. "Ticker" 메서드로 특정 주식의 심볼(티커)를 가져옵니다.
  2. "financials" 메서드로 재무제표를 가져옵니다.
  3. "major_holders" 메서드로 주식 보유 지분 데이터를 가져옵니다.

 

다음은 "aapl_financials"의 출력 결과 입니다.

aapl_financials 출력 결과

각종 재무제표 데이터들을 가져옵니다.

 

 

다음은 "aapl_major_holders"의 출력 결과입니다.

aapl_major_holders 출력 결과

내부자들, 기관들의 주식 보유지분과 주식 보유 기관수 등의 데이터들을 가져옵니다.

 

 

이외에도 더 다양한 데이터들을 수집할 수 있으니 찾아보시길 바랍니다.


이번 시간엔 증권 데이터 수집 라이브러리인 yfinance, pykrx, FinanceDataReader 라이브러리 중

yfinance에 대해 알아보았습니다.

 

다음은 pykrx 라이브러리에 대해 알아보도록 하겠습니다.

 

 

yfinance 개발자 깃허브 : https://github.com/ranaroussi/yfinance

 

GitHub - ranaroussi/yfinance: Download market data from Yahoo! Finance's API

Download market data from Yahoo! Finance's API. Contribute to ranaroussi/yfinance development by creating an account on GitHub.

github.com