# simByHybrid

## Description

`[`

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

,`Times`

,`Z`

] = simByHybrid(___,`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

## Output Arguments

## More About

## Algorithms

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.

`simByHybrid`

simulates `NTrials`

sample paths of `NVars`

correlated state variables driven by
`NBrowns`

Brownian motion sources of risk over
`NPeriods`

consecutive observation periods, using the hybrid method
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`rvm`

or`roughbergomi`

object and the value of the`Antithetic`

input flag and the`QuasiMonteCarlo`

argument. If you do not specify a value for`Z`

,`simByHybrid`

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,`simByHybrid`

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).

## References

[1] Bennedsen, M., A. Lunde and
M.S. Pakkanen. “Hybrid Scheme for Brownian Semistationary.”
*Finance and Stochastics*, 2017, Vol. 21, No. 4, pp.
931–965.

## Version History

**Introduced in R2023b**

## See Also

`rvm`

| `simByEuler`

| `roughbergomi`

### 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