読者です 読者をやめる 読者になる 読者になる

暇人の研究室

金融工学やR言語・統計学について書いてます。

<

【R言語】Rでの単位根検定 その1

 

 

時系列データは大きく「定常過程」と「非定常過程」の2つに分けることできます。そして、分析するデータが「定常過程」であるか「非定常過程」であるかを検定するのが、「単位根検定」というやつです。

 

Rで単位根検定を行うには、元からRにインストールされているts(Timeseries)パッケージの中にあるadf.test()という関数を使用します。

 

この検定の帰無仮説H₀は「単位根が存在する」そして、対立仮説H₁は「単位根は存在しない」です。つまり、p値(p-value)の解釈方法としては、「帰無仮説が棄却できなかった=非定常過程」ということになります。

 

 p値???という方は↓記事参照

www.tkstock.site

 

 

というわけで実際に単位根検定を行っていきます。使うデータは2005年から2016年までのTOPIX(日経平均株価)です。

 

 

※Rを使った株価データの取得方法は↓を参照

【R言語】 Yahoo!ファイナンスから株価データを取得する方法 その2 - 株初心者が本気で儲けるブログ

 

 

> head(TOPIX)
Open High Low Close
2005-01-04 11458.27 11547.02 11431.57 11517.75
2005-01-05 11458.92 11461.10 11416.97 11437.52
2005-01-06 11372.35 11492.26 11372.21 11492.26
2005-01-07 11528.69 11528.69 11432.19 11433.24
2005-01-11 11495.46 11580.69 11495.46 11539.99
2005-01-12 11537.60 11548.89 11449.49 11453.39

 

> library(tseries)  ## tsパッケージのインストール

‘tseries’ version: 0.10-37

‘tseries’ is a package for time series analysis and
computational finance.

See ‘library(help="tseries")’ for details.

 

> adf.test(TOPIX[,4])  

Augmented Dickey-Fuller Test

data: TOPIX[, 4]
Dickey-Fuller = -1.2466, Lag order = 14, p-value = 0.8973
alternative hypothesis: stationary

 

 

 

結果はP値が0.8973とめちゃくちゃ大きいので、有意水準も糞もなく「帰無仮説H0は棄却できない=対立仮説を採用する」となるので、この時系列データは単位根がある=非定常性ということになります。

 

このように単位根検定の結果、分析しようと思っていたTOPIXのデータは非定常性だということになってしまったのですが、No probremです。

 

そもそもリアルのデータでそのまま定常性があるやつなんてほとんど存在しません。なので、基本的にデータを加工することで定常性を持たせることが一般的です。

 

そして、その方法は大きく5つあります

 

①データの差分を取る

②データを対数変換する

③データを対数変換して差分を取る

④データを指標(変化率など)に変換する

⑤データを指標に変換して差分を取る

 

 

 

 ↓続き

www.tkstock.site

 

 

 

非定常過程のデータ同士で回帰分析をすると「見せかけの回帰」が起こってしまったりするので、時系列データ分析において単位根検定は大切です。

 

 

www.tkstock.site