Main Content

asiansensbykv

Calculate prices or sensitivities of European geometric Asian options using Kemna-Vorst model

Description

PriceSens = asiansensbykv(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) returns prices or sensitivities of European geometric Asian options using Kemna-Vorst model.

Note

Alternatively, you can use the Asian object to calculate prices or sensitivities for Asian options. For more information, see Get Started with Workflows Using Object-Based Framework for Pricing Financial Instruments.

example

PriceSens = asiansensbykv(___,Name,Value) adds optional name-value pair arguments.

Examples

collapse all

Define the RateSpec.

StartDates = datetime(2013,1,1);
EndDates = datetime(2014,1,1);
Rates = 0.035;
Basis = 1;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ...
'EndDates', EndDates,'Rates', Rates,  'Compounding', -1, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9656
            Rates: 0.0350
         EndTimes: 1
       StartTimes: 0
         EndDates: 735600
       StartDates: 735235
    ValuationDate: 735235
            Basis: 1
     EndMonthRule: 1

Define the StockSpec for the asset.

AssetPrice = 100;
Sigma = 0.15;
DivType = 'continuous';
DivAmounts = 0.03;
StockSpec = stockspec(Sigma, AssetPrice, DivType, DivAmounts)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1500
         AssetPrice: 100
       DividendType: {'continuous'}
    DividendAmounts: 0.0300
    ExDividendDates: []

Define the Asian 'call' and 'put' options.

Strike = 102;
OptSpec = {'put'; 'call'};
Settle = datetime(2013,1,1);
ExerciseDates = datetime(2014,1,1);

Compute the European geometric Average Price and sensitivities for the Asian option using the Kemna-Vorst model.

OutSpec = {'Price', 'Delta', 'Gamma'};
PriceSens = asiansensbykv(RateSpec, StockSpec, OptSpec, Strike,...
Settle, ExerciseDates,'OutSpec', OutSpec)
PriceSens = 2×1

    4.3871
    2.5163

Input Arguments

collapse all

The annualized continuously compounded interest-rate term structure specified by the RateSpec obtained from intenvset. For information on the interest-rate specification, see intenvset.

Data Types: struct

Stock specification for underlying asset, specified using StockSpec obtained from stockspec. For information on the stock specification, see stockspec.

stockspec can handle other types of underlying assets. For example, stocks, stock indices and commodities. If dividends are not specified in StockSpec, dividends are assumed to be 0.

Data Types: struct

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

Data Types: cell | char

Option strike price values, specified with nonnegative integers using a NINST- by-1 vector.

Data Types: single | double

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

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

European option exercise dates, specified as NINST-by-1 vector using a datetime array, string array, or date character vectors. For a European option, there is only one ExerciseDates on the option expiry date.

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

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: PriceSens = asiansensbykv(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'OutSpec',{'All'})

Define outputs, specified as the comma-separated pair consisting of 'OutSpec' and a NOUT- by-1 or 1-by-NOUT cell array of character vectors with possible values of 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', and 'All'.

OutSpec = {'All'} specifies that the output should be Delta, Gamma, Vega, Lambda, Rho, Theta, and Price, in that order. This is the same as specifying OutSpec as:

Example: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}

Data Types: char | cell

Output Arguments

collapse all

Expected prices or sensitivities (defined by OutSpec) of the Asian option, returned as an 1-by-1 vector. If the OutSpec is not specified only price is returned.

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 in R2013b

expand all