Price lookback option from Equal Probabilities binomial tree
[Price, PriceTree] = lookbackbyeqp(EQPTree, OptSpec, Strike,
Settle, ExerciseDates, AmericanOpt)
Stock tree structure created by eqptree.
Number of instruments (NINST)-by-1 cell array of strings 'call' or 'put'.
NINST-by-1 vector of strike price values. Each row is the schedule for one option. To calculate the value of a floating-strike lookback option, specify Strike as NaN.
NINST-by-1 vector of Settle dates. The settle date for every lookback is set to the valuation date of the stock tree. The lookback argument Settle is ignored.
For a European option (AmericanOpt = 0):
NINST-by-1 vector of exercise dates. Each row is the schedule for one option. For a European option, there is only one exercise date, the option expiry date.
For an American option (AmericanOpt = 1):
NINST-by-2 vector of exercise date boundaries. For each instrument, the option can be exercised on any tree date between or including the pair of dates on that row. If only one non-NaN date is listed, or if ExerciseDates is NINST-by-1, the option can be exercised between the valuation date of the stock tree and the single listed exercise date.
(Optional) If AmericanOpt = 0, NaN, or is unspecified, the option is a European option. If AmericanOpt = 1, the option is an American option.
Price = lookbackbyeqp(EQPTree, OptSpec, Strike, ExerciseDates, AmericanOpt) calculates the value of fixed- and floating-strike lookback options. Data arguments are NINST-by-1 vectors, scalar, or empty. Fill unspecified entries in vectors with NaN. Only one data argument is required to create the instrument. The others may be omitted or passed as empty matrices .
Price is a NINST-by-1 vector of expected option prices at time 0.
Note: lookbackbyeqp calculates values of fixed and floating strike lookback options. To compute the value of a floating strike lookback option, strike should be specified as NaN. Pricing of lookback options is done using Hull-White (1993). Consequently, for these options there are not unique prices on the tree nodes with the exception of the root node.
This example shows how to price a lookback option using an EQP equity tree by loading the file deriv.mat, which provides EQPTree. The EQPTree structure contains the stock specification and time information needed to price the option.
load deriv.mat OptSpec = 'Call'; Strike = 115; Settle = '01-Jan-2003'; ExerciseDates = '01-Jan-2006'; Price = lookbackbyeqp(EQPTree, OptSpec, Strike, Settle, ... ExerciseDates)
Price = 8.7941
Hull, J., and A. White, "Efficient Procedures for Valuing European and American Path-Dependent Options," Journal of Derivatives, Fall 1993, pp. 21-31.