OvernightIndexedSwap

OvernightIndexedSwap инструментальный объект

Описание

Создайте и оцените OvernightIndexedSwap инструментальный объект для одного или нескольких инструментов В течение ночи индексируемой подкачки (OIS) с помощью этого рабочего процесса:

  1. Использование fininstrument создать OvernightIndexedSwap инструментальный объект для одного или нескольких инструментов OIS.

  2. Используйте ratecurve задавать модель кривой для OvernightIndexedSwap инструментальный объект.

  3. Использование finpricer задавать Discount метод ценообразования для одного или нескольких OvernightIndexedSwap инструменты при использовании ratecurve объект.

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

  1. Использование fininstrument создать OvernightIndexedSwap инструментальный объект для одного или нескольких инструментов OIS.

  2. Использование irbootstrap создать кривую процентной ставки (ratecurve) для одного или нескольких OvernightIndexedSwap инструменты.

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

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

Создание

Описание

пример

OvernightIndexedSwapInst = fininstrument(InstrumentType,'Maturity',maturity_date,'LegRate',leg_rate) создает OvernightIndexedSwap объект для одного или нескольких инструментов OIS путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Maturity и LegRate. OvernightIndexedSwap инструмент поддерживает ваниль В течение ночи Индексируемые Подкачки, амортизируя В течение ночи Индексируемые Подкачки, и передайте В течение ночи Индексируемые Подкачки.

пример

OvernightIndexedSwapInst = fininstrument(___,Name,Value) устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, OvernightIndexedSwapInst = fininstrument("OvernightIndexedSwap",'Maturity',datetime(2019,1,30),'LegRate',[0.06 0.12],'LegType',["fixed","fixed"],'Basis',1,'Notional',100,'StartDate',datetime(2018,1,30),'DaycountAdjustedCashFlow',true,'BusinessDayConvention',"follow",'ProjectionCurve',ratecurve,'Name',"overnight_indexed_swap_instrument") создает OvernightIndexedSwap инструмент со зрелостью от 30 января 2019. Можно задать несколько аргументов пары "имя-значение".

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

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

Инструментальный тип в виде строки со значением "OvernigntIndexedSwap", вектор символов со значением 'OvernigntIndexedSwap', NINST- 1 массив строк со значениями "OvernigntIndexedSwap", или NINST- 1 массив ячеек из символьных векторов со значениями 'OvernigntIndexedSwap'.

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

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

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

Пример: OvernightIndexedSwapInst = fininstrument("OvernightIndexedSwap",'Maturity',datetime(2019,1,30),'LegRate',[0.06 0.12],'LegType',["fixed","fixed"],'Basis',1,'Notional',100,'StartDate',datetime(2018,1,30),'DaycountAdjustedCashFlow',true,'BusinessDayConvention',"follow",'ProjectionCurve',ratecurve,'Name',"overnight_indexed_swap_instrument")
Необходимый OvernightIndexedSwap Аргументы в виде пар имя-значение

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

Подкачайте дату погашения в виде разделенной запятой пары, состоящей из 'Maturity' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что Maturity свойство хранится как datetime.

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

Уровень участка в десятичных значениях в виде разделенной запятой пары, состоящей из 'LegRate' и NINST- 2 матрица. Каждая строка может быть задана как одно из следующего:

  • [CouponRate Spread] (фиксированное плавание)

  • [Spread CouponRate] (зафиксированный плаванием)

  • [CouponRate CouponRate] (фиксировано зафиксированный)

  • [Spread Spread] (плавание плавающее)

CouponRate десятичный годовой показатель. Spread количество пунктов в десятичных числах по ссылочному уровню. Первый столбец представляет участок получения, в то время как второй столбец представляет участок оплаты.

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

Дополнительный OvernightIndexedSwap Аргументы в виде пар имя-значение

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

OvernightIndexedSwap тип участка в виде разделенной запятой пары, состоящей из 'LegType' и массив ячеек из символьных векторов или массив строк с поддерживаемыми значениями. LegType задает интерпретацию значений, вводимых в LegRate.

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

Кривая уровня для проектирования плавающих потоков наличности в виде разделенной запятой пары, состоящей из 'ProjectionCurve' и скалярный ratecurve возразите или NINST- 1 вектор из ratecurve объекты. Необходимо создать этот объект с помощью ratecurve. Используйте этот дополнительный вход, если прямая кривая отличается от дисконтной кривой.

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

