Pythonでビットコインとドルインデックスの相関関係を分析してみた



## はじめに
ビットコインと米ドルインデックスの関係について、「逆相関の関係にある」という説が市場で広く知られています。今回は実際のデータを使って、この説が本当に正しいのか検証してみました。

## 環境とデータ収集
今回は以下のデータと環境で分析を実施しました：

### 使用データ
- 期間：2022年12月1日～2024年10月20日
- データ頻度：1時間足
- 対象：
  - ビットコイン価格
  - 米ドルインデックス

### 使用したPythonライブラリ
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 
```

## データ準備と前処理のコード解説

### 1. 基本的なデータ構造の設定
```python
# 日付範囲の設定
start_date = datetime.datetime(2022, 12, 1, 0, 0, 0)
end_date = datetime.datetime(2024, 10, 20, 0, 0, 0)
date_range = pd.date_range(start=start_date, end=end_date, freq='H')

# データフレーム作成
df_btc = pd.DataFrame({'close': ...}, index=date_range)
df_dollar = pd.DataFrame({'close': ...}, index=date_range)
```

### 2. データの結合と相関分析
```python
# BTCとドルインデックスのデータをマージ
df_merged = pd.merge(
    df_btc[['close']], 
    df_dollar[['close']], 
    left_index=True, 
    right_index=True, 
    how='inner', 
    suffixes=('_btc', '_dollar')
)

# 全期間での相関係数を計算
correlation = df_merged['close_btc'].corr(df_merged['close_dollar'])
```

### 3. 移動相関の計算
```python
# 移動相関のウィンドウサイズ設定（28日分）
window_size = 672  # 28日 * 24時間

# 移動相関の計算
rolling_correlation = df_merged['close_btc'].rolling(window=window_size).corr(df_merged['close_dollar'])
```

### 4. データの可視化
```python
# 価格推移の比較プロット
fig, ax1 = plt.subplots(figsize=(12, 6))

# BTCの価格プロット（左軸）
ax1.set_ylabel('BTC Price', color='blue')
ax1.plot(df_btc['close'], color='blue')
ax1.tick_params(axis='y', labelcolor='blue')

# ドルインデックスのプロット（右軸）
ax2 = ax1.twinx()
ax2.set_ylabel('Dollar Index', color='red')
ax2.plot(df_dollar['close'], color='red')
ax2.tick_params(axis='y', labelcolor='red')
```

## 分析結果の詳細

### 1. 価格推移比較グラフの分析![Screenshot from 2024-10-25 22-13-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3910017/391c26cb-48f9-223d-d6f5-08e63aa8a052.png)


#### グラフの構成
- 縦軸：
  - 左軸（青線）：ビットコイン価格（約17,000から70,000 USD）
  - 右軸（赤線）：ドルインデックス（100から107ポイント）
- 横軸：時系列（0から15000の日付インデックス）

#### 重要な特徴と転換点
1. ビットコイン価格（青線）
   - 初期段階（0-2500）：17,000-25,000の範囲で緩やかな上昇
   - 中期（2500-7500）：25,000-30,000での横ばい推移
   - 後期（7500以降）：急激な上昇トレンドで70,000まで上昇
   - 最も顕著な上昇：インデックス10000付近から開始

2. ドルインデックス（赤線）
   - 全体的な変動範囲：100-107ポイント
   - 主要な高値：インデックス7500付近で107ポイント
   - 主要な安値：インデックス5000付近で100ポイント
   - 後半（12500以降）：下降トレンドが顕著

### 2. 移動相関グラフの分析![Screenshot from 2024-10-25 22-11-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3910017/0a55603b-219e-0f60-f37d-3f2547e2f14f.png)


#### グラフの構成
- 縦軸：相関係数（-0.75から+0.85）
- 横軸：時系列（2023-01から2024-10）
- ウィンドウサイズ：672時間（28日）

#### 相関係数の推移パターン
1. 2023年前半（2023-01から2023-06）
   - 相関係数が-0.75から+0.25の間で大きく変動
   - 負の相関が優勢

2. 2023年後半（2023-07から2023-12）
   - より大きな振幅の変動
   - +0.7まで上昇する期間も出現

3. 2024年前半
   - 最も強い正の相関（約+0.75）を記録
   - その後、急激な負の相関への転換

4. 2024年後半
   - 極端な正負の相関が交互に出現
   - 最大で+0.85の正の相関を記録

## 考察

### 1. 相関の不安定性
- 相関係数が短期間で大きく変動
- 安定した関係性が見られない
- 市場環境により相関が大きく変化

### 2. 周期性
- およそ3-4ヶ月周期での相関係数の反転
- ただし、振幅は一定ではない
- 時間経過とともに相関の振幅が拡大

### 3. 市場への示唆
- 伝統的な「逆相関」の前提が必ずしも成立しない
- 相関の不安定性が高く、予測は困難
- より複雑な市場関係性の存在を示唆

## まとめ
今回の分析により、ビットコインとドルインデックスの関係は単純な逆相関ではなく、より複雑で動的な関係性を持つことが明らかになりました。特に、相関係数の大きな変動は、両資産の関係性が市場環境や時期によって大きく変化することを示しています。

## 今後の課題
1. より長期間のデータでの検証
2. 相関関係の変化要因の特定
3. 他の経済指標との関連性分析
4. 市場環境による相関変化の要因分析


#Bitcoin #暗号資産 #データ分析 #Python #pandas