# lookbackbyeqp

Price lookback option from Equal Probabilities binomial tree

## Syntax

```[Price, PriceTree] = lookbackbyeqp(EQPTree, OptSpec, Strike,Settle, ExerciseDates, AmericanOpt)
```

## Arguments

 `EQPTree` Stock tree structure created by `eqptree`. `OptSpec` Number of instruments (`NINST`)-by-`1` cell array of strings `'call'` or `'put'`. `Strike` `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`. `Settle` `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. `ExerciseDates` 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. `AmericanOpt` (Optional) If `AmericanOpt = 0`, `NaN`, or is unspecified, the option is a European option. If ```AmericanOpt = 1```, the option is an American option.

## Description

```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 in unspecified entries 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). So, for these options there are not unique prices on the tree nodes except for the root node.

## Examples

collapse all

### Price a Lookback Option Using an EQP Equity Tree

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 ```

## References

Hull, J., and A. White, "Efficient Procedures for Valuing European and American Path-Dependent Options," Journal of Derivatives, Fall 1993, pp. 21-31.