Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Euler simulation of stochastic differential equations (SDEs)

`[Paths,Times,Z] = simByEuler(MDL,NPeriods)`

`[Paths,Times,Z] = simByEuler(___,Name,Value)`

`[`

specifies options using one or more name-value pair arguments in addition to the
input arguments in the previous syntax.`Paths`

,`Times`

,`Z`

] = simByEuler(___,`Name,Value`

)

This function simulates any vector-valued SDE of the form

$$d{X}_{t}=F(t,{X}_{t})dt+G(t,{X}_{t})d{W}_{t}$$

where:

*X*is an*NVARS*-by-`1`

state vector of process variables (for example, short rates or equity prices) to simulate.*W*is an*NBROWNS*-by-`1`

Brownian motion vector.*F*is an*NVARS*-by-`1`

vector-valued drift-rate function.*G*is an*NVARS*-by-*NBROWNS*matrix-valued diffusion-rate function.

`simByEuler`

simulates `NTRIALS`

sample
paths of `NVARS`

correlated state variables driven by
`NBROWNS`

Brownian motion sources of risk over
`NPERIODS`

consecutive observation periods, using the Euler
approach to approximate continuous-time stochastic processes.

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`Z`

,`simByEuler`

generates correlated Gaussian variates, with or without antithetic sampling as requested.The end-of-period

`Processes`

argument allows you to terminate a given trial early. At the end of each time step,`simByEuler`

tests the state vector*X*for an all-_{t}`NaN`

condition. Thus, to signal an early termination of a given trial, all elements of the state vector*X*must be_{t}`NaN`

. This test enables a user-defined`Processes`

function to signal early termination of a trial, and offers significant performance benefits in some situations (for example, pricing down-and-out barrier options).

[1] Deelstra, G. and F. Delbaen. “Convergence of discretized stochastic
(interest rate) processes with stochastic drift term.” *Applied
Stochastic Models and Data Analysis.*, 1998, Vol. 14, Number 1, pp.
77–84.

[2] Higham, D. and X. Mao. “Convergence of Monte Carlo simulations involving
the mean-reverting square root process.” *Journal of Computational
Finance.*, 2005, Vol. 8, Number 3, pp. 35–61.

[3] Lord, R., R. Koekkoek, and D. Van Dijk. “A comparison of biased
simulation schemes for stochastic volatility models.” *Quantitative
Finance.*, 2010, Vol. 10, Number 2, pp. 177–194.

` | `

`bm`

| `cev`

| `cir`

| `gbm`

| `heston`

| `hwv`

| `sde`

| `sdeddo`

| `sdeld`

| `sdemrd`

| `simBySolution`

| `simByTransition`

| `simulate`

- Implementing Multidimensional Equity Market Models, Implementation 5: Using the simByEuler Method
- Simulating Equity Prices
- Simulating Interest Rates
- Stratified Sampling
- Pricing American Basket Options by Monte Carlo Simulation
- Base SDE Models
- Drift and Diffusion Models
- Linear Drift Models
- Parametric Models
- SDEs
- SDE Models
- SDE Class Hierarchy
- Performance Considerations