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.

More About

References

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

See Also

| | | |

Was this topic helpful?