asiansensbykv

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

Syntax

  • PriceSens = asiansensbykv(RateSpec,StockSpec,OptSpec,Strike,Settle,
    ExerciseDates)
    example
  • PriceSens = asiansensbykv(___,Name,Value)

Description

example

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

PriceSens = asiansensbykv(___,Name,Value) returns prices and sensitivities of European geometric Asian options using optional Name-Value pairs for the Kemna-Vorst model.

Examples

expand all

Compute the Price and Sensitivities of an Asian Option Using the Kemna-Vorst Model

Define the RateSpec.

StartDates = 'Jan-1-2013';
EndDates = 'Jan-1-2014';
Rates = 0.035;
Basis = 1;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ...
'EndDates', EndDates,'Rates', Rates,  'Compounding', -1, 'Basis', Basis)
RateSpec = 

           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 = 

             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 = 'Jan-1-2013';
ExerciseDates = 'Jan-1-2014';

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 =

    4.3871
    2.5163

Input Arguments

expand all

RateSpec — Interest-rate term structurestructure

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

StockSpec — Stock specification for underlying assetstructure

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

OptSpec — Definition of option string with values 'call' or 'put' | cell array of strings

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

Data Types: cell | char

Strike — Option strike price valuesnonnegative integer | vector of nonnegative integers

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

Data Types: single | double

Settle — Settlement dates or trade datesnonnegative integer | vector of nonnegative integers | date string | cell array of date strings

Settlement dates or trade dates for the Asian option, specified as nonnegative integers or date strings using a NINST-by-1 vector or cell array of dates.

Data Types: char | cell

ExerciseDates — Option exercise datesnonnegative integer | vector of nonnegative integers | date string | cell array of date strings

European option exercise dates, specified as nonnegative integers or date strings using a NINST-by-1 vector or cell array of exercise dates. For an European option, there is only one ExerciseDates on the option expiry date.

Data Types: char | cell

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

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

'OutSpec' — Define outputs{'Price'} (default) | string with values: 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta' and 'All'. | cell array of strings with values: 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta' and 'All'.

Define outputs specifying NOUT- by-1 or 1-by-NOUT cell array of strings 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

expand all

PriceSens — Expected prices and sensitivities of the Asian optionvector

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

More About

Was this topic helpful?