Simulation of an exponentially distributed variable A one-period jump diffusion model of a stock is the following: given the stock value at $T0$, $S(T0)$, the stock value at time $T$, $S(T) = S(T0)exp(x)exp(y)$. Given the inputs $m$, $s$, $pup$, $pdown$ and $\lambda$, and:


*

*x is normally distributed with mean m and standard deviation s

*y equals 0 with probability 1 – pup – pdown (i.e. no jump).  

*y is positive with probability pup; if it is positive , y is exponentially distributed with density p(y) = λexp(-λy) for y > 0.

*y is negative with probability pdown; if it is negative, y is exponentially distributed with p(y) = λexp(λy) for y < 0.

*x and y are uncorrelated & independent.


I am to write a MATLAB program that siumulates the stock prices. Two random numbers per trial are required: 


*

*A uniformly distributed random number that determines if a jump has occurred

*An exponentially distributed random number that determines the size of the jump


I've transormed a uniform random variable to an exponential variable using $-ln(1 - U(a, b)) / \lambda$.
Where I'm confused is how we're using the uniformly distributed random number that determines if a jump has occurred given I am given pup and pdown. Also, why do I need an exponentially distributed random number for the jump size. I thought I just integrate the pdf? For some reason I struggle mightily with the exponential distribution.
 A: Let $B$ be the indicator of what type of jump occurs, if any; $B=-1$ when there's a negative jump, $B=1$ when there's a positive jump and $B=0$ if there is no jump. Then to determine the jump, you just need to generate $B$. According to your formulation, 
$$ P(B=-1) = p_{down} $$ 
$$P(B=1) = p_{up} $$ 
$$P(B=0) = 1-p_{up}-p_{down} $$ 
You can generate $B$ by generating a Uniform(0,1) variable $U$ and letting 
$$B=-1 \ \ \ {\rm if} \ \ \ U \leq p_{down}, $$
$$B=1 \ \ \ {\rm if} \ \ \ p_{down} \leq U \leq p_{down}+p_{up} $$
and 
$$B=0 \ \ \ {\rm if} \ \ \ U \geq p_{down}+p_{up}$$ 
Examining the Uniform(0,1) CDF will make it clear why the probabilities work out correctly. 
You could integrate out $Y$ if the question were to determine the distribution of $S(T)$ analytically but I think the point is to determine its distribution by simulation. 
Note: Assuming you don't have a function to generate normally distributed variables, you will also have to generate more uniforms to simulate $X$. If you use the Box-Muller transform method of generating normals, you can simulate two normals for every two uniformly distributed variables.
