티스토리 뷰

안녕하세요. 달러가 상승하면 비트코인이 내리고 달러가 하락하면 비트코인이 올라간다고 합니다. 과연 사실일까요? 저는 데이터 분석으로 먹고사는 데이터 사이언티스트입니다. 그래서 항상 투자하기 전에 팩트 체크를 합니다. 

 

비트코인 달러 상관관계

 

시작해 보겠습니다.

 

전체 순서는 이렇습니다.

 

  1. 비트코인 가격 데이터 수집
  2. 달러 인덱스 데이터 수집
  3. 비트코인과 달러 인덱스 상관계수 계산
  4. 시각화
  5. 결론

 

2020년 1월 1일부터 현재까지 비트코인 가격 데이터를 다운로드합니다.

 

한 번 그려 보겠습니다.

 

달러 인덱스 데이터를 다운로드합니다.

 

이것도 한 번 그려보겠습니다.

 

따로 봐서는 아무것도 모르겠습니다.

 

같이 그려 봅니다.

 

# 달러 인덱스와 비트코인 가격을 머지
df = pd.DataFrame({'dollar index': dxy, 'btc price': btc})
# 결측치를 인터폴레이션으로 처리
df = df.interpolate()
# 나머지 결측치도 back fill로 처리
df = df.fillna(method='bfill')
# Min-Max 스케일링
dollar = MinMaxScaler().fit_transform(df['dollar index'].to_numpy().reshape(-1, 1)).flatten()
btc = MinMaxScaler().fit_transform(df['btc price'].to_numpy().reshape(-1, 1)).flatten()
df_scaled = pd.DataFrame({'dollar index': dollar, 'btc price': btc})
df_scaled.index = df.index
# 그리기
df_scaled.plot()
plt.show()

 

 

 

이제 상관관계를 직관적으로 확인할 수 있습니다.

 

대략 2023년 2~3월부터 음의 상관관계가 높아지고 있습니다.

 

 

숫자로 확인해 보겠습니다.

 

df_corr = df_scaled.rolling(window=90).corr()
corr = df_corr['dollar index']
corr = list(corr.values)
corr = [v for i, v in enumerate(corr) if i%2 == 1]
plt.figure(figsize=(10,2))
plt.plot(df.index, corr)
plt.ylim([-1, 1])
plt.grid()
plt.show()

 

 

상관관계가 계속 변하고 있습니다. 그리고 최근에는 반대로 움직이는 경향이 있네요.

 

 

 

결론을 내려볼까요?

 

"달러가 상승하면 비트코인이 내리고 달러가 하락하면 비트코인이 올라간다!"는 주장은 틀렸습니다.

 

 

같이 움직일 때도 있고 반대로 움직일 때도 있습니다.

 

그리고 2023년부터 반대로 움직이고 있습니다.

 

 

달러 가치 하락을 주장하는 김영익 교수

 

만일 달러 인덱스 하락에 베팅하고 싶다면 비트코인 매수도 괜찮은 전략이 될 수 있겠습니다.

 

 

해당 코드에 대한 설명을 유튜브 영상으로 만들었으니 필요하신 분은 확인해 보세요.

 

 

 

 

감사합니다.