Tolga Uzuner <tolga <at> coubros.com> writes: > > Dear R Users, > > Does anyone know of a package which can generate random realisations of > a double-exponential jump diffusion process with a drift ? Something > where I can specify the likelihoods of an up or a down jump, the drift > rate, and the mean size, and get back a vector of realisation of the > process (for purposes of a Monte-Carlo). >
Hmmm. I'm not exactly sure what you mean (this is one of the things to remember about the R list -- there is a vast variety of readers, most of whom aren't in your field, so the only things you can assume we all know are basic statistics and stuff about R). By "drift" do you mean that likelihood of up is not equal to likelihood of down? I can imagine that it would be easy to generate such a realisation (without a particular package), if you could give us the precise definition. As a starting example: jumpdiff <- function(start=0,nt=100,up=0.5,scale=1) { res <- numeric(nt) res[1] <- start for (i in 2:nt) { dir <- if (runif(1)<up) 1 else -1 res[i+1] <- res[i]+dir*rexp(1,scale=scale) } } I wrote this out as a for loop to make it clearer: a much more efficient way would be dir <- ifelse(runif(nt)<up,1,-1) jump <- rexp(nt,scale=scale) cumsum(start+dir*jump) hope that helps Ben Bolker ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.