Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

R入門 その1

以前からやろうやろうと思っていて、はや〜いく〜とせ〜な R言語。重い腰をあげて、とりあえず勉強用によくある日経平均とNYダウの株価の対数変化率の相関をとってグラフかいてみた。

準備

まずは、ここらへんから R をダウンロードしてインストールします。R 起動後、コンソールから quantmod パッケージ*1をインストールします。

install.packages(quantmod)

コレいれて getSymbols() を呼べば Yahoo Finance から株価データをとってきてよろしくやってくれる優れもの。ちなみに今回は使ってないですが日本版は、RFinanceYJ パッケージがあるので、こちらもいれておきましょう。

やりたいことの整理

前日の NY ダウと日経平均対数変化率の相関を年別にみたい。休祝日で片方の指標が欠けているデータは無視する。

スクリプト

library(quantmod)
getSymbols('^DJI')
getSymbols('^N225')

for (i in 2008:2012) {
  year <- paste(i)
  tmp <- merge(N225[year], lag(DJI)[year], join='inner')
  ret <- merge(diff(log(tmp$N225.Close)), diff(log(tmp$DJI.Close)))
  png(paste("plot", year, ".png", sep=""), width = 480, height = 480, pointsize = 12, bg = "white")
  plot(coredata(ret), main=paste("Scatterplot DJI,y vs N225,x of", year))
  abline(lm(ret$N225.Close~ret$DJI.Close), col="red")
  dev.off()
}

実行結果






こんなに短いスクリプトでこんなことできちゃうなんて R 言語(と CRAN パッケージ)まじですげぇっす

*1:CRAN パッケージにある金融工学のライブラリです。