| Financial Derivatives Toolbox™ | ![]() |
Volspec = hjmvolspec(varargin)
The arguments to hjmvolspec vary according to the type and number of volatility factors specified when calling the function. Factors are specified by pairs of names and parameter sets. Factor names can be 'Constant', 'Stationary', 'Exponential', 'Vasicek', or 'Proportional'. The parameter set is specific for each of these factor types:
Constant volatility (Ho-Lee):
VolSpec = hjmvolspec('Constant', Sigma_0)
Stationary volatility:
VolSpec
= hjmvolspec('Stationary', CurveVol, CurveTerm)
Exponential volatility:
VolSpec = hjmvolspec('Exponential', Sigma_0, Lambda)
Vasicek, Hull-White:
VolSpec
= hjmvolspec('Vasicek', Sigma_0, CurveDecay, CurveTerm)
Nearly proportional stationary:
VolSpec = hjmvolspec('Proportional', CurveProp, CurveTerm, MaxSpot)
You can specify more than one factor by concatenating names and parameter sets.
The following table defines the various arguments to hjmvolspec.
Argument | Description |
|---|---|
Sigma_0 | Scalar base volatility over a unit time. |
Lambda | Scalar decay factor. |
CurveVol | Number of curves (NCURVES)-by1 vector of Vol values at sample points. |
CurveDecay | NCURVES-by-1 vector of Decay values at sample points. |
CurveProp | NCURVES-by-1 vector of Prop values at sample points. |
CurveTerm | NCURVES-by-1 vector of Term sample points. |
Volspec = hjmvolspec(varargin) computes VolSpec, a structure that specifies the volatility model for hjmtree.
hjmvolspec specifies an HJM forward-rate volatility process. Each factor is specified with one of the functional forms.
| Volatility Specification | Formula |
|---|---|
Constant | |
Stationary | |
Exponential | |
Vasicek, Hull-White | |
Proportional |
The volatility process is
, where
is the observation
time and
is the starting time of a forward
rate. In a stationary process, the volatility term is
. Multiple
factors can be specified sequentially.
The time values
,
, and Term are in coupon interval units specified by the Compounding input of hjmtimespec. For instance if Compounding = 2, Term = 1 is a semiannual period (six months).
Example 1. Volatility is single-factor proportional.
CurveProp = [0.11765; 0.08825; 0.06865];
CurveTerm = [1; 2; 3];
VolSpec = hjmvolspec('Proportional', CurveProp, CurveTerm, 1e6)
VolSpec =
FinObj: 'HJMVolSpec'
FactorModels: {'Proportional'}
FactorArgs: {{1x3 cell}}
SigmaShift: 0
NumFactors: 1
NumBranch: 2
PBranch: [0.5000 0.5000]
Fact2Branch: [-1 1]
Example 2. Volatility is two-factor exponential and constant.
VolSpec = hjmvolspec('Exponential', 0.1, 1, 'Constant', 0.2)
VolSpec =
FinObj: 'HJMVolSpec'
FactorModels: {'Exponential' 'Constant'}
FactorArgs: {{1x2 cell} {1x1 cell}}
SigmaShift: 0
NumFactors: 2
NumBranch: 3
PBranch: [0.2500 0.2500 0.5000]
Fact2Branch: [2x3 double]
![]() | hjmtree | hwprice | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |