Discount

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

Описание

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

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

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

    Примечание

    Если вы не задаете 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.023765

Введенный в R2020a