| Contents | Index |
Price = basketbyls(RateSpec, BasketStockSpec, OptSpec,
Strike,
Settle, ExerciseDates)
Price = basketbyls(RateSpec, BasketStockSpec, OptSpec,
Strike,
Settle, ExerciseDates, 'ParameterName', ParameterValue ...)
Price = basketbyls(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, ExerciseDates) prices basket options using the Longstaff-Schwartz model.
Price = basketbyls(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, ExerciseDates, 'ParameterName', ParameterValue ...) accepts optional inputs as one or more comma-separated parameter/value pairs. 'ParameterName' is the name of the parameter inside single quotes. 'ParameterValue is the value corresponding to 'ParameterName'. Specify parameter-value pairs in any order. Names are case-insensitive and partial string matches are allowable, if no ambiguities exist.
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 |
The option strike price:
|
Settle |
Scalar of the settlement or trade date specified as a string or serial date number. |
ExerciseDates |
The exercise date for the option:
|
Price |
Price of the basket option. |
Find an American call basket option of three stocks. The stocks are currently trading at $35, $40 and $45 with annual volatilities of 12%, 15% and 18%, respectively. The basket contains 33.33% of each stock. Assume the correlation between all pair of assets is 50%. On May 1, 2009, an investor wants to buy a three-year call option with a strike price of $42. The current annualized continuously compounded interest rate is 5%. Use this data to compute the price of the call basket option using the Longstaff-Schwartz model.
Settle = 'May-1-2009';
Maturity = 'May-1-2012';
% 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.50 0.50; 0.50 1 0.50;0.50 0.50 1];
% Define BasketStockSpec
AssetPrice = [35;40;45];
Volatility = [0.12;0.15;0.18];
Quantity = [0.333;0.333;0.333];
BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr);
% Compute the price of the call basket option
OptSpec = {'call'};
Strike = 42;
AmericanOpt = 1; % American option
Price = basketbyls(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity,...
'AmericanOpt',AmericanOpt)
This returns:
Price = 5.60499
Increase the number of simulation trials to 2000 to give the following results:
NumTrial = 2000; Price = basketbyls(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity,... 'AmericanOpt',AmericanOpt,'NumTrials',NumTrial) Price = 5.6665
Longstaff, F.A., and E.S. Schwartz, "Valuing American Options by Simulation: A Simple Least-Squares Approach", The Review of Financial Studies, Vol. 14, No. 1, Spring 2001, pp. 113–147.
basketsensbyls | basketstockspec
View demos and recorded presentations led by industry experts.
Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |