본문 바로가기
주린이의 주식 투자/동앤트 ETF 투자

[파이썬] - Pykrx 패키지를 통해 국내 상장된 게임 ETF 구성 종목 추출

by 동장군님 2020. 11. 22.
728x90
반응형

지난 포스팅에서 Pykrx 패키지를 통해 국내 주요 게임 ETF의 주가와 괴리율을 알아봤다면 이번 시간에는 이어서 분석 대상인 KBSTAR 게임테마, KODEX 게임산업, Tiger K테마 3개 게임 ETF들의 구성 종목을 Pykrx를 통해 추출하도록 하겠다.

 

2020/11/21 - [주린이의 주식 투자/ETF 공부] - [파이썬] Pykrx 패키지를 활용한 국내 상장된 게임 ETF 분석

 

[파이썬] Pykrx 패캐지를 활용한 국내 상장된 게임 ETF 분석

Pykrx 이번 포스팅에서는 금융 데이터를 분석해줄 수 있는 파이썬 Pykrx 패키지를 활용해서 국내 상장된 게임 ETF들에 대해 분석하도록 하겠다. 분석에 앞서 당연한 얘기이지만 해당 패키지를 파이

yobro.tistory.com

 

KBSTAR 게임테마/KODEX 게임산업/Tiger K테마 ETF 구성 종목 수 

분석 대상인 3개  ETF들의 구성 종목 수를 먼저 뽑아보고 시각화하도록 하겠다.

 

from pykrx import stock

kbstar=stock.get_etf_portfolio_deposit_file('300640','20201120')
kodex=stock.get_etf_portfolio_deposit_file('300950','20201120')
tiger=stock.get_etf_portfolio_deposit_file('300610','20201120')

len_kbstar=len(kbstar)
len_kodex=len(kodex)
len_tiger=len(tiger)

port=pd.DataFrame([len_kbstar,len_kodex,len_tiger],index=['KBSTAR 게임테마','KODEX 게임산업','TIGER K게임'])
port.columns=['구성 종목 수']


import matplotlib.pyplot as plt

plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 16
plt.figure(figsize=(16,8))

plt.bar(port.index,port['구성 종목 수'])

for x,y in enumerate(list(port['구성 종목 수'])):
    plt.text(x, y, y, fontsize=13, color='#ff0000', 
                    horizontalalignment='center', verticalalignment='bottom')
plt.ylim(0,30)
plt.title('구성 종목 수')

 

데이터 추출 결과 구성 종목 수는 KBSTAR, KODEX, Tiger 순으로 높게 나타났다.

 

 

KBSTAR 게임테마/KODEX 게임산업/Tiger K테마 ETF 총 보유 자산 비교 

그다음으로 ETF 총 보유 자산 금액을 비교하도록 하겠다.

 

kb_assets=kbstar['금액'].sum()
kd_assets=kodex['금액'].sum()
ti_assets=tiger['금액'].sum()

assets=pd.DataFrame([kb_assets,kd_assets,ti_assets],index=['KBSTAR 게임테마','KODEX 게임산업','TIGER K게임'])
assets.columns=['보유 자산 금액']

import matplotlib.pyplot as plt

plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 16
plt.figure(figsize=(16,8))

plt.bar(assets.index,assets['보유 자산 금액'])

for x,y in enumerate(list(assets['보유 자산 금액'])):
    plt.text(x, y, y, fontsize=13, color='#ff0000', 
                    horizontalalignment='center', verticalalignment='bottom')
plt.ylim(0,1500000000)
plt.title('보유 자산 금액')

 

여기서는 KODEX, KBSTAR, TIGER 순으로 자산이 높은 점을 확인할 수 있다.

 

 

 

 

KBSTAR 게임테마/KODEX 게임산업/Tiger K테마 ETF 구성 종목 비중 비교

개별 ETF에 있는 구성 종목 비중을 추출하고 3개 테이블을 merge 하도록 하겠다. 20개 이상 종목들을 다 시각화하면 잘 눈에 안 띄기 때문에 여기서는 ETF의 10개만 추출해서 보도록 하겠다. 

 

df1=pd.merge(left=kbstar['비중'], right=kodex['비중'], how='outer',left_on=kbstar.index, right_on=kodex.index)
df1=df1.set_index('key_0')
df2=pd.merge(left=df1, right=tiger['비중'], how='outer',left_on=df1.index, right_on=tiger.index)
df2=df2.set_index('key_0')
df2.columns=['KBSTAR 게임테마','KODEX 게임산업','TIGER K게임']
df2=df2.fillna(0)
df3=df2[:10]

 

df3['KBSTAR 게임테마']=df3['KBSTAR 게임테마'].apply(lambda x: float('{:.2f}'.format(x)))

df3['KODEX 게임산업']=df3['KODEX 게임산업'].apply(lambda x: float('{:.2f}'.format(x)))
df3['TIGER K게임']=df3['TIGER K게임'].apply(lambda x: float('{:.2f}'.format(x)))

import numpy as np

plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 12

fig, ax = plt.subplots(figsize=(25, 12))
x = np.arange(len(df3.index))
width = 0.30

rects1 = ax.bar(x-width, df3['KBSTAR 게임테마'], width, label='KBSTAR 게임테마')
rects2 = ax.bar(x, df3['KODEX 게임산업'], width, label='KODEX 게임산업')
rects3 = ax.bar(x+width, df3['TIGER K게임'], width, label='TIGER K게임')

ax.set_ylabel('비중')
ax.set_title('ETF 구성 종목 비중')
ax.legend()
ax.set_xticks(x)
ax.set_xticklabels(df3.index)


def autolabel(rects):
    """Attach a text label above each bar in *rects*, displaying its height."""
    for rect in rects:
        height = rect.get_height()
        ax.annotate('{}'.format(height),
                    xy=(rect.get_x() + rect.get_width() / 2, height),
                    xytext=(0, 3),  # 3 points vertical offset
                    textcoords="offset points",
                    ha='center', va='bottom')
        
autolabel(rects1)
autolabel(rects2)
autolabel(rects3)

fig.tight_layout()

plt.show()

 

거의 웬만한 게임 기업 종목들은 여기 3개 ETF들이 다 보유하고 있는 중이다. 다만 특이한 점은 KODEX 게임산업 ETF는 특히 엔씨소프트와 넷마블의 비중이 47%로 해당 두 기업들이 차지하고 있는 비중이 가장 크다. 그리고 KBSTAR 게임테마는 다른 ETF가 보유하고 있지 않은 카카오를 보유하고 있는 점도 특이하다.

 

 

 

 

 

728x90
반응형

댓글