Discount

Создайте Discount объект калькулятора цен для Deposit, FRAподкачка, FixedBond, FloatBond, OISFuture, STIRFuture, и OvernightIndexedSwap использование ratecurve объект

Описание

Создайте и оцените Deposit, FRAподкачка, FixedBond, FloatBond, OISFuture, STIRFuture, и OvernightIndexedSwap инструментальный объект с ratecurve и Discount метод ценообразования с помощью этого рабочего процесса:

  1. Создайте объект кривой процентной ставки с помощью ratecurve.

  2. Использование finpricer задавать Discount объект калькулятора цен для Deposit, FRAподкачка, FixedBond, FloatBond, STIRFuture, OISFuture, или OvernightIndexedSwap инструментальный объект.

    Примечание

    Если вы не задаете ProjectionCurve когда вы создаете Swap или FloatBond инструмент с Discount калькулятор цен, ProjectionCurve значения по умолчанию значения к DiscountCurve значение.

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

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

Создание

Описание

пример

DiscountPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_object) создает Discount объект калькулятора цен путем определения PricerType и необходимый аргумент пары "имя-значение" DiscountCurve установить свойства с помощью пар "имя-значение". Например, DiscountPricerObj = finpricer("Discount",'DiscountCurve',ratecurve_obj) создает Discount объект калькулятора цен.

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

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

Тип калькулятора цен в виде строки со значением "Discount" или вектор символов со значением 'Discount'.

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

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

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

Пример: DiscountPricerObj = finpricer("Discount",'DiscountCurve',ratecurve_obj)

ratecurve объект для дисконтирования потоков наличности в виде разделенной запятой пары, состоящей из 'DiscountCurve' и имя ранее созданного ratecurve объект

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

Свойства

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

ratecurve объект для дисконтирования потоков наличности, возвращенных как ratecurve объект.

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

Функции объекта

priceВычислите цену за инструмент процентной ставки с Discount калькулятор цен

Примеры

свернуть все

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

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

Создайте ratecurve объект с помощью ratecurve поскольку базовая процентная ставка изгибается для Swap инструмент.

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

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

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

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

SwapOpt = fininstrument("Swap",'Maturity',datetime(2027,1,15),'LegRate',[0.024 0.015],'LegType',["fixed","float"],'ProjectionCurve',myRC,'Name',"swap_instrument")
SwapOpt = 
  Swap with properties:

                     LegRate: [0.0240 0.0150]
                     LegType: ["fixed"    "float"]
                       Reset: [2 2]
                       Basis: [0 0]
                    Notional: 100
          LatestFloatingRate: [NaN NaN]
                 ResetOffset: [0 0]
    DaycountAdjustedCashFlow: [0 0]
             ProjectionCurve: [1x2 ratecurve]
       BusinessDayConvention: ["actual"    "actual"]
                    Holidays: NaT
                EndMonthRule: [1 1]
                   StartDate: NaT
                    Maturity: 15-Jan-2027
                        Name: "swap_instrument"

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

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

outPricer = finpricer("Discount", 'DiscountCurve',myRC)
outPricer = 
  Discount with properties:

    DiscountCurve: [1x1 ratecurve]

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

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

[Price, outPR] = price(outPricer, SwapOpt,["all"])
Price = -1.3834
outPR = 
  priceresult with properties:

       Results: [1x2 table]
    PricerData: []

outPR.Results
ans=1×2 table
     Price       DV01  
    _______    ________

    -1.3834    0.048336

Введенный в R2020a