Products & Services Solutions Academia Support User Community Company

Learn more about Fixed-Income Toolbox   

liborprice - Price swap given swap rate

Syntax

Price = liborprice(ThreeMonthRates, Settle, Tenor, 
SwapRate, StartDate, Interpolation, ConvexAdj, RateParam, 
InArrears, Sigma, FixedCompound, FixedBasis)

Arguments

ThreeMonthRates

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

Settle

Settlement date of swap. Scalar.

Tenor

Life of the swap. Scalar.

SwapRate

Swap rate in decimal.

StartDate

(Optional) Scalar value to denote reference date for valuation of (forward) swap. This in effect allows forward swap valuation. Default = Settle.

Interpolation

(Optional) Interpolation method to determine applicable forward rate for months when no Eurodollar data is available. Default is 'linear' or 1. Other possible values are 'Nearest' or 0, and 'Cubic' or 2.

ConvexAdj

(Optional) Default = 0 (off). 1 = on. Denotes whether futures/forward convexity adjustment is required. Pertains to forward rate adjustments when those rates are taken from Eurodollar futures data.

RateParam

(Optional) Short-rate model's parameters (Hull-White) [a S], where the short-rate process is

Default = [0.05 0.015].

InArrears

(Optional) Default = 0 (off). Set to 1 for on. If on, the routine does an automatic convexity adjustment to forward rates.

Sigma

(Optional) Overall annual volatility of caplets.

FixedCompound

(Optional) Scalar value. Compounding or frequency of payment on the fixed side. Also, the reset frequency. Default = 4 (quarterly). Other values are 1, 2, and 12.

FixedBasis

(Optional). Scalar value. Basis of the fixed side.

  • 0 = actual/actual

  • 1 = 30/360 (SIA, default)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = act/365 (Japanese)

Description

Price = liborprice(ThreeMonthRates, Settle, Tenor, SwapRate, StartDate, Interpolation, ConvexAdj, RateParam, InArrears, Sigma, FixedCompound, FixedBasis) 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.

Price is the present value of the difference between floating and fixed-rate sides of the swap per $100 notional.

Examples

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, Settle, Tenor);

Compute the price of a par swap.

Price = liborprice(EDFutData, Settle, Tenor, FixedSpec.Coupon)

Price =

  4.1633e-015

MATLAB computes a value for Price that is effectively equal to 0.

See Also

liborduration, liborfloat2fixed

  


Free Interactive Computational Finance CD

View demos and recorded presentations led by industry experts.

Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS