Quantcast

Documentation Center

  • Trial Software
  • Product Updates

basketbyju

Price European basket options using Nengjiu Ju approximation model

Syntax

Price = basketbyju(RateSpec, BasketStockSpec, OptSpec, Strike,
Settle, Maturity)

Description

Price = basketbyju(RateSpec, BasketStockSpec, OptSpec, Strike,
Settle, Maturity)
prices European basket options using the Nengjiu Ju approximation model.

Input Arguments

RateSpec

Annualized, continuously compounded rate term structure. For more information on the interest rate specification, see intenvset.

BasketStockSpec

BasketStock specification. For information on the basket of stocks specification, see basketstockspec.

OptSpec

String or 2-by-1 cell array of the strings 'call' or 'put'.

Strike

Scalar for the option strike price.

Settle

Scalar of the settlement or trade date specified as a string or serial date number.

Maturity

Maturity date specified as a string or serial date number.

Output Arguments

Price

Price of the basket option.

Examples

Find a European call basket option of two stocks. Assume that the stocks are currently trading at $10 and $11.50 with annual volatilities of 20% and 25%, respectively. The basket contains one unit of the first stock and one unit of the second stock. The correlation between the assets is 30%. On January 1, 2009, an investor wants to buy a 1-year call option with a strike price of $21.50. The current annualized, continuously compounded interest rate is 5%. Use this data to compute the price of the call basket option with the Ju approximation model.

Settle = 'Jan-1-2009';
Maturity  = 'Jan-1-2010';

% Define RateSpec
Rate = 0.05;
Compounding = -1;
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', ...
Settle, 'EndDates', Maturity, 'Rates', Rate, 'Compounding', Compounding);

% Define the Correlation matrix. Correlation matrices are symmetric, and
% have ones along the main diagonal.
Corr = [1 0.30; 0.30 1];

% Define BasketStockSpec
AssetPrice =  [10;11.50]; 
Volatility = [0.2;0.25];
Quantity = [1;1];
BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr);

%Compute the price of the call basket option
OptSpec = {'call'};
Strike = 21.5;
PriceCorr30 = basketbyju(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity)

This returns:

PriceCorr30 =

   2.12214
 

Compute the price of the basket instrument for these two stocks with a correlation of 60%. Then compare this cost to the total cost of buying two individual call options:

Corr = [1 0.60; 0.60 1];

% Define the new BasketStockSpec
BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr);

%Compute the price of the call basket option with Correlation = -0.60
PriceCorr60 = basketbyju(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity)

This returns:

PriceCorr60 =

   2.27566

The following table summarizes the sensitivity of the option to correlation changes. In general, the premium of the basket option decreases with lower correlation and increases with higher correlation.

Correlation-0.60 -0.30 00.30 0.60
Premium1.52830 1.76006 1.9527 2.1221 2.2756

Compute the cost of two vanilla 1-year call options using the Black-Scholes (BLS) model on the individual assets:

StockSpec = stockspec(Volatility, AssetPrice);
StrikeVanilla= [10;11.5];

PriceVanillaOption = optstockbybls(RateSpec, StockSpec, Settle, Maturity,...
OptSpec, StrikeVanilla)

This returns:

PriceVanillaOption =

    1.0451
    1.4186

Find the total cost of buying two individual call options:

sum(PriceVanillaOption) 

This returns:

ans=2.4637

The total cost of purchasing two individual call options is $2.4637, compared to the maximum cost of the basket option of $2.27 with a correlation of 60%.

More About

References

Nengjiu Ju, "Pricing Asian and Basket Options Via Taylor Expansion", Journal of Computational Finance, Vol. 5, 2002.

See Also

|

Was this topic helpful?