首页 > 解决方案 > 有没有可能通过 DCC GARCH (1,1) 代码自动运行几十只股票?

问题描述

我找到了 Eric Zivot 先生的以下代码(https://faculty.washington.edu/ezivot/econ589/econ589multivariateGarch.r)。

谁能帮我,在这里,在代码中,我们只有 2 支 DCC GACH 1,1 的股票 - 例如,如果我有 100-200 支股票,我能否以某种方式运行代码以自动检查所有可能的配对.

谢谢,马库斯

标签: rquantitative-finance

解决方案


如果您检查代码,您可以看到他使用了数据“MSFT”和“GSPC”。他计算回报

MSFT.ret = CalculateReturns(MSFT, method="log")
GSPC.ret = CalculateReturns(GSPC, method="log")

创建组合系列

MSFT.GSPC.ret = merge(MSFT.ret,GSPC.ret)

并拟合单变量 GARCH,然后拟合 DCC GARCH 模型

# univariate normal GARCH(1,1) for each series
garch11.spec = ugarchspec(mean.model = list(armaOrder = c(0,0)), 
                          variance.model = list(garchOrder = c(1,1), 
                          model = "sGARCH"), 
                          distribution.model = "norm")

# dcc specification - GARCH(1,1) for conditional correlations
dcc.garch11.spec = dccspec(uspec = multispec( replicate(2, garch11.spec) ), 
                           dccOrder = c(1,1), 
                           distribution = "mvnorm")
dcc.garch11.spec

dcc.fit = dccfit(dcc.garch11.spec, data = MSFT.GSPC.ret)

在这里您可以更改“MSFT”和“GSPC”,如果您需要帮助编写一个循环来迭代所有组合,请使用您的 data.frame 或带有数据的矩阵和一个简单的示例发布一个简单的代码。


推荐阅读