Main Content

instasian

Construct Asian option

Description

InstSet = instasian(OptSpec,Strike,Settle,ExerciseDates) creates a new instrument set containing Asian instruments.

example

InstSet = instasian(InstSet,OptSpec,Strike,Settle,ExerciseDates) adds Asian instruments to an existing instrument set.

example

InstSet = instasian(___,AmericanOpt,AvgType,AvgPrice,AvgDate) adds optional arguments.

example

[FieldList,ClassList,TypeString = instasian lists field meta-data for the Asian instrument.

example

Examples

collapse all

Load the example instrument set, deriv.mat, and set the required values for an asian option instrument.

load deriv.mat

Create a subportfolio with barrier and lookback options.

CRRSubSet = instselect(CRRInstSet,'Type',{'Barrier', 'Lookback'});

Define the asian instrument.

OptSpec = 'put';
Strike = NaN;
Settle = datetime(2003,1,1);
ExerciseDates = datetime(2004,1,1);

Add a floating strike asian option to the instrument set.

InstSet = instasian(CRRSubSet, OptSpec, Strike, Settle, ExerciseDates);
instdisp(InstSet)
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       
 
Index Type  OptSpec Strike Settle         ExerciseDates  AmericanOpt AvgType    AvgPrice AvgDate Name   Quantity
4     Asian put     NaN    01-Jan-2003    01-Jan-2004    0           arithmetic NaN      NaN            NaN     
 

Input Arguments

collapse all

Instrument variable, specified only when adding asian instruments to an existing instrument set. For more information on the InstSet variable, see instget.

Data Types: struct

Definition of option, specified as 'call' or 'put' using a scalar character vector or an NINST-by-1 cell array of character vectors.

Data Types: char | cell

Option strike price value, specified with a scalar nonnegative integer or an NINST-by-1 vector of strike price values.

Data Types: double

Settlement date or trade date for the Asian option, specified as scalar or an NINST-by-1 vector using a datetime array, string array, or date character vectors.

To support existing code, instasian also accepts serial date numbers as inputs, but they are not recommended.

Option exercise dates, specified as an NINST-by-1 vector using a datetime array, string array, or date character vectors.

To support existing code, instasian also accepts serial date numbers as inputs, but they are not recommended.

For a European option (when 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 ( when 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 an NINST-by-1, the option can be exercised between the valuation date of the stock tree and the single listed exercise date.

(Optional) Indicator for American option, specified as a scalar or an NINST-by-1 vector.

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

Data Types: double

(Optional) Averaging type, specified as a character vector with a value of 'arithmetic' for arithmetic average or 'geometric' for geometric average.

Data Types: char

(Optional) Average price of underlying asset at the Settle date, specified as a scalar numeric.

Note

Use AvgPrice when AvgDate < Settle.

Data Types: double

(Optional) Date averaging period begins, specified as a scalar datetime, string, or date character vector.

To support existing code, instasian also accepts serial date numbers as inputs, but they are not recommended.

Output Arguments

collapse all

Variable containing a collection of instruments, returned as a structure. Instruments are broken down by type and each type can have different data fields. Each stored data field has a row vector or string for each instrument. For more information on the InstSet variable, see instget.

Name of each data field for an Asian instrument, returned as an NFIELDS-by-1 cell array of character vectors.

Data class for each field, returned as an NFIELDS-by-1 cell array of character vectors. The class determines how arguments are parsed. Valid character vectors are 'dble', 'date', and 'char'.

Type of instrument, returned as a character vector. For an Asian option instrument, TypeString = 'Asian'.

More About

collapse all

Asian Option

An Asian option is a path-dependent option with a payoff linked to the average value of the underlying asset during the life (or some part of the life) of the option.

Asian options are similar to lookback options in that there are two types of Asian options: fixed (average price option) and floating (average strike option). Fixed Asian options have a specified strike, while floating Asian options have a strike equal to the average value of the underlying asset over the life of the option. For more information, see Asian Option.

Version History

Introduced before R2006a

expand all