<<

Jump-diffusion stochastic processes with Maple

Igor Hlivka - Senior Quantitative Analyst MUSI, London

Jump diffusion is an extension to the theory of stochastic processes where the underlying parameters exhibit shocks and "jump" to their new values. Stochasticity with jumps is well recognized in several scientific branches including physics, chemistry, but also economics and finance. This application is primarily focused on the last-mentioned field where the theory of jump-diffusion has been particularly actively researched and applied.

We will discuss various jump processes in finance, their applications to option pricing and risk. For this we will rely heavily on Finance package which contains essential ingredients for creation of efficient stochastic routines and together with other Maple's tools provide powerful platform for the study, analysis and application of stochastic processes to economic or scientific problems.

Introduction Jump-diffusion in financial literature is associated primarily with Merton who was the first to introduce the jump-diffusion into stock option pricing. From the pure theoretical perspective, jumps are not trivial. Why? Because the martingale theory - the heart of arbitrage-free option pricing - is not fully preserved. When underlying process (for stock price, FX rate or interest rate) jumps, the market turns incomplete due to the presence of two stochastic factors (underlying + jumps), but only one tradeable asset (underlying). Merton back in 70s argued that since both processes are uncorrelated and independent, jumps can be hedged away through portfolio diversification.

Why do we need jumps? Two main arguments: (i) reflection of reality and (ii) extension of traditional log-normal processes in finance where financial returns are not exactly normally distributed. Jump would serve here as "correction" to the limitation of traditional theory.

Definitions of jumps:

Usually defined as Poisson independent of one another

Jumps are drawn from Poisson density =>

The mean waiting time for jumps = When jump occurs, the underlying value changes to where J is the magnitude of jump. This quantity is usually independent from the jump intensity and can be made stochastic, i.e. drawn from pre-defined probability distribution. We will review several jump types. Jump-diffusion stochastic differential equation:

If solves the standard SDE then it naturally solves its extension with jumps: where denotes the number of jumps that occurred \with magnitude .

Stochastic schemes for jump- Here we review several stochastic routines applicable to jump-diffusion SDEs. We will call Maple's stochastic routines defined in the Finance package and demonstrate that Maple has almost unlimited potential to define various types of jump-diffusions with constant, probabilistic jumps (and intensities) and also stochastic Poisson processes.

Normal mean-reverting process

_X (2.1.1) Normal jump magnitude => jump sizes are drawn from normal distribution

(2.1.2) We can visualize the process paths by assigning numerical values. Assume, the object of our interest is an interest rate, so the corresponding jumps are small. We simulate the 1 year evolution of an interest rate with initial value 2.5% The jumps are clearly visible on the above graph. We generate the sample values to obtain the for the process.

(2.1.3)

(2.1.4)

Let's compare this result with the non-jump process. In our case, this is just the process

(2.1.5) (2.1.5)

The two samples are now clearly different: Sample A (jump-diffusion) has different (i) mean,(ii) volatility, (iii) skewness, (iv) kurtosis and (v) max value. The non-zero skewness and kurtosis > 3 indicate that the distribution is not any longer normal Sample B (O-U process) behaves as normal => see the skewness and kurtosis

Let's compare the two distributions:

Log-normal process with Logistic jumps

In this example we define the geometric Brownian motion with Logistic jumps (2.1.5)

(2.2.1) (2.1.5)

(2.2.2)

Similarly to the mean-reverting normal process, GBM with jumps is not long-normal as it has different moments and longer tail.

Square-root process with Laplace jumps

The square-root process us characterized by the following SDE: (2.1.5)

(2.3.1) (2.1.5)

(2.3.2)

Stochastic routines with double Poisson process We can further relax the definition of Poisson process and allow the intensity itself being unknown and stochastic. This will allow us to create the jump-diffusion where both (i) intensity (2.1.5)

and (ii) jumps magnitude are functions of independent processes. We will demonstrate this with Geometric Brownian Motion with stochastic volatility (following square-root diffusion) Gamma jumps Gumbel intensity

(2.4.1) (2.1.5)

(2.4.2) (2.1.5)

Again, as the RHS tail shows, the stochastic jump makes the distribution non-log-normal with fatter tail.

Stochastic routines with stochastic jump process

This is the special case foe the Poisson process where the jump itself is a defined , independent from the underlying. We select the underlying process equal to the CEV process Assume the Poisson process itself is driven by another stochastic process which we assume is O-U process

The underlying process SDE: The jump generator: (2.1.5)

(2.5.1)

Table 1: Stochastic processes visualisation

Double stochastic jump-diffusion process Jump stochastic Normal process (2.1.5)

(2.5.3)

Stochastic jump process with stochastic volatility with jumps

Here we design a more complicated example:

Define the stochastic volatility process with jumps Use that process as subordinate part of the underlying process with added jumps This will result in stochastic jumped vol process with jumps

Volatility process - square-root diffusion (2.1.5)

Volatility jumps - exponential intensity with normal jump sizes Underlying process - normal (Brownian motion)

Underlying jumps - log-normal intensity with normal jumps sizes

(2.6.1)

Table 2: Double stochastic processes visualisation (2.1.5)

Table 2: Double stochastic processes visualisation

Normal stochastic process with CIR stochastic CIR stochastic volatility with jumps volatility with double jump impacts

(2.6.2) (2.1.5)

