안녕하세요. IT솔루션 사업가 이성용입니다.
오늘은 미국 물가와 주가간 상관관계 분석하는 글을 포스팅 하겠습니다.
물가는 CPI, 주가는 S&P 500지수를 data로 설정하여 분석하였습니다.
이전 포스팅 글에서는 상관관계가 0.5를 넘기가 힘들었는데, 이번 분석건은 결과부터보면
1. 물가와 S&P 500지수간 분석
물가(CPI)와 S&P 500지수간에는 상당히 큰 상관관계(상관관계 지수 0.89, p-value : 3.307)을
가졌습니다.
마지막 상관관계 표에서도 알 수 있듯이 CPI의 방향성을 예측할 수 있다면 주가의 방향성 역시 예측할 수 있습니다.
올해들어 Macro경제 가장 큰 관심은 미연준 기준금리일 것입니다.
2. 금리와 물가와의 연관성 분석
CPI의 방향성을 예측하기위해 아래와 같이 미연준 금리와 CPI의 연관성을 분석해 본 결과,
아래는 미연준 금리와 CPI와의 연관관계로 음의 상관관계(-0.24)를 갖습니다.
p-value값이 0.05보다 작아 유의적입니다. 다만 절대값이 0.5보다 작아 두 지표가 서로 즉시 반응하는 강한 상관관계는 아닙니다.
3. 결론
올해 Macro경제학자 대다수가 예측하는 CPI가 완화되어 미국 기준금리를 완화할 경우,
S&P500지수가 다시 올라갈 가능성이 높습니다.
하지만 주의할 점은 최근 S&P 500지수가 급등하여, 아래와같이 CPI가 꺾이는 시점에 2008 금융위기떄처럼
급격히 주가가 빠질 수 있습니다. 장기적으로는 CPI, S&P500지수가 우상향하지만 단기적으로는 최고 금리에서 낮추는 시점에 시점에 CPI 및 S&P500지수가 급격히 빠지는 점을 주의 할 필요가 있습니다.
위의 주의점을 보며, 금리를 낮추는 시점(단기적으로는)에 CPI가 꺾이는 의미를 재해석하여
투자에 참고하시면 좋을거같습니다.
감사합니다.
제가 만든 코드 첨부드립니다. 이번에는 pandas_datareader 설치하여 분석한점 참고하시기 바랍니다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
from pandas_datareader import data as pdr
from scipy.stats import pearsonr
# yfinance를 사용하기 전에 pandas_datareader를 초기화합니다.
yf.pdr_override()
# 미국 물가지수 데이터 다운로드 (CPIAUCNS)
cpi_data = pdr.get_data_fred('CPIAUCNS', start='2000-01-01', end='2023-12-31')['CPIAUCNS']
# S&P 500 지수 데이터 다운로드
sp500_data = yf.download('^GSPC', start='2000-01-01', end='2023-12-31')['Adj Close']
# 데이터를 데이터프레임으로 결합
df = pd.DataFrame({'CPI': cpi_data, 'SP500': sp500_data})
# 결측치 처리
df = df.dropna()
# 데이터 시각화
plt.figure(figsize=(12, 6))
plt.subplot(2, 1, 1)
plt.plot(df['CPI'], label='CPI', color='orange')
plt.title('Consumer Price Index over Time')
plt.legend()
plt.subplot(2, 1, 2)
plt.plot(df['SP500'], label='S&P 500')
plt.title('S&P 500 Index over Time')
plt.legend()
plt.tight_layout()
plt.show()
# 상관관계 및 p-value 계산
correlation, p_value = pearsonr(df['CPI'], df['SP500'])
print(f'상관관계: {correlation}')
print(f'p-value: {p_value}')
# 상관관계 시각화
plt.figure(figsize=(8, 6))
plt.scatter(df['CPI'], df['SP500'])
plt.title('Correlation between Consumer Price Index and S&P 500 Index')
plt.xlabel('Consumer Price Index')
plt.ylabel('S&P 500 Index')
plt.show()
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas_datareader import data as pdr
from scipy.stats import pearsonr
# yfinance를 사용하기 전에 pandas_datareader를 초기화합니다.
yf.pdr_override()
# 미국 기준금리 데이터 다운로드 (Federal Funds Rate)
interest_rate_data = pdr.get_data_fred('FEDFUNDS', start='2000-01-01', end='2023-12-31')['FEDFUNDS']
# 미국 물가지수 데이터 다운로드 (CPIAUCNS)
cpi_data = pdr.get_data_fred('CPIAUCNS', start='2000-01-01', end='2023-12-31')['CPIAUCNS']
# 데이터를 데이터프레임으로 결합
df = pd.DataFrame({'InterestRate': interest_rate_data, 'CPI': cpi_data})
# 결측치 처리
df = df.dropna()
# 데이터 시각화
plt.figure(figsize=(12, 6))
plt.subplot(2, 1, 1)
plt.plot(df['InterestRate'], label='Interest Rate', color='orange')
plt.title('Federal Funds Rate over Time')
plt.legend()
plt.subplot(2, 1, 2)
plt.plot(df['CPI'], label='CPI', color='blue')
plt.title('Consumer Price Index over Time')
plt.legend()
plt.tight_layout()
plt.show()
# 상관관계 및 p-value 계산
correlation, p_value = pearsonr(df['InterestRate'], df['CPI'])
print(f'상관관계: {correlation}')
print(f'p-value: {p_value}')
# 상관관계 시각화
plt.figure(figsize=(8, 6))
plt.scatter(df['InterestRate'], df['CPI'])
plt.title('Correlation between Federal Funds Rate and Consumer Price Index')
plt.xlabel('Federal Funds Rate')
plt.ylabel('Consumer Price Index')
plt.show()
'경제분석' 카테고리의 다른 글
기준금리 및 실업률을 기반으로 S&P 500 예측하기 (0) | 2024.01.28 |
---|---|
2024년 6월 애플 주가 예측(미국 기준금리 기준, 파이썬 sklearn 활용) (0) | 2024.01.26 |
미국 기준금리와 애플/테슬라 주가간 상관관계 분석(feat. 파이썬&yfinance) (0) | 2024.01.16 |
주식 배당의 용어 정리 (0) | 2023.06.26 |
테슬라 주가는 적정한가? (2) | 2023.06.25 |