exponenta event banner

Ценовые азиатские опционы

В этом примере показано, как оценить европейский азиатский опцион с помощью шести методов в Toolbox™ финансовых инструментов. Этот пример демонстрирует четыре замкнутых приближения формы (Кемна-Ворст, Леви, Тернбулл-Уэйкман и Хауг-Хауг-Марграб), модель решетки (Кокс-Росс-Рубинштейн) и моделирование Монте-Карло. Все эти методы включают некоторые компромиссы между численной точностью и вычислительной эффективностью. Этот пример также демонстрирует, как колебания спотовых цен, волатильность и ударные цены влияют на цены опционов на европейские ванильные и азиатские опционы.

Обзор азиатских вариантов

Азиатские опционы - это ценные бумаги с выплатами, которые зависят от средней стоимости базового актива за определенный период времени. Основными активами могут быть акции, товары или финансовые индексы.

На рынке встречаются два типа азиатских опционов: опционы средней цены и опционы средней страйк. Опционы средней цены имеют фиксированное значение страйка, а используется средняя цена основного средства. Средние варианты страйка имеют страйк, равный средней стоимости базового актива.

Окупаемость при погашении среднеазиатского опциона средней цены составляет:

max (0,Savg-K) для вызова

max (0,K-Savg) для пут

Погашение при погашении среднего страйк европейского азиатского опциона составляет:

max (0,St-Savg) для вызова

max (0,Savg-St) для пут

где Savg - средняя цена базового актива, St - цена при погашении базового актива, а K - цена страйка.

Среднее значение может быть арифметическим или геометрическим.

Ценообразование азиатских опционов с использованием приближений закрытой формы

Toolbox™ по финансовым инструментам поддерживает четыре закрытые аппроксимации для европейских опционов средней цены. Метод Кемны-Ворста основан на среднем геометрическом значении цены базового в течение срока действия опциона [1]. Модели Леви и Тернбулла-Уэйкмана представляют собой закрытое ценовое решение для вариантов непрерывного арифметического усреднения [2,3]. Аппроксимация Хауга-Хауга-Марграбе используется для расчета цен на варианты дискретного арифметического усреднения [4].

Все функции расчета цены asianbykv, asianbylevy, asianbytw, и asianbyhhm взять структуру срока процентной ставки и структуру запасов в качестве входных данных.

Рассмотрим следующий пример:

% Create RateSpec from the interest rate term structure
StartDates = '12-March-2014';
EndDates = '12-March-2020';
Rates = 0.035;   
Compounding = -1;
Basis = 1;

RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ...
    'EndDates', EndDates, 'Rates', Rates, 'Compounding', ...
    Compounding, 'Basis', Basis);

% Define StockSpec with the underlying asset information
Sigma = 0.20;
AssetPrice = 100;

StockSpec = stockspec(Sigma, AssetPrice);

% Define the Asian option
Settle = '12-March-2014';
ExerciseDates = '12-March-2015';
Strike = 90;
OptSpec = 'call';

% Kemna-Vorst closed form model
PriceKV = asianbykv(RateSpec, StockSpec, OptSpec, Strike, Settle,...
    ExerciseDates);

% Levy model approximation
PriceLevy = asianbylevy(RateSpec, StockSpec, OptSpec, Strike, Settle,...
    ExerciseDates);

% Turnbull-Wakeman approximation
PriceTW = asianbytw(RateSpec, StockSpec, OptSpec, Strike, Settle,...
    ExerciseDates);

% Haug-Haug-Margrabe approximation
PriceHHM = asianbyhhm(RateSpec, StockSpec, OptSpec, Strike, Settle,...
    ExerciseDates);     
                 
% Comparison of calculated prices for the geometric and arithmetic options
% using different closed form algorithms.
displayPricesClosedForm(PriceKV, PriceLevy, PriceTW, PriceHHM)
Comparison of Asian Arithmetic and Geometric Prices:

Kemna-Vorst:        11.862580
Levy:               12.164734
Turnbull-Wakeman:   12.164734
Haug-Haug-Margrabe: 12.108746

Расчет цен на азиатские опционы с использованием модели Кокса-Росса-Рубинштейна

В дополнение к приближениям закрытой формы, Toolbox™ финансовых инструментов поддерживает ценообразование европейских опционов средней цены с использованием деревьев CRR через функцию asianbycrr.

Функция расчета цены решетки asianbycrr принимает дерево процентных ставок ( CRRTree ) и структура акций в качестве входных данных. Можно оценить предыдущие опции, построив CRRTree используя структуру срока процентной ставки и спецификацию запаса из приведенного выше примера.

