我正在尝试使用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,&#34; tsp&#34;)&lt; - c(1,NROW(x),1)出错: 指定的时间序列参数无效
我做错了什么?提前致谢
答案 0 :(得分:0)
解决了它:'收益'格式错误。第四行必须是:
yields <- as.xts(xlist$df)