Finance
GeometricBrownianMotion
create new Brownian motion process
Calling Sequence
Parameters
Options
Description
Examples
References
Compatibility
GeometricBrownianMotion(x0, mu, sigma, opts)
GeometricBrownianMotion(x0, mu, sigma, t, opts)
x0
-
real constant; initial value
mu
algebraic expression, operator or procedure; drift parameter
sigma
algebraic expression, operator, procedure or a one-dimensional stochastic process; volatility parameter
t
name; time parameter
opts
(optional) equation(s) of the form option = value where option is scheme; specify options for the GeometricBrownianMotion command
scheme = unbiased or Euler -- This option specifies which discretization scheme should be used for simulating this process.
The GeometricBrownianMotion command creates a new 1-dimensional geometric Brownian motion process. This is a stochastic process S⁡t, which is governed by the stochastic differential equation (SDE)
dS⁡tS⁡t=μ⁡t⁢dt+σ⁡t⁢dW⁡t
where
μ=μ⁡t is the drift parameter
σ=σ⁡t is the volatility parameter
and
W⁡t is the standard Wiener process.
The parameter x0 defines the initial value of the underlying stochastic process. It must be a real constant.
The parameter mu is the drift. In the simplest case of a constant drift mu is a real number (that is, any expression of type realcons). Time-dependent drift can be given either as an algebraic expression or as a Maple procedure. If mu is given as an algebraic expression, then the parameter t must be passed to specify which variable in mu should be used as a time variable. A Maple procedure defining a time-dependent drift must accept one parameter (the time) and return the corresponding value for the drift.
The parameter sigma is the volatility. Similar to the drift parameter, the volatility can be constant or time-dependent. Unlike drift, volatility can involve other (one-dimensional) stochastic variables.
The scheme option specifies the discretization scheme used for simulation of this process. By default the standard Euler scheme is used. When scheme is set to unbiased the transition density will be used to simulate a value S⁡t+dt given S⁡t. This scheme is appropriate in the case of a time-dependent drift and/or volatility.
with⁡Finance:
T≔2.0
First consider the case of a one-dimensional Brownian motion with constant drift and volatility.
X≔GeometricBrownianMotion⁡1.0,0.02,0.3:
PathPlot⁡X⁡t,t=0..T,timesteps=100,replications=10,axes=BOXED,gridlines=true
Compute the drift and diffusion for functions of X.
W≔GeometricBrownianMotion⁡1,μ⁡t,σ⁡t,t:
Drift⁡W⁡u
μ⁡t⁢_X1⁡u
Diffusion⁡W⁡u
σ⁡t⁢_X1⁡u
Drift⁡ln⁡W⁡u
μ⁡t−σ⁡t22
Here is an example of a one-dimensional Brownian motion with time-dependent parameters given in algebraic form.
μ≔piecewise⁡t<1,0.02,0.02t
μ≔0.02t<10.02totherwise
σ≔evalf3⁡CurveFitting:-Spline⁡0,0.5,1,0.3,1.5,1.5,2,1.0,t,degree=3
σ≔0.500−1.40⁢t+1.20⁢t3t<1.−1.90+2.20⁢t+3.60⁢t−1.2−6.40⁢t−1.3t<1.51.00⁢t−6.00⁢t−1.52+4.00⁢t−1.53otherwise
Y≔GeometricBrownianMotion⁡1.0,μ,σ,t:
S≔SamplePath⁡Y⁡t,t=0..T,replications=106:
Here is the same example but with drift and volatility given in the form of Maple procedures.
μ≔unapply⁡μ,t
μ≔t↦0.02t<10.02totherwise
σ≔unapply⁡σ,t
σ≔t↦0.500−1.40⋅t+1.20⋅t3t<1.−1.90+2.20⋅t+3.60⋅t−1.2−6.40⋅t−1.3t<1.51.00⋅t−6.00⋅t−1.52+4.00⋅t−1.53otherwise
Z≔GeometricBrownianMotion⁡1.0,μ,σ:
S≔SamplePath⁡Z⁡t,t=0..T,replications=106:
You can simulate values for any path function given as a Maple procedure.
X≔GeometricBrownianMotion⁡1.0,0.05,0.3:
V≔SampleValues⁡A↦rtable_scanblock⁡A,rtable_dims⁡A,:−Maximum,X,0..T,timesteps=100,replications=105:
Here are examples involving stochastic volatility.
R≔OrnsteinUhlenbeckProcess⁡0.5,1.0,0.5,0.3:
Y≔GeometricBrownianMotion⁡1.0,0.,R⁡t2,t:
PathPlot⁡Y⁡t,t=0..3,timesteps=100,replications=10,axes=BOXED,gridlines=true
Here is the same using different discretization schemes. For presentation purposes consider a geometric Brownian motion with very low volatility and time-dependent drift. Compare the simulated results with the corresponding solution of an ordinary (non-stochastic) differential equation.
f≔sin⁡t
W1≔GeometricBrownianMotion⁡1.0,f,0.001,t:
W2≔GeometricBrownianMotion⁡1.0,f,0.001,t,scheme=unbiased:
W3≔eval⁡y⁡t,dsolve⁡diff⁡y⁡t,ty⁡t=sin⁡t,y⁡0=1.0
W3≔ⅇ⁢ⅇ−cos⁡t
plotsdisplay⁡plot⁡W3,t=0..3,PathPlot⁡W1⁡t,t=0..3,timesteps=10,replications=10,thickness=3,axes=BOXED,gridlines=true
plotsdisplay⁡plot⁡W3,t=0..3,PathPlot⁡W2⁡t,t=0..3,timesteps=10,replications=10,thickness=3,axes=BOXED,gridlines=true
Glasserman, P., Monte Carlo Methods in Financial Engineering. New York: Springer-Verlag, 2004.
Hull, J., Options, Futures, and Other Derivatives, 5th. edition. Upper Saddle River, New Jersey: Prentice Hall, 2003.
The Finance[GeometricBrownianMotion] command was introduced in Maple 15.
For more information on Maple 15 changes, see Updates in Maple 15.
See Also
Finance[BlackScholesProcess]
Finance[BrownianMotion]
Finance[CEVProcess]
Finance[Diffusion]
Finance[Drift]
Finance[ExpectedValue]
Finance[ItoProcess]
Finance[SamplePath]
Finance[SampleValues]
Finance[StochasticProcesses]
Finance[WienerProcess]
Download Help Document