[R-SIG-Finance] Using own simulations in package rugarch

alexios ghalanos alexios at 4dscape.com
Mon Nov 4 14:10:36 CET 2013


1. Did you read the documentation on ugarchpath or ugarchsim?
"custom.dist: Optional density with fitted object from which to simulate."
The custom.dist option allows for defining a custom density which exists
in the users workspace with methods for “r” (sampling, e.g. rnorm) and
“d” (density e.g. dnorm). It must take a single fit object as its second
argument. Alternatively, custom.dist can take any name in the name slot
(e.g.“sample”) and a matrix in the fit slot with dimensions equal to
m.sim (columns) and n.sim (rows). The usefulness of this becomes
apparent when one is considering the copula-GARCH approach or the
bootstrap method.

2. A simple search of this mailing list's archives would also have
answered your question with an example:
https://stat.ethz.ch/pipermail/r-sig-finance/2012q2/010305.html

3. rugarch.test1g in the rugarch.tests folder also contains an example
of this.

-Alexios

On 04/11/2013 12:52, Stefan.Jaeschke at rwe.com wrote:
> Hi there,
> 
> I am currently preparing an out-of-sample backtest (one-day-ahead) by carefully using the methods ugarchfilter and ugarchpath. In a next step I would need to simulate my own dataset. I would like to simulate from a bivariate copula and then applying the inverse cumulative distribution functions of each leg separately. This looks as follows (excerpt):
> 
>       library(rugarch)
>       library(copula)
>       n <- 1000
>       dcop <- gumbelCopula(2.961, dim = 2)
>       simgumcop <- rcopula(dcop,n)
> 
>       simgumcop[,1] = qdist(distribution = "sged", simgumcop[,1], mu = 0, sigma = 1, skew = skew_WTI, shape = shape_WTI)
>       simgumcop[,2] = qdist(distribution = "sged", simgumcop[,2], mu = 0, sigma = 1, skew = skew_Brent, shape = shape_Brent)
> 
> Now it would like to put those simulations back in the backtesting framework package. Is there a way to incorporate those samples in the ugarchpath (i.e. I provide the simulations and ugarchpath is doing the rest)? Or maybe another function that can help?
> 
>       for(i in 1:100){
>                 # filter the data upto time T+i-1 with the coefficients
>                 # estimated from the model upto time T
>                 filt = ugarchfilter(specf, data = nrenditen[1:(1001+i-1)], n.old = 1001)
>                 # use lagged values prior to the next forecast:
>            path = ugarchpath(specf, n.sim=1, m.sim= numsim, presigma = tail(sigma(filt),3), prereturns = nrenditen[(1001+i-3):(1001+i-1)], preresiduals = tail(residuals(filt),3))
>                 fsim[,i] = as.numeric(fitted(path))
>       }
> 
> Many thanks in advance.
> 
> Mit freundlichen Grüßen / Kind regards
> 
> Stefan Jäschke
> RWE Supply & Trading GmbH
> Risk Origination & Industrial Sales (MFM-R)
> Altenessener Str. 27
> 45141 Essen
> Germany
> Phone           +49 201 5179-1674
> Mobile                     +49 162-2596816
> Email           stefan.jaeschke at rwe.com
> ____________________________________________________
> 
> Supervisory Board: Peter Terium (Chairman)
> Management Board:
> Stefan Judisch (CEO),
> Dr Markus Krebber, Alan Robinson
> Headquarters: Essen
> Registered at Local District Court, Essen
> Commercial Registry No.: HRB 14327
> Sales Tax ID No.: DE 8130 22 070
> 
> Please consider the environment before printing this e-mail
> 
> 
> 
> 
> 
> 	[[alternative HTML version deleted]]
> 
> 
> 
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.
>



More information about the R-SIG-Finance mailing list