[R-SIG-Finance] Garch, beginner questions

Benjamin Dickgiesser dickgiesser at gmail.com
Tue Nov 21 12:34:22 CET 2006


I now wrote this function, but am sure it can be done much better somehow..

library(fSeries)
library(tseries)

VaR.Garch <- function(data,stockId=1,p=0.01,dt=1)
{
	r <- diff(log(data))
	
	#fit Garch(1,1), Ar(2) modell
	fit = garchFit(~arma(2,0), ~garch(1,1), series = r)
	
	#init vars
	rhat[1:3] <- 0
	a[1:3] <- 0
	sigma[1:3] <- 0
	VaR[1:3] <- 0
	
	for (t in 3:length(r))
	{	
		#Calculate r suggested by AR	
		rhat[t] <- fit at fit$matcoef[1,1] + fit at fit$matcoef[2,1] * r[t-1] +
fit at fit$matcoef[3,1]*  r[t-2]
		#calculate error from fitted AR
		a[t] 		<- r[t] - rhat[t]
		#estimate sigma
		sigma[t] 	<- sqrt(fit at fit$matcoef[4,1] + fit at fit$matcoef[5,1] *
sigma[t-1]^2 + fit at fit$matcoef[6,1] * a[t - 1]^2)
		# calculate the value at risk
		VaR[t] <- (1 - exp(rhat[t] * dt + sqrt(dt) * qnorm(p) * sigma[t])) * data[t]
	}
	list(VaR=VaR,r=rhat,std=sigma)
}



On 11/21/06, Benjamin Dickgiesser <dickgiesser at gmail.com> wrote:
> Hi all,
>
> if I use
> fit = garchFit(~arma(2,0), ~garch(1,1), series = rt)
>
> does fit at fitted.values hold the fitted standard deviations? The manual
> only says
> @fitted.values  a numeric vector with the fitted values.
> I'm not sure if this means the fitted values from the arma or the variance..
>
> Is there also a function to estimate a AR-Garch model with t
> distributed innovations? I'm trying to calculate the Value at Risk
> using the models outlined above.
>
> I really appreciate your help,
> Benjamin
>



More information about the R-SIG-Finance mailing list