# rvm

## Description

Creates and displays an `rvm`

object.

RVM (rough volatility model) objects are bivariate composite models, composed of two coupled and dissimilar univariate models that approximate continuous-time, rough stochastic volatility processes. The first univariate model is a geometric Brownian motion (GBM) model with a stochastic volatility function. This model usually corresponds to a price process whose variance rate is governed by the second univariate model. The second univariate model includes a Brownian semistationary process (BSS) without drift that describes the evolution of the variance rate that models the log volatility of the coupled GBM price process.

## Creation

### Description

creates a default `RVM`

= rvm(`Return`

,`Volatility`

,`Alpha`

,`Beta`

)`RVM`

object with Properties for these required arguments.

Specify the required input parameters as one of the following types:

A MATLAB

^{®}array. Specifying an array indicates a static (non-time-varying) parametric specification. This array fully captures all implementation details, which are clearly associated with a parametric form.A MATLAB function. Specifying a function provides indirect support for virtually any static, dynamic, linear, or nonlinear model. This parameter is supported via an interface because all implementation details are hidden and fully encapsulated by the function.

**Note**

You can specify combinations of array and function input parameters as needed.

Moreover, a parameter is identified as a deterministic function
of time if the function accepts a scalar time `t`

as its only input argument. Otherwise, a parameter is assumed to be
a function of time *t* and state
*X(t)* and is invoked with both input
arguments.

creates an `RVM`

= rvm(___,`Name=Value`

)`RVM`

object with additional options specified
by one or more name-value arguments to set the Properties.

### Input Arguments

## Properties

## Object Functions

`simByEuler` | Simulate `RVM` , `roughbergomi` , or
`roughheston` sample paths by Euler approximation |

`simByHybrid` | Simulate `RVM` or `roughbergomi` sample paths
by hybrid approximation |

## Examples

## More About

## Algorithms

The rough volatility model (RVM) model allows you to simulate any vector-valued RVM of the form:

$$\begin{array}{l}d{X}_{1t}=B(t){X}_{1t}dt+{X}_{2t}{X}_{1t}d{W}_{1t}\\ {X}_{2t}=\xi {e}^{{Y}_{t}}\\ {Y}_{t}={\displaystyle {\int}_{-\infty}^{t}g(t-s){\nu}_{s}d{W}_{s}}\end{array}$$

The first equation is a geometric Brownian motion model with a stochastic volatility function.

The second equation is the process describing the evolution of the volatility rate of
the coupled GBM process, where
*Y*_{t} is a Brownian
semistationary process.

*g*(*t*) is called a kernel function, which has the
following properties:

For some $$\alpha \in (-\frac{1}{2},\frac{1}{2})\text{}\left\{0\right\},x\in (0,1)$$ and

*L*_{0}, there is a continuously differentiable, bounded away from zero, slowly varying function at zero: $$g(x)={x}^{\alpha}{L}_{0}(x)$$, where ɑ =*H*-1/2 and*H*is a Hurst exponent.The function

*g*(*x*) is a continuously differentiable function with the derivative*g'*that is ultimately monotonic and satisfies $${\int}_{1}^{\infty}{g}^{\prime}{(x)}^{2}dx<\infty$$.The kernel function is for some λ ≥ 0 and

*γ*, such that*γ*> 1/2 when λ=0: $$g(x)={e}^{-\lambda x}{x}^{-\gamma}{L}_{1}(x)$$.

The Brownian semistationary process
(*Y*_{t} in the general
rough volatility model) is a two-sided Brownian motion (*W*) providing
the fundamental noise innovations, with an amplitude that is modulated by a stochastic
volatility process depending on *W*. This driving noise is then
convolved with a deterministic kernel function *g* that specifies the
dependence structure of *Y*_{t}.
The process *Y*_{t} is also
viewed as a moving average of volatility modulated Brownian noise. When you set the
volatility of volatility = `1`

, the stationary Brownian moving averages
are nested in this class of processes.

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

## See Also

`simByEuler`

| `simByHybrid`

| `nearcorr`

### Topics

- Creating Constant Elasticity of Variance (CEV) Models
- Implementing Multidimensional Equity Market Models, Implementation 3: Using SDELD, CEV, and GBM Objects
- 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