% Create the time specification of the tree
NPeriods = 20;
TreeValuationDate = '12-March-2014';
TreeMaturity = '12-March-2024';
TimeSpec = crrtimespec(TreeValuationDate, TreeMaturity, NPeriods);

% Build the tree
CRRTree =  crrtree(StockSpec, RateSpec, TimeSpec);

% Price the European Asian option using the CRR lattice model.
% The function 'asianbycrr' computes prices of arithmetic and geometric
% Asian options.
AvgType = {'arithmetic';'geometric'};
AmericanOpt = 0;
PriceCRR20 = asianbycrr(CRRTree, OptSpec, Strike, Settle, ExerciseDates,...
                        AmericanOpt, AvgType);

% Increase the numbers of periods in the tree and compare results
NPeriods = 40;
TimeSpec = crrtimespec(TreeValuationDate, TreeMaturity, NPeriods);
CRRTree =  crrtree(StockSpec, RateSpec, TimeSpec);

PriceCRR40 = asianbycrr(CRRTree, OptSpec, Strike, Settle, ExerciseDates,...
                        AmericanOpt, AvgType);
                    
% Display prices
displayPricesCRR(PriceCRR20, PriceCRR40)
Asian Prices using the CRR lattice model:

PriceArithmetic(CRR20): 11.934380
PriceArithmetic(CRR40): 12.047243
PriceGeometric (CRR20): 11.620899
PriceGeometric (CRR40): 11.732037

Результаты выше сравнивают результаты расчета как геометрических, так и арифметических азиатских вариантов с использованием деревьев CRR с 20 и 40 уровнями. По мере увеличения количества уровней результаты приближаются к решениям закрытой формы.

Расчет цен на азиатские опционы с использованием моделирования Монте-Карло

Еще один метод оценки европейских опционов средней цены с помощью Toolbox™ финансовых инструментов - моделирование Монте-Карло.

Функция расчета цены asianbyls принимает структуру срока процентной ставки и структуру запаса в качестве входных данных. Время вывода и выполнения моделирования Монте-Карло зависит от количества трактов ( NumTrials и количество периодов времени на тракт ( NumPeriods ).

Можно оценить те же опции предыдущих примеров с помощью Monte Carlo.

% Simulation Parameters
NumTrials = 500;
NumPeriods = 200;

% Price the arithmetic option 
PriceAMC = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                     ExerciseDates,'NumTrials', NumTrials, ...
                     'NumPeriods', NumPeriods);

% Price the geometric option 
PriceGMC = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                     ExerciseDates,'NumTrials', NumTrials, ...
                     'NumPeriods', NumPeriods, 'AvgType', AvgType(2));

% Use the antithetic variates method to value the options
Antithetic = true;
PriceAMCAntithetic = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                    ExerciseDates,'NumTrials', NumTrials, 'NumPeriods',...
                    NumPeriods, 'Antithetic', Antithetic);

PriceGMCAntithetic = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                    ExerciseDates,'NumTrials', NumTrials, 'NumPeriods',...
                    NumPeriods, 'Antithetic', Antithetic,'AvgType', AvgType(2));
                
% Display prices
displayPricesMonteCarlo(PriceAMC, PriceAMCAntithetic, PriceGMC, PriceGMCAntithetic)
Asian Prices using Monte Carlo Method:

Arithmetic Asian
Standard Monte Carlo:           12.304046
Variate Antithetic Monte Carlo: 12.304046

Geometric Asian
Standard Monte Carlo:           12.048434
Variate Antithetic Monte Carlo: 12.048434

Использование вариационной антитетики ускоряет процесс преобразования, уменьшая дисперсию.

Можно создать график для отображения разницы между геометрической азиатской ценой с помощью модели Кемны-Ворста, стандартной модели Монте-Карло и антитетической цены Монте-Карло.

nTrials = [50:5:100 110:10:250 300:50:500 600:100:2500]';
PriceKVVector = PriceKV * ones(size(nTrials));
PriceGMCVector = nan(size(nTrials));
PriceGMCAntitheticVector = nan(size(nTrials));
TimeGMCAntitheticVector = nan(length(nTrials),1);
TimeGMCVector = nan(length(nTrials),1);
idx = 1;
for iNumTrials = nTrials'
    PriceGMCVector(idx) = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                        ExerciseDates,'NumTrials', iNumTrials, 'NumPeriods',...
                        NumPeriods,'AvgType', AvgType(2));

    PriceGMCAntitheticVector(idx) = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                        ExerciseDates,'NumTrials', iNumTrials, 'NumPeriods',...
                        NumPeriods, 'Antithetic', Antithetic,'AvgType', AvgType(2));
    idx = idx+1;
