从 ARMA(1,1) - MCsGARCH(1,1) 模型模拟 returns
Simulating returns from ARMA(1,1) - MCsGARCH(1,1) model
如何在 R 中找到预期的日内 return ARMA(1,1) - MCsGARCH(1,1) 模型?
我认为你在这里混淆了一些东西。没有 "expected intraday return",对于 ARMA(1,1) - MCsGARCH(1,1),只有以下 period/day(sigma,正如您已经在评论)。
我 假设 你指的是你提供的网站上的最后一个图,这意味着你想知道 VaR (风险值),它是用估计过程中的波动率计算出来的。
如果您查看用于提供情节的代码:
D = as.POSIXct(rownames(roll@forecast$VaR))
VaRplot(0.01, actual = xts(roll@forecast$VaR[, 3], D), VaR = xts(roll@forecast$VaR[,1], D))
您可以看到从对象 roll
中获取的 VaR(和 returns)。在你完成 运行 模拟之后(不更改示例中的任何变量名称),你可以将它们存储在一个变量中供以后使用,如下所示:
my_VaR = roll@forecast$VaR[, 1]
my_act = roll@forecast$VaR[, 3]
其中 VaR, 1]
是 VaR 的第一个列表元素。如果你检查 str(roll)
你会在最后看到很多,那就是:
- 元素1:代表alpha(1%) VaR
- 元素 2:代表 alpha(5%) VaR 和
- 元素3:代表实现return.
针对您在评论中所说的内容:
查看变量 df
(从 as.data.frame(roll)
生成,可能包含您要查找的内容。
I want to compare the expected return and the actual return.
这似乎更倾向于 Cross Validated 的方向,但我会尽量给出一个简要的概述。
GARCH 模型主要用于波动率预测和了解时间序列的波动率动态(and/or 多元模型中的相关动态)。现在由于方差是 of the second moment,转换为平方,它总是正的。但是 return 总是积极的吗?当然不是。这意味着波动率预测让我们了解下一时期 return 的大小,但那时我们不知道它是正值 return 还是负值 return。这就是风险价值 (VaR) 发挥作用的时候。
取e。 G。拥有一项资产的投资组合经理。使用 GARCH 模型,他可以预测下一时期的波动性(假设他使用每日 return 系列,那么明天就是)。交易者关注他们投资组合的风险,它比潜在机会受到更密切的监控。因此,根据波动率预测,他可以很好地猜测明天资产贬值的风险。假设 95%-VaR 为 1,000 欧元意味着,明天的风险(或损失)有 95% 的概率不会超过 1,000 欧元。概率越高,确定性越低,因此 99%-VaR 会更高,例如。 G。 1,500 欧元。
总结一下: 没有 "expected" return,只有波动率预测对于明天,它给出了明天 return 会如何 的倾向(永远不确定)。通过 VaR,这可以用于风险管理。这就是您提供的文章最后一部分所做的工作。
what is the difference of ugarchsim and roll function?
您可以查看 rugarch package 的文档,其中对每个函数及其属性进行了更详细的解释。快速浏览一下,如果您想将模型拟合到完整的时间序列,我会使用 ugarchsim
。最后的标准差就是下一期的预测。 ugarchroll
的文档说:
ugarchroll-methods {rugarch} function: Univariate GARCH Rolling
Density Forecast and Backtesting
Description
Method for creating rolling density forecast from ARMA-GARCH models with option for refitting every n periods with
parallel functionality. is used aswell for forecasting as for
backtesting.
如果您想测试您的模型在过去的表现如何。只需要e。 G。提供的前 300 个数据点并给出数据点 301 的预测。然后将 VaR(95% 或 99%)与数据点 301 的实现 return 进行比较。然后重新拟合模型,给出数据点 302 的预测依此类推。
编辑:添加了评论中问题的答案。
如何在 R 中找到预期的日内 return ARMA(1,1) - MCsGARCH(1,1) 模型?
我认为你在这里混淆了一些东西。没有 "expected intraday return",对于 ARMA(1,1) - MCsGARCH(1,1),只有以下 period/day(sigma,正如您已经在评论)。
我 假设 你指的是你提供的网站上的最后一个图,这意味着你想知道 VaR (风险值),它是用估计过程中的波动率计算出来的。
如果您查看用于提供情节的代码:
D = as.POSIXct(rownames(roll@forecast$VaR))
VaRplot(0.01, actual = xts(roll@forecast$VaR[, 3], D), VaR = xts(roll@forecast$VaR[,1], D))
您可以看到从对象 roll
中获取的 VaR(和 returns)。在你完成 运行 模拟之后(不更改示例中的任何变量名称),你可以将它们存储在一个变量中供以后使用,如下所示:
my_VaR = roll@forecast$VaR[, 1]
my_act = roll@forecast$VaR[, 3]
其中 VaR, 1]
是 VaR 的第一个列表元素。如果你检查 str(roll)
你会在最后看到很多,那就是:
- 元素1:代表alpha(1%) VaR
- 元素 2:代表 alpha(5%) VaR 和
- 元素3:代表实现return.
针对您在评论中所说的内容:
查看变量 df
(从 as.data.frame(roll)
生成,可能包含您要查找的内容。
I want to compare the expected return and the actual return.
这似乎更倾向于 Cross Validated 的方向,但我会尽量给出一个简要的概述。
GARCH 模型主要用于波动率预测和了解时间序列的波动率动态(and/or 多元模型中的相关动态)。现在由于方差是 of the second moment,转换为平方,它总是正的。但是 return 总是积极的吗?当然不是。这意味着波动率预测让我们了解下一时期 return 的大小,但那时我们不知道它是正值 return 还是负值 return。这就是风险价值 (VaR) 发挥作用的时候。
取e。 G。拥有一项资产的投资组合经理。使用 GARCH 模型,他可以预测下一时期的波动性(假设他使用每日 return 系列,那么明天就是)。交易者关注他们投资组合的风险,它比潜在机会受到更密切的监控。因此,根据波动率预测,他可以很好地猜测明天资产贬值的风险。假设 95%-VaR 为 1,000 欧元意味着,明天的风险(或损失)有 95% 的概率不会超过 1,000 欧元。概率越高,确定性越低,因此 99%-VaR 会更高,例如。 G。 1,500 欧元。
总结一下: 没有 "expected" return,只有波动率预测对于明天,它给出了明天 return 会如何 的倾向(永远不确定)。通过 VaR,这可以用于风险管理。这就是您提供的文章最后一部分所做的工作。
what is the difference of ugarchsim and roll function?
您可以查看 rugarch package 的文档,其中对每个函数及其属性进行了更详细的解释。快速浏览一下,如果您想将模型拟合到完整的时间序列,我会使用 ugarchsim
。最后的标准差就是下一期的预测。 ugarchroll
的文档说:
ugarchroll-methods {rugarch} function: Univariate GARCH Rolling Density Forecast and Backtesting
Description
Method for creating rolling density forecast from ARMA-GARCH models with option for refitting every n periods with parallel functionality. is used aswell for forecasting as for backtesting.
如果您想测试您的模型在过去的表现如何。只需要e。 G。提供的前 300 个数据点并给出数据点 301 的预测。然后将 VaR(95% 或 99%)与数据点 301 的实现 return 进行比较。然后重新拟合模型,给出数据点 302 的预测依此类推。
编辑:添加了评论中问题的答案。