simByEuler
Simulate RVM, roughbergomi, or
roughheston sample paths by Euler approximation
Since R2023b
Description
[
simulates Paths,Times,Z] = simByEuler(MDL,NPeriods)NTrials sample paths of NVars
correlated state variables driven by NBrowns Brownian motion
sources of risk over NPeriods consecutive observation periods.
simByEuler uses a rvm, roughbergomi, or roughheston object to
simulate a rough volatility model with a Brownian semistationary process (BSS)
without drift.
[
specifies options using one or more name-value arguments in addition to the input
arguments in the previous syntax.Paths,Times,Z] = simByEuler(___,Name=Value)
You can perform quasi-Monte Carlo simulations using the name-value arguments for
MonteCarloMethod, QuasiSequence, and
BrownianMotionMethod. For more information, see Quasi-Monte Carlo Simulation.
Examples
Input Arguments
Name-Value Arguments
Output Arguments
More About
Algorithms
This function simulates any vector-valued SDE of the form
where:
X is an NVars-by-
1state vector of process variables (for example, short rates or equity prices) to simulate.W is an NBrowns-by-
1Brownian motion vector.F is an NVars-by-
1vector-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
DeltaTimeapproaches zero.The input argument
Zallows you to directly specify the noise-generation process. This process takes precedence over theCorrelationparameter of thesdeobject and the value of theAntitheticinput flag. If you do not specify a value forZ,simByEulergenerates correlated Gaussian variates, with or without antithetic sampling as requested.The end-of-period
Processesargument allows you to terminate a given trial early. At the end of each time step,simByEulertests the state vector Xt for an all-NaNcondition. Thus, to signal an early termination of a given trial, all elements of the state vector Xt must beNaN. This test enables a user-definedProcessesfunction to signal early termination of a trial, and offers significant performance benefits in some situations (for example, pricing down-and-out barrier options).
References
[1] Barndorff-Nielsen, O.E. and Schmiegel, J. “Brownian Semistationary Processes and Volatility/Intermittency.” Advanced Financial Modeling, Walter de Gruyter, Germany, 2009, pp. 1–26.
Version History
Introduced in R2023bSee Also
simByHybrid | rvm | roughbergomi | roughheston
Topics
- Implementing Multidimensional Equity Market Models, Implementation 5: Using the simByEuler Method
- Simulating Equity Prices
- Simulating Interest Rates
- Stratified Sampling
- Price American Basket Options Using Standard Monte Carlo and Quasi-Monte Carlo Simulation
- Base SDE Models
- Drift and Diffusion Models
- Linear Drift Models
- Parametric Models
- SDEs
- SDE Models
- SDE Class Hierarchy
- Quasi-Monte Carlo Simulation
- Performance Considerations