の続きです。
前回はpdfetch_YAHOO関数でYahoo FinanceからSPDRの株価データを取得しました。
今回は株価データからリターンのデータを計算しようと思います。
str関数で前回作成した、raw_dataのデータ構造を確認します。
xtsというオブジェクトです。
このxtsオブジェクトの扱い方がよくわからないので、matrix関数でmatrixオブジェクトに変更します。
リターンは、株価 / 1週間前の株価 - 1 で計算されますから1週ずらしたマトリックスを作成します。SPYでいうと、2行目にraw_mtx1行目の98.03590が、3行目にraw_mtx2行目の98.85568が配置されるイメージです。
rep関数でNAが10個並んだベクトルを作り、matrix関数でそれを1行 x 10列のマトリックスに変換し、rbind関数でそのマトリックス(NA_matrix)とraw_mtxを合体させ、names関数で列名を設定、lag[1:1106, ]で1行目から1106行目だけにしています。(つまり最後の列、1107行目は削除)
これと同じ要領で2週ずらしたマトリックス、3週ずらしたマトリックス、4週ずらしたマトリックス、5週ずらしたマトリックスを作ります。
こうして、lag1, lag2, lag3, lag4, lag5 と1週ずつずらしたマトリックスができました。
これで、株価リターンを計算できます。
まずは、raw_mtxとlag1で株価リターンを計算します。これが今回の目的変数です。
同じようにして、lag1 / lag2 - 1 で1週前のリターンを計算します。
colnames(setsumei1) <- paste0(ticker_list, "1") でコラム名をSPY1のようにわかるようにしています。
同じ要領で、2週前、3週前、4週前のリターンを計算します。
こうして、mokuteki, setsumei1, setsumei2, setsumei3, setsumei4というマトリックスができました。これをcbind関数で結合します。
これで分析用のデータフレームができました。
SPYの平均値などをsummary関数でみてみましょう。
最小値が-0.197934、最大値が0.132923、平均値0.001601、中央値0.002828です。
1週間で最大下落が約20%、最大上昇が約13%です。
標準偏差も計算します。
標準偏差は0.02516495です。約2.5%ということですね。
最大下落幅の-20%は標準偏差で換算すると、-20/2.5=8, 8シグマです。
正規分布の確率でいうと、
0.00000000000000110405と0が15個並ぶくらいの小さな確率です。
今回は以上です。
次回は、
です。
はじめから読むには、
です。