The reader may have noticed that when the underlying process is being modelled with stochastic volatility, the jump effects gets less pronounced. This is due to the fact that the volatility which itself is a stochastic process has larger impact on the distribution effects than additive jumps. This is also confirmed in practice - users typically resort to either (i) stochastic volatility process or (ii) . Handling both or even in the "double fashion" as the last example demonstrates requires a lot of parameters estimation which itself may be quite cumbersome.

Probability density of the jump-diffusion process Jump-diffusion processes can lead to quite complex distributional patterns with multiple levels of randomness. Whilst explicit form for such densities may not always exist, we may obtain the estimates of such distribution using pattern matching. Moment matching can be particularly useful in this context.

Here we use the lastly generated sample and try to fit it to the known statistical distributions. (2.1.5)

Sample fit to Gumbel distribution

We will try to fit the jump-diffusion data to Gumbel density:

(3.1.1)

We compute the fist two moments of the density, do the same for the sample data and solve for density parameters

(3.1.2)

(3.1.3)

(3.1.4) (2.1.5)

We can see that the fit is close, but not exact, especially on the LH tail and on the skewness. We can see that the two moments match is not enough to fit the double jump-diffusion process. Sample fit to higher-moments density

We will build a new distribution (Normal mixture) with higher number of parameters:

(3.2.1)

(3.2.2)

(3.2.3)

We again calculate the density moments and solve for four parameters (2.1.5)

(3.2.5)

We select the solution that meets the parameters criteria

(3.2.6)

Substitute parameters into the PDF (2.1.5)

(3.2.7)

Generate plots and compare the densities

Although not totally exact, the fit to the Normal mixture is now better. Solution via Fourier transform

When the jump-diffusion process contains constant parameters, we can obtain the probability density by trying to solve the forward Kolmogorov equation - the PDE that returns the evolution (2.1.5)

(3.2.7)

of transitional density over time. We use the integral transform (Fourier in particular) to find the solution.

The probability density for jump-diffusion is similar to the "standard" PDE. The only unknown quantity is the identification of jumps.

Jump definition in the PDE where the expectation is taken over probability of jumps this means:

We define the forward Kolmogorov equation for jump-diffusion as follows:

(3.3.1)

Apply alias for display

(3.3.2) Take the Fourier transform of the PDE with parameter

(3.3.3) Change the function to

(3.3.4) Solve the ODE with initial condition

(3.3.5) Take the inverse of the Fourier and get the desired density

(3.3.6) (2.1.5)

(3.2.7)

(3.3.7)

(3.3.8)

Application in Finance

Jump-diffusion processes with respective densities are highly relevant to finance where users look for alternatives to "traditional" approaches to explore "fat tails" - heavier tail distributions than Normal or LogNormal processes. Jump processes serve these needs well.

Option pricing

Freedom in defining various jump-diffusions in Maple enables user to price and value a number of options with various payoffs

(4.1.1) Provide process parameters and compute Monte-Carlo expectation - call and put option prices with option maturity T and strike price K

(4.1.2) We can compare these prices to non-jump stochastic process (2.1.5)

(3.2.7)

(3.3.7)

(4.1.3) Call option price for jump-diffusioon is higher than the non-jump equivalent. Put values behave differently. This reflects the skewness of the distribution.

We can also easily compute the Asian payoff from these processes:

(4.1.4) Again, we can see the valuation differences. Call under jump-diffusion generates higher options distribution parameters Risk

Risk applications are related to VaR and extended VaR profile - also knows as Expected Shortfall. (2.1.5)

(3.2.7)

(3.3.7)

We use the jump-diffusion process to calculate the various Risk static

VaR @ various confidence levels - using both jump-diffusion and standard process

Table 3: VaR limits: Jump and non-jump distributions

(4.2.1) (4.2.2)

Compute the mean and standard deviation of terminal value

0.0341902829910626 0.00837217563415888 (4.2.3)

0.0294085730526375 0.00321455953250138 (4.2.4) and calculate the VaR Z-scope for each process (2.1.5)

(3.2.7)

(3.3.7)

As shown on the chart, the jump-diffusion process exhibits both (i) lower Z-score values and (ii) flatter slope. This is due to higher volatility and higher skewness that moves the distribution away from Normal.

We also look at Expected Shortfall, the risk behavior in the tail region falling below VaR. This will be achieved in two steps: (i) define the confidence limits for a given ES level and (ii) loss profile in the tail region (2.1.5)

(3.2.7)

(3.3.7)

(4.2.5)

0.0211111627868377 (4.2.6)

(4.2.7) This is the Expected shortfall static - the average loss in the tail region when measured on the entire distribution sample.

We can also compute alternative shortfall measure - the average loss when only data smaller than the VaR limit are taken into consideration

(4.2.8) As we can see this "conservative" loss is now much higher. Expected shortfall measure depends on the VaR confidence setting above. Higher intervals will naturally reduce the loss size.

We can investigate the tail distribution further by looking at the data summary statistics to see other characteristics of the loss.

(4.2.9)

This confirms that the CAS such as Maple offers flexible methods

Conclusion (2.1.5)

(3.2.7)

(3.3.7)

(4.2.5)

The example shown above are just simple illustration of the power of Maple for numerical simulation of jump-diffusion processes. The system provides wide flexibility for creation of stochastic schemes required by the user. Financial application - both in option pricing and risk - are particularly well suited for such modelling.