한국 거래소에서 상장된 주식 종목들에 대해 기본 정보를 가져올 수 있는지 찾아봤더니 역시나 나와 같은 고민을 하고 있었던 사람이 있었다. 아래 링크는 바로 파이썬으로 한국 거래소 사이트에 있는 상장 종목 기본 정보를 가져올 수 있는 패키지이다. "pip install pykrx"로 패키지 설치를 먼저 하기를 바란다. 이번 글에서는 아래 패키지를 활용해서 코스피 종목들 기본 정보에 대해 가져와보고 엑셀로 추출해보겠다. 코드는 굉장히 쉽다
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 |
댓글