파이썬으로 금융시장 분석하기 : FinanceDataReader 패키지의 활용법
금융 데이터를 파이썬으로 분석할 때 가장 중요한 첫 단계는 신뢰할 수 있는 데이터를 빠르고 정확하게 수집하는 것입니다. FinanceDataReader(FDR) 패키지는 주식, 환율, 원자재 등 다양한 금융 데이터를 쉽게 수집할 수 있는 강력한 도구입니다. 이 글에서는 FDR 패키지를 소개하고, 이를 이용해 한국 주식 시장(KRX)의 전체 데이터를 가져오고 활용하는 방법을 설명하겠습니다.
글의 순서
FinanceDataReader란?
FDR 패키지 설치
FDR로 한국거래소(KRX) 전체 종목 데이터 가져오기
특정 종목의 주가 데이터 수집
KRX 전체 종목 데이터 활용하기
FinanceDataReader란?
FinanceDataReader(FDR)는 주식, 암호화폐, 환율, 원자재 등 다양한 금융시장 데이터를 제공하는 파이썬 라이브러리입니다. 주로 야후 파이낸스(Yahoo Finance), 네이버 금융, 한국거래소(KRX) 등에서 데이터를 가져오며, 한국을 포함한 글로벌 금융 데이터를 쉽게 분석할 수 있습니다.
FDR 패키지로 가져올 수 있는 금융 데이터
▶주식 데이터 : 한국, 미국, 일본, 유럽 등 여러 나라의 주식 데이터를 포함합니다.
▶암호화폐 데이터 : 비트코인, 이더리움 등 다양한 암호화폐의 시세를 조회할 수 있습니다.
▶환율 데이터 : 주요 통화 간의 환율 정보를 가져옵니다.
▶원자재 데이터 : 금, 은, 원유 등 원자재 가격 정보를 제공합니다.
▶지수 데이터 : KOSPI, NASDAQ, S&P 500과 같은 주요 지수의 데이터를 가져옵니다.
FDR 패키지 설치
FinanceDataReader를 설치하려면 파이썬 패키지 관리자 pip를 사용하여 간단히 설치할 수 있습니다. 설치가 완료되면 다양한 금융 데이터를 쉽게 수집할 수 있습니다.
1 |
pip install finance-datareader |
FDR로 한국거래소(KRX) 전체 종목 데이터 가져오기
한국 주식 시장의 데이터를 쉽게 가져올 수 있습니다. 한국거래소(KRX)에 상장된 종목 리스트를 가져오는 방법을 살펴보겠습니다. 실습코드 01을 통해 전체 종목 데이터를 확보하고, 특정 종목의 세부 데이터를 분석할 수 있습니다.
1 2 3 4 5 6 |
import FinanceDataReader as fdr # KRX 전체 종목 리스트 가져오기 krx=fdr.StockListing('KRX') print(krx.columns) print(krx) |
1 2 3 4 5 6 7 8 9 10 11 12 |
Index(['Code', 'ISU_CD', 'Name', 'Market', 'Dept', 'Close', 'ChangeCode', 'Changes', 'ChagesRatio', 'Open', 'High', 'Low', 'Volume', 'Amount', 'Marcap', 'Stocks', 'MarketId'], dtype='object') Code ISU_CD Name Market Dept Close ... Low Volume Amount Marcap Stocks MarketId 0 005930 KR7005930003 삼성전자 KOSPI 66300 ... 65200 35884106 2369440968156 395796583065000 5969782550 STK 1 000660 KR7000660001 SK하이닉스 KOSPI 168800 ... 163800 8628996 1448494775000 122886799212000 728002365 STK 2 373220 KR7373220003 LG에너지솔루션 KOSPI 414000 ... 395000 361481 146704661500 96876000000000 234000000 STK 3 207940 KR7207940008 삼성바이오로직스 KOSPI 971000 ... 967000 94425 91901380000 69109954000000 71174000 STK 4 005380 KR7005380001 현대차 KOSPI 232000 ... 225500 660069 152049148000 48584556312000 209416191 STK |
특정 종목의 주가 데이터 수집
전체 종목 리스트에서 관심 있는 종목을 선택해, 해당 종목의 OHLCV 데이터(시가, 고가, 저가, 종가, 거래량)를 가져올 수 있습니다. 이를 통해 종목별 시세 데이터를 분석할 수 있습니다. 실습코드02는 LG에너지솔루션(373220)의 주가 데이터를 가져옵니다. 주가 데이터 수집 구간은 2024년 9월 1일부터 12일까지이며, 데이터는 시가(Open), 고가(High), 저가(Low), 종가(Close), 거래량(Volume), 가격변동(Change)으로 구성됩니다.
1 2 3 |
# LG에너지솔루션(373220) 일별 주가 데이터 수집 df_lgensol = fdr.DataReader('373220', '2024-09-01', '2024-09-12') print(df_lgensol ) |
1 2 3 4 5 6 7 8 9 10 11 |
Open High Low Close Volume Change Date 2024-09-02 392000 416500 392000 412000 792620 0.061856 2024-09-03 416500 419000 407000 411000 340713 -0.002427 2024-09-04 399000 410000 396500 399500 373803 -0.027981 2024-09-05 410500 418000 401000 410000 463032 0.026283 2024-09-06 412000 412500 392500 395000 419682 -0.036585 2024-09-09 388500 404000 386000 399500 302125 0.011392 2024-09-10 398500 400000 378000 379500 421418 -0.050063 2024-09-11 380500 402500 380500 399000 365687 0.051383 2024-09-12 403500 414000 395000 414000 355658 0.037594 |
KRX 전체 종목 데이터 활용하기
KRX 전체 종목 데이터를 활용해 데이터베이스처럼 분석을 자동화할 수 있습니다. 예를 들어, 시가총액 기준으로 특정 조건에 맞는 종목을 필터링하거나, 각 종목에 대한 기술적 분석을 수행할 수 있습니다.
1 2 3 4 5 6 7 8 |
importFinanceDataReaderasfdr # KRX 전체 종목 리스트 가져오기 krx=fdr.StockListing('KRX') # 시가총액 100조 이상인 종목만 필터링 large_caps=krx[krx['Marcap'] >1e14] print(large_caps) |
1 2 3 |
Code ISU_CD Name Market Dept Close ... Low Volume Amount Marcap Stocks MarketId 0 005930 KR7005930003 삼성전자 KOSPI 66300 ... 65200 35884106 2369440968156 395796583065000 5969782550 STK 1 000660 KR7000660001 SK하이닉스 KOSPI 168800 ... 163800 8628996 1448494775000 122886799212000 728002365 STK |
마치며 …
FinanceDataReader(FDR)는 금융 데이터를 분석하는 데 매우 유용한 파이썬 패키지입니다. 한국거래조, KRX 전체 종목 데이터를 수집한 후 이를 바탕으로 기술적 분석을 수행하거나, 특정 종목에 대한 심층적인 분석을 자동화할 수 있습니다. FDR 패키지는 주식, 환율, 암호화폐, 원자재 데이터를 빠르게 수집할 수 있어, 데이터 기반의 투자 전략을 수립하는 데 큰 도움이 됩니다.
FDR 패키지를 활용해 KRX 및 글로벌 주식 데이터를 수집하고, 이를 분석하여 투자에 필요한 통찰력을 얻어보시기 바랍니다.
함께 참고하면 좋은 글
▶ 파이썬 주식 데이터 분석 : FDR 패키지 활용
▶ yfinance로 주식, 암호화폐, 원자재까지: 파이썬으로 금융 데이터 쉽게 분석하기
▶ 한국투자증권 API 신청 방법
▶ 한국투자증권 파이썬 패키지 pykis로 준비하는 알고리즘 투자
▶ RESTful API : 웹 애플리케이션 개발자를 위한 기초부터 실전까지
▶ 파이썬 데이터 분석을 위한 API 이해, REST API, WebSocket API
▶ 파이썬 바이낸스 API로 시계열 데이터를 가져오는 파이썬 프로그래밍
▶ 업비트 REST API를 이용한 비트코인 가격 추출 파이썬 프로그래밍