I'm thinking of writing a master's thesis about pricing options using Levy processes, but I wonder if these processes are actually used for modeling stock prices or not (and which specifically)? And if not which ones are used?

In addition, I wonder if it is difficult to implement the right code in Python or can it be done with little knowledge about programming?

And what book / blog do you recommend regarding Python in finance?

  • 2
    $\begingroup$ There's recently been some interest in rough volatility models (fractional Brownian motion) and their calibration by means of neural networks. As per the book, start with Yves Hilpisch's ones. In general, every model is too simple to fully describe the stock market. But the purpose of the models is to allow for parsimonious calibration of parameters, not complex economic meaning of several variables. If you use Python, simulate your SDE with Euler-Maruyama discretization scheme and calibrate it with Keras. $\endgroup$
    – Lisa Ann
    Commented May 13, 2020 at 8:46
  • $\begingroup$ Specifically, Python for Finance by Hilpisch is good. This has exactly what you need. Unless you go the neural net route, then I'll leave the recommendation to others as I am not as advanced there. $\endgroup$ Commented Jun 3, 2020 at 13:41

2 Answers 2


I give you a brief outline about some key properties of Lévy processes.

Lévy processes have stationary and independent increments but do not necessarily have continuous sample paths. In fact, Brownian motion is the only Levy process with continuous sample paths. Some Lévy processes (e.g. Poisson process) have single, rare but large jumps (finite activity) whereas others jump infinitely often during any finite time interval. Such processes de facto only move via (small) jumps (infinite active).

In general, Lévy processes have three components (Lévy or characteristic triplet):

  • linear drift
  • Brownian diffusion
  • jumps.

($\to$ Lévy–Itô decomposition)

This also points to the fact that all Lévy processes are semimartingales. Thus, following the general Itô stochastic integration theory, we can make sense out of terms like $\mathrm{d}X_t$ and $\int_0^t Y_s\mathrm{d}X_s$, for an appropriate process $Y_t$ and any Lévy processs $X_t$.

A nice way of thinking about Lévy processes are time changed processes. Take the variance gamma process as an example. You can define that process by explicitly giving its trend/volatility/jump components or you take a simple arithmetic Brownian motion $X_t=\theta t+\sigma W_t$ and a Gamma process $\gamma_t$. Then, the process $X_{\gamma_t}=\theta\gamma_t+\sigma W_{\gamma_t}$ is a variance gamma process. In general, you can use a process to alter the ``time'' of another process ($\to$ subordination). General time-changed Lévy processes can capture volatility clusters and the leverage effect yet remain reasonably tractable. They kind of combine Lévy processes with the ideas of stochastic volatility. Intuitively, you can think about calendar time (using $t$ as time) and business time (using $\gamma_t$ as time) as two different things. So, the time changed processes are based on business activity (e.g. arriving trades). Intuition is given by the scaling property of Brownian motion: $\sqrt{c}W_t \overset{\mathrm{Law}}{=}W_{ct}$ for any $c>0$. Thus, changes in time result in changes of the scaling of the Brownian motion. In this sense, a time change leads to changing (random) variances, etc.

Lévy processes are not trivial processes. You often do not have a transition density in closed form. Instead, the characteristic function is very simple for Lévy processes ($\to$ Lévy-Khintchine formula). Thus, option pricing is often done using Fourier methods: option prices equal discounted expectations with respect to the risk-neutral density. You can change that domain into a Fourier domain by integrating the characteristic function instead. The same trick is used for stochastic volatility models.

Stock prices are often modelled in the form of exponential Lévy processes, so you set $S_t=S_0e^{X_t}$, where $X_t$ is a Lévy process and $S_0>0$. This ensures positivity. To obtain a martingale after discounting, you of course need to correct the drift. Here are some common exponential Lévy processes used in finance:

  • Geometric Brownian motion
  • Merton's (1976) jump diffusion model
  • Kou's (2002) jump diffusion model
  • Normal inverse Gaussian process from Barndorff-Nielsen (1997)
  • Meixner process from Schoutens and Teugels (1998)
  • Generalised hyperbolic model from Eberlein et al. (1998)
  • Variance gamma process from Carr and Madan (1998)
  • CGMY from Carr et al. (2002)
  • Finite moment log stable model from Carr and Wu (2003)

The first one is the only one with continuous sample paths. Number 2 and 3 are the only finite activity models with jumps in that list. For your thesis, I'd particularly look at Kou's model because it's super tractable and you can price many derivatives easily with it. On the infinite active side, I think VG and CGMY (its generalisation) are the most popular.

If you want a book on Lévy processes, I'd recommend ``Financial Modelling with Jump Processes'' from Cont and Tankov. It's extremely well written.

If you start with the pricing of European-style options, you won't need much programming. A function which outputs the characteristic function and a second function which performs numerical integration (that’s probably build in already). That's all you need. So, that shouldn't be the hardest part about your thesis:) Note that the characteristic functions are honestly quite simple. With respect to Fourier methods in option pricing, there are a couple of approaches

  • Carr and Madan (1999) introduce the fast Fourier transform
  • Bakshi and Madan (2000) give a general pricing formula in the `Black-Scholes' style
  • Lewis (2001) provides a general formula (nests the above approaches) using complex contour integration
  • Fang and Oosterlee (2009) introduce the COS method. That's one of the fastest (and easiest) approaches.

Because Lévy processes have independent increments, they cannot model volatility clusters! However, they can easily incorporate fat tails. Time-changed Lévy processes are not necessarily Lévy processes themselves and can incorporate stochastic volatility and asymmetry between volatility and return changes.

  • 1
    $\begingroup$ Great answer thank you! :) $\endgroup$
    – Mr.Price
    Commented May 13, 2020 at 10:56
  • 1
    $\begingroup$ @Micheal12 I, by the way, wrote my own MSc thesis on Lévy processes, good luck with yours! $\endgroup$
    – Kevin
    Commented May 13, 2020 at 11:02
  • $\begingroup$ This really is a nice summary. I never wrapped my head around habe cos method. The F/O paper is good, you say? $\endgroup$ Commented May 13, 2020 at 19:43
  • 2
    $\begingroup$ @Kermittfrog thank you! I like the paper from fang and Oosterlee. I think their approach is super easy to implement. It’s known to converge super quickly. And it’s actually easy to derive. It almost sounds to good to be true. If you have a particular question on the issue, you can always ask here :) P.S. the authors don’t pay me for the advertisement, I just like their idea ;) have a new look at their paper, it’s easy to read $\endgroup$
    – Kevin
    Commented May 13, 2020 at 20:44
  • $\begingroup$ Did read it. Will give it a try some time in the future. I am wondering whether this ‚trick‘ is applicable to other Integrals of the CF? E.g. for quantile estimation etc.? $\endgroup$ Commented May 15, 2020 at 21:07

Cant talk specifically to stock pricing models but in foreign exchange the list in order of use goes:

  • Geometric Brownian motion with time dependent vol and drift
  • Local Volatility, either SABR or some other parametric or cubic-spline+Dupire
  • Heston's stochastic volatility model
  • Stochastic-Local hybrid volatility models, usually some from of parametric local vol plus Heston.
  • Mixture models of all sorts
  • Everything else, Levy etc

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.