前回トレーディングシュミレーションのやり方を紹介しましたが、トレーディングシュミレーションのルールに使う指標は自分で計算しないといけません。
そんなときに便利なのがトレーディングルールを計算する関数をまとめたTTRパッケージです
quantsmodパッケージと併用してTTRパッケージというものがあり、これを使えば簡単に移動平均とRSIを求めてくれます。
まあ、この2つは原理が単純なので、自分でfunction()組んでも簡単に計算できるんですが、有志でまとめてくれた方がパッケージにしてくださっているようなので紹介します。
まずTTRパッケージを読み込みます。
>install.packages(”TTR”)
>library(TTR)
※quantsmodも読み込んでおいてください
というわけで、下の記事で取得した任天堂の株価データの移動平均を求めていきます。
>head(ninten)
Open High Low Close Volume Adjusted
2005-01-04 12790 13000 12790 12980 10800 12980
2005-01-05 12950 13000 12920 12930 17800 12930
2005-01-06 12760 12780 12560 12580 34900 12580
まず使うデータが時系列データじゃないときは時系列データに変換しましょう。
> class(ninten)
[1] "data.frame"
> t.ninten<-as.xts(ninten)
> t.ninten<-t.ninten[,4]
> t.ninten
> class(t.ninten)
[1] "xts"”zoo”
移動平均は SMA(オブジェクト名, 平均期間)で計算してくれます。
というわけで25日平均線を計算してみます。5日平均なら引数を5にすればOKです。
> i.ninten<-SMA(t.ninten,25)
> i.ninten
SMA
2005-01-04 NA
2005-01-05 NA
2005-01-06 NA
2005-01-07 NA
2005-01-11 NA
2005-01-12 NA
2005-01-13 NA
2005-01-14 NA
2005-01-17 NA
2005-01-18 NA
2005-01-19 NA
2005-01-20 NA
2005-01-21 NA
2005-01-24 NA
2005-01-25 NA
2005-01-26 NA
2005-01-27 NA
2005-01-28 NA
2005-01-31 NA
2005-02-01 NA
2005-02-02 NA
2005-02-03 NA
2005-02-04 NA
2005-02-07 NA
2005-02-08 11982.4
2005-02-09 11936.4
2005-02-10 11898.4
2005-02-14 11873.2
2005-02-15 11849.2
2005-02-16 11826.0
2005-02-17 11813.6
2005-02-18 11804.4
2005-02-21 11800.4
2005-02-22 11788.8
2005-02-23 11772.0
2005-02-24 11750.4
2005-02-25 11738.0
2005-02-28 11732.4
2005-03-01 11727.6
2005-03-02 11720.0
2005-03-03 11730.4
2005-03-04 11746.8
2005-03-07 11757.6
2005-03-08 11762.0
2005-03-09 11767.6
2005-03-10 11767.2
2005-03-11 11774.8
2005-03-14 11776.0
2005-03-15 11762.0
2005-03-16 11758.8
2005-03-17 11745.6
> plot(t.ninten, type="l")
> par(new=T)
> plot(i.ninten, type="l", col="red")
plot知識の不足から汚いグラフになってます。ggplot使えばもっと綺麗な描写になるかもしれません。
それはさておき、TTRパッケージは他にもボラティリティやトレンドも計算してくれて超便利です。他の関数は随時紹介していきます。
追記:Rで株価データなどの金融データを解析するのであれば、この本がとても分かりやすかったのでオススメです。