728x90
퀀트 투자를 위한 기초를 계속 쌓고 있는 중이다.
오늘은 올웨더 자산배분에 많이 활용되는 주요 ETF 자산들을 가져와서 자산별 상관관계를 구하도록 하겠다.
아래 코드와 같이 yfinance라는 야후 파이낸스 라이브러리를 활용하면 자산별 히스토리 가격을 쉽게 가져올 수 있다. 여기서는 2010년 이후 데이터를 가져오도록 하겠다.
import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt
import seaborn as sns
spy=yf.download('SPY',start = '2010-01-01')['Adj Close']
qqq=yf.download('QQQ',start='2010-01-01')['Adj Close']
vea=yf.download('VEA',start='2010-01-01')['Adj Close']
vwo=yf.download('VWO',start='2010-01-01')['Adj Close']
vnq=yf.download('VNQ',start='2010-01-01')['Adj Close']
dbc=yf.download('DBC',start='2010-01-01')['Adj Close']
iau=yf.download('IAU',start='2010-01-01')['Adj Close']
tlt=yf.download('TLT',start='2010-01-01')['Adj Close']
emlc=yf.download('EMLC',start='2010-01-01')['Adj Close']
vclt=yf.download('VCLT',start='2010-01-01')['Adj Close']
위에서 추출한 데이터를 가지고 상관관계를 구하면 아래와 같이 결과를 볼 수 있다.
df=pd.concat([spy,qqq,vea,vwo,vnq,dbc,iau,tlt,emlc,vclt],axis=1)
df.columns=['spy','qqq','vea','vwo','vnq','dbc','iau','tlt','emlc','vclt']
corr=df.corr()
corr
마지막으로는 시각화를 통해 자산별 상관관계를 더욱 뚜렷하게 한번 확인해보도록 하겠다. 원자재 ETF인 DBC가 전반적으로 모든 자산과 상관관계가 낮은 것으로 나타났다. 그리고 생각보다 채권도 은근히 주식형 자산과 상관관계가 높은 점을 볼 수 있다.
plt.rcParams['font.family']="Malgun Gothic"
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(20,10))
sns.heatmap(data=corr,annot=True, fmt='.2f', linewidths=.5, cmap='Blues')
728x90
반응형
'문송충의 코딩하기 > 퀀트 투자 스터디' 카테고리의 다른 글
[동퀀트] VAA(Vigilant Asset Allocation) 동적자산배분 파이썬으로 백테스팅 (1) | 2022.02.02 |
---|---|
MSFT 마이크로소프트 지난 5년간 주당배당금 연간 복리 성장률을 구해보자 (0) | 2022.01.25 |
파이썬으로 라오어 무한매수법 백테스팅, 이렇게 하는게 맞나? (0) | 2022.01.14 |
파이썬으로 업비트 내 자산 잔고 조회하기 with pyupbit (0) | 2022.01.13 |
업비트에서 지난 4년치 비트코인, 이더리움, 에이다 가격 가져오기 with Python (0) | 2022.01.12 |
댓글