Quantcast

Documentation Center

  • Trial Software
  • Product Updates

compoundbyeqp

Price compound option from Equal Probabilities binomial tree

Syntax

[Price, PriceTree] = compoundbyeqp(EQPTree, UOptSpec, UStrike,
USettle, UExerciseDates, UAmericanOpt, COptSpec,
CStrike, CSettle, CExerciseDates, CAmericanOpt)

Arguments

EQPTree

Stock tree structure created by eqptree.

UOptSpec

String = 'Call' or 'Put'.

UStrike

1-by-1 vector of strike price values.

USettle

1-by-1 vector of Settle dates.

UExerciseDates

For a European option (UAmericanOpt = 0):

1-by-1 vector of exercise dates. For a European option, there is only one exercise date, the option expiry date.

For an American option (UAmericanOpt = 1):

1-by-2 vector of exercise date boundaries. The option can be exercised on any tree date. If only one non-NaN date is listed, or if ExerciseDates is 1-by-1, the option can be exercised between the valuation date of the stock tree and the single listed exercise date.

UAmericanOpt

If UAmericanOpt = 0, NaN, or is unspecified, the option is a European option. If UAmericanOpt = 1, the option is an American option.

COptSpec

NINST-by-1 list of string values 'Call' or 'Put' of the compound option.

CStrike

NINST-by-1 vector of strike price values. Each row is the schedule for one option.

CSettle

1-by-1 vector containing the settlement or trade date.

CExerciseDates

For a European option (CAmericanOpt = 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 (CAmericanOpt = 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.

CAmericanOpt

If CAmericanOpt = 0, NaN, or is unspecified, the option is a European option. If CAmericanOpt = 1, the option is an American option.

Description

[Price, PriceTree] = compoundbyeqp(EQPTree, UOptSpec, UStrike,
USettle, UExerciseDates, UAmericanOpt, COptSpec,
CStrike, CSettle, CExerciseDates, CAmericanOpt)
calculates the value of a compound option.

Price is a NINST-by-1 vector of expected prices at time 0.

PriceTree is a tree structure with a vector of instrument prices at each node.

Examples

expand all

Price a Compound Option Using an EQP Equity Tree

This example shows how to price a compound option using a 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
UOptSpec = 'Call';
UStrike = 130;
USettle = '01-Jan-2003';
UExerciseDates = '01-Jan-2006';
UAmericanOpt = 1;
COptSpec = 'Put';
CStrike = 5;
CSettle = '01-Jan-2003';
CExerciseDates = '01-Jan-2005';

Price = compoundbyeqp(EQPTree, UOptSpec, UStrike, USettle, ...
UExerciseDates, UAmericanOpt, COptSpec, CStrike, CSettle, ...
CExerciseDates)
Price =

    3.3931

References

Rubinstein, Mark, "Double Trouble," Risk 5, 1991, p. 73

See Also

|

Was this topic helpful?