Finance
BermudanOption
create a new Bermudan option
Calling Sequence
Parameters
Options
Description
Examples
References
Compatibility
BermudanOption(payoff, exercisetimes, opts)
BermudanOption(payoff, exercisedates, opts)
payoff
-
payoff function
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 BermudanOption command
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.
The BermudanOption command creates a new Bermudan-style option with the specified payoff and maturity. This option can be exercised at any time or date given in the exercisetimes or exercisedates list.
The parameter payoff is the payoff function for the option. It can be either an algebraic expression or a procedure. A procedure defining a payoff function must accept one parameter (the value of the underlying) and return the corresponding payoff. This procedure will be called with floating-point arguments only and must return floating-point values. If payoff is given as an algebraic expression it must depend on a single variable. This expression will be converted to a Maple procedure using the unapply function.
The parameter exercisedates specifies the dates when the option 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.
The LatticePrice command can be used to price a Bermudan-style option using any given binomial or trinomial tree.
with⁡Finance:
Set the global evaluation date to January 3, 2006.
SetEvaluationDate⁡January 3, 2006:
Settings⁡daycounter=Thirty360European
Historical
Construct a binomial tree approximating a Black-Scholes process with an initial value of 100, risk-free rate of 10% and constant volatility of 40%. We will assume that no dividend is paid. Build the tree by subdividing the time period 0..0.6 into 1000 equal time steps.
T≔BlackScholesBinomialTree⁡100,0.1,0.,0.4,0.6,1000:
Consider a Bermudan put option with a strike price of 100 that can be exercised in 3 months or in 6 months.
P1≔S↦max⁡100−S,0
plot⁡P1,80..120,thickness=2,axes=BOXED,gridlines=true,color=blue
A1≔BermudanOption⁡P1,0.25,0.5:
Maturity≔AdvanceDate⁡EvaluationDate⁡,6,Months,output=formatted
Maturity≔July 3, 2006
A2≔BermudanOption⁡P1,AdvanceDate⁡EvaluationDate⁡,3,Months,AdvanceDate⁡EvaluationDate⁡,6,Months
A2 ≔ moduleend module
Calculate the price of this option using the tree constructed above. Use the risk-free rate as the discount rate.
LatticePrice⁡A1,T,0.1
8.955803314
LatticePrice⁡A2,T,0.1
Consider a Bermudan call option with a strike price of 100 that can be exercised in 3 months or in 6 months.
P2≔S↦max⁡S−100,0
plot⁡P2,80..120,thickness=2,axes=BOXED,gridlines=true,color=blue
A3≔BermudanOption⁡P2,0.25,0.5:
A4≔BermudanOption⁡P2,AdvanceDate⁡EvaluationDate⁡,3,Months,AdvanceDate⁡EvaluationDate⁡,6,Months
A4 ≔ moduleend module
LatticePrice⁡A3,T,0.1
13.58412136
LatticePrice⁡A4,T,0.1
Consider a more complicated payoff function.
P3≔S↦piecewise⁡S<90,0,S<100,S−90,S<110,110−S,0
P3≔S↦0S<90S−90S<100110−SS<1100otherwise
plot⁡P3,80..120,thickness=2,axes=BOXED,gridlines=true,color=blue
A5≔BermudanOption⁡P3,0.25,0.5:
A6≔BermudanOption⁡P3,AdvanceDate⁡EvaluationDate⁡,3,Months,AdvanceDate⁡EvaluationDate⁡,6,Months
A6 ≔ moduleend module
LatticePrice⁡A5,T,0.1
2.599601139
LatticePrice⁡A6,T,0.1
Move the earliest exercise date and observe how the price of a Bermudan-style option approaches the price of the corresponding European-style option.
E≔EuropeanOption⁡P3,0.5:
A≔seq⁡BermudanOption⁡P3,0.1⁢i,0.5,i=0..5:
LatticePrice⁡E,T,0.1
1.336569904
map⁡LatticePrice,A,T,0.1
10.,3.505646277,2.824373468,2.441096215,2.102863049,1.336569904
Glasserman, P., Monte Carlo Methods in Financial Engineering, Springer-Verlag, 2004.
Hull, J., Options, Futures and Other Derivatives, 5th. edition. Prentice Hall, 2003.
Jackel, P., Monte Carlo Methods in Finance, John Wiley & Sons, 2002.
Joshi, M., The Concepts and Practice of Mathematical Finance, Cambridge University Press, 2003.
Wilmott, P., Paul Wilmott on Quantitative Finance, John Wiley and Sons Ltd, 2000.
Wilmott, P., Howison, S., and Dewyne, J., The Mathematics of Financial Derivatives, New York: Cambridge University Press, 1995.
The Finance[BermudanOption] command was introduced in Maple 15.
For more information on Maple 15 changes, see Updates in Maple 15.
See Also
Finance[AmericanOption]
Finance[BinomialTree]
Finance[BlackScholesBinomialTree]
Finance[BlackScholesTrinomialTree]
Finance[EuropeanOption]
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