LinearGaussian2F

Создайте LinearGaussian2F объект модели для Capпол, Swaptionподкачка, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструмент

Описание

Создайте и оцените Capпол, Swaptionподкачка, FloatBond, FloatBondOption, FixedBond, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструментальный объект с LinearGaussian2F модель с помощью этого рабочего процесса:

  1. Использование fininstrument создать Capпол, Swaptionподкачка, FixedBond, FloatBond, FloatBondOption FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструментальный объект.

  2. Использование finmodel задавать LinearGaussian2F объект модели для Capпол, Swaptionподкачка, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструментальный объект.

  3. Использование finpricer задавать IRMonteCarlo метод ценообразования для Capпол, Swaptionподкачка, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструментальный объект.

Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.

Для получения дополнительной информации о доступных методах ценообразования для Capпол, Swaptionподкачка, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструмент, смотрите, Выбирают Instruments, Models и Pricers.

Создание

Описание

пример

LinearGaussian2FModelObj = finmodel(ModelType,'Alpha1,'alpha1_value,'Sigma1',sigma1_value,'Alpha2',alpha2_value,'Sigma2',sigma2_value,'Correlation',correlation_value) создает LinearGaussian2F объект модели путем определения ModelType и необходимые аргументы пары "имя-значение" для Alpha1, Sigma1, Alpha2, Sigma2 и Correlation установить аргументы пары "имя-значение" использования свойств. Например, LinearGaussian2FModelObj = finmodel("LinearGaussian2F",'Alpha1',0.07,'Sigma1',0.01,'Alpha2',0.5, 'Sigma2',0.006,'Correlation',-0.7) создает LinearGaussian2F объект модели.

Входные параметры

развернуть все

Тип модели в виде строки со значением "LinearGaussian2F" или вектор символов со значением 'LinearGaussian2F'.

Типы данных: char | string

LinearGaussian2F Аргументы в виде пар имя-значение

Задайте требуемые разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: LinearGaussian2FModelObj = finmodel("LinearGaussian2F",'Alpha1',0.07,'Sigma1',0.01,'Alpha2',0.5, 'Sigma2',0.006,'Correlation',-0.7)

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

Типы данных: double | timetable

Положительная энергозависимость для первого фактора в виде разделенной запятой пары, состоящей из 'Sigma1' и числовой скаляр или расписание.

Типы данных: double | timetable

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

Типы данных: double | timetable

Положительная энергозависимость для второго фактора в виде разделенной запятой пары, состоящей из 'Sigma2' и числовой скаляр или расписание.

Типы данных: double | timetable

Скалярная корреляция факторов в виде разделенной запятой пары, состоящей из 'Correlation' и числовой скаляр.

Типы данных: double

Свойства

развернуть все

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

Типы данных: double

Положительная энергозависимость для первого фактора, возвращенного как скалярное числовое значение или расписание.

Типы данных: double

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

Типы данных: double

Положительная энергозависимость для второго фактора, возвращенного как скалярное числовое значение или расписание.

Типы данных: double | timetable

Скалярная корреляция факторов, возвращенных как скалярное числовое значение.

Типы данных: double

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить Cap инструмент при использовании LinearGaussian2F модель и IRMonteCarlo метод ценообразования.

Создайте Cap Инструментальный объект

Используйте fininstrument создать Cap инструментальный объект.

CapOpt = fininstrument("Cap","Maturity",datetime(2022,9,15),'Strike',0.01,'Reset',2,'Name',"cap_option")
CapOpt = 
  Cap with properties:

                      Strike: 0.0100
                    Maturity: 15-Sep-2022
                 ResetOffset: 0
                       Reset: 2
                       Basis: 0
                   Principal: 100
             ProjectionCurve: [0x0 ratecurve]
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                        Name: "cap_option"

Создайте LinearGaussian2F Объект модели

Используйте finmodel создать LinearGaussian2F объект модели.

LinearGaussian2FModel = finmodel("LinearGaussian2F",'Alpha1',0.07,'Sigma1',0.01,'Alpha2',0.5,'Sigma2',0.006,'Correlation',-0.7)
LinearGaussian2FModel = 
  LinearGaussian2F with properties:

         Alpha1: 0.0700
         Sigma1: 0.0100
         Alpha2: 0.5000
         Sigma2: 0.0060
    Correlation: -0.7000

Создайте ratecurve Объект

Создайте ratecurve объект с помощью ratecurve.

Settle = datetime(2019,1,1);
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;
 
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: [10x1 datetime]
                Rates: [10x1 double]
               Settle: 01-Jan-2019
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создайте IRMonteCarlo Объект калькулятора цен

Используйте finpricer создать IRMonteCarlo объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

outPricer = finpricer("IRMonteCarlo",'Model',LinearGaussian2FModel,'DiscountCurve',myRC,'SimulationDates',ZeroDates)
outPricer = 
  G2PPMonteCarlo with properties:

          NumTrials: 1000
      RandomNumbers: []
      DiscountCurve: [1x1 ratecurve]
    SimulationDates: [01-Jul-2019    01-Jan-2020    01-Jan-2021    ...    ]
              Model: [1x1 finmodel.LinearGaussian2F]

Цена Cap Инструмент

Используйте price вычислить цену и чувствительность для Cap инструмент.

[Price,outPR] = price(outPricer,CapOpt,["all"])
Price = 1.2389
outPR = 
  priceresult with properties:

       Results: [1x4 table]
    PricerData: [1x1 struct]

outPR.Results
ans=1×4 table
    Price     Delta     Gamma          Vega       
    ______    ______    _____    _________________

    1.2389    132.71    11038    131.63    -163.71

Больше о

развернуть все

Введенный в R2021b