Этот пример создает трехмерный график, показывающий, как гамма изменяется относительно цены для опции Black-Scholes.
Напомним, что гамма является второй производной от цены опции относительно базовой цены обеспечения. График в этом примере показывает трехмерную поверхность, значение z которой является гаммой опции, так как изменяются цена (ось X) и время (ось Y). График добавляет еще четвертую размерность, показывая дельту опции (первую производную от цены опциона к цене обеспечения) в качестве цвета поверхности. Сначала установите ценовую область значений опций и установите временную область значений в один год, разделенный на полмесяцы и выраженный как доли года.
Range = 10:70; Span = length(Range); j = 1:0.5:12; Newj = j(ones(Span,1),:)'/12;
Для каждого временного периода создайте вектор цен от 10 до 70 и создайте матрицу всех таковых.
JSpan = ones(length(j),1); NewRange = Range(JSpan,:); Pad = ones(size(Newj));
Вычислите чувствительность гаммы и дельты (греки) с помощью blsgamma
и blsdelta
функций. Гамма является вторым производным от опции относительно цены акции, а дельта является первым производным от цены опции относительно цены акции. Цена исполнения составляет $40, процентная ставка без риска - 10%, а волатильность - 0,35 для всех цен и периодов.
ZVal = blsgamma(NewRange, 40*Pad, 0.1*Pad, Newj, 0.35*Pad); Color = blsdelta(NewRange, 40*Pad, 0.1*Pad, Newj, 0.35*Pad);
Отобразите греков как функцию от цены и времени. Гамма является осью Z; delta - цвет.
mesh(Range, j, ZVal, Color); xlabel('Stock Price ($)'); ylabel('Time (months)'); zlabel('Gamma'); title('Call Option Price Sensitivity'); axis([10 70 1 12 -inf inf]); view(-40, 50); colorbar('horiz');
blsdelta
| blsgamma
| blsprice
| blsvega
| bndconvy
| bnddury
| bndkrdur
| bndprice
| corr2cov
| portopt
| zbtprice
| zero2disc
| zero2fwd