Частота платежей в год в виде разделенной запятой пары, состоящей из 'Reset' и скаляр или NINST- 2 матрица, если Reset отличается для каждого участка) с одним из следующих значений: 0, 1, 2, 3, 4, 6, или 12.

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

Дневной базис количества, представляющий базис для каждого участка в виде разделенной запятой пары, состоящей из 'Basis' и NINST- 1 матрица (или NINST- 2 матрица, если Basis отличается для каждого участка).

  • 0 — фактический/фактический

  • 1 — 30/360 (СИА)

  • 2 — фактический/360

  • 3 — фактический/365

  • 4 — 30/360 (PSA)

  • 5 — 30/360 (ISDA)

  • 6 — 30/360 (европеец)

  • 7 — фактический/365 (японский язык)

  • 8 — фактический/фактический (ICMA)

  • 9 — фактический/360 (ICMA)

  • 10 — фактический/365 (ICMA)

  • 11 — 30/360E (ICMA)

  • 12 — фактический/365 (ISDA)

  • 13 — ШИНА/252

Для получения дополнительной информации смотрите Базис.

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

Отвлеченная основная сумма в виде разделенной запятой пары, состоящей из 'Notional' и числовой скаляр или NINST- 1 числовой вектор.

Notional принимает скаляр для основной суммы (или NINST- 2 матрица, если Notional отличается для каждого участка).

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

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

Примечание

Если вы создаете один или несколько OvernightIndexedSwap инструменты и использование расписание, спецификация расписания применяется ко всему OvernightIndexedSwap инструменты. HistoricalFixing не принимает NINST- 1 массив ячеек расписаний, как введено.

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

Отстаньте в установлении норм в виде разделенной запятой пары, состоящей из 'ResetOffset' и NINST- 2 матрица.

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

Соглашения рабочего дня в виде разделенной запятой пары, состоящей из 'BusinessDayConvention' и строка (или NINST- 2 массив строк, если BusinessDayConvention отличается для каждого участка) или вектор символов (или NINST- 2 массив ячеек из символьных векторов, если BusinessDayConvention отличается для каждого участка). Выбор для соглашения рабочего дня определяет, как обработаны нерабочие дни. Нерабочие дни заданы как выходные плюс любая другая дата, что компании не открыты (например, установленные законом праздники). Значения:

  • "actual" — Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.

  • "follow" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день.

  • "modifiedfollow" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день. Однако, если следующий рабочий день находится в различном месяце, предыдущий рабочий день принят вместо этого.

  • "previous" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день.

  • "modifiedprevious" — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в различном месяце, следующий рабочий день принят вместо этого.

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

Праздники, используемые в вычислении рабочих дней в виде разделенной запятой пары, состоящей из 'Holidays' и даты с помощью NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты. Например:

H = holidays(datetime('today'),datetime(2025,12,15));
OvernightIndexedSwapInst = fininstrument("OvernightIndexedSwap",'Maturity',datetime(2025,12,15),'LegRate',[0.06 20],'Holidays',H)

Типы данных: double | cell | datetime | string

Правило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца с 30 или меньшим количеством дней в виде разделенной запятой пары, состоящей из 'EndMonthRule' и логическое значение true или false использование NINST- 1 матрица (или NINST- 2 матрица, если EndMonthRule отличается для каждого участка).

  • Если вы устанавливаете EndMonthRule к false, программное обеспечение игнорирует правило, означая, что платежный день всегда является тем же числовым днем месяца.

  • Если вы устанавливаете EndMonthRule к true, программное обеспечение устанавливает правило о, означая, что платежный день всегда является прошлым фактическим днем месяца.

Типы данных: логический

Дата OvernightIndexedSwap запускает платежи в виде разделенной запятой пары, состоящей из 'StartDate' и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST- 1 вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.

Используйте StartDate оценивать прямой OvernightIndexedSwap, то есть, OvernightIndexedSwap это запускается позднее.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что StartDate свойство хранится как datetime.

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

Пользовательское имя для инструмента в виде разделенной запятой пары, состоящей из 'Name' и скалярная строка или вектор символов или NINST- 1 массив ячеек из символьных векторов или массив строк.

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

Свойства

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

Дата погашения, возвращенная как скалярный datetime или NINST- 1 вектор из datetimes.

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