end

figure('menubar', 'none', 'numbertitle', 'off')
plot(nTrials, [PriceKVVector PriceGMCVector PriceGMCAntitheticVector]);
title 'Variance Reduction by Antithetic'
xlabel 'Number of Simulations'
ylabel 'Asian Option Price'
legend('Kemna-Vorst', 'Standard Monte Carlo', 'Variate Antithetic Monte Carlo ', 'location', 'northeast');

Figure contains an axes. The axes with title Variance Reduction by Antithetic contains 3 objects of type line. These objects represent Kemna-Vorst, Standard Monte Carlo, Variate Antithetic Monte Carlo.

На приведенном выше графике показано, как уменьшается колебание в моделируемой цене при использовании различных антитетиков.

Сравнение результатов модели ценообразования

Цены, рассчитанные методом Монте-Карло, варьируются в зависимости от результата моделирования. Увеличение NumTrials и проанализировать результаты.

NumTrials = 2000;

PriceAMCAntithetic2000 = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, ExerciseDates,...
         'NumTrials', NumTrials, 'NumPeriods', NumPeriods, 'Antithetic', Antithetic);

PriceGMCAntithetic2000 = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                    ExerciseDates,'NumTrials', NumTrials, 'NumPeriods',...
                    NumPeriods, 'Antithetic', Antithetic,'AvgType', AvgType(2));
                
% Comparison of calculated Asian call prices
displayComparisonAsianCallPrices(PriceLevy, PriceTW, PriceHHM, PriceCRR40, PriceAMCAntithetic, PriceAMCAntithetic2000, PriceKV, PriceGMCAntithetic, PriceGMCAntithetic2000)
Comparison of Asian call prices:

Arithmetic Asian
Levy:                     12.164734
Turnbull-Wakeman:         12.164734
Haug-Haug-Margrabe:       12.108746
Cox-Ross-Rubinstein:      12.047243
Monte Carlo(500 trials):  12.304046
Monte Carlo(2000 trials): 12.196848

Geometric Asian
Kemna-Vorst:              11.862580
Cox-Ross-Rubinstein:      11.732037
Monte Carlo(500 trials):  12.048434
Monte Carlo(2000 trials): 11.932017

Приведенная выше таблица контрастирует результаты моделей закрытого приближения с моделированием цен, осуществляемым с использованием деревьев CRR и Monte Carlo.

Азиатские и ванильные варианты вызова

Азиатские варианты являются популярными инструментами, поскольку они, как правило, менее дороги, чем сопоставимые ванильные звонки и ставит. Это связано с тем, что волатильность в среднем значении нижнего слоя имеет тенденцию быть ниже, чем волатильность в значении самого нижнего слоя.

Toolbox™ «Финансовые инструменты» поддерживает несколько алгоритмов ценообразования на ванильные опционы. Сравним цену азиатских опционов с их аналогом Vanilla.

Во-первых, рассчитайте цену европейского варианта ванили с помощью модели Black Scholes.

PriceBLS = optstockbybls(RateSpec, StockSpec, Settle, ExerciseDates,...
                         OptSpec, Strike);
                     
% Comparison of calculated call prices.
displayComparisonVanillaAsian('Prices', PriceBLS, PriceKV, PriceLevy, PriceTW, PriceHHM)
Comparison of Vanilla and Asian Prices:

Vanilla BLS:              15.743809
Asian Kemna-Vorst:        11.862580
Asian Levy:               12.164734
Asian Turnbull-Wakeman:   12.164734
Asian Haug-Haug-Margrabe: 12.108746

Как геометрические, так и арифметические азиаты ценятся ниже, чем их ванильный аналог.

Цены опционов можно анализировать на различных уровнях базового основного средства. С помощью Toolbox™ «Финансовые инструменты» можно наблюдать влияние различных параметров на цену опционов. Рассмотрим, например, влияние колебаний цены базового актива.

