(这也发布在Quant.SX上,但我不确定这是否是一个更好的地方)
我是R的新手,尤其是yuima
套餐,所以我希望有人可以帮助我。
我有一些数据(每日价格)我希望通过估算参数来适应Carma(2,1)模型。
假设我有
d <- read.csv("http://chart.yahoo.com/table.csv?s=IBM&g=d&x=.csv")
我认为我应该做的是
library(yuima)
y <- setYuima(data = setData(d$Close), model = setCarma(2,1))
x <- qmle(y, start = list(a1 = 1, a2 = 1, b0 = 1))
(但有一些其他参数)。
但是,当我这样做时,我在第一行(y <- ...
)行中收到以下错误:
Error in if (dim(data@original.data)[2] == 1) { :
argument is of length zero
我不知道为什么会这样,以及setYuima
函数所期望的。谁能告诉我怎么做?
答案 0 :(得分:2)
也许:
library(xts)
library(yuima)
d <- read.csv("http://chart.yahoo.com/table.csv?s=IBM&g=d&x=.csv", stringsAsFactor = FALSE)
d$Date <- as.Date(d$Date)
d.xts <- xts(d[,-1], d[,1])
y <- setYuima(data = setData(d.xts$Close), model = setCarma(2,1))
y
# Carma process p=2, q=1 with Levy jumps
# Number of equations: 3
# Number of Wiener noises: 1
# Parametric model with 6 parameters
# Number of original time series: 3
# length = 13577, time range [1962-01-02 ; 2015-12-07]
# Number of zoo time series: 3
# length time.min time.max delta note
# x.1 13577 1962-01-02 2015-12-07 7 *
# x.2 13577 1962-01-02 2015-12-07 7 *
# x.3 13577 1962-01-02 2015-12-07 7 *
# ================
# * : maximal mesh