cs

 

요즘 삼전 67층인데, 이렇게 되는거 아니겠찌?...

삼전 뭐하냐고,, 실적 겁나 좋은데 주가 뭐하냐고,, 

 

자사주 매입은 절대 안해, 성능가지고 고객 장난쳐, 한국시장은 물로보고 해외만 챙겨,, 뭐하는거야 증말...

 

후.... 할거하쟈


이전 포스트에서 다우지수, 나스닥, 그리고 S&P500에 대해서 알아봤다. 

https://simbbo-blog.tistory.com/149

 

미국 대표 지수: 다우지수(DJIA), 나스닥(NASDAQ), S&P500

제발 올해 버텨줘 미국아..! 가쟈. 아주 처음에 코스피와 코스닥은 정리를 했었다. https://simbbo-blog.tistory.com/28?category=996009 코스피(KOSPI), 코스닥(KOSDAQ) 주식하면서 코스피 코스닥은 정확하게 뜻..

simbbo-blog.tistory.com

 

그럼 말한 것 처럼, 과연 얼만큼 저 미국 지수들이 한국 시장에 영향을 주는지 알아보자. 

 

한번 상관관계를 통해서 상관성을 보게 되면 왜 매일 아침 삼프로tv에서 미국 지수에 그렇게 신경을 쓰는지 알게 될 거다. 

 

 

KOSPI, DJIA, NASDAQ, S&P500 지수 가져오기 

기본적인 코드 사용 전에 import 시킬 친구들로 시작하쟈. 

import FinanceDataReader as fdr
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
from pykrx import stock

plt.rcParams["font.family"] = "appleGothic"

기본적인 분석툴들 가져오고 FinanceDataReader는 물론이고, 마지막에 폰트도 그냥 가져왔다. 

 

(어떤 분석을 해도 앞에서 사용하는 애들 한번에 다 가져오는데, 그나마 좀 정리한것..)

 

자 그럼 지수들을 불러들여오면 된다. 

# KOSPI index, 2020 ~ Now
kospi = fdr.DataReader("KS11", "2020")

# Indexes, 2020 ~ Now
dji = fdr.DataReader('DJI', '2020') # Dow Jones Industrial(DJI)
sp500 = fdr.DataReader('US500', '2020') # S&P 500 지수 (NYSE)
nasdaq = fdr.DataReader('IXIC', '2020') # NASDAQ 

# Bitcoin KRW price (Bithumbs)
btc = fdr.DataReader('BTC/KRW', '2020-01-01')

FinanceDataReader에서는 너무나 또 친절하게도 다 지원을 해준다. 

  • KOSPI = KS11
  • DJIA = DJI
  • S&P500 = US500
  • NASDAQ = IXIC
  • BitCoin = BTC/KRW(원화로)

각 지수 뿐만이아니라, 기본적 원자제 시세든 등등 다 가지고 올 수 있다. 

 

지수별로 2020년 부터 불러왔는데, 이유는 코로나 이후부터 확실히 상관성이 있는지를 파악하기 위해 2020년부터 가지고 온것이다. 

 

다른 블로그나 기존에 알고있는 지식으로는 상당히 오래전, 2000년대 초반부터 가지고 와서 상관성을 분석 한게 많은데, 코로나 이후부터는 또 세상이 바뀐 날이니까..

 

지수별 그래프와 지수화시키기

 

근데, 자 상관관계를 분석한다고 했는데, 그럴려면 비교하려는 양이 같아야하는건 물론이고, 원화와 달러의 차이도 생각을 해야한다. 

 

그럼 정리를 해줘야겠지? 

 

먼저! 

 

각 지수들을 다시한번 하나의 지수화를 통해 통일 시켜주고 분석을 해야하는게 맞다. 

 

말이 좀 정리가 안된 것 같은데, 시작점을 동일시 맞춰준다고 보면 된다! 

#각 지수들을 다시한번 공통적으로 지수화시키기 

k = (kospi["Close"]/kospi["Close"].loc["2020-01-02"])*100
d = (dji["Close"]/dji["Close"].loc["2020-01-02"])*100
s = (sp500["Close"]/sp500["Close"].loc["2020-01-02"])*100
n = (nasdaq["Close"]/nasdaq["Close"].loc["2020-01-02"])*100
b = (btc["Close"]/btc["Close"].loc["2020-01-02"])*50 #이유는 아래 그래프에서...

아래 비트코인은 그냥 재미삼아 하나 가지고 와봤다. (혹시 상관성이 있는가 해서..)

 