Уровень участка, возвращенный как NINST- 2 матрица десятичных значений, с каждой строкой, заданной как одно из следующего:

  • [CouponRate Spread] (фиксированное плавание)

  • [Spread CouponRate] (зафиксированный плаванием)

  • [CouponRate CouponRate] (фиксировано зафиксированный)

  • [Spread Spread] (плавание плавающее)

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

Тип участка, возвращенный как массив строк со значениями ["fixed","fixed"], ["fixed","float"], ["float","fixed"], или ["float","float"].

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

Кривая уровня, используемая в проектировании будущих потоков наличности, возвращенных как ratecurve возразите или NINST- 1 вектор из ratecurve объекты.

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

Сбросьте частоту в год для каждой подкачки, возвращенной как 1- 2 матрица.

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

Дневной базис количества, возвращенный как 1- 2 матрица.

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

Отстаньте в установлении норм, возвращенном как NINST- 2 матрица.

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

Отвлеченная основная сумма, возвращенная как числовой скаляр или NINST- 1 числовой вектор.

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

Исторические данные о фиксации, возвращенные как расписание.

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

Соглашения рабочего дня, возвращенные как строка или NINST- 2 массив строк, если BusinessDayConvention отличается для каждого участка.

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

Праздники используются в вычислении рабочих дней, возвращенных как NINST- 1 вектор из datetimes.

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

Правило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца с 30 или меньшим количеством дней, возвращенных как NINST- 1 матрица (или NINST- 2 матрица, если EndMonthRule отличается для каждого участка).

Типы данных: логический

Дата OvernightIndexedSwap запускает платежи, возвращенные как скалярный datetime или NINST- 1 вектор из datetimes.

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

Пользовательское имя для инструмента, возвращенного как скалярная строка или NINST- 1 массив строк.

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

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

cashflowsВычислите поток наличности для FixedBond, FloatBondподкачка, FRA, STIRFuture, OISFuture, OvernightIndexedSwap, или Deposit инструмент

Примеры

свернуть все

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

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

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

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

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

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

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

OvernightIndexedSwap = fininstrument("OvernightIndexedSwap",'Maturity',datetime(2022,9,15),'LegRate',[0.022 0.019 ],'LegType',["float","fixed"],'Notional',100,'ProjectionCurve',myRC,'Name',"overnight_swap_instrument")
OvernightIndexedSwap = 
  OvernightIndexedSwap with properties:

                  LegRate: [0.0220 0.0190]
                  LegType: ["float"    "fixed"]
                    Reset: [2 2]
                    Basis: [0 0]
                 Notional: 100
         HistoricalFixing: [0x0 timetable]
              ResetOffset: [0 0]
          ProjectionCurve: [1x1 ratecurve]
    BusinessDayConvention: ["actual"    "actual"]
                 Holidays: NaT
             EndMonthRule: [1 1]
                StartDate: NaT
                 Maturity: 15-Sep-2022
                     Name: "overnight_swap_instrument"

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

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

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

    DiscountCurve: [1x1 ratecurve]

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

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

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

       Results: [1x2 table]
    PricerData: []

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

    3.0226    -0.02915

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

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

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

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

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

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

Используйте fininstrument создать OvernightIndexedSwap инструментальный объект для трех Ночных Индексируемых инструментов Подкачки.

OvernightIndexedSwap = fininstrument("OvernightIndexedSwap",'Maturity',datetime([2022,9,15 ; 2023,9,15 ; 2024,9,15]),'LegRate',[0 0.01],'LegType',["float","fixed"],'Notional',[100 ; 90; 80],'ProjectionCurve',myRC,'Name',"overnight_swap_instrument")
OvernightIndexedSwap=3×1 object
  3x1 OvernightIndexedSwap array with properties:

    LegRate
    LegType
    Reset
    Basis
    Notional
    HistoricalFixing
    ResetOffset
    ProjectionCurve
    BusinessDayConvention
    Holidays
    EndMonthRule
    StartDate
    Maturity
    Name

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

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

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

    DiscountCurve: [1x1 ratecurve]

Цена OvernightIndexedSwap Инструменты

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

Price = price(outPricer,OvernightIndexedSwap)
Price = 3×1

   -0.7832
   -0.7336
   -0.2178

Больше о

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

Введенный в R2021b