Products & Services Solutions Academia Support User Community Company

Learn more about Financial Derivatives Toolbox   

capbyblk - Price caps using Black option pricing model

Syntax

[CapPrice, Caplets] = capbyblk(RateSpec, Strike, Settle,
Maturity, Volatility)
[CapPrice, Caplets] = capbyblk(RateSpec, Strike, Settle,
Maturity, Volatility, 'Name1', Value1...)

Arguments

RateSpec

The annualized, continuously compounded rate term structure. For more information, see intenvset.

Strike

NINST-by-1 vector of rates at which the cap is exercised, as a decimal number.

Settle

Scalar representing the settle date of the cap.

Maturity

Scalar representing the maturity date of the cap.

Volatility

NINST-by-1 vector of volatilities.

Reset

(Optional) NINST-by-1 vector representing the frequency of payments per year. Default is 1.

Principal

(Optional) NINST-by-1 vector representing the notional principal amount. Default is 100.

Basis

NINST-by-1 vector representing the basis used when annualizing the input forward rate.

  • 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/actual (ISDA)

  • 13 = BUS/252

ValuationDate

(Optional) Scalar representing the observation date of the investment horizons. The default is the Settle date.

Description

[CapPrice, Caplets] = capbyblk(RateSpec, Strike, Settle, Maturity, Volatility)

[CapPrice, Caplets] = capbyblk(RateSpec, Strike, Settle, Maturity, Volatility, 'Name1', Value1...)

Use capbyblk to price caps using the Black option pricing model.

The outputs are:

Examples

Consider an investor who gets into a contract that caps the interest rate on a $100,000 loan at 8% quarterly compounded for 3 months, starting on January 1, 2009. Assuming that on January 1, 2008 the zero rate is 6.9394% continuously compounded and the volatility is 20%, use this data to compute the cap price.

Calculate the RateSpec:

ValuationDate = 'Jan-01-2008';
EndDates ='April-01-2010';
Rates = 0.069394;
Compounding = -1; 
Basis = 1;

RateSpec = intenvset('ValuationDate', ValuationDate, ...
'StartDates', ValuationDate,'EndDates', EndDates, ...
'Rates', Rates,'Compounding', Compounding,'Basis', Basis);

Compute the price of the cap:

Settle = 'Jan-01-2009'; % cap starts in a year
Maturity = 'April-01-2009';
Volatility = 0.20;
CapRate = 0.08;
CapReset = 4;
Principal=100000;

CapPrice = capbyblk(RateSpec,  CapRate, Settle, Maturity, Volatility,...
'Reset',CapReset,'ValuationDate',ValuationDate,'Principal', Principal,...
'Basis', Basis)

CapPrice =

   51.6125

See Also

floorbyblk

  


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-2010- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS