Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

LinearGaussian2F

Create two-factor additive Gaussian interest-rate model

Description

The two-factor additive Gaussian interest rate-model is specified using the zero curve, a, b, sigma, eta, and rho parameters.

Specifically, the LinearGaussian2F model is defined using the following equations:

r(t)=x(t)+y(t)+ϕ(t)

dx(t)=a(t)x(t)dt+σ(t)dW1(t),x(0)=0

dy(t)=b(t)y(t)dt+η(t)dW2(t),y(0)=0

where dW1(t)dW2(t)=ρdt is a two-dimensional Brownian motion with correlation ρ, and ϕ is a function chosen to match the initial zero curve.

Creation

Syntax

G2PP = LinearGaussian2F(ZeroCurve,a,b,sigma,eta,rho)

Description

example

G2PP = LinearGaussian2F(ZeroCurve,a,b,sigma,eta,rho) creates a LinearGaussian2F (G2PP) object using the required arguments to set the Properties.

Properties

expand all

Zero curve, specified as an output from IRDataCurve or a RateSpec that is obtained from intenvset. This is the zero curve used to evolve the path of future interest rates.

Data Types: object | struct

Mean reversion for the first factor, specified either as a scalar or function handle which takes time as input and returns a scalar mean reversion value.

Data Types: double

Mean reversion for the second factor, specified either as a scalar or as a function handle which takes time as input and returns a scalar mean reversion value.

Data Types: double

Volatility for the first factor, specified either as a scalar or function handle which takes time as input and returns a scalar mean volatility.

Data Types: double

Volatility for the second factor, specified either as a scalar or function handle which takes time as input and returns a scalar mean volatility.

Data Types: double

Scalar correlation of the factors, specified as a numeric value.

Data Types: double

Object Functions

simTermStructsSimulate term structures for two-factor additive Gaussian interest-rate model

Examples

expand all

Create a two-factor additive Gaussian interest-rate model using an IRdataCurve.

Settle = datenum('15-Dec-2007');
CurveTimes = [1:5 7 10 20]';
ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]';
CurveDates = daysadd(Settle,360*CurveTimes,1);
 
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
    
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
 
G2PP = LinearGaussian2F(irdc,a,b,sigma,eta,rho)
G2PP = 
  LinearGaussian2F with properties:

    ZeroCurve: [1x1 IRDataCurve]
            a: @(t,V)ina
            b: @(t,V)inb
        sigma: @(t,V)insigma
          eta: @(t,V)ineta
          rho: -0.7000

Use the simTermStructs method to simulate term structures based on the LinearGaussian2F model.

 SimPaths = simTermStructs(G2PP, 10,'nTrials',100);

Create a two-factor additive Gaussian interest-rate model using a RateSpec.

Settle = datenum('15-Dec-2007');
CurveTimes = [1:5 7 10 20]';
ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]';
CurveDates = daysadd(Settle,360*CurveTimes,1);
 
RateSpec = intenvset('Rates',ZeroRates,'EndDates',CurveDates,'StartDate',Settle);
    
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
 
G2PP = LinearGaussian2F(RateSpec,a,b,sigma,eta,rho)
G2PP = 
  LinearGaussian2F with properties:

    ZeroCurve: [1x1 IRDataCurve]
            a: @(t,V)ina
            b: @(t,V)inb
        sigma: @(t,V)insigma
          eta: @(t,V)ineta
          rho: -0.7000

Use the simTermStructs method to simulate term structures based on the LinearGaussian2F model.

 SimPaths = simTermStructs(G2PP, 10,'nTrials',100);

Definitions

expand all

References

[1] Brigo, D. and F. Mercurio. Interest Rate Models - Theory and Practice. Springer Finance, 2006.

Introduced in R2013a

Was this topic helpful?