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 the- Correlationparameter of the- sdeobject and the value of the- Antitheticinput flag. If you do not specify a value for- Z,- 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 be- NaN. This test enables a user-defined- Processesfunction 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