eqpprice

Instrument prices from Equal Probabilities binomial tree

Syntax

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

Arguments

EQPTree

Stock price tree structure created by eqptree.

InstSet

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.

Options

(Optional) Derivatives pricing options structure created with derivset.

Description

[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', 'Lookback', 'OptStock'. See instadd to construct defined types.

Related single-type pricing functions are:

Examples

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')

instdisp(EQPSubSet)
%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 =

    2.6375
    4.7444
    3.9178

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)

Was this topic helpful?