본문 바로가기

ELECTRONICS INVESTMENT

프로그램 투자


Quant

Python

Macroeconomics

Book


퀀트

파이썬 [공매도 비율, 외국인 수급, 기관 수급] pykrx

반응형

Pykrx를 활용한 수급 시각화

 

공매도 비중

 

위의 차트는 코스피, 코스닥의 공매도 비중을 보여줍니다.

 

우측 상단에 설명에 보이듯이, 해당 날짜의 코스피, 코스닥 공매도 비중

 

그리고 1달 전의 공매도 비중을 비교할 수 있습니다.


 

이뿐만 아니라, 파이썬을 활용해서 다양한 수급 차트를 만들 수 있습니다.

 

이번 글은 파이썬을 통해서 공매도 비율과, 외국인 수급, 기관 수급을 알아보도록 하겠습니다.

 

주기적으로 수급 그래프를 네이버 블로그에 업데이트 예정입니다.

(블로그 링크는 글 하단에 남겨두겠습니다.)

 


1) 공매도 비율

 

우선 data는 pykrx api를 통해서 가져옵니다.

 

from pykrx import stock

 

관련 api를 설치하시고 호출해주시면 됩니다.

 

data5=stock.get_shorting_balance_top50(date, market="KOSPI")#해당 날짜 기준으로 
data6=stock.get_shorting_balance_top50(date, market="KOSDAQ")

data5_week=stock.get_shorting_balance_top50(month_date, market="KOSPI")#해당 날짜 기준으로 
data6_week=stock.get_shorting_balance_top50(month_date, market="KOSDAQ")


#차트
short_kospi = go.Bar(x=data5['name'], y=data5['비중'], marker_color='mediumblue', name='코스피 공매도 비중', legendgroup='group1', legendgrouptitle_text='KOSPI')     
short_kosdaq = go.Bar(x=data6['name'], y=data6['비중'], marker_color='dodgerblue', name='코스닥 공매도 비중', legendgroup='group2', legendgrouptitle_text='KOSDAQ')     
short_kospi_month = go.Bar(x=data5_week['name'], y=data5_week['비중'], marker_color='DeepPink', name='코스피 공매도 비중 1달전', legendgroup='group3', legendgrouptitle_text='KOSPI_1주전')     
short_kosdaq_month = go.Bar(x=data6_week['name'], y=data6_week['비중'], marker_color='Hotpink', name='코스닥 공매도 비중 1달전', legendgroup='group4', legendgrouptitle_text='KOSDAQ_1주전')

 

pykrx에서 공매도 비중 상위 50 종목을 확인할 수 있습니다.

 

get_shorting_balance_top50 함수를 사용하면 됩니다.

 

이때, 주의할 점은 공매도 비중의 경우 최근 3-5일 정도의 값은 조회가 되지 않습니다.

 

그리고 하루단위로 크게 바뀌는 값이 아니기에,

5 영업일 전, 1달 전 비중의 변화를 볼 수 있도록 구현하였습니다. 

 

이를 활용해서, 최근 한 달 사이에 공매도 비중이 올라간 종목을 확인할 수 있습니다.

 

이는 해당 종목의 하락을 바라는 세력이 많다고 해석할 수 있습니다.

 

반대로, 주가가 이미 하락한 경우, 숏커버링(공매도를 갚는 과정에서 큰 상승)이 올 수 있다고 해석할 수도 있습니다.

 

반응형

2) 외국인 수급, 기관 수급

코스피 외국인 수급

 

위의 그래프는 코스피의 외국인 비중 상/하위 15 종목을 확인할 수 있습니다.

 

위의 그래프는 최근 1주일 동안의 외국인 수급을 보여줍니다.

 

아래 그래프는 최근 1달 동안의 외국인 수급을 보여줍니다.

 

즉, 외국인이 최근 1주일 동안은 kt&g를 많이 샀고, 1달 동안은 삼성 SDI를 많이 샀음을 알 수 있습니다.

 

print("보고싶은 수급을 입력해주세요 (금융투자 / 보험 / 투신 / 사모 / 은행 / 기타금융 / 연기금 / 기관합계 / 기타법인 / 개인 / 외국인 / 기타외국인)")
invest=input("입력해주세요 : ")

w=stock.get_market_net_purchases_of_equities(week_date,today,market="KOSPI",investor=invest)
masue=w.sort_values(by=["순매수거래대금"],ascending=False).head(15)
madoe=w.sort_values(by=["순매수거래대금"],ascending=True).head(15)

m=stock.get_market_net_purchases_of_equities(month_date,today,market="KOSPI",investor=invest)
masue_m=m.sort_values(by=["순매수거래대금"],ascending=False).head(15)
madoe_m=m.sort_values(by=["순매수거래대금"],ascending=True).head(15)

 

pykrx에서 순매수거래대금을 확인할 수 있습니다.

 

get_market_net_purchases_of_equities함수를 사용하면 됩니다.

 

위의 코드를 보면, 1주일 전 날짜와, 오늘 날짜까지 코스피의 수급을 입력했습니다.

 

여기에 market에 'KOSDAQ'을 입력해 주면, 코스닥 수급을 확인할 수 있습니다.

 

코스닥 외국인 수급

 

그리고 investor를 input으로 입력을 받아서, 원하는 수급을 지정해 줄 수 있습니다.

 

investor 입력

 

위처럼 기관 합계를 입력하면 기관 수급을 확인할 수 있습니다.

 

그리고 외국인, 기관뿐 아니라 다양한 주체의 수급을 확인할 수 있습니다.

 

코스피 기관 수급


지금까지 파이썬을 활용해서 종목의 수급을 확인하는 법을 알아봤습니다.

 

수급은 해석하는 사람에 따라 해석이 달라질 수 있습니다.

 

외국인이 최근 많이 산 종목은 그만큼 세력의 관심을 받고 있는 종목임을 짐작할 수 있습니다.

 

하지만 단순히 외국인이 많이 샀다고 같이 사면 이미 주가는 고점일 수 있습니다.

 

이처럼 수급은 현재 시장의 흐름을 파악하는 정도로 사용하면 될 것 같습니다.

(최근 돈이 몰리는 산업은 무엇인지 등)

 

위의 그래프는 꾸준히 업데이트 해서 수급의 변화를 알아볼 예정입니다.

 

네이버 프리미엄 콘텐츠에서 더욱 자세한 코드와 리뷰를 확인하실 수 있습니다.

 

네이버프리미엄 콘텐츠를 확인해 주세요.

 

떠먹여 주는 퀀트 투자 : 네이버 프리미엄콘텐츠

파이썬 왕초보도 문제없는 실전형 퀀트투자! 초보자의 눈높이에 맞춘 데이터 수집부터, 다양한 전략 테스트까지! 나만의 경제지표 모델, 투자 모델을 관리하는 봇을 만들어보세요.

contents.premium.naver.com

 

성공적인 투자를 기원합니다.

반응형