Main Content

crrsens

Instrument prices and sensitivities from Cox-Ross-Rubinstein tree

Description

[Delta,Gamma,Vega,Price] = crrsens(CRRTree,InstSet) computes instrument sensitivities and prices for instruments using a binomial tree created with the crrtree function. All sensitivities are returned as dollar sensitivities. To find the per-dollar sensitivities, divide by the respective instrument price.

crrsens handles instrument types: 'Asian', 'Barrier', 'Compound', 'CBond', 'Lookback', 'OptStock'. See instadd for information on instrument types.

example

[Delta,Gamma,Vega,Price] = crrsens(___,Options) adds an optional input argument for Options.

example

Examples

collapse all

Load the CRR tree and instruments from the data file deriv.mat. Compute the Delta and Gamma sensitivities of the barrier and lookback options contained in the instrument set.

load deriv.mat; 
CRRSubSet = instselect(CRRInstSet,'Type', ... 
{'Barrier', 'Lookback'}); 

instdisp(CRRSubSet)
Index Type    OptSpec Strike Settle         ExerciseDates  AmericanOpt BarrierSpec Barrier Rebate Name     Quantity
1     Barrier call    105    01-Jan-2003    01-Jan-2006    1           ui          102     0      Barrier1 1       
 
Index Type     OptSpec Strike Settle         ExerciseDates  AmericanOpt Name      Quantity
2     Lookback call    115    01-Jan-2003    01-Jan-2006    0           Lookback1 7       
3     Lookback call    115    01-Jan-2003    01-Jan-2007    0           Lookback2 9       
 

Obtain the Delta and Gamma for the barrier and lookback options contained in the instrument set.

[Delta, Gamma] = crrsens(CRRTree, CRRSubSet)
Delta = 3×1

    0.6885
    0.6049
    0.8187

Gamma = 3×1

    0.0310
   -0.0000
         0

Input Arguments

collapse all

Stock tree structure, specified by using crrtree.

Data Types: struct

Instrument variable containing a collection of NINST instruments, specified using instadd. Instruments are categorized by type; each type can have different data fields. The stored data field is a row vector or character vector for each instrument.

Data Types: struct

Derivatives pricing options structure, created using derivset.

Data Types: struct

Output Arguments

collapse all

Rate of change of instruments prices with respect to changes in the stock price, returned as a NINST-by-1 vector of deltas.

For path-dependent options ('Lookback' and 'Asian'), Delta and Gamma are computed by finite differences in calls to crrprice. For the rest of the options ('OptStock', 'Barrier', 'CBond', and 'Compound'), Delta and Gamma are computed from the CRRTree and the corresponding option price tree.

Rate of change of instruments deltas with respect to changes in the stock price, returned as a NINST-by-1 vector of gammas.

For path-dependent options ('Lookback' and 'Asian'), Delta and Gamma are computed by finite differences in calls to crrprice. For the rest of the options ('OptStock', 'Barrier', 'CBond', and 'Compound'), Delta and Gamma are computed from the CRRTree and the corresponding option price tree.

Rate of change of instruments prices with respect to changes in the volatility of the stock, returned as a NINST-by-1 vector of vegas. Vega is computed by finite differences in calls to crrtree.

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

References

[1] Chriss, Neil. Black-Scholes and Beyond: Option Pricing Models. McGraw-Hill, 1996, pp 308-312.

Version History

Introduced before R2006a