728x90
네이버 증권 페이지에서는 국내 ETF 종목 정보를 제공해주고 있다. 그래서 오늘은 파이썬으로 ETF 종목을 긁어와서 간략히 분석해보도록 하겠다. 아래와 같이 파이썬 몇 줄로 모든 ETF 종목을 가지고 올 수 있다.
import requests
import json
from pandas.io.json import json_normalize
url = 'https://finance.naver.com/api/sise/etfItemList.nhn'
json_data = json.loads(requests.get(url).text)
df = json_normalize(json_data['result']['etfItemList'])
df를 출력하면 아래와 같이 증시에 있는 총 474개의 ETF 종목을 확인할 수 있다. 종목코드, 종목명, nav, 시가총액 등 데이터가 같이 나오는 점을 볼 수 있다.
아래 코드로 국내 증시 시장에 ETF 시가총액은 56조 4천 억으로 확인되었다.
df['marketSum'].sum()
운영사별 ETF 개수를 살펴보면 미래에셋의 Tiger, 삼성자산운용사의 KODEX, KB자산운용의 KBSTAR가 가장 많은 ETF가 있는 점을 확인할 수 있다.
import pandas as pd
import plotly.express as px
df['corp']=df['itemname'].apply(lambda x:x.split(' ')[0])
total=pd.DataFrame(df.groupby(['corp']).count()['itemname']).reset_index()
total.columns=['운영사','etf 개수']
total=total.sort_values(by='etf 개수',ascending=False)
total['운영사']=total['운영사'].str.replace('파워','POWER').replace('마이티','MIGHTY').replace('마이다스','MIDAS').replace('흥국','HK')
fig = px.bar(total, x='운영사', y='etf 개수')
fig.show()
개수와는 달리 시가총액 합에서는 삼성자산운용의 KODEX의 시가총액이 전체 ETF 시장에서 절반 이상을 차지하는 것을 확인할 수 있다.
msum=pd.DataFrame(df.groupby(['corp']).sum()['marketSum']).reset_index()
msum.columns=['운영사','시가총액']
msum=msum.sort_values(by='시가총액',ascending=False)
tt=msum['시가총액'].sum()
msum['비중']=msum['시가총액'].apply(lambda x: x/tt)
msum['운영사']=msum['운영사'].str.replace('파워','POWER').replace('마이티','MIGHTY').replace('마이다스','MIDAS').replace('흥국','HK')
fig = px.pie(msum, values='비중', names='운영사', title='운영사별 ETF 시가총액 합')
fig.show()
728x90
반응형
'문송충의 코딩하기 > 파이썬 데이터 분석' 카테고리의 다른 글
KODEX 은행, TIGER 은행 지난 5년간 주가 그래프 파이썬으로 그리기 (0) | 2021.03.22 |
---|---|
공공데이터 Open API를 통해 국내 주요 은행 현황 분석#1 with Python (0) | 2021.03.20 |
[파이썬] - 공공데이터 API에서 시도별 미세먼지 PM10 데이터를 가져와서 Folium으로 시각화하기 (0) | 2020.11.28 |
[파이썬] - 네이버 파이낸스에서 KT 주가 가져와서 Plotly 반응형 그래프 그리기 (0) | 2020.11.28 |
[파이썬] - 서울 2호선 지하철 역별 승하차 승객 수 Folium으로 시각화 (0) | 2020.11.27 |
댓글