Rollapply 用于回测风险价值
我想回测时间序列向量风险中的经验(无条件)值:
x = rnorm(1000)
xt = diff(x)
quantile(xt,0.01)
所以我认为 R 中的 rollapply 函数可能会有所帮助,因为我想滚动估计从时间 t 到结束时间 T 的分位数 a 滚动窗口 100 通过一项观察。
如果我编写以下代码:
a = rollapply(xt,width=100,quantile(xt,probs=c(0.01)))
我收到错误:
Error in match.fun(FUN) :
'quantile(xt, probs = c(0.01))' is not a function, character or symbol
我在这里做错了什么?
另外:如何在一张图中绘制两个系列(历史估计和回测结果)?
I want to backtest the empirical (unconditional) value at risk of a time series vector:
x = rnorm(1000)
xt = diff(x)
quantile(xt,0.01)
So I am thinking that rollapply function in R might be helpful, since I want to roll estimate the quantile a from time t until the end time T with rolling window 100 by one observation.
If I code the following :
a = rollapply(xt,width=100,quantile(xt,probs=c(0.01)))
I receive an error:
Error in match.fun(FUN) :
'quantile(xt, probs = c(0.01))' is not a function, character or symbol
What I am doing wrong here ?
PLUS: How can I plot the two series (historical estimate and backtesting result) in one plot?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将 x 转换为动物园系列 z,然后使用 diff、rollapply 和绘图,如图所示。 cbind.zoo 将对齐该系列。请注意,rollapply 使用居中窗口。如果您想要右对齐窗口,请使用末尾带有 r 的 rollapplyr 。如果您希望将系列显示在单个面板中,请在绘图中添加 screen = 1 参数。
Convert x to zoo series z and then use diff, rollapply and plot as shown. cbind.zoo will align the series. Note that rollapply uses centered windows. If you want right aligned windows use rollapplyr with an r on the end instead. If you want the series in a single panel add screen = 1 argument to plot.