新しい相関係数「XICOR」を暗号資産の分析に使ってみた
はじめに
相関係数といえば、多くの人がピアソンの相関係数を思い浮かべると思います。しかし、2021年にスタンフォード大学のSourav Chatterjee教授が提唱した新しい相関係数「XICOR(ξn)」は、従来の相関係数とは全く異なる視点で変数間の関係性を測定します。
本記事では、XICORの理論的特性を整理し、Bitcoin(BTC)とEthereum(ETH)の実データを用いた分析を通じて、その実務的な活用方法を探ります。
本記事は Chatterjee (2021) "A new coefficient of correlation" の理論に基づく応用研究です。
目次
XICORとは何か?
従来の相関係数の限界
金融市場分析において、変数間の関係性を測る相関係数は重要なツールです。しかし、従来の相関係数にはいくつかの限界があります。
- Pearson相関:線形関係のみを捉える
- Spearman相関:単調関係を検出するが、複雑な非単調依存関係は捉えられない
- Kendall相関:同様に単調関係のみ
これらの係数は、より複雑な非線形・非単調な依存関係の「強度」を適切に測定することができません。
XICORの3つの特徴
XICORは、以下の3つの望ましい性質を同時に満たす画期的な相関係数です:
- シンプルな計算式:従来の係数と同等に簡単
-
直感的な解釈:
- 変数が独立のとき → 0に収束
- 一方が他方の決定論的関数のとき → 1に収束
- 明快な漸近理論:独立性検定に利用可能
従来の相関係数との違い
測定対象の違い
最も重要なポイントは、XICORは従来の相関係数とは異なるものを測定しているという点です。
| 相関係数 | 測定対象 | 値域 | 対称性 |
|---|---|---|---|
| Pearson | 線形関係 | [-1, 1] | 対称 |
| Spearman | 単調関係 | [-1, 1] | 対称 |
| Kendall | 単調関係 | [-1, 1] | 対称 |
| XICOR | 関数的依存度 | [0, 1] | 非対称 |
「関数的依存度」とは?
XICORは、**「一方の変数が他方の変数の関数としてどの程度説明できるか」**を測定します。
つまり:
- Pearson相関:線形共動(共分散)を測る
- XICOR:ノイズの少なさ(関数的な説明可能性)を測る
この違いが、実務上重要な意味を持ちます。
非対称性の意味
XICORの大きな特徴は非対称性です:
ξ(X,Y) ≠ ξ(Y,X)
これは、「YがXの関数か」と「XがYの関数か」は別の質問だからです。
重要な注意点:この非対称性は「同時点における関数性の方向」を示すものであり、時間的な先行・遅行関係(lead-lag)を直接意味するものではありません。
理論的基盤
XICORの定義
データ $(X_1, Y_1), ..., (X_n, Y_n)$ が与えられたとき、XICORは以下のように計算されます:
- データを $X$ の昇順に並べ替える
- 並べ替え後の $Y$ の順位を $r_i$ とする
- 隣接順位差の絶対値の合計を計算する
$$
\xi_n(X, Y) = 1 - \frac{3\sum_{i=1}^{n-1}|r_{i+1} - r_i|}{n^2 - 1}
$$
直感的理解
この式は、Xの順序に沿って見たとき、Yの順位がどれだけ滑らかに変化するかを測定しています。
- YがXの関数なら → 順位変動は小さい → XICORは1に近づく
- 独立なら → 順位変動はランダム → XICORは0近傍
有限標本における注意点
理論的な極限値 $\xi(X,Y)$ は [0,1] に属しますが、有限標本の $\xi_n$ は必ずしもこの範囲に収まりません。
- 最大値:約 $(n-2)/(n+1)$(例:n=20で約0.86)
- 最小値:約 $-1/2 + O(1/n)$
- 大きな負値は「データがi.i.d.標本に見えない」ことを示唆
実証分析:BTC vs ETH
データ概要
- 期間:2021年3月15日〜2025年10月20日(約4年半)
- データ:4時間足価格データ 10,081本
- 分析対象:対数リターン $r_t = \ln(P_t/P_{t-1})$
全期間の結果
| 指標 | 4h対数リターン | 対数価格水準 |
|---|---|---|
| Pearson | 0.840 | 0.764 |
| Spearman | 0.811 | 0.766 |
| Kendall | 0.638 | 0.609 |
| ξ(BTC→ETH) | 0.476 | 0.648 |
| ξ(ETH→BTC) | 0.478 | 0.510 |
重要な発見
1. PearsonとXICORの乖離
Pearson相関 0.84 に対して XICOR 0.48 という結果が得られました。
これは何を意味するのか?
- Pearsonの0.84:BTC-ETHは非常に強い線形共動を示す
- XICORの0.48:しかし、関数的な説明可能性は中程度
つまり、「見かけ上相関が高いが、実際には決定論的関係からは遠い」ことが分かります。
2. 価格水準での非対称性
対数価格水準で見ると:
- ξ(BTC→ETH) = 0.65:BTCからETHを説明する方が適合度が高い
- ξ(ETH→BTC) = 0.51:その逆は低い
これは、同時点においてBTC価格を用いてETH価格を説明する方が、その逆よりも適合度が高いことを示しています。
年次分析:市場ストレス時の変化
| 年 | 足数 | Pearson | XICOR(BTC→ETH) |
|---|---|---|---|
| 2021 | 1,751 | 0.846 | 0.483 |
| 2022 | 2,190 | 0.893 | 0.586 |
| 2023 | 2,190 | 0.852 | 0.512 |
| 2024 | 2,196 | 0.812 | 0.435 |
| 2025 | 1,753 | 0.787 | 0.404 |
2022年の市場ストレス
2022年は暗号資産市場が大幅な下落を経験した年(Terra/LUNA崩壊、FTX破綻等)でした。
- すべての相関指標が最高値を記録
- XICOR(BTC→ETH)は0.59と全期間で最高
- 市場ストレス時に依存関係が強化されることを確認
2024年以降の低下傾向
2024年以降、すべての相関指標が低下傾向にあります。これは:
- 市場の成熟化
- ビットコインETF承認後の機関投資家参入
- 独自のファンダメンタルズに基づく価格形成
の可能性を示唆しています。
実務での活用方法
1. ポートフォリオ構築における補助指標
従来のポートフォリオ最適化では、Pearson相関を用いて共分散行列を構築します。XICORは、これを補完する指標として活用できます。
活用例:
- Pearson相関は高いが、XICORは中程度 → 見かけ上の相関、実際には決定論的関係は弱い
- 両方とも高い → 真に強い依存関係
ただし、XICORとポートフォリオ分散効果の直接的対応は理論的に確立されていない点に注意が必要です。
2. 市場レジーム変化の検出
ローリング分析(30日窓など)を用いることで、XICORの時間的変動をモニタリングできます。
応用例:
- XICOR値の急上昇 → 市場ストレス期の可能性
- XICOR値の低下 → 市場の分散化・成熟化
これは、リスク管理やポジション調整の意思決定に有用な情報を提供します。
3. 同時点における方向性依存関係の分析
XICORの非対称性を利用することで、「どちらがどちらを説明するか」を分析できます。
本研究の発見:
- 価格水準で ξ(BTC→ETH) > ξ(ETH→BTC)
- BTCが市場のリーダー的役割を果たしている可能性
4. 振動パターンの検出
Chatterjee (2021) のシミュレーションでは、XICORが正弦波やW字型など振動性のある関係の検出において優れた性能を示すことが確認されています。
金融市場への応用:
- 4年周期のビットコイン半減期サイクル
- マクロ経済サイクルに伴う周期的変動
- 従来の相関分析では見落とされがちな非単調だが決定論的な関係パターン
実装方法
計算手順
XICORの計算は以下の4ステップで実行できます:
def xicor(X, Y):
"""
XICORを計算する関数
"""
n = len(X)
# Step 1: XでソートしたインデックスでY0を並べる
sorted_indices = np.argsort(X)
Y_sorted = Y[sorted_indices]
# Step 2: ソート後のYの順位を計算
ranks = np.argsort(np.argsort(Y_sorted)) + 1
# Step 3: 隣接順位差の絶対値の合計
rank_diff_sum = np.sum(np.abs(np.diff(ranks)))
# Step 4: XICORの計算
xi_n = 1 - (3 * rank_diff_sum) / (n**2 - 1)
return xi_n
Rでの実装
# CRANからXICORパッケージをインストール
install.packages("XICOR")
library(XICOR)
# XICORの計算
result <- xicor(btc_returns, eth_returns)
print(result$xi)
Pythonでの実装
# xicorパッケージを使用
# pip install xicor
from xicor import xicor
# XICORの計算
xi_value = xicor(btc_returns, eth_returns)
print(f"XICOR: {xi_value}")
計算量
XICORの計算量は O(n log n) であり、距離相関やMICなど O(n²) を要する手法と比較して大規模データセットへの適用が容易です。
統計的検定(参考)
独立性検定
i.i.d.標本を前提とした場合、独立性検定は以下のように実施できます:
$$
Z = \sqrt{\frac{5n}{2}} \cdot \xi_n
$$
$$
\text{P-value} \approx 1 - \Phi(Z) \quad \text{(片側検定)}
$$
ここで Φ は標準正規分布の累積分布関数です。
時系列データへの注意
重要な注意点:XICORの理論はi.i.d.標本を前提としています。
金融リターンのような時系列データでは:
- ボラティリティ・クラスタリング
- 自己相関
などによりi.i.d.前提が崩れます。
厳密な統計的検定を行う場合は、ブロック・ブートストラップ法など、時系列の依存構造を考慮した手法の適用が望ましいです。
本研究の限界と今後の課題
限界
-
i.i.d.前提の制約
- 金融時系列データへの適用には制約がある
- 統計的検定の解釈には慎重を期す必要がある
-
有限標本の特性
- $\xi_n$ は理論極限の [0,1] 範囲外の値も取り得る
- 小標本では最大値も1未満
-
因果関係の推論
- 非対称性は同時点での方向性依存関係を示すのみ
- 時間的lead-lag関係の分析には追加的手法が必要
今後の研究課題
- 多変量への拡張(Azadkia & Chatterjee, 2019)
- 条件付きXICORの開発
- 時系列依存構造を考慮した検定手法
- より長期の時系列データでの頑健性検証
まとめ
主要な発見
-
Pearson vs XICOR
- Pearson相関0.84(強い線形共動)
- XICOR 0.48(中程度の関数的依存度)
- 両指標は異なる側面を測定
-
市場ストレス時の依存関係
- 2022年の下落相場でXICOR最高値(0.59)
- 危機時の依存関係強化を定量化
-
方向性依存関係
- ξ(BTC→ETH) > ξ(ETH→BTC)
- BTCが市場のリーダー的役割
-
計算効率
- O(n log n)の計算量
- 高頻度データへの適用が可能
XICORの位置づけ
XICORは従来の相関係数を代替するものではなく、補完するものです。
多面的な依存関係分析のツールキットにおいて、XICORは重要な役割を果たすことが期待されます。
- Pearson相関:線形共動、ポートフォリオ分散の計算
- XICOR:関数的依存度、ノイズレベルの評価
両者を組み合わせることで、より深い市場分析が可能になります。
参考文献
主要文献:
- Chatterjee, S. (2021). A new coefficient of correlation. Journal of the American Statistical Association, 116(536), 2009-2022.
関連文献:
- Azadkia, M. & Chatterjee, S. (2019). A simple measure of conditional dependence. arXiv preprint, arXiv:1910.12327.
- Székely, G. J., Rizzo, M. L., & Bakirov, N. K. (2007). Measuring and testing dependence by correlation of distances. Annals of Statistics, 35(6), 2769-2794.
実装:
- R package: XICOR
- Python packages: xicor, xicorpy
タグ
#統計学 #相関係数 #XICOR #暗号資産 #Bitcoin #Ethereum #データ分析 #金融工学 #機械学習 #Python #R