European Binomial Option Pricing with Nonconstant Volatility

This Demonstration shows two approaches to using binomial option pricing for a European call option on an underlying asset with nonconstant volatility. The holder of the option has the right but not the obligation to purchase an asset at some fixed maturity date in the future for a price agreed upon today (known as the strike price ).
The binomial trees employ standard pricing techniques similar to those first set out in [1]. These trees split the time until maturity into time steps of size . At each time step, the value of the underlying asset goes up or down, which scales the value by and . This is carried out for all nodes (points in the tree) until the option expires. This process effectively simulates possible values of the underlying asset at time .
At maturity, the option can be exercised or not. The payoff of the option is calculated for each possible value of the underlying asset at time , , where is the value of the underlying asset at time . The value of the option is then calculated using backward induction. That is, for each node in the tree, the present value of the possible outcomes in the next step is taken. Let be the option value at node , where represents the total number of down moves that have occurred and is the total number of moves. So, is the value of the option one period before maturity if the underlying asset has only increased in value since the option contract was entered into. This is repeated to to get the price of the option at the inception of the contract (). is the risk-neutral probability of an up move; .
Typically is constant throughout the tree. The issue that arises when volatility of the underlying asset is not constant (as shown in the left-hand tree) is that the up and down moves also become nonconstant. This means the tree that represents the process of the underlying asset's value will not recombine. This results in possible outcomes at time as opposed to if the tree recombined. Although converges to the true price as , typically needs to be large to obtain good approximations. This makes valuation using a non-recombining tree impractical.
One solution to the issue created by nonconstant volatility in binomial option pricing is shown in the right-hand tree. Instead of having constant time steps and nonconstant up and down movements (), we configure nonconstant time steps so that the up and down movements become constant. This is a modified version of a model presented by Guthrie in [2], who builds it to represent a real options approach to investment decisions, where an investor receives signals of a project's true value prior to investment. These signals decrease in how much they reveal about a project's true value over time.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


In [2], Guthrie presents a real options model where an investor is deciding whether or not to invest in a project. At time the option to invest expires. The investor begins with some level of uncertainty of the project's true value . Each period the investor receives a signal and uses this signal to update their perception of the investment's true value from to ; is a constant that determines the amount of noise in each signal. High means each signal is noisy and the investor cannot update their perception very much ( and are inversely related). The initial uncertainty of the true value is , and after each signal this is also updated and decreased to to reflect that more information about the project has been revealed; is the volatility of the market (that will become the long-term volatility). The volatility at each time step for this learning process is
If we use this for constant-sized time steps (constant ), then we get the non-recombining case. This is because the noise term and the residual uncertainty make the volatility decrease over time. That is, early information is more revealing than later information about the project's true value. [2] presents an alternative approach where constant movements can be calculated by
subject to time steps calculated using
In order to apply this to an option on an asset, we can replace the initial uncertainty with a share price at the inception of the contract . We then specify as the long-term volatility of the asset and calculate short- and long-run volatility along with the time to half-life convergence of the two to calculate and as
These values can then be placed into the equations for , , and , and the models in the Demonstration can be built.
[1] J. Cox, S. Ross, M. Rubinstein, "Option Pricing: A Simplified Approach," Journal of Financial Economics, 7(3), 1979 pp. 229–263. doi:10.1016/0304-405X(79)90015-1.
[2] G. Guthrie, "Learning Options and Binomial Trees," Wilmott Journal: The International Journal of Innovative Quantitative Finance Research, 3(1), 2011 pp. 1–23. doi:10.1002/wilj.42.
[3] J. C. Hull, Options, Futures, and Other Derivatives, 8th ed., Boston: Prentice Hall, 2012.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+