exponenta event banner

Сопоставление функций инструментария финансовых инструментов с объектной основой для инструментов, моделей и прайсеров

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

В function-based framework типичный поток операций для оценки облигации со встроенными опциями выглядит следующим образом.

  1. Создать 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);

  2. Создание объекта дерева «корпус-белый» с помощью 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)
    

  3. Цена облигации со встроенными опционами с использованием дерева процентных ставок Hull-White с optembndbyhw.

    OldPrice = optembndbyhw(HWTree,CouponRate,Settle,Maturity,'call',Strike,ExerciseDates,'Period',Period)
    
    OldPrice =
    
      109.4814
    

В отличие от этого, в потоке операций на основе объектов панели инструментов финансовых инструментов расчет цены на инструмент выполняется с использованием инструментов, моделей и ценовых объектов:

  1. Создание 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);

  2. Создать ratecurve объект с использованием ratecurve.

    myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates,'Basis',Basis);

  3. Создать HullWhite объект модели с использованием HullWhite.

    HWModel = finmodel("HullWhite","Alpha",Alpha,"Sigma",Vol);

  4. Создание IRTree ценовой объект с использованием IRTree.

    HWPricer = finpricer("IRTree",'Model',HWModel,'DiscountCurve',myRC,'TreeDates',TreeDates');

  5. Цена облигационного инструмента с использованием price.

    NewPrice = price(HWPricer, CallableBond)
    NewPrice =
    
      109.4814
    

Примечание

Функциональные и объектные потоки операций могут возвращать различные цены инструментов, даже если используются одни и те же данные. Разница заключается в том, что существующие функции инструментария финансовых инструментов используются внутри системы. datetime и использование объектной инфраструктуры yearfrac для обработки даты.

Для получения информации о сопоставлении расчета цен инструментов на основе функций и расчета цен инструментов на основе объектов см.:

Связанные темы