Accelerating the pace of engineering and science

Documentation Center

• Trial Software
• Product Updates

lookbacksensbycvgsg

Calculate prices and sensitivities of European lookback options using Conze-Viswanathan and Goldman-Sosin-Gatto models

Syntax

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

Description

example

PriceSens = lookbacksensbycvgsg(RateSpec,StockSpec,OptSpec,Strike,Settle,
ExerciseDates)
returns prices and sensitivities of European lookback options using Conze-Viswanathan and Goldman-Sosin-Gatto models. lookbacksensbycvgsg calculates prices of European fixed- and floating-strike lookback options. To compute the value of a floating-strike lookback option, Strike must be specified as NaN. The Goldman-Sosin-Gatto model is used for floating-strike lookback options. The Conze-Viswanathan model is used for fixed-strike lookback options.

PriceSens = lookbacksensbycvgsg(___,Name,Value) returns prices and sensitivities of European lookback options using Conze-Viswanathan and Goldman-Sosin-Gatto models with optional name-value pair arguments. lookbacksensbycvgsg calculates prices of European fixed- and floating-strike lookback options. To compute the value of a floating-strike lookback option, Strike must be specified as NaN. The Goldman-Sosin-Gatto model is used for floating-strike lookback options. The Conze-Viswanathan model is used for fixed-strike lookback options.

Examples

expand all

Compute the Price and Delta of a Floating Lookback Option Using the Goldman-Sosin-Gatto Model

Define the RateSpec.

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

FinObj: 'RateSpec'
Compounding: -1
Disc: 0.6637
Rates: 0.4100
EndTimes: 1
StartTimes: 0
EndDates: 735600
StartDates: 735235
ValuationDate: 735235
Basis: 0
EndMonthRule: 1

```

Define the StockSpec with continuous dividend yield.

```AssetPrice = 120;
Sigma = 0.3;
Yield = 0.045;
StockSpec = stockspec(Sigma, AssetPrice, 'Continuous', Yield)
```
```StockSpec =

FinObj: 'StockSpec'
Sigma: 0.3000
AssetPrice: 120
DividendType: {'continuous'}
DividendAmounts: 0.0450
ExDividendDates: []

```

Define the floating lookback option.

```Settle   = 'Jan-1-2013';
Maturity = 'July-1-2013';
OptSpec = 'call';
Strike = NaN;
SMinMax = 100;
```

Compute the price and delta of the European floating lookback option.

```OutSpec = {'price', 'delta'};
[Price, Delta] = lookbacksensbycvgsg(RateSpec, StockSpec, OptSpec, Strike,...
Settle, Maturity,'AssetMinMax', SMinMax, 'OutSpec', OutSpec)
```
```Price =

36.9926

Delta =

0.8659

```

Compute the Price and Delta of a Fixed Lookback Option Using the Conze-Viswanathan Model

Define the RateSpec.

```StartDates = 'Jan-1-2013';
EndDates = 'Jan-1-2015';
Rates = 0.1;
Compounding = -1;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,...
'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding)
```
```RateSpec =

FinObj: 'RateSpec'
Compounding: -1
Disc: 0.8187
Rates: 0.1000
EndTimes: 2
StartTimes: 0
EndDates: 735965
StartDates: 735235
ValuationDate: 735235
Basis: 0
EndMonthRule: 1

```

Define the StockSpec.

```AssetPrice = 103;
Sigma = 0.30;
StockSpec = stockspec(Sigma, AssetPrice)
```
```StockSpec =

FinObj: 'StockSpec'
Sigma: 0.3000
AssetPrice: 103
DividendType: []
DividendAmounts: 0
ExDividendDates: []

```

Define the fixed lookback option.

```Settle   = 'Jan-1-2013';
Maturity = 'July-1-2013';
OptSpec = 'call';
Strike = 99;
```

Price and delta for the European fixed lookback option.

```OutSpec = {'price', 'delta'};
[Price, Delta] = lookbacksensbyls(RateSpec, StockSpec, OptSpec,...
Strike, Settle, Maturity,'OutSpec', OutSpec)
```
```Price =

22.6783

Delta =

1.1345

```

Input Arguments

expand all

RateSpec — Interest-rate term structurestructure

Interest-rate term structure (annualized and continuously compounded), 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 the underlying asset. For information on the stock specification, see stockspec.

stockspec handles several types of underlying assets. For example, for physical commodities the price is represented by StockSpec.Asset, the volatility is represented by StockSpec.Sigma, and the convenience yield is represented by StockSpec.DividendAmounts.

Data Types: struct

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

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

Data Types: char | cell

Strike — Option strike price valuesinteger | vector of integers

Option strike price values, specified as an integer using a NINST-by-1 vector of strike price values.

Data Types: single | double

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

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

Data Types: char | cell

ExerciseDates — European option expiry datenonnegative integer | vector of nonnegative integers | date string | cell array of date strings

European option expiry date, specified as a date string or as nonnegative integers using a NINST-by-1 vector or cell array of dates.

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 = lookbacksensbycvgsg(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'AssetMinMax',AssetMinMax,'OutSpec',{'All'})

'AssetMinMax' — Maximum or minimum underlying asset priceif unspecified, the lookback option is newly issued, and AssetMinMax = StockSpec.AssetPrice (default) | nonnegative integer

Maximum or minimum underlying asset price, specified as a NINST-by-1 vector.

Data Types: single | double

'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 a NOUT- by-1 or a 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 to include each sensitivity.

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

Data Types: char | cell

Output Arguments

expand all

PriceSens — Expected prices and sensitivities of lookback optionvector

Expected prices and sensitivities of the lookback option, returned as a NINST-by-1 vector.

References

Hull, J. C. Options, Futures, and Other Derivatives, 5th ed. Englewood Cliffs, NJ: Prentice Hall, 2002.

See Also

Was this topic helpful?