한국 거래소에서 상장된 주식 종목들에 대해 기본 정보를 가져올 수 있는지 찾아봤더니 역시나 나와 같은 고민을 하고 있었던 사람이 있었다. 아래 링크는 바로 파이썬으로 한국 거래소 사이트에 있는 상장 종목 기본 정보를 가져올 수 있는 패키지이다. "pip install pykrx"로 패키지 설치를 먼저 하기를 바란다. 이번 글에서는 아래 패키지를 활용해서 코스피 종목들 기본 정보에 대해 가져와보고 엑셀로 추출해보겠다. 코드는 굉장히 쉽다
sharebook-kr/pykrx
KRX 주식 정보 스크래핑. Contribute to sharebook-kr/pykrx development by creating an account on GitHub.
github.com
1. 코스피 전체 종목 가격
pykrx 패키지에서는 날짜와 상장 시장을 필터링해서 추출할 수 있는 기능을 제공하고 있다. 여기서는 추석 전 마지막 거래일 20200929, 시장은 코스피로 해서 데이터를 추출하겠다. 아래 간단한 코드를 돌리면 종목코드별 기업명, 마지막 거래 가격과 시가총액을 볼 수 있다.
from pykrx import stock
import pandas as pd
df = stock.get_market_ohlcv_by_ticker("20200929", market='KOSPI')
df=pd.DataFrame(df)
df=df[['종목명','종가','시가총액']]
2. 종목별 주요 가치 지표
단순히 종목별 가격 관련 정보뿐만 아니라 주요 가치 지표인 시가배당률, BPS, PER, EPS 정보도 제공하고 있어 이 부분도 추출하여 위 가격 테이블과 조인해보도록 하겠다.
fd = stock.get_market_fundamental_by_ticker("20200929",market='KOSPI')
fd=pd.DataFrame(fd)
tb=pd.merge(left=fd,right=df,how='left',left_on=fd.index,right_on=df.index)
tb=tb.rename(columns={"key_0": "Code","종목명_x":"종목명"})
tb=tb.set_index(['Code'])
tb=tb.drop(['종목명_y'],axis=1)
tb=tb.sort_values(by='시가총액',ascending=False)
위 코드를 돌리면 아래와 같은 시가총액 기준으로 내림차순 종목별 데이터를 확인할 수 있을 것이다.
3. 공매도 거래량
마지막으로 종목별 공매도 거래 현황을 가져와서 위에서 만든 테이블과 조인하도록 하겠다.
sf = stock.get_shorting_volume_by_ticker("20200929", "KOSPI")
sf=sf.groupby(level=0).first()
ddf=pd.merge(left=tb,right=sf,how='left',left_on=tb.index,right_on=sf.index)
ddf=ddf.rename(columns={'key_0':'Code'}).set_index('Code')
위 결과물처럼 약 900개에 이르는 코스피 종목 데이터를 엑셀로 데이터를 확인할 수 있게 되었다. 내가 가장 필요로 하는 데이터였는데 역시 나와 같은 고민을 하는 사람은 있었다. 주식 투자에 해당 데이터를 잘 활용해볼 예정이다.
'문송충의 코딩하기 > 파이썬 데이터 분석' 카테고리의 다른 글
[장고:분노의 추적자] - 네이버 영화 API 통한 영화 정보 분석 with 파이썬 (0) | 2020.10.10 |
---|---|
공공데이터 API를 활용한 국내 대차거래 종목 순위 확인하기 with 파이썬 (0) | 2020.10.08 |
공공데이터 API 활용해서 2019년 코스피 배당주 리스트 가져오기 With Python (0) | 2020.09.29 |
공공데이터 Open API를 활용한 국내 코로나 확진자 수 가져오기 feat 파이썬 (0) | 2020.09.01 |
파이썬으로 슈카월드 유튜브 조회/좋아요/댓글 수 가져오기 (0) | 2020.08.22 |
댓글