在R

时间:2018-02-20 20:45:26

标签: r simulation forecasting quantitative-finance

所以我使用GarchFit在R中模拟了一个GARCH(APARCH)模型,并对每周日志返回进行了模拟:

在指定h0(初始波动率)的不同值时,我对我的数据得到不同的预测,并且精度正在收敛,并且对于h0 = 2.2e-4是好的。

这当然是通过我的迭代获得的。我想知道如何在下面的代码中替换h0(初始波动率)的适当值的过程,或者更好的方法来使用数据校准h0。 (因为不同的h0导致与模型的不同拟合,而不必通过重复替换不同的值并寻找合适的方法来手动找出最佳h0,是否有另一种有效的方法来找到返回“最适合”的h0? / p>

以下是模拟代码:

`randhelp <- function(
 horizon,
 N,
 h0,  
 mu,
 omega,
 alpha1 , 
 gamma1,beta1,delt

 )
 {
rett<-zt <- et <- ht <- matrix(NA, nc=horizon, nr=N) #matrices to store #simulated values of various parameters

ht[,1] <- h0
for(j in 1:horizon){
zt[,j]   <- rsstd(N,mean=0.01076,sd=1.01309,nu=6.80980352,xi=0.99555) 
#innovation
et[,j]   <- zt[,j]*sqrt(ht[,j]) #et is the return, same as rett here
rett[,j]  <- et[,j]+omega+mu #omega and mu don't matter and are to be given 
#the values zero


 if( j < horizon ){
 ht[,j+1]<- (alpha1*(abs(et[,j])-gamma1*et[,j])^(delt) + beta1*
 (ht[,j])^(delt/2))^(2/delt)}}
 rett #final matrix of simulated values for each step in the horizon
 }`

0 个答案:

没有答案