지난 글에서 엔화, 달러, 위안화가 함께 오를까에 대해 데이터 분석했다.
https://aigoamigo.tistory.com/90
[데이터분석]엔화, 달러, 위안화는 함께 오를까?
티스토리 이름을 다른 걸로 지었어야 했다. 아이고아미고라니. 지금에서야보니 곡소리가 나는 이름이 아닐 수 없다. (재테크로 인해 더욱 열심히 일하게 됨... 🤣) 암튼! 투자에 대한 관심을 꾸
aigoamigo.tistory.com
이번에는 이러한 환율과 코스피, 코스닥이 함께 상승하고, 하락할까에 대한 궁금증을 바탕으로 글을 적었다.
우선 몇 개의 블로그 글을 찾아보았다.
그 결과 어떤 블로그는 환율과 주가가 상관있다고 하였으며, 상관 없다고 한 곳도 있었다.
환율과 주가가 상관이 있을거라 생각하고 있었는데 좀 의아했다.
데이터분석을 해보았을 때는 상관관계가 어떻게 나타날까?
활용한 데이터는 2003.09. ~ 2022.09.까지의 데이터
결론부터 말하자면
환율과 코스피, 코스닥은 상관관계가 없다고 볼 수 있다.
코스피와 코스닥은 상관관계가 있다.
위 상관계수 표를 읽는 방법은 다음과 같다.
#우선 알아야하는 기본 내용
*상관관계 숫자는 -1~1로 나타난다.
*1에 가까울수록 강한 상관관계가 있으며 함께 상승한다.
*-1에 가까울수록 강한 상관관계가 있으며 함께 하락한다.
*절대값 0.7 이상이면 상관관계가 있다고 볼 수 있다.
#읽는 순서
1. 세로로 되어있는 '엔' 낱말을 찾는다.
2. 그 오른쪽에 있는 숫자들을 살펴본다.
*'엔'과 '엔'은 1.0000으로 아주 강한 상관관계가 있다(사실 자기 자신이니 당연히 강한 상관관계가 있지)
*'엔'과 '달러'는 0.5680으로 상관관계가 있다고 보기 어렵다
*(다른 것들도 동일하게 본다)
결국 절대값 0.7이 넘는 상관계수는 코스피와 코스닥이며, 둘은 상관관계가 있다고 볼 수 있다.
위 데이터 분석하며 곤란했던 점들이 있다. 이를 해결하기 위해 실시했던 나름의 노력(>>>)도 살펴보자.
1. 일별 주가 지수 데이터를 찾기 어렵다.
Kosis(통계청)에서 일별 주가 지수 데이터를 제공하고 있었는데 막상 다운받으려고 하니 오류가 났다. 메일로 문의를 했는데 (22.11.01. 21:23 시간 기준으로)수정 중인건지 사이트 접속 자체가 막혔다.
그 외에는 사이트에 있는 일별 주가 지수 데이터를 직접 긁거나 프로그래밍을 통해 스크래핑하는 방법, 구매하는 방법이 있었다.
>>> 사이트를 검색하다 보니 아래 사이트에서 "월별 주가 지수 데이터"를 제공하고 있다는 걸 발견했다. 그래서 기존의 일별 환율 데이터를 월별 환율 데이터로 변환했다. 변환할 때는 각 월의 평균값을 활용했다.
시계열조회 : e-나라지표
시계열조회 체크리스트 지표명 주가지수-코스닥 종합지수 통계표명 주가지수 초기화 주기 기간 ~ 조회 ○ 통계표 [단위 : P] 엑셀저장 출처 : 한국거래소「증권선물」
www.index.go.kr
2. 데이터에 2,405 혹은 1,603.34과 같이 쉼표(,)가 있는 경우 정수 혹은 실수로 변환해야했다.
쉼표가 있는 데이터를 정수 혹은 실수로 변환하는게 정말정말 귀찮다.
(아니... 자릿값 정도는 알아서 처리 해줄 수 없는거냐고)
>>> 아래의 코드를 활용하면 어느 정도 쉽게 해결이 가능했다.
데이터프레임.[열이름].str.replace(",", "").astype(int) #정수 변환
데이터프레임.[열이름].str.replace(",", "").astype(float) #실수 변환
3. 회귀분석으로 환율에 따른 코스피, 코스닥 지수 변화를 살펴보려 했는데 할 수 없었다.
상관관계가 없기 때문에 회귀분석을 할 수 없었다.
최근 빅데이터 분석기사 실기를 준비하며 다양한 알고리즘을 학습했는데 왜 쓰지를 못하니... 😂
#2022.11.02. 추가 내용
한 선생님께서 환율과 코스피가 상관관계가 있다고 하시면서 아래의 이미지를 보내주셨다.
그래프로 보았을 때 달러 환율과 코스피 지수는 음의 상관관계를 가지고 있는 것처럼 보인다. 특히 중간에 있는 그래프에서!
왜 내가 한 분석과 차이가 있을까 생각해보니 다음의 생각을 해볼 수 있었다.
1. 상관계수를 살펴보면 달러 환율과 코스피는 음의 상관계수를 가지고는 있다. 하지만 절대값 0.7을 넘지 않기 때문에 상관관계가 있다고 보기는 어렵다.
2. 일별 데이터가 아닌 월별 데이터로 상관관계를 분석했기 때문에 상관관계가 없다고 나왔을 수 있다. 일별 데이터를 구할 수 있다면 더욱 정확한 분석이 될 수 있을 것이다(일별로 분석했을 때는 상관관계가 어떻게 나올까?!)
아래는 소스코드 전체
#(지난 글에서 분석했던)환율 데이터 복제
df_money_dup = df_money #df_all보다 df_money가 더 직관적이라 지난 글과 다른 변수을 사용했음
#월별 데이터로 변환 후 평균
import re
list_date = []
df_money_dup["일자"] = df_money_dup["일자"].astype(str) #문자열로 변환
for i in range(len(df_money_dup["일자"])):
list_date.append("".join(re.findall("\d+", df_money_dup["일자"][i]))[:-2])
df_money_dup["일자"] = list_date
df_money_month = df_money_dup.groupby("일자").mean() #일자 기준으로 평균
#한국 주가 지수 데이터 가져오기
#출처 : https://www.index.go.kr/potal/stts/idxMain/selectPoSttsIdxSearch.do?idx_cd=1080&stts_cd=108001&freq=M
df_raw_stock_index = pd.read_excel("korean_stock.xls") #데이터 불러오기
df_raw_stock_index = df_raw_stock_index.transpose().iloc[2:,1:4] #행, 열 바꾸기
df_raw_stock_index = df_raw_stock_index.reset_index() #인덱스(행 이름) 삭제
df_raw_stock_index = df_raw_stock_index.iloc[:,1:] #필요한 행, 열만 추출
df_raw_stock_index.columns=["일자", "코스피", "코스닥"] #열이름 설정
df_stock = df_raw_stock_index #데이터 복제
#200201과 같이 연과 월만 있도록 데이터 변경
list_date = []
for i in range(len(df_stock["일자"])):
list_date.append("".join(re.findall("\d+", df_stock["일자"][i+1])))
df_stock["일자"] = list_date
#데이터 합치기
df_total = pd.merge(df_money_month, df_stock, how="right", on="일자").dropna(axis=0)
#코스피, 코스닥 실수 형태로 바꾸기
for i in [-1, -2]:
df_total.iloc[:, i] = df_total.iloc[:, i].str.replace(",", "").astype(float)
#정규화하여 파생변수로 넣기
df_total["코스피_MM"] = Scaler.fit_transform(df_total[["코스피"]])
df_total["코스닥_MM"] = Scaler.fit_transform(df_total[["코스닥"]])
#전체 데이터 살펴보기
df_total.info()
#상관관계 살펴보기(아래 3개다 동일한 상관관계를 보임)
print(df_total.loc[:, ["엔", "달러", "위안", "코스피", "코스닥"]].corr())
print(df_total.loc[:, ["엔_MM", "달러_MM", "위안_MM", "코스피", "코스닥"]].corr())
print(df_total.loc[:, ["엔_MM", "달러_MM", "위안_MM", "코스피_MM", "코스닥_MM"]].corr())
'데이터 분석' 카테고리의 다른 글
우리나라 아이돌은 평균 몇 명일까 (0) | 2022.12.09 |
---|---|
[데이터분석]"일별" 환율과 코스피, 코스닥은 관계가 있을까 (0) | 2022.11.17 |
[데이터분석]엔화, 달러, 위안화는 함께 오를까? (0) | 2022.10.26 |
[데이터분석]서울과 울란바토르의 교통사고 사망자, 부상자 비교 (2) | 2022.10.05 |
[데이터분석]진짜 요즘 초, 중, 고등학생들은 키가 더 클까? (0) | 2022.09.21 |
댓글