Documentation

liborprice

Price swap given swap rate

Description

example

Price = liborprice(ThreeMonthRates,Settle,Tenor,SwapRate) computes the price per \$100 notional value of a swap given the swap rate. A positive result indicates that fixed side is more valuable than the floating side.

example

Price = liborprice(___,StartDate,Interpolation,ConvexAdj,RateParam,InArrears,Sigma,FixedCompound,FixedBasis) specifies options using one or more optional arguments in addition to the input arguments in the previous syntax.

Examples

collapse all

This example shows that a swap paying the par swap rate has a value of 0.

% load the input data
[EDFutData, textdata] = xlsread('EDdata.xls');
Settle = datenum('15-Oct-2002');
Tenor = 2;

% compute the fixed rate from the Eurodollar data
FixedSpec = liborfloat2fixed(EDFutData(:,1:3), Settle, Tenor)
FixedSpec = struct with fields:
Coupon: 0.0222
Settle: '16-Oct-2002'
Maturity: '16-Oct-2004'
Period: 4
Basis: 1

% compute the price of a par swap
Price = liborprice(EDFutData(:,1:3), Settle, Tenor, FixedSpec.Coupon)
Price = 2.7756e-15

Price is effectively equal to 0.

Input Arguments

collapse all

Three-month Eurodollar futures data or forward rate agreement data, specified as an N-by-3 matrix in the form of [month year IMMQuote]. A forward rate agreement stipulates that a certain interest rate applies to a certain principal amount for a given future time period. The floating rate is assumed to compound quarterly and to accrue on an actual/360 basis.

Data Types: double

Settlement date of fixed-rate of swap, specified as a scalar numeric using serial date numbers.

Data Types: double

Life of the swap contract, specified as a scalar integer.

Data Types: double

Swap rate, specified as a scalar decimal.

Data Types: double

(Optional) Reference date for valuation of forward swap, specified as a scalar numeric using serial date numbers. This in effect allows forward swap valuation.

Data Types: double

(Optional) Interpolation method to determine applicable forward rate for months when no Eurodollar data is available, specified as a scalar numeric with values of:

• 0 is 'nearest'

• 1 is 'linear'

• 2 is 'cubic'

.

Data Types: double

(Optional) Indicates whether futures/forward convexity adjustment is required, specified as a scalar logical. Use ConvexAdj for forward rate adjustments when those rates are taken from Eurodollar futures data.

Data Types: logical

(Optional) Short-rate model's parameters (Hull-White), specified a 1-by-2 vector to denote the parameters [a S], where the short-rate process is:
$dr=\left[\theta \left(t\right)-ar\right]dt+Sdz.$

Data Types: double

(Optional) Indicates whether the swap is in arrears, specified as a scalar logical.

Data Types: logical

(Optional) Overall annual volatility of caplets, specified as a scalar numeric.

Data Types: double

(Optional) Compounding or frequency of payment on the fixed side, specified as a scalar numeric with one of the following possible values:

• 1 is annual

• 2 is semiannual

• 4 is quarterly

• 12 is monthly

Data Types: double

(Optional) Basis of the fixed side, specified as a scalar numeric using one of the supported values:.

• 0 = actual/actual (default)

• 1 = 30/360 (SIA)

• 2 = actual/360

• 3 = actual/365

• 4 = 30/360 (BMA)

• 5 = 30/360 (ISDA)

• 6 = 30/360 (European)

• 7 = actual/365 (Japanese)

• 8 = actual/actual (ICMA)

• 9 = actual/360 (ICMA)

• 10 = actual/365 (ICMA)

• 11 = 30/360E (ICMA)

• 12 = actual/365 (ISDA)

Data Types: double

Output Arguments

collapse all

Present value of the difference between floating and fixed-rate sides of the swap per \$100 notional, returned as a numeric value.