StockPrices = (50:5:150)';
PriceBLS = nan(size(StockPrices));
PriceKV = nan(size(StockPrices));
PriceLevy = nan(size(StockPrices));
PriceTW = nan(size(StockPrices));
PriceHHM = nan(size(StockPrices));
idx = 1;
for So = StockPrices'
    SP = stockspec(Sigma, So);
    PriceBLS(idx) = optstockbybls(RateSpec, SP, Settle, ExerciseDates,...
                                  OptSpec, Strike);
                              
    PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, Strike, Settle,...
                             ExerciseDates);                                  
                     
    PriceLevy(idx) = asianbylevy(RateSpec, SP, OptSpec, Strike, Settle,...
                                 ExerciseDates);

    PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, Strike, Settle,...
                             ExerciseDates);
                         
    PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, Strike, Settle,...
                             ExerciseDates);                             
    
    idx = idx+1;
end

figure('menubar', 'none', 'numbertitle', 'off')
plot(StockPrices, [PriceBLS PriceKV PriceLevy PriceTW PriceHHM]);
xlabel 'Spot Price ($)'
ylabel 'Option Price ($)'
title 'Call Price Comparison'
legend('Vanilla', 'Geometric Asian', 'Continuous Arithmetic Asian (1)', 'Continuous Arithmetic Asian (2)', 'Discrete Arithmetic Asian', 'location', 'northwest');

Figure contains an axes. The axes with title Call Price Comparison contains 5 objects of type line. These objects represent Vanilla, Geometric Asian, Continuous Arithmetic Asian (1), Continuous Arithmetic Asian (2), Discrete Arithmetic Asian.

Можно заметить, что цена азиатского варианта дешевле, чем цена варианта Vanilla.

Также можно наблюдать влияние изменений волатильности базового актива. В таблице ниже показано, что происходит с азиатскими и ванильными опционными ценами при изменении постоянной волатильности.

Call Option (ITM)

Strike = 90 AssetPrice = 100

-------------------------------------------------------------------------------------

Volatility Haug-Haug-Margrabe Turnbull-Wakeman Levy Kemna-Vorst BLS

10% 11.3946 11.3987 11.3987 11.3121 13.4343

20% 12.1087 12.1647 12.1647 11.8626 15.7438

30% 13.5374 13.6512 13.6512 13.0338 18.8770

40% 15.2823 15.4464 15.4464 14.4086 22.2507

Сравнение расчетных цен показывает, что азиатские опционы менее чувствительны к изменениям волатильности, поскольку усреднение снижает волатильность стоимости базового актива. Кроме того, азиатские варианты, использующие среднее арифметическое, дороже, чем те, которые используют среднее геометрическое.

Теперь изучите влияние забастовки на цены опционов.

Strikes = (90:5:120)';
NStrike = length(Strikes);
PriceBLS = nan(size(Strikes));
PriceKV = nan(size(Strikes));
PriceLevy = nan(size(Strikes));
PriceTW = nan(size(Strikes));
PriceHHM = nan(size(Strikes));
idx = 1;
for ST = Strikes'
    SP = stockspec(Sigma, AssetPrice);
    PriceBLS(idx) = optstockbybls(RateSpec, SP, Settle, ExerciseDates,...
                                  OptSpec, ST);
                     
    PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, ST, Settle,...
                             ExerciseDates);                                  
                                  
    PriceLevy(idx) = asianbylevy(RateSpec, SP, OptSpec, ST, Settle,...
                                 ExerciseDates);

    PriceTW(idx) = asianbytw(RateSpec, SP, OptSpec, ST, Settle,...
                             ExerciseDates);                             
                                 
    PriceHHM(idx) = asianbyhhm(RateSpec, SP, OptSpec, ST, Settle,...
                             ExerciseDates);     
	
    idx = idx+1;
end

figure('menubar', 'none', 'numbertitle', 'off')
plot(Strikes, [PriceBLS PriceKV PriceLevy PriceTW PriceHHM]);
xlabel 'Strike Price ($)'
ylabel 'Option Price ($)'
title 'Effect of Strike on Option Prices'
legend('Vanilla', 'Geometric Asian', 'Continuous Arithmetic Asian (1)', 'Continuous Arithmetic Asian (2)', 'Discrete Arithmetic Asian', 'location', 'northeast');

Figure contains an axes. The axes with title Effect of Strike on Option Prices contains 5 objects of type line. These objects represent Vanilla, Geometric Asian, Continuous Arithmetic Asian (1), Continuous Arithmetic Asian (2), Discrete Arithmetic Asian.

На рисунке выше показана цена опциона относительно цены страйка. Поскольку стоимость опциона колла уменьшается по мере роста цены страйка, азиатская кривая колла находится под кривой колла ванили. Можно заметить, что азиатский колл-вариант дешевле, чем ванильный.

Хеджирование

