트레이딩

[꿀팁] Python에서 일봉 데이터를 가져오는 여러 가지 라이브러리

성민석 2023. 7. 28. 11:10

안녕하세요 성민석입니다.

오늘은 일봉 데이터를 쉽고 간편하게 가져오는 몇가지 방법들에 대해서 소개해드리겠습니다.

 

수많은 방법들 중에서도 따로 웹스크래핑이나 증권사 API를 이용해서 가져오는 번거로운 방법들보다 손쉽게 빠르고 간편한 라이브러리를 이용하는 방법들만 소개해드리겠습니다. 참고로 몇몇 라이브러리는 디펜던시 문제로 인해서, 사용하는 환경에 따라서 동작하지 않을 수 있다는 부분 참고하셔야 합니다.


1. yfinance

yfinance는 Yahoo Finance의 데이터를 사용하는 Python 라이브러리입니다. 가장 대중적이며 사용하기 쉬운 라이브러리 중 하나입니다. 다른 라이브러리들에 비해서, 편하고 더욱 빠르게 데이터를 가져올 수 있습니다. 아래 명령어를 통해서 설치할 수 있습니다.

pip install yfinance

 

아래를 예시 코드입니다.

yf.download('AAPL', start='2020-01-01', end='2023-12-31', progress=False)

2. pandas_datareader

pandas_datareader는 다양한 인터넷 소스로부터 데이터를 읽어오는 기능을 제공하는 라이브러리입니다. Yahoo Finance, Google Finance 등 다양한 곳에서 데이터를 받아올 수 있습니다. iex를 사용하기 위해선 API KEY 등록을 해야합니다. 아래 명령어를 통해서 설치할 수 있습니다.

pip install pandas-datareader

 

아래를 예시 코드입니다.

from pandas_datareader import data

apple = data.DataReader("AAPL", 
                        start='2020-01-01', 
                        end='2023-12-31', 
                        data_source='iex')

print(apple)

3. alpha-vantage

Alpha Vantage는 무료 사용자에게 하루에 5번의 API 호출만 허용하며, 1분에 한 번만 호출할 수 있습니다. 따라서 사용하는 데이터와 요구사항에 따라 가장 적절한 라이브러리를 선택해야 합니다. 아래 명령어를 통해서 설치할 수 있습니다.

pip install alpha-vantage

 

아래를 예시 코드입니다.

from alpha_vantage.timeseries import TimeSeries

# alpha_vantage API 키를 얻어야합니다. 웹사이트에서 무료로 등록 가능합니다.
ts = TimeSeries(key='YOUR_API_KEY', output_format='pandas')

# 주식 기호와 출력 크기를 지정합니다. 'full'은 전체 시간 범위를 가져옵니다.
data, meta_data = ts.get_daily(symbol='AAPL', outputsize='full')

print(data)

4. quandl

Quandl은 주식, 경제, 대체 데이터 등을 제공하는 플랫폼입니다. API 키를 통해 Python에서 데이터를 받아올 수 있습니다. 일부 데이터베이스는 유료이며, WIKI 데이터베이스는 2018년 이후 업데이트되지 않았습니다. 아래 명령어를 통해서 설치할 수 있습니다.

pip install quandl

 

아래를 예시 코드입니다.

import quandl

quandl.ApiConfig.api_key = "YOUR_API_KEY"
data = quandl.get("WIKI/AAPL", start_date="2020-01-01", end_date="2023-12-31")
print(data)

5. investpy

investpy는 Investing.com의 데이터를 가져오는 파이썬 라이브러리입니다. 주식, ETF, 지수 등 다양한 금융 데이터를 지원합니다. 아래 명령어를 통해서 설치할 수 있습니다.

pip install investpy

 

아래를 예시 코드입니다.

import investpy

data = investpy.get_stock_historical_data(stock='AAPL',
                                          country='United States',
                                          from_date='01/01/2020',
                                          to_date='31/12/2023')
print(data)

6. finance-datareader

한국 주식 가격, 미국주식 가격, 지수, 환율, 암호화폐 가격, 종목 리스팅 등 금융 데이터 수집 라이브러리입니다. 특히나, 저는 국내 주식 일봉 데이터를 가져올 때, 간단하게 사용하고 있습니다. 아래 명령어를 통해서 설치할 수 있습니다.

pip install -U finance-datareader

 

아래를 예시 코드입니다.

import FinanceDataReader as fdr

df = fdr.DataReader('005930', '2020')  # 삼성전자
print(df)

 

아래는 공식 문서 사이트인데, 여기에서 조금 더 다양한 사용법을 확인해보세요.

https://financedata.github.io/posts/finance-data-reader-users-guide.html

 

FinanceDataReader 사용자 안내서

FinanceDataReader 사용자 안내서

financedata.github.io

 


 

이상으로 여러가지 라이브러리를 통해 주식 데이터를 가져오는 방법에 대해 알아보았습니다. 각 라이브러리는 고유한 데이터 소스를 사용하므로, 원하는 데이터와 요구사항에 따라 적절한 라이브러리를 선택하시기 바랍니다. 주식 데이터 분석에 활용해보세요!

728x90
반응형