1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ時系列解析

Connected

演習

Bitcoin と Ethereum は共和分していますか?

共和分の検定は2段階で行います。まず一方の時系列をもう一方に回帰して共和分ベクトルを求め、次に回帰の残差に対してADF検定を行います。前の例では、単位変換の後に2系列の差を取っただけで、暗黙に共和分ベクトルを \(\small (1,-1)\) と仮定していたため、最初の段階は不要でした。ここでは、両方の段階を実行します。

暗号資産のひとつである bitcoin (BTC) の値を、もうひとつの暗号資産である ethereum (ETH) に回帰します。回帰係数を \(\small b\) とすると、共和分ベクトルは単純に \(\small (1,-b)\) になります。続いて、BTC \(\small - b \) ETH に対してADF検定を行います。Bitcoin と Ethereum の価格は DataFrame BTC と ETH にあらかじめ読み込まれています。

指示

100 XP
  • 回帰のために statsmodels モジュールと、adfuller 関数をインポートします
  • sm.add_constant() を用いて ETH DataFrame に定数項を追加します
  • sm.OLS(y,x).fit() を使って BTC を ETH に回帰し(y が従属変数、x が独立変数)、結果を result に保存します。
    • 切片は result.params[0]、傾きは result.params[1] にあります
  • BTC \(\small - b \) ETH に対して ADF 検定を実行します