这是我的问题的背景:
我正在使用半参数边际分布和t-copula建立VaR模型(风险价值)。 这种方法需要生成i.i.d.时间序列正确估计边际分布的Pareto Tails。这是通过使用AR-GARCH模型来提取i.i.d.的残差,然后对边际分布进行建模并最终生成来自t-copula的随机数来完成的。我在22天的时间范围内模拟了2000条路径。我的投资组合中有12个证券。我将随机数存储在一个三维数组Z(地平线,路径,安全)dim(Z)= 22 2000 12。
这是我的问题:
我想使用AR-GARCH模型中的系数重新引入原始的自相关和异方差性。 MATLAB提供了一个名为' filter'的便捷功能。这整个想法不是我自己编写的,而是通过以下链接(在MATLAB中实现)呈现: Using Extreme Value Theory and Copulas to Evaluate Market Risk
这是我在R:
中实现的MATLAB代码simulatedReturns[:,:,i] = filter(fit(i),Z[:,:,i],Y0(i),Z0(i),V0(i))
其中,fit(i)=安全性i的模型系数,Z =具有来自t-copula的随机数的数组,Y0,Z0和V0分别是返回,标准化残差和方差的起始参数。
在R中,在filter
包中有一个名为library(signal)
的类似函数,它与MATLAB函数(几乎)相同。但是,我获得了非常狡猾的结果。我也玩过ugarchfilter
,但还没有成功。
我一直在使用R只用了几个星期,不确定我的概念是错误还是代码。
非常感谢您提前获得建议!