ローリング20期間の過去のボラティリティを計算しようとしています。私は毎日の返品を受け取ります:
ret<-ROC(data1)
次に、rollapplyを使用して、各列の20日間のHVを取得します。
vol<-rollapply(ret,20,sd,by.column=T,fill=NA)
問題は、volの観測値が10日後に表示され始めることです。これは、私が20を指定したのとは間違っています。
ここでのデモンストレーションのために、データのサンプルがあります:
0.000000000, 0.005277045, 0.023622047, 0.002564103,-0.002557545, -0.020512821,
0.007853403,-0.012987013, 0.007894737, 0.015665796, 0.000000000, -0.002570694,
0.002577320, -0.015424165, 0.002610966, 0.010416667, 0.002577320, 0.015424165,
0.000000000, -0.002531646, -0.002538071, 0.030534351, 0.014814815, -0.007299270,
-0.009803922, -0.012376238, 0.002506266, -0.015000000,-0.002538071, 0.002544529
上記のデータがxに格納されていると仮定すると、次のようになります。
rollapply(x,20,sd,fill=NA)
20ではなく10行目に最初の観測値が生成されます。また、sdも間違っています。
私はここで何かが欠けているはずです...