# Documentation

## Base SDE Models

### Overview

The base `SDE` class:

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

represents the most general model.

 Tip   The `SDE` class is not an abstract class. You can instantiate `SDE` objects directly to extend the set of core models.

Constructing an `SDE` object requires the following inputs:

• A drift-rate function `F`. This function returns an `NVARS`-by-1 drift-rate vector when run with the following inputs:

• A real-valued scalar observation time t.

• An `NVARS`-by-1 state vector Xt.

• A diffusion-rate function `G`. This function returns an `NVARS`-by-`NBROWNS` diffusion-rate matrix when run with the inputs t and Xt.

Evaluating object parameters by passing (t, Xt) to a common, published interface allows most parameters to be referenced by a common input argument list that reinforces common method programming. You can use this simple function evaluation approach to model or construct powerful analytics, as in the following example.

### Example: Base SDE Models

Construct an `SDE` object `obj` to represent a univariate geometric Brownian Motion model of the form:

$d{X}_{t}=0.1{X}_{t}dt+0.3{X}_{t}d{W}_{t}$

1. Create drift and diffusion functions that are accessible by the common (t,Xt) interface:

```F = @(t,X) 0.1 * X; G = @(t,X) 0.3 * X; ```
2. Pass the functions to the `SDE` constructor to create an object `obj` of class `SDE`:

```obj = sde(F, G) % dX = F(t,X)dt + G(t,X)dW ```
```obj = Class SDE: Stochastic Differential Equation ------------------------------------------- Dimensions: State = 1, Brownian = 1 ------------------------------------------- StartTime: 0 StartState: 1 Correlation: 1 Drift: drift rate function F(t,X(t)) Diffusion: diffusion rate function G(t,X(t)) Simulation: simulation method/function simByEuler ```

`obj` displays like a MATLAB® structure, with the following information:

• The object's class

• A brief description of the object

• A summary of the dimensionality of the model

The object's displayed parameters are as follows:

• `StartTime`: The initial observation time (real-valued scalar)

• `StartState`: The initial state vector (`NVARS`-by-1 column vector)

• `Correlation`: The correlation structure between Brownian process

• `Drift`: The drift-rate function F(t,Xt)

• `Diffusion`: The diffusion-rate function G(t,Xt)

• `Simulation`: The simulation method or function.

Of these displayed parameters, only `Drift` and `Diffusion` are required inputs.

The only exception to the (t, Xt) evaluation interface is `Correlation`. Specifically, when you enter `Correlation` as a function, the SDE engine assumes that it is a deterministic function of time, C(t). This restriction on `Correlation` as a deterministic function of time allows Cholesky factors to be computed and stored before the formal simulation. This inconsistency dramatically improves run time performance for dynamic correlation structures. If `Correlation` is stochastic, you can also include it within the simulation architecture as part of a more general random number generation function.

Get trial now