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 к основанной на объектах среде