This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Construct Asian option


InstSet = instasian(InstSet,OptSpec,Strike,Settle, ExerciseDates,AmericanOpt,AvgType,AvgPrice,AvgDate)
[FieldList,ClassList,TypeString] = instasian



Instrument variable. This argument is specified only when adding asian instruments to an existing instrument set. See instget for more information on the InstSet variable.


NINST-by-1 list of character vector values for 'Call' or 'Put'.


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


NINST-by-1 vector of Settle dates.


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


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


(Optional) Character vector is 'arithmetic' for arithmetic average (default) or 'geometric' for geometric average.


(Optional) Scalar representing the average price of the underlying asset at Settle. This argument is used when AvgDate < Settle. Default is the current stock price.


(Optional) Scalar representing the date on which the averaging period begins. Default = Settle.

Data arguments are NINST-by-1 vectors, scalar, or empty. Fill in unspecified entries vectors with NaN. Only one data argument is required to create the instrument. The others may be omitted or passed as empty matrices [].


InstSet = instasian(InstSet,OptSpec,Strike,Settle, ExerciseDates,AmericanOpt,AvgType,AvgPrice,AvgDate) specifies an Asian option.

[FieldList,ClassList,TypeString] = instasian displays the classes.

FieldList is a number of fields (NFIELDS-by-1) cell array of character vectors listing the name of each data field for this instrument type.

ClassList is an NFIELDS-by-1 cell array of character vectors listing the data class of each field. The class determines how arguments are parsed. Valid character vectors are 'dble', 'date', and 'char'.

TypeString is a character vector specifying the type of instrument added. For an Asian option instrument, TypeString = 'Asian'.


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 = '01-Jan-2003';
ExerciseDates = '01-Jan-2004';

Add a floating strike asian option to the instrument set.

InstSet = instasian(CRRSubSet, OptSpec, Strike, Settle, ExerciseDates);
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     

Introduced before R2006a

Was this topic helpful?