我想使用来自高频包的spotvol()函数在30秒的日志返回上进行5小时的交易。我有一个长度为30秒的665x1矩阵,即diff(log(价格)
)logRet<- as.matrix(diff(log(r$PRICE)))
logRet<- t(logRet)
dim(logRet)
spotvol(logRet, method = "detper", on= "secs", k = 30, dailyvol = "medrv", periodicvol = "TML")
输出:
> dim(logRet)
[1] 1 665
> spotvol(logRet, method = "detper", on= "secs", k = 30, dailyvol = "medrv", periodicvol = "TML")
[1] "Periodicity estimation requires at least 50 observations. \n Periodic component set to unity"
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[79] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[157] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
知道这意味着什么吗?我有665秒观察到30秒的日志返回。
答案 0 :(得分:3)
来自?spotvol
(强调补充):
包含价格数据的'xts'对象或 a'矩阵' 包含回报。对于价格数据,不规则间隔的观测 被允许。它们将聚合到指定的级别 参数'on'和'k'。 对于返回数据,假设观察结果 等于空间,它们之间的时间由'on'和 “K”。 返回数据应采用矩阵形式,每行对应 到一天,每列到一个日期。输出将在 与输入相同的形式('xts'或'matrix'/'numeric')。
所以spotvol
认为您的输入数据每天只有一个观察结果,因此没有任何内容可以聚合。