# Documentation

### This is machine translation

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

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

# swaptionbylg2f

Price European swaption using Linear Gaussian two-factor model

## Syntax

``Price = swaptionbylg2f(ZeroCurve,a,b,sigma,eta,rho,Strike,ExerciseDate,Maturity)``
``Price = swaptionbylg2f(___,Name,Value)``

## Description

example

````Price = swaptionbylg2f(ZeroCurve,a,b,sigma,eta,rho,Strike,ExerciseDate,Maturity)` returns the European swaption price for a two-factor additive Gaussian interest-rate model.```

example

````Price = swaptionbylg2f(___,Name,Value)` adds optional name-value pair arguments.```

## Examples

collapse all

Define the `ZeroCurve`, `a`, `b`, `sigma`, `eta`, and `rho` parameters to compute the price of the swaption.

```Settle = datenum('15-Dec-2007'); ZeroTimes = [3/12 6/12 1 5 7 10 20 30]'; ZeroRates = [0.033 0.034 0.035 0.040 0.042 0.044 0.048 0.0475]'; CurveDates = daysadd(Settle,360*ZeroTimes,1); irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates); a = .07; b = .5; sigma = .01; eta = .006; rho = -.7; Reset = 1; ExerciseDate = daysadd(Settle,360*5,1); Maturity = daysadd(ExerciseDate,360*[3;4],1); Strike = .05; Price = swaptionbylg2f(irdc,a,b,sigma,eta,rho,Strike,ExerciseDate,Maturity,'Reset',Reset)```
```Price = 2×1 1.1870 1.5633 ```

## Input Arguments

collapse all

Zero-curve for the Linear Gaussian two-factor model, specified using `IRDataCurve` or `RateSpec`.

Data Types: `struct`

Mean reversion for first factor for the Linear Gaussian two-factor model, specified as a scalar.

Data Types: `single` | `double`

Mean reversion for second factor for the Linear Gaussian two-factor model, specified as a scalar.

Data Types: `single` | `double`

Volatility for first factor for the Linear Gaussian two-factor model, specified as a scalar.

Data Types: `single` | `double`

Volatility for second factor for the Linear Gaussian two-factor model, specified as a scalar.

Data Types: `single` | `double`

Scalar correlation of the factors, specified as a scalar.

Data Types: `single` | `double`

Swaption strike price, specified as a nonnegative integer using a `NumSwaptions`-by-`1` vector.

Data Types: `single` | `double`

Swaption exercise dates, specified as a `NumSwaptions`-by-`1` vector of serial date numbers or date character vectors.

Data Types: `single` | `double` | `char` | `cell`

Underlying swap maturity date, specified using a `NumSwaptions`-by-`1` vector of serial date numbers or date character vectors.

Data Types: `single` | `double` | `char` | `cell`

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside single quotes (`' '`). You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

Example: ```Price = swaptionbylg2f(irdc,a,b,sigma,eta,rho,Strike,ExerciseDate,Maturity,'Reset',1,'Notional',100,'OptSpec','call')```

collapse all

Frequency of swaption payments per year, specified as the comma-separated pair consisting of `'Reset'` and positive integers for the values `1,2,4,6,12` in a `NumSwaptions`-by-`1` vector.

Data Types: `single` | `double`

Notional value of swaption, specified as the comma-separated pair consisting of `'Notional'` and a nonnegative integer using a `NumSwaptions`-by-`1` vector of notional amounts.

Data Types: `single` | `double`

Option specification for the swaption, specified as the comma-separated pair consisting of `'OptSpec'` and a character vector or a `NumSwaptions`-by-`1` cell array of character vectors with a value of `'call'` or `'put'`.

A `'call'` swaption or Payer swaption allows the option buyer to enter into an interest-rate swap in which the buyer of the option pays the fixed rate and receives the floating rate.

A `'put'` swaption or Receiver swaption allows the option buyer to enter into an interest-rate swap in which the buyer of the option receives the fixed rate and pays the floating rate.

Data Types: `char` | `cell`

## Output Arguments

collapse all

Swaption price, returned as a scalar or an `NumSwaptions`-by-`1` vector.

## Algorithms

The following defines the swaption price for a two-factor additive Gaussian interest-rate model, given the `ZeroCurve`, `a`, `b`, `sigma`, `eta`, and `rho` parameters:

`$r\left(t\right)=x\left(t\right)+y\left(t\right)+\varphi \left(t\right)$`

where $d{W}_{1}\left(t\right)d{W}_{2}\left(t\right)=\rho dt$ is a two-dimensional Brownian motion with correlation ρ and ϕ is a function chosen to match the initial zero curve.

## References

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

## See Also

### Topics

#### Introduced in R2013a

Was this topic helpful?

Download ebook