Base SDE Models

Overview

The base SDE class:

dXt=F(t,Xt)dt+G(t,Xt)dWt

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:

dXt=0.1Xtdt+0.3XtdWt

  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.

Was this topic helpful?