www.gusucode.com > fininst 案例源码程序 matlab代码 > fininst/PricesBasketOptionsUsingtheLongstaffSchwartzModelExample.m
%% Prices Basket Options Using the Longstaff-Schwartz Model % Copyright 2015 The MathWorks, Inc. %% % 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) %% % 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)