首页 > 解决方案 > R中的“指定的时间序列参数无效”错误

问题描述

我正在尝试使用 USTYC 包(https://cran.r-project.org/web/packages/YieldCurve/YieldCurve.pdf)中的数据修改 YieldCurve 文档中的 Nelson/Siegel 示例。

原始代码是:

library(YieldCurve)

### Nelson.Siegel function and Fed data-set ###
data(FedYieldCurve)
rate.Fed = first(FedYieldCurve,'5 month')
maturity.Fed <- c(3/12, 0.5, 1,2,3,5,7,10)
NSParameters <- Nelson.Siegel( rate= rate.Fed, maturity=maturity.Fed )
y <- NSrates(NSParameters[5,], maturity.Fed)

我修改后的代码如下

library(ustyc)
library(YieldCurve)
xlist = getYieldCurve() # 2.5 mins

yields <- xlist$df
maturities <- c(1/12, 3/12, 6/12, 1, 2, 3, 5, 7, 10, 20, 30)
curve <- yields["2018-05-21",1:11]
NSParameters <- Nelson.Siegel(curve,maturities)
y <- NSrates(NSParameters[1,],maturities)

但是,我收到错误:

attr(x, "tsp") <- c(1, NROW(x), 1) 中的错误:指定的时间序列参数无效

我究竟做错了什么?提前致谢

标签: r

解决方案


解决了它:'yields' 格式错误。第四行需要是:

yields <- as.xts(xlist$df)

推荐阅读