상관성을 체크하기 이전에 한번 그래프 plot 그려보자. 

 

차트로 봤을때 눈으로도 어느정도 채크는 가능하니까.

 

plt.figure(figsize=(15,8))
plt.plot(d.index, d, 'g--', label='Dow Jones Ind.')
plt.plot(k.index, k, 'r--', label='KOSPI')
plt.plot(s.index, s, 'b--', label='S&P500')
plt.plot(n.index, n, 'c--', label='NASDAQ')

plt.grid(True)
plt.legend(loc='best')
plt.show()

빨간색이 KOSPI,  하늘색은 나스닥, 파란색이 S&P500, 초록색은 다우지수이다. 

 

2020년 3월에 폭락하는 구간이 코로나 시작점이라고 보면 된다..

 

그리고 추세를 볼때... 2020년 10월까지는 나스닥이 압도적인 성장이 있었고 나머지 지수들은 비슷하게 회복을 했었다.

 

2020년 12월쯤부터 코스피가 폭발적으로 성장 했을 때가 있었다.

 

나도 이때쯤에 주식시장에 들어왔고, 그 누가해도 돈을 벌던 시기, 황금의 21년이 시작되었었는데,,, 

(초심자의 행운 확실히 느겼었지)

 

21년 10월부터 지수가 딱 꺽이는 구간이 보일것이다.. 그때도 다우지수와 S&P500은 천천히라도 우상향중이였고 

 

나스닥 역시 살짝 조정은 받았지만 코스피가 하락하는 만큼은 절대 아니였다. 

 

결과적으로 그래프만 봤을 때는 동일 구간동안 투자를 한다고 가정하면, 나스닥 지수가 조금더 안정적으로 장기투자를 하기 좋아보인다. 

 

확실히 다우지수는 변동성이 적어보이고, 코스피는 뭐.... 더이상 말 안하겠으..ㅠ

 

한스탭 더 나아가기 전에 비트코인도 한번 볼까? 

 

비트코인의 지수화만 *50을 해준 이유는 아래 그래프에서 알 수있다. 

 

plt.figure(figsize=(15,8))
plt.plot(d.index, d, 'g--', label='Dow Jones Ind.')
plt.plot(k.index, k, 'r--', label='KOSPI')
plt.plot(s.index, s, 'b--', label='S&P500')
plt.plot(n.index, n, 'c--', label='NASDAQ')
plt.plot(b.index, b, 'y--', label="BitCoin")
plt.grid(True)
plt.legend(loc='best')
plt.show()

예.. 노란색이 비트코인이구요, 지수화를 시켜줄때 *50을 해서 그렇지 동일하게 100을 했으면 아래 그래프들이 보이지도 않았을거다. 

 

변동성을 보면 아주 난리가 나고있지만, 2020년 1월부터 투자를 했다면 가장 많은 성장을 한것은 그 어떠한 지수들 보다 비트코인인 것이 눈에 보인다. 

(코인 장기투자 ㄱㄱ?...)

 

후.. 코인 장난 아닌것까지 확인했고, 그래프로는 눈으로 보고 판단을 하는 것이니 조금 더 정확한 상관지수를 통해서 상관성을 알아보자. 

 

산점도를 그리는 방식으로 시각화를 함께 시켜보려 한다. 

 

상관관계에 관련해서는 간략히 아래 포스트를 참고하길 바란다.

https://simbbo-blog.tistory.com/135?category=975993 

 

[Practical Statistics] 상관관계

상관관계 상당히 자주 그리고 많이 사용했었던 상관관계다. 업무 특성상 과연 이게 상관관계가 있는건가?라는 의문을 던지고 확인 하는 일이 많다. 다양한 방법이 있지만, 데이터에서 상관관계

simbbo-blog.tistory.com

 

상관지수와 상관관계 시각화 

from scipy import stats

코드를 사용하기전에 stats scipy를 가지고 왔다. 

 

다른 라이브러리보다 더 통계적인 기능들을 쉽게 구현 할 수 있고 통계분석에 있어서는 꼭 사용하는 라이브러리니 참고하길 바란다. 

 

https://docs.scipy.org/doc/scipy/reference/stats.html

 

Statistical functions (scipy.stats) — SciPy v1.8.0 Manual

Statistical functions (scipy.stats) This module contains a large number of probability distributions, summary and frequency statistics, correlation functions and statistical tests, masked statistics, kernel density estimation, quasi-Monte Carlo functionali