Хеджирование является страховкой для минимизации воздействия рыночных движений на стоимость позиции или портфеля. По мере того, как основные изменения изменяются, пропорции инструментов, формирующих портфель, могут нуждаться в корректировке для поддержания чувствительности в желаемом диапазоне. Delta измеряет чувствительность цены опциона к изменениям цены андерлаинга.

Предположим, что у вас есть портфель из двух вариантов с одинаковой страйк и зрелостью. Для вычисления можно использовать Toolbox™ Финансовые инструменты. Delta для вариантов «Ваниль» и «Средняя цена».

OutSpec = 'Delta';

% Vanilla option using Black Scholes 
DeltaBLS = optstocksensbybls(RateSpec, StockSpec, Settle, ExerciseDates,...
                             OptSpec, Strike, 'OutSpec', OutSpec);

% Asian option using Kemna-Vorst method
DeltaKV = asiansensbykv(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                        ExerciseDates,  'OutSpec', OutSpec);                         
                             
% Asian option using Levy model
DeltaLevy = asiansensbylevy(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                            ExerciseDates,  'OutSpec', OutSpec);

% Asian option using Turnbull-Wakeman model
DeltaTW = asiansensbytw(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                        ExerciseDates,  'OutSpec', OutSpec);
                    
% Asian option using Haug-Haug-Margrabe model
DeltaHHM = asiansensbyhhm(RateSpec, StockSpec, OptSpec, Strike, Settle,...
                        ExerciseDates,  'OutSpec', OutSpec);                        

% Delta Comparison
displayComparisonVanillaAsian('Delta', DeltaBLS, DeltaKV, DeltaLevy, DeltaTW, DeltaHHM)
Comparison of Vanilla and Asian Delta:

Vanilla BLS:              0.788666
Asian Kemna-Vorst:        0.844986
Asian Levy:               0.852806
Asian Turnbull-Wakeman:   0.852806
Asian Haug-Haug-Margrabe: 0.857864

Следующий график демонстрирует поведение Delta для ванильных и азиатских опционов в зависимости от базовой цены.

StockPrices = (40:5:120)';
NStockPrices = length(StockPrices);
DeltaBLS = nan(size(StockPrices));
DeltaKV = nan(size(StockPrices));
DeltaLevy = nan(size(StockPrices));
DeltaTW = nan(size(StockPrices));
DeltaHHM = nan(size(StockPrices));

idx = 1;
for SPrices = StockPrices'
    SP = stockspec(Sigma, SPrices);
    DeltaBLS(idx) = optstocksensbybls(RateSpec, SP, Settle, ...
                    ExerciseDates, OptSpec, Strike, 'OutSpec', OutSpec);

    DeltaKV(idx) = asiansensbykv(RateSpec, SP, OptSpec, Strike, ...
                   Settle, ExerciseDates,'OutSpec', OutSpec);                
                
    DeltaLevy(idx) = asiansensbylevy(RateSpec, SP, OptSpec, Strike,...
                     Settle, ExerciseDates, 'OutSpec', OutSpec);

    DeltaTW(idx) = asiansensbytw(RateSpec, SP, OptSpec, Strike, ...
                   Settle, ExerciseDates,'OutSpec', OutSpec);
               
    DeltaHHM(idx) = asiansensbyhhm(RateSpec, SP, OptSpec, Strike, ...
                   Settle, ExerciseDates,'OutSpec', OutSpec);
               
    idx = idx+1;
end

figure('menubar', 'none', 'numbertitle', 'off')
plot(StockPrices, [DeltaBLS DeltaKV DeltaLevy DeltaTW DeltaHHM]);
xlabel 'Spot Price ($)'
ylabel 'Call Delta'
title 'Delta Comparison (Strike Price = $90)'
legend('Vanilla', 'Geometric Asian', 'Continuous Arithmetic Asian (1)', 'Continuous Arithmetic Asian (2)', 'Discrete Arithmetic Asian', 'location', 'northwest');

Figure contains an axes. The axes with title Delta Comparison (Strike Price = $90) contains 5 objects of type line. These objects represent Vanilla, Geometric Asian, Continuous Arithmetic Asian (1), Continuous Arithmetic Asian (2), Discrete Arithmetic Asian.

Вариант вызова Vanilla или Asian в денежном (ITM) более чувствителен к изменению цен, чем вариант out of money (OTM). Если цена актива глубоко в деньгах, то она скорее всего будет реализована. Обратное происходит для варианта «вне денег». Азиатская дельта ниже для опционов на деньги и выше для опционов на деньги, чем ее ванильный европейский аналог. Геометрическая дельта Азии ниже арифметической дельты Азии.

