Main Content

minassetbystulz

Determine European rainbow option prices on minimum of two risky assets using Stulz option pricing model

Description

Price = minassetbystulz(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr) computes option prices using the Stulz option pricing model.

example

Examples

collapse all

Consider a European rainbow put option that gives the holder the right to sell either stock A or stock B at a strike of 50.25, whichever has the lower value on the expiration date May 15, 2009. On November 15, 2008, stock A is trading at 49.75 with a continuous annual dividend yield of 4.5% and has a return volatility of 11%. Stock B is trading at 51 with a continuous dividend yield of 5% and has a return volatility of 16%. The risk-free rate is 4.5%. Using this data, if the correlation between the rates of return is -0.5, 0, and 0.5, calculate the price of the minimum of two assets that are European rainbow put options. First, create the RateSpec:

Settle = datetime(2000,11,15);
Maturity = datetime(2009,5,15);
Rates = 0.045;
Basis = 1;

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.6822
            Rates: 0.0450
         EndTimes: 8.5000
       StartTimes: 0
         EndDates: 733908
       StartDates: 730805
    ValuationDate: 730805
            Basis: 1
     EndMonthRule: 1

Create the two StockSpec definitions.

AssetPriceA = 49.75;
AssetPriceB = 51;
SigmaA = 0.11;
SigmaB = 0.16;
DivA = 0.045; 
DivB = 0.05; 

StockSpecA = stockspec(SigmaA, AssetPriceA, 'continuous', DivA)
StockSpecA = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1100
         AssetPrice: 49.7500
       DividendType: {'continuous'}
    DividendAmounts: 0.0450
    ExDividendDates: []

StockSpecB = stockspec(SigmaB, AssetPriceB, 'continuous', DivB)
StockSpecB = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1600
         AssetPrice: 51
       DividendType: {'continuous'}
    DividendAmounts: 0.0500
    ExDividendDates: []

Compute the price of the options for different correlation levels.

Strike = 50.25;
Corr = [-0.5;0;0.5];
OptSpec = 'put';
Price = minassetbystulz(RateSpec, StockSpecA, StockSpecB, Settle,...
Maturity, OptSpec, Strike, Corr)
Price = 3×1

   10.0002
    9.1433
    8.1622

The values 3.43, 3.14, and 2.77 are the price of the European rainbow put options with a correlation level of -0.5, 0, and 0.5 respectively.

Input Arguments

collapse all

Annualized, continuously compounded rate term structure, specified using intenvset.

Data Types: structure

Stock specification for asset 1, specified using stockspec.

Data Types: structure

Stock specification for asset 2, specified using stockspec.

Data Types: structure

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

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

Maturity dates, specified as a NINST-by-1 vector using a datetime array, string array, or date character vectors.

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

Option type, specified as an NINST-by-1 cell array of character vectors with a value of 'call' or 'put'.

Data Types: cell

Strike prices, specified as an NINST-by-1 vector.

Data Types: double

Correlation between the underlying asset prices, specified as an NINST-by-1 vector.

Data Types: double

Output Arguments

collapse all

Expected option prices, returned as an NINST-by-1 vector.

More About

collapse all

Rainbow Option

A rainbow option payoff depends on the relative price performance of two or more assets.

A rainbow option gives the holder the right to buy or sell the best or worst of two securities, or options that pay the best or worst of two assets. Rainbow options are popular because of the lower premium cost of the structure relative to the purchase of two separate options. The lower cost reflects the fact that the payoff is generally lower than the payoff of the two separate options.

Financial Instruments Toolbox™ supports two types of rainbow options:

  • Minimum of two assets — The option holder has the right to buy(sell) one of two risky assets, whichever one is worth less.

  • Maximum of two assets — The option holder has the right to buy(sell) one of two risky assets, whichever one is worth more.

For more information, see Rainbow Option.

Version History

Introduced in R2009a

expand all