docs.scipy.org

 

다우지수와 코스피의 상관성을 먼저 체크해보자. 

 

먼저 다우지수와 코스피의 데이터 프레임에서 종가(가격)컬럼들만 하나의 데이터 프레임으로 만들어 주는 것이 필요하다.

#각 데이터 프레임에서 지수값만 가지고와서 합치기 x,y로
D_K = pd.DataFrame({'X': dji["Close"] , 'Y':kospi["Close"]})

 

그리고 앞에서도 언급했듯이, 상관계수를 체크하기 위해서는 두개의 비교 값 갯수가 동일해야한다. 

 

그래야 정확하게 상관성을 채크 할 수있는데, 한국 시장과 미국 시장이 열리는 시간도 다를 뿐더러 공휴일이 있을때는 한국은 장이 안열리고 미국은 열리는 그런 상황이 발생한다.

 

그러니 날짜를 기준으로 맞춰줬을때 공백이 생기는데, 그 공백을 지우기 보다는 그 앞의 값을 한번 더 가지고 옴으로써 갯수를 맞춰주는게 좋다. 

그때의 함수로 fillna를 써주고(dropna를 써주면 공백 제거니까) 앞에 값을 다 채워주는게 필요하다. 

#값 갯수를 같이 맞춰줘야함, 
D_K = D_K.fillna(method = 'bfill') #na제거라기보다는 앞의 갑과 동일하게 맞춰버리기
D_K = D_K.fillna(method = 'ffill')

 

그리고 나서 scipy의 선형회귀 선형을 체크하는 함수를 가지고 온다.

 

내가 원하는건 다우지수(x값)에 따라 코스피(y값)가 영향을 얼만큼 받느냐니까 혼동하지말고 X와 Y를 설정해준다. 

 

regression 공식 그대로가지고 와서 사용! 

#Kospi지수가 Y값을가지도록 regr
regr= stats.linregress(D_K.X, D_K.Y) 
regr_line = f'Y{regr.slope:.2f}*X+{regr.intercept:.2f}'


plt.figure(figsize=(15,8))
plt.plot(D_K.X, D_K.Y, '.') #산점도 .으로 보여지게
plt.plot(D_K.X, regr.slope*D_K.X+regr.intercept, 'r')
plt.legend('DOW x KOSPI', regr_line)
plt.title(f'DOW x KOSPI(R={regr.rvalue:.2f})')
plt.xlabel('DOW JONES IND.')
plt.ylabel('KORSPI')
plt.show()

그려보면...!

0.90... 거의 뭐 같이 움직인다고 봐도 되겠다. 

 

그러면 동일한 코드로 앞에 x값만 다른걸로 비교해보면 어떤 결과가 나올까?

 

S&P500은 상관계수가 0.87로 역시나 강력하게 엮어있다.
나스닥은 0.92로 가장 높은 값을 가졌다.

이 말은 즉슨 미국시장에 따라서 코스피 지수는 영향을 엄청나게 받는다 라고 설명이 된다.

 

그러니 매일 아침 그렇게 미국 지수들을 체크하고 확인하지... 

 

(근데 왜 오를땐 쬘끔 오르고 빠질때는 겁나 빠지냐..)

 

 

아 그리고 비트코인도 했었으니, 비트코인과 코스피도 한번 보면..

다른 미국의 3대 지수보다는 소폭 낮지만 0.83으로 낮은 수치는 절대 아니다. 

 


 

사실 상관관계를 본 이유는, 시장으로보다는 각 종목 별로 비교하면 디테일하고 더 정확하겠지만, 상관계수가 낮은 두 종목 혹은 두 시장에 분산투자를 하게 되면 리스크를 완화할 수 있다.

 

예를 들어 코스피에 많은 돈을 투자하고있으면서 나스닥에도 동일하게 많은 돈을 투자하고있다면, 같은 등락을 가져가게 될거고 하나가 크게 빠진다면 다른 쪽도 크게 빠질 것이다. -> 저 수치가 맞고 뭐 시장상황이 큰 이슈가 없다면.

 

그래서 각 족목별로 저 지수를 체크하고 투자하면 뭐 연관성이 있는 종목이거나, 전혀 관련이 없는 종목인지도 알 수 있다. 

 

정말 간단히 함수 몇개 사용해서 상관관계를 보았는데, 다음에 기회가 되면 개별주식별로 한번 알아봐야겠드아.. 

+ Recent posts