Euler simulation of stochastic differential equations (SDEs)
[Paths, Times, Z] = simByEuler(MDL, NPERIODS)
[Paths, Times, Z] = simByEuler(MDL, NPERIODS, 'Name1',
Value1, 'Name2', Value2, ...)
All classes in the SDE Class Hierarchy.
This method simulates any vector-valued SDE of the form
X is an NVARS-by-
vector of process variables (for example, short rates or equity prices)
W is an NBROWNS-by-
F is an NVARS-by-
G is an NVARS-by-NBROWNS matrix-valued diffusion-rate function.
NVARS correlated state variables driven
NBROWNS Brownian motion sources of risk over
observation periods, using the Euler approach to approximate continuous-time
|Stochastic differential equation object created with the |
|Positive scalar integer number of simulation periods. The value
Specify optional inputs as matching parameter name/value pairs as follows:
Specify the parameter name as a character vector, followed by its corresponding value.
You can specify parameter name/value pairs in any order.
Parameter names are case insensitive.
You can specify unambiguous partial character vector matches.
Valid parameter names are:
|Positive scalar integer number of simulated trials (sample
paths) of |
|Scalar or |
Positive scalar integer number of intermediate time steps
within each time increment dt (specified as
you do not specify a value for
Scalar logical flag that indicates whether
If you specify
Direct specification of the dependent random noise process
used to generate the Brownian motion vector (Wiener process) that
drives the simulation. Specify this argument as a function, or as
If you do not specify a value for
Scalar logical flag that indicates how the output array
Function or cell array of functions that indicates a sequence of end-of-period processes or state vector adjustments of the form
you specify more than one processing function,
you do not specify a processing function,
This simulation engine provides a discrete-time approximation
of the underlying generalized continuous-time process. The simulation
is derived directly from the stochastic differential equation of
motion. Thus, the discrete-time process approaches the true continuous-time
process only as
DeltaTime approaches zero.
The input argument
Z allows you
to directly specify the noise-generation process. This process takes
precedence over the
Correlation parameter of the
sde object and
the value of the
Antithetic input flag. If you
do not specify a value for
correlated Gaussian variates, with or without antithetic sampling
allows you to terminate a given trial early. At the end of each time
simByEuler tests the state vector Xt for
NaN condition. Thus, to signal an early
termination of a given trial, all elements of the state vector Xt must
NaN. This test enables a user-defined
to signal early termination of a trial, and offers significant performance
benefits in some situations (for example, pricing down-and-out barrier
Ait-Sahalia, Y. “Testing Continuous-Time Models of the Spot Interest Rate.” The Review of Financial Studies, Spring 1996, Vol. 9, No. 2, pp. 385–426.
Ait-Sahalia, Y. “Transition Densities for Interest Rate and Other Nonlinear Diffusions.” The Journal of Finance, Vol. 54, No. 4, August 1999.
Glasserman, P. Monte Carlo Methods in Financial Engineering. New York, Springer-Verlag, 2004.
Hull, J. C. Options, Futures, and Other Derivatives, 5th ed. Englewood Cliffs, NJ: Prentice Hall, 2002.
Johnson, N. L., S. Kotz, and N. Balakrishnan. Continuous Univariate Distributions. Vol. 2, 2nd ed. New York, John Wiley & Sons, 1995.
Shreve, S. E. Stochastic Calculus for Finance II: Continuous-Time Models. New York: Springer-Verlag, 2004.