Ссылки

[1] Кемна, А. и Ворст, А. «Метод ценообразования для опционов на основе средней стоимости активов». Журнал банковских и финансовых операций. т. 14, 1990, стр. 113-129.

[2] Levy, E. «Ценовые европейские валютные опционы средней ставки». Журнал международных денег и финансов. Т. 11 1992, стр. 474-491.

[3] Тернбулл, С. М., и Уэйкман, Л.М. «Быстрый алгоритм ценообразования на европейские средние опционы». Журнал финансового и количественного анализа. Том 26 (3), 1991, стр. 377-389.

[4] Хауг, Е. Г. Полное руководство по формулам опционной цены. Макгроу-Хилл, Нью-Йорк, 2007.

Служебные функции

function displayPricesClosedForm(PriceKV, PriceLevy, PriceTW, PriceHHM)
fprintf('Comparison of Asian Arithmetic and Geometric Prices:\n');
fprintf('\n');
fprintf('Kemna-Vorst:        %f\n', PriceKV);
fprintf('Levy:               %f\n', PriceLevy);
fprintf('Turnbull-Wakeman:   %f\n', PriceTW);
fprintf('Haug-Haug-Margrabe: %f\n', PriceHHM);
end

function displayPricesCRR(PriceCRR20, PriceCRR40)
fprintf('Asian Prices using the CRR lattice model:\n');
fprintf('\n');
fprintf('PriceArithmetic(CRR20): %f\n', PriceCRR20(1));
fprintf('PriceArithmetic(CRR40): %f\n', PriceCRR40(1));
fprintf('PriceGeometric (CRR20): %f\n', PriceCRR20(2));
fprintf('PriceGeometric (CRR40): %f\n', PriceCRR40(2));
end

function displayPricesMonteCarlo(PriceAMC, PriceAMCAntithetic, PriceGMC, PriceGMCAntithetic)
fprintf('Asian Prices using Monte Carlo Method:\n');
fprintf('\n');
fprintf('Arithmetic Asian\n');
fprintf('Standard Monte Carlo:           %f\n', PriceAMC);
fprintf('Variate Antithetic Monte Carlo: %f\n\n', PriceAMCAntithetic);
fprintf('Geometric Asian\n');
fprintf('Standard Monte Carlo:           %f\n', PriceGMC);
fprintf('Variate Antithetic Monte Carlo: %f\n', PriceGMCAntithetic);
end

function displayComparisonAsianCallPrices(PriceLevy, PriceTW, PriceHHM, PriceCRR40, PriceAMCAntithetic, PriceAMCAntithetic2000, PriceKV, PriceGMCAntithetic, PriceGMCAntithetic2000)
fprintf('Comparison of Asian call prices:\n');
fprintf('\n');
fprintf('Arithmetic Asian\n');
fprintf('Levy:                     %f\n', PriceLevy);
fprintf('Turnbull-Wakeman:         %f\n', PriceTW);
fprintf('Haug-Haug-Margrabe:       %f\n', PriceHHM);
fprintf('Cox-Ross-Rubinstein:      %f\n', PriceCRR40(1));
fprintf('Monte Carlo(500 trials):  %f\n', PriceAMCAntithetic);
fprintf('Monte Carlo(2000 trials): %f\n', PriceAMCAntithetic2000);
fprintf('\n');
fprintf('Geometric Asian\n');
fprintf('Kemna-Vorst:              %f\n', PriceKV);
fprintf('Cox-Ross-Rubinstein:      %f\n', PriceCRR40(2));
fprintf('Monte Carlo(500 trials):  %f\n', PriceGMCAntithetic);
fprintf('Monte Carlo(2000 trials): %f\n', PriceGMCAntithetic2000);
end

function displayComparisonVanillaAsian(type, BLS, KV, Levy, TW, HHM)
fprintf('Comparison of Vanilla and Asian %s:\n', type);
fprintf('\n');
fprintf('Vanilla BLS:              %f\n', BLS);
fprintf('Asian Kemna-Vorst:        %f\n', KV);
fprintf('Asian Levy:               %f\n', Levy);
fprintf('Asian Turnbull-Wakeman:   %f\n', TW);
fprintf('Asian Haug-Haug-Margrabe: %f\n', HHM);
end

См. также

| | | | | | | | | | | | |

Связанные примеры

Подробнее

Внешние веб-сайты