Finance - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Finance : Financial Instruments : Finance/AmericanSwaption

Finance

  

AmericanSwaption

  

create a new American-style swaption

 

Calling Sequence

Parameters

Options

Description

Examples

References

Compatibility

Calling Sequence

AmericanSwaption(irswap, earliestexercise, latestexercise, opts)

Parameters

irswap

-

simple swap data structures; interest rate swap

earliestexercise

-

a non-negative constant, a string containing a date specification in a format recognized by ParseDate, or a date data structure; the earliest date or time when the option can be exercised

latestexercise

-

a non-negative constant, a string containing a date specification in a format recognized by ParseDate, or a date data structure; the maturity time or date

opts

-

(optional) equation(s) of the form option = value where option is one of referencedate or daycounter; specify options for the AmericanSwaption 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 AmericanSwaption command creates a new American-style swaption with the specified payoff and maturity. The swaption can be exercised at any time between earliestexercise and latestexercise dates. This is the opposite of a European-style swaption, which can only be exercised on the date of expiration.

• 

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

• 

The parameter earliestexercise specifies the earliest time or date when the option can be exercised. It can be given either as a non-negative constant or as a date in any of the formats recognized by the ParseDate command. If earlyexercise is given as a date, then the period between referencedate and earliestexercise will be converted to a fraction of the year according to the day count convention specified by daycounter. Typically the value of this option is 0, which means that the option can be exercised at any time until the maturity. Note that the time of the earliest exercise must precede the maturity time.

• 

The parameter latestexercise specifies the maturity time of the option. It can be given either as a non-negative constant or as a date in any of the formats recognized by the ParseDate command. If earlyexercise is given as a date, then the period between referencedate and latestexercise will be converted to a fraction of the year according to the day count convention specified by daycounter.

• 

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

Examples

withFinance:

SetEvaluationDateNovember 17, 2006:

EvaluationDate

November 17, 2006

(1)

nominal1000.0

nominal:=1000.0

(2)

fixing_days2

fixing_days:=2

(3)

startAdvanceDate1,Years,EURIBOR

start:=November 17, 2007

(4)

maturityAdvanceDatestart,5,Years,EURIBOR

maturity:=November 17, 2012

(5)

discount_curveForwardCurve0.04875825,'daycounter'=Actual365Fixed

discount_curve:=moduleend module

(6)

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

fixed_schedule:=moduleend module

(7)

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

floating_schedule:=moduleend module

(8)

benchmarkBenchmarkRate6,Months,EURIBOR,0.04875825

benchmark:=moduleend module

(9)

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

swapInterestRateSwapnominal,0.0,fixed_schedule,benchmark,floating_schedule,0.0

swap:=moduleend module

(10)

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

atm_rateFairRateswap,discount_curve

atm_rate:=0.04995609574

(11)

Construct three swaps.

itm_swapInterestRateSwapnominal,0.8atm_rate,fixed_schedule,benchmark,floating_schedule,0.0

itm_swap:=moduleend module

(12)

atm_swapInterestRateSwapnominal,1.0atm_rate,fixed_schedule,benchmark,floating_schedule,0.0

atm_swap:=moduleend module

(13)

otm_swapInterestRateSwapnominal,1.2atm_rate,fixed_schedule,benchmark,floating_schedule,0.0

otm_swap:=moduleend module

(14)

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

cash_flowsCashFlowsitm_swap,paying

cash_flows:=39.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.

datesmapt→tdate,cash_flows

dates:=date,date,date,date,date

(17)

itm_swaptionAmericanSwaptionitm_swap,AdvanceDatestart,1,Days,EURIBOR,AdvanceDatedates2,1,Days,EURIBOR

itm_swaption:=moduleend module

(18)

atm_swaptionAmericanSwaptionatm_swap,AdvanceDatestart,1,Days,EURIBOR,AdvanceDatedates2,1,Days,EURIBOR

atm_swaption:=moduleend module

(19)

otm_swaptionAmericanSwaptionotm_swap,AdvanceDatestart,1,Days,EURIBOR,AdvanceDatedates2,1,Days,EURIBOR

otm_swaption:=moduleend module

(20)

Price these swaptions using the Hull-White trinomial tree.

a0.048696

a:=0.048696

(21)

σ0.0058904

σ:=0.0058904

(22)

modelHullWhiteModeldiscount_curve,a,σ

model:=moduleend module

(23)

time_gridTimeGridYearFractionmaturity+0.5,100

time_grid:=moduleend module

(24)

short_rate_treeShortRateTreemodel,time_grid

short_rate_tree:=moduleend module

(25)

Price the swaptions using the tree constructed above.

LatticePriceitm_swaption,short_rate_tree,discount_curve

54.64340244

(26)

LatticePriceatm_swaption,short_rate_tree,discount_curve

29.47595615

(27)

LatticePriceotm_swaption,short_rate_tree,discount_curve

15.16252551

(28)

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

ou_processOrnsteinUhlenbeckProcess0.04875,0.04875,1.0,0.3

ou_process:=_X

(29)

treeShortRateTreeou_process,time_grid

tree:=moduleend module

(30)

Price your swaptions using the second tree.

LatticePriceitm_swaption,tree,discount_curve

53.87370143

(31)

LatticePriceatm_swaption,tree,discount_curve

21.69892190

(32)

LatticePriceotm_swaption,tree,discount_curve

11.69368613

(33)

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[AmericanSwaption] 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]

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam