Main Content

hjmvolspec

Specify Heath-Jarrow-Morton interest-rate volatility process

Description

VolSpec = hjmvolspec(Factor,Sigma_0) creates a Constant volatility (Ho-Lee) structure for hjmtree by specifying the Factor as 'Constant'.

example

VolSpec = hjmvolspec(Factor,CurveVol,CurveTerm) creates a Stationary volatility structure for hjmtree by specifying the Factor as 'Stationary'.

example

VolSpec = hjmvolspec(Factor,Sigma_0,Lambda) creates an Exponential volatility structure for hjmtree by specifying the Factor as 'Exponential'.

example

VolSpec = hjmvolspec(Factor,Sigma_0,CurveDecay,CurveTerm) creates a Vasicek, Hull-White volatility structure for hjmtree by specifying the Factor as 'Vasicek'.

example

VolSpec = hjmvolspec(Factor,CurveProp,CurveTerm,MaxSpot) creates a Nearly proportional stationary volatility structure for hjmtree by specifying the Factor as 'Proportional'.

example

Examples

collapse all

This example shows how to compute the VolSpec structure to specify the volatility model for hjmtree when volatility is single-factor proportional.

CurveProp = [0.11765; 0.08825; 0.06865];
CurveTerm = [1; 2; 3];
VolSpec = hjmvolspec('Proportional', CurveProp, CurveTerm, 1e6)
VolSpec = struct with fields:
          FinObj: 'HJMVolSpec'
    FactorModels: {'Proportional'}
      FactorArgs: {{1×3 cell}}
      SigmaShift: 0
      NumFactors: 1
       NumBranch: 2
         PBranch: [0.5000 0.5000]
     Fact2Branch: [-1 1]

This example shows how to compute the VolSpec structure to specify the volatility model for hjmtree when volatility is two-factor exponential and constant.

VolSpec = hjmvolspec('Exponential', 0.1, 1, 'Constant', 0.2)
VolSpec = struct with fields:
          FinObj: 'HJMVolSpec'
    FactorModels: {'Exponential'  'Constant'}
      FactorArgs: {{1×2 cell}  {1×1 cell}}
      SigmaShift: 0
      NumFactors: 2
       NumBranch: 3
         PBranch: [0.2500 0.2500 0.5000]
     Fact2Branch: [2×3 double]

Input Arguments

collapse all

Volatility factor, specified as a character vector with one of the following values:

  • 'Constant'

    σ(t,T) = Sigma_0

  • 'Stationary'

    σ(t,T) = Vol(T- t) = Vol(Term)

  • 'Exponential'

    σ(t,T) = Sigma_0*exp(-Lambda*(T-t))

  • 'Vasicek'

    σ(t,T) = Sigma_0*exp(-Decay(T-t))

  • 'Proportional'

    σ(t,T) = Prop(T-t)*max(SpotRate(t),MaxSpot)

Note

You can specify more than one Factor by concatenating Factor names and their associated parameters.

Data Types: char

Base volatility over a unit, specified as a scalar numeric value.

Data Types: double

Decay factor, specified as a scalar numeric value.

Data Types: double

Number of curve Vol values at sample points, specified as a NCURVES-by1 vector.

Data Types: double

Number of curve Term values at sample points, specified as a NCURVES-by-1 vector.

Data Types: double

Number of curve Decay values at sample points, specified as a NPOINTS-by-1 vector.

Data Types: double

Number of curve Prop values at sample points, specified as a NCURVES-by-1 vector.

Data Types: double

Maximum spot rate, specified as a scalar numeric value.

Data Types: double

Output Arguments

collapse all

Structure specifying the volatility model for bktree. hjmvolspec defines an HJM forward-rate volatility process based on the specified input Factor.

More About

collapse all

Version History

Introduced before R2006a