Financial Instruments Toolbox™ позволяет вам использовать или функциональную среду или альтернативную основанную на объектах среду, чтобы оценить финансовые инструменты.
В функциональной среде типичный рабочий процесс, чтобы оценить связь со встроенными опциями следующие.
Создайте RateSpec
инструментальное использование intenvset
.
% Zero Data Settle = datetime(2018,9,15); Type = "zero"; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; Compounding = -1; Basis = 1; % Instrument parameters Maturity = datetime(2024,9,15); CouponRate = 0.035; Strike = 100; ExerciseDates = datetime(2022,9,15); CallSchedule = timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); Period = 1; % HW Parameters Vol = 0.01; Alpha = 0.1; TreeDates = Settle + calyears(1:10); RateSpec = intenvset('Compounding', Compounding,'StartDates', Settle,... 'EndDates', ZeroDates,'Rates', ZeroRates,'Basis',Basis);
Создайте Белое как оболочка древовидное объектное использование hwvolspec
, hwtimespec
, и hwtree
.
HWVolSpec = hwvolspec(Settle, TreeDates, Vol,TreeDates, Alpha); HWTimeSpec = hwtimespec(Settle, TreeDates, 1); HWTree = hwtree(HWVolSpec, RateSpec, HWTimeSpec); OldPrice = optembndbyhw(HWTree,CouponRate,Settle,Maturity,'call',Strike,ExerciseDates,'Period',Period)
Оцените связь со встроенными опциями с помощью Белого как оболочка дерева процентной ставки с optembndbyhw
.
OldPrice = optembndbyhw(HWTree,CouponRate,Settle,Maturity,'call',Strike,ExerciseDates,'Period',Period)
OldPrice = 109.4814
В отличие от этого, в Financial Instruments Toolbox основанный на объектах рабочий процесс, вы оцениваете инструмент с помощью инструмента, модели и объектов калькулятора цен:
Создайте OptionEmbeddedFixedBond
инструмент с помощью OptionEmbeddedFixedBond
.
% Zero Data Settle = datetime(2018,9,15); Type = "zero"; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; Compounding = -1; Basis = 1; % Instrument parameters Maturity = datetime(2024,9,15); CouponRate = 0.035; Strike = 100; ExerciseDates = datetime(2022,9,15); CallSchedule = timetable(ExerciseDates,Strike,'VariableNames',{'Strike Schedule'}); Period = 1; % HW Parameters Vol = 0.01; Alpha = 0.1; TreeDates = Settle + calyears(1:10); CallableBond = fininstrument("OptionEmbeddedFixedBond", "Maturity",Maturity,... 'CouponRate',CouponRate,'Period',Period, ... 'CallSchedule',CallSchedule,'Name',"CallableBond",'Basis',Basis);
Создайте ratecurve
объект с помощью ratecurve
.
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates,'Basis',Basis);
Создайте HullWhite
объект модели с помощью HullWhite
.
HWModel = finmodel("HullWhite","Alpha",Alpha,"Sigma",Vol);
Создайте IRTree
объект калькулятора цен использование IRTree
.
HWPricer = finpricer("IRTree",'Model',HWModel,'DiscountCurve',myRC,'TreeDates',TreeDates');
Оцените инструментальное использование связи price
.
NewPrice = price(HWPricer, CallableBond)
NewPrice = 109.4814
Примечание
Функциональные и основанные на объектах рабочие процессы могут возвратить различные цены на инструменты, даже если вы используете те же данные. Различие - то, потому что существующие функции Financial Instruments Toolbox внутренне используют datetime
и основанное на объектах использование среды yearfrac
для обработки даты.
Для отображения функциональной инструментальной оценки к основанной на объектах инструментальной оценке см.:
Отображение функций Financial Instruments Toolbox для инструментов процентной ставки
Сопоставляя функции Financial Instruments Toolbox для акции, товара, инструментов FX
Отображение функций Financial Instruments Toolbox для инструментов кредитного дериватива
Отображение функций кривой Financial Instruments Toolbox к основанной на объектах среде