2016年5月20日金曜日

xtsのたし算

 株式出来高の合計の推移を見たいと思い、全銘柄の日毎の出来高合計を計算しようと思いたった。

同じ日であることを確認の上で、足さないといけない。

以前、xtsでは日付が同じでないと足せないということを書いた。ということは、自動的に同じ日のたし算をしてくれるのだろうか。確かめてみた。

パッケージquantmodを使っている。a,bはxts型の銘柄データである。 


すばらしい。同じ日の同じ項目でたし算をしてくれている。

Volumeだけを取り出して、cbindで横につなげてみると

日付のないところはNAが埋められている。

さて、全銘柄について、日毎の出来高の合計を出したいので全銘柄について横にcbindしていく。


yt[[i]]はi番目の銘柄のデータで、上記のaやbにあたる。

yt[[1]]をzzに代入し、そこへ次々cbindしていくという構造だ。

for文で回すのは避けたいところで、sapplyの利用など試行錯誤してみたがだめだった。総銘柄数3986、各銘柄についておよそ270日分のデータがある。このfor文の実行に1分11秒かかった。zzは273行3986列の膨大なデータである。

3行目apply関数を用いて、行ごとの合計をとった。

チャートは下のようになる。



中央部分の特に大きくなっているのは2015年8月25日。前日800円の大暴落であった。

0 件のコメント:

コメントを投稿