Black-Scholes Model
? Maplesoft, a division of Waterloo Maple Inc., 2008
Model Overview
Analytic Solution
Monte Carlo Simulation
Differential Equations
|
|
In this application, we compute the option price using three different methods. The first method is to derive the analytical solution to the option price based on the classical Black-Scholes model. Next, we compute the option price through Monte Carlo simulation based on the Black-Scholes model for stock price estimation. Finally, we use the Black-Scholes differential equation model to estimate the option price.
|
Overview of the Model
We consider the classical Black-Scholes model with single risky asset that follows a geometric Brownian motion

where (
) is a standard Brownian motion,
is the constant volatility,
is the constant risk-free rate and
is the initial asset price. Under these conditions, for any
the stock price
is given by the following formula.
We consider a security with time to maturity
and the payoff function.
Payoff of the form
corresponds to a digital call options with strike price,
.
We will consider several methods for computing the price of this security.
Parameters
Analytic Solution
can be represented in the form
![`*`(S[0], `*`(_R))](/view.aspx?SI=1464/BlackScholesModel_30.gif) |
(2.1) |
where
is a lognormal random variable with parameters
and
.
The price of this option can be computed as the discounted expected payoff of the option
![piecewise(`<`(K, `*`(S[0], `*`(_R))), 1, `<=`(`*`(S[0], `*`(_R)), K), 0)](/view.aspx?SI=1464/BlackScholesModel_36.gif) |
(2.2) |
![`*`(exp(`+`(`-`(`*`(r, `*`(T))))), `*`(`+`(`*`(`/`(1, 2), `*`(erf(`+`(`/`(`*`(`/`(1, 4), `*`(`^`(2, `/`(1, 2)), `*`(`+`(`-`(`*`(2, `*`(ln(K)))), `*`(2, `*`(ln(S[0]))), `*`(2, `*`(r, `*`(T))), `-`(`*`(...](/view.aspx?SI=1464/BlackScholesModel_39.gif) |
(2.3) |
Analytic Price
We can use the analytic result to study the various market sensitivities. For example, we can symbolically compute the delta of our option.
![`+`(`/`(`*`(`/`(1, 2), `*`(exp(`+`(`-`(`*`(r, `*`(T))))), `*`(exp(`+`(`-`(`/`(`*`(`/`(1, 8), `*`(`^`(`+`(`-`(`*`(2, `*`(ln(K)))), `*`(2, `*`(ln(S[0]))), `*`(2, `*`(r, `*`(T))), `-`(`*`(`^`(sigma, 2), ...](/view.aspx?SI=1464/BlackScholesModel_43.gif) |
(2.4) |
Here is a formula for the Gamma.
![`+`(`-`(`/`(`*`(`/`(1, 4), `*`(exp(`+`(`-`(`*`(r, `*`(T))))), `*`(exp(`+`(`-`(`/`(`*`(`/`(1, 8), `*`(`^`(`+`(`-`(`*`(2, `*`(ln(K)))), `*`(2, `*`(ln(S[0]))), `*`(2, `*`(r, `*`(T))), `-`(`*`(`^`(sigma, ...](/view.aspx?SI=1464/BlackScholesModel_45.gif) |
(2.5) |
We can also use the symbolic formula to plot the option price as a function of the parameters.
Monte Carlo Simulation
Alternatively, we can estimate the expectation using Monte Carlo simulation to compute the option price. The discrete-time version of the model is
where
, and
is drawn from the lognormal distribution with parameters
and
. We can use this expression to generate a sample path for the price of our risky asset.
Simulating Stock Prices
|

|
*please be patient, it may take a few seconds to generate a sample
|
Number of Replications
|
|
Number of Updates
|
|
|
|
|
Note: We know the distribution of the final stock price. To compute the option price, we need only to simulate the final stock price, and not the whole stock path.
We can verify the above analytic result using Monte Carlo simulation.
Monte Carlo Simulation
Number of Replications
|
Option Price
|
|
|
Standard Error
|
|
|
|
Differential Equations
Finally, we can use the Black-Scholes differential equations to compute the option price.
 |
(4.1) |
The key boundary condition is:
 |
(4.2) |
Another obvious condition:
 |
(4.3) |
Finally, if
for some
, then it holds with a high probability that
. Our option will thus be exercised and produce cash flow
 |
(4.4) |
Numeric PDE Solver
Space Step
|
Time Step
|
|
|
|
Option Price
|