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으로 입력을 받아서, 원하는 수급을 지정해 줄 수 있습니다.
위처럼 기관 합계를 입력하면 기관 수급을 확인할 수 있습니다.
그리고 외국인, 기관뿐 아니라 다양한 주체의 수급을 확인할 수 있습니다.
지금까지 파이썬을 활용해서 종목의 수급을 확인하는 법을 알아봤습니다.
수급은 해석하는 사람에 따라 해석이 달라질 수 있습니다.
외국인이 최근 많이 산 종목은 그만큼 세력의 관심을 받고 있는 종목임을 짐작할 수 있습니다.
하지만 단순히 외국인이 많이 샀다고 같이 사면 이미 주가는 고점일 수 있습니다.
이처럼 수급은 현재 시장의 흐름을 파악하는 정도로 사용하면 될 것 같습니다.
(최근 돈이 몰리는 산업은 무엇인지 등)
위의 그래프는 꾸준히 업데이트 해서 수급의 변화를 알아볼 예정입니다.
네이버 프리미엄 콘텐츠에서 더욱 자세한 코드와 리뷰를 확인하실 수 있습니다.
성공적인 투자를 기원합니다.
'퀀트' 카테고리의 다른 글
파이썬 경제지표 확인하기_FRED 활용법 (2) | 2023.01.21 |
---|---|
주식 보조지표 프로그램_MACD,스토캐스틱,MFI,RSI,볼린저밴드 (파이썬) (0) | 2022.12.27 |
화학 업종 분석 S-rim(프로그램 분석)[금호 석유][SK케미칼] (0) | 2021.06.29 |
해운사 업종 분석 S-RIM(프로그램 분석)[KSS해운][HMM] (0) | 2021.06.25 |
에프에스티 종목 분석(반도체 소부장) S-RIM 프로그램 분석 (0) | 2021.06.11 |