Instrument prices from Equal Probabilities binomial tree


[Price, PriceTree] = eqpprice(EQPTree, InstSet, Options)



Stock price tree structure created by eqptree.


Variable containing a collection of NINST instruments. Instruments are categorized by type; each type can have different data fields. The stored data field is a row vector or string for each instrument.


(Optional) Derivatives pricing options structure created with derivset.


[Price, PriceTree] = eqpprice(EQPTree, InstSet, Options) computes stock option prices using an EQP binomial tree created with eqptree.

Price is a number of instruments NINST-by-1 vector of prices for each instrument. The prices are computed by backward dynamic programming on the stock tree. If an instrument cannot be priced, NaN is returned.

PriceTree is a MATLAB® structure of trees containing vectors of instrument prices and a vector of observation times for each node.

PriceTree.PTree contains the prices.

PriceTree.tObs contains the observation times.

PriceTree.dObs contains the observation dates.

eqpprice handles instrument types: 'Asian', 'Barrier', 'Compound', 'CBond', 'Lookback', 'OptStock'. See instadd to construct defined types.

Related single-type pricing functions are:

  • asianbyeqp: Price an Asian option from an EQP tree.

  • barrierbyeqp: Price a barrier option from an EQP tree.

  • cbondbyeqp: Price convertible bonds from an EQP tree.

  • compoundbyeqp: Price a compound option from an EQP tree.

  • lookbackbyeqp: Price a lookback option from an EQP tree.

  • optstockbyeqp: Price an American, Bermuda, or European option from an EQP tree.


Load the EQP tree and instruments from the data file deriv.mat. Price the put options contained in the instrument set.

load deriv.mat; 
EQPSubSet = instselect(EQPInstSet, 'FieldName', 'OptSpec', ...
'Data', 'put')

%Table of instrument portfolio partially displayed:
Index Type     OptSpec Strike Settle        ExerciseDates AmericanOpt Name... 
1     OptStock put    105    01-Jan-2003 01-Jan-2006      0           Put 105... 
Index Type  OptSpec Strike Settle     ExerciseDates AmericanOpt AvgType... 
2     Asian put     110   01-Jan-2003 01-Jan-2006   0           arithmetic... 
3     Asian put     110   01-Jan-2003 01-Jan-2007   0           arithmetic... 
[Price, PriceTree] = eqpprice(EQPTree, EQPSubSet)
Price =


PriceTree = 

    FinObj: 'BinPriceTree'
     PTree: {1x5 cell}
      tObs: [0 1 2 3 4]
      dObs: [731582 731947 732313 732678 733043]

You can use treeviewer to see the prices of these three instruments along the price tree.

treeviewer(PriceTree, EQPSubSet)

Related Examples

Introduced before R2006a

Was this topic helpful?