BermudanSwaption - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Finance

  

BermudanSwaption

  

create a new Bermudan swaption

 

Calling Sequence

Parameters

Options

Description

Examples

References

Compatibility

Calling Sequence

BermudanSwaption(irswap, exercisetimes, opts)

BermudanSwaption(irswap, exercisedates, opts)

Parameters

irswap

-

interest rate swap data structures; interest rate swap

exercisedates

-

list of dates given in a format recognized by ParseDate or a date data structure; dates when the option can be exercised

exercisetimes

-

list of non-negative constants; times when the option can be exercised

opts

-

(optional) equation(s) of the form option = value where option is one of referencedate or daycounter; specify options for the BermudanSwaption command

Options

• 

referencedate = a string containing a date specification in a format recognized by ParseDate or a date data structure -- This option provides the evaluation date. It is set to the global evaluation date by default.

• 

daycounter = a name representing a supported day counter (e.g. ISDA, Simple) or a day counter data structure created using the DayCounter constructor -- This option provides a day counter that will be used to convert the period between two dates to a fraction of the year. This option is used only if one of earliestexercise or latestexercise is specified as a date.

Description

• 

The BermudanSwaption command creates a new Bermudan-style swaption on the specified interest rate swap. This swaption can be exercised at any time or date given in the exercisetimes or exercisedates list.

• 

The parameter irswap is the underlying interest rate swap (see InterestRateSwap for more details).

• 

The parameter exercisedates specifies the dates when the swaption can be exercised. It has to be given as a list of dates in any of the formats recognized by the ParseDate command. The exercise times will be computed by converting the period between referencedate and the corresponding exercise date to a fraction of the year according to the day count convention specified by daycounter. Alternatively, one can specify exercise times directly using the exercisetimes parameter. In this case the referencedate and daycounter options are ignored.

• 

The LatticePrice command can be used to price a Bermudan-style swaption using any given binomial or trinomial tree.

Examples

withFinance:

SetEvaluationDateNovember 17, 2006:

EvaluationDate

November 17, 2006

(1)

nominal1000.0

nominal1000.0

(2)

fixing_days2

fixing_days2

(3)

startAdvanceDate1,Years,EURIBOR

startNovember 17, 2007

(4)

maturityAdvanceDatestart,5,Years,EURIBOR

maturityNovember 17, 2012

(5)

discount_curveForwardCurve0.04875825,daycounter=Actual365Fixed

discount_curvemoduleend module

(6)

fixed_scheduleSchedulestart,maturity,Annual,convention=Unadjusted,calendar=EURIBOR

fixed_schedulemoduleend module

(7)

floating_scheduleSchedulestart,maturity,Semiannual,convention=ModifiedFollowing,calendar=EURIBOR

floating_schedulemoduleend module

(8)

benchmarkBenchmarkRate6,Months,EURIBOR,0.04875825

benchmarkmoduleend module

(9)

Construct an interest rate swap receiving the fixed-rate payments in exchange for the floating-rate payment.

swapInterestRateSwapnominal,0.,fixed_schedule,benchmark,floating_schedule,0.

swapmoduleend module

(10)

Compute the at-the-money rate for this interest rate swap.

atm_rateFairRateswap,discount_curve

atm_rate0.04995609574

(11)

Construct three swaps.

itm_swapInterestRateSwapnominal,0.8atm_rate,fixed_schedule,benchmark,floating_schedule,0.

itm_swapmoduleend module

(12)

atm_swapInterestRateSwapnominal,1.0atm_rate,fixed_schedule,benchmark,floating_schedule,0.

atm_swapmoduleend module

(13)

otm_swapInterestRateSwapnominal,1.2atm_rate,fixed_schedule,benchmark,floating_schedule,0.

otm_swapmoduleend module

(14)

Here are cash flows for the paying leg of your interest rate swap.

cash_flowsCashFlowsitm_swap,paying

cash_flows39.97833882 on 'November 17, 2008',39.95141436 on 'November 17, 2009',39.96487659 on 'November 17, 2010',39.96487659 on 'November 17, 2011',39.97833882 on 'November 19, 2012'

(15)

Here are cash flows for the receiving leg of your interest rate swap.

CashFlowsitm_swap,receiving

24.55793340 on 'May 19, 2008',24.54222773 on 'November 17, 2008',24.59383300 on 'May 18, 2009',24.74716833 on 'November 17, 2009',24.47342475 on 'May 17, 2010',24.88406756 on 'November 17, 2010',24.47342475 on 'May 17, 2011',24.88406756 on 'November 17, 2011',24.55868130 on 'May 17, 2012',25.08832826 on 'November 19, 2012'

(16)

These are days when coupon payments are scheduled to occur.

datesmapttdate,cash_flows

datesdate,date,date,date,date

(17)

Set up exercise dates.

exercise_datesmaptAdvanceDatet,1,Days,EURIBOR,start,op1..2,dates

exercise_datesNovember 19, 2007,November 18, 2008,November 18, 2009,November 18, 2010,November 18, 2011

(18)

Construct three swaptions that can be exercised on any of the previous dates.

itm_swaptionBermudanSwaptionitm_swap,exercise_dates

itm_swaptionmoduleend module

(19)

atm_swaptionBermudanSwaptionatm_swap,exercise_dates

atm_swaptionmoduleend module

(20)

otm_swaptionBermudanSwaptionotm_swap,exercise_dates

otm_swaptionmoduleend module

(21)

Price these swaptions using the Hull-White trinomial tree.

a0.048696

a0.048696

(22)

σ0.0058904

σ0.0058904

(23)

modelHullWhiteModeldiscount_curve,a,σ

modelmoduleend module

(24)

time_gridTimeGridYearFractionmaturity+0.5,100

time_gridmoduleend module

(25)

short_rate_treeShortRateTreemodel,time_grid

short_rate_treemoduleend module

(26)

Price our swaptions using the tree constructed above.

LatticePriceitm_swaption,short_rate_tree,discount_curve

42.37568409

(27)

LatticePriceatm_swaption,short_rate_tree,discount_curve

13.41345287

(28)

LatticePriceotm_swaption,short_rate_tree,discount_curve

2.795526880

(29)

You can also price these swaptions using an explicitly constructed trinomial tree.

ou_processOrnsteinUhlenbeckProcess0.04875,0.04875,1.0,0.3

ou_process_X0

(30)

treeShortRateTreeou_process,time_grid

treemoduleend module

(31)

Price the swaptions using the second tree.

LatticePriceitm_swaption,tree,discount_curve

41.39592398

(32)

LatticePriceatm_swaption,tree,discount_curve

1.528598823

(33)

LatticePriceotm_swaption,tree,discount_curve

0.

(34)

References

  

Brigo, D., Mercurio, F., Interest Rate Models: Theory and Practice. New York: Springer-Verlag, 2001.

  

Hull, J., Options, Futures, and Other Derivatives, 5th. edition. Upper Saddle River, New Jersey: Prentice Hall, 2003.

Compatibility

• 

The Finance[BermudanSwaption] command was introduced in Maple 15.

• 

For more information on Maple 15 changes, see Updates in Maple 15.

See Also

Finance[BermudanSwaption]

Finance[BinomialTree]

Finance[BlackScholesBinomialTree]

Finance[BlackScholesTrinomialTree]

Finance[EuropeanSwaption]

Finance[GetDescendants]

Finance[GetProbabilities]

Finance[GetUnderlying]

Finance[ImpliedBinomialTree]

Finance[ImpliedTrinomialTree]

Finance[LatticeMethods]

Finance[LatticePrice]

Finance[SetProbabilities]

Finance[SetUnderlying]

Finance[StochasticProcesses]

Finance[TreePlot]

Finance[TrinomialTree]