OISFuture

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

Описание

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

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

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

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

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

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

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

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

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

Создание

Описание

пример

OISFutureInst = fininstrument(InstrumentType,'QuotedPrice',OIS_quoted_price,'Maturity',maturity_date,'StartDate',start_date) создает OISFuture инструментальный объект для одного или нескольких инструментов будущего OIS путем определения InstrumentType, QuotedPrice, Maturity, и StartDate.

OISFuture инструмент поддерживает много ценных бумаг альтернативного ссылочного уровня (ARR), которые совместимы со стандартами от Международной организации комиссий по ценным бумагам (IOSCO). Например, ARRs как SOFR, EONIA, СОНЯ, SARON и TONAR фокусируются на безрисковом уровне или около безрисковых уровней на основе транзакций ночного финансирования.

пример

OISFutureInst = fininstrument(___,Name,Value) устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, OISFutureInst = fininstrument("OISFuture",'QuotedPrice',99.5,'Maturity',datetime(2022,12,15),'StartDate',datetime(2022,9,15)) создает инструмент будущего OIS. Можно задать несколько пар "имя-значение".

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

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

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

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

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

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

Пример: OISFutureInst = fininstrument("OISFuture",'QuotedPrice',99.5,'Maturity',datetime(2022,12,15),'StartDate',datetime(2022,9,15))
Необходимый OISFuture Аргументы в виде пар имя-значение

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

Указанная цена будущего OI в виде разделенной запятой пары, состоящей из 'QuotedPrice' и числовой скаляр или NINST- 1 числовой вектор.

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

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

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

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

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

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

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

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

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

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

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

Дневной базис количества в виде разделенной запятой пары, состоящей из 'Basis' и скалярное целое число или NINST- 1 вектор из целых чисел для следующего:

  • 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 числовой вектор.

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

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

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

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

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

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

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

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

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

H = holidays(datetime('today'),datetime(2025,12,15));
OISFutureInst = fininstrument("OISFuture",'Maturity',datetime(2022,12,15),'Price',99.5,'ExerciseDate',datetime(2022,6,15),'Holidays',H)

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

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

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

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

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

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

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

Свойства

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

Указанная цена будущего OI, возвращенная как числовой скаляр или NINST- 1 числовой вектор.

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

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

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

Будущее OI, лежащее в основе даты окончания, возвращенной как скалярный datetime или NINST- 1 вектор из datetimes.

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

Метод расчета, возвращенный как строка или NINST- 1 массив строк.

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

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

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

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

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

Соглашение рабочего дня для потоков наличности, возвращенных как скалярная строка или NINST- 1 массив строк.

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

Settle = datetime(2021,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-2021
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

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

Используйте fininstrument создать OISFuture инструментальный объект для одномесячного будущего SOFR.

HFDates = datetime(2021,3,1) + caldays(0:3)';
HistFixing = timetable(HFDates,[0.02;0.04;0.04;0.02]);

% Data from the following: https://www.cmegroup.com/trading/interest-rates/stir/one-month-sofr_quotes_globex.html
Prices_1M = 99.97;
Maturity_1M = lbusdate(2021,3,[],[],'datetime');
StartDate_1M = fbusdate(2021,3,[],[],'datetime');
FutInstrument_1M = fininstrument("OISFuture","Maturity",Maturity_1M ,"QuotedPrice",Prices_1M,"StartDate",StartDate_1M,"Method","Average",...
    'HistoricalFixing',HistFixing,'Name',"1MonthSOFRFuture")
FutInstrument_1M = 
  OISFuture with properties:

              QuotedPrice: 99.9700
                   Method: "average"
                    Basis: 2
                StartDate: 01-Mar-2021
                 Maturity: 31-Mar-2021
                 Notional: 100
    BusinessDayConvention: "actual"
                 Holidays: NaT
          ProjectionCurve: [0x0 ratecurve]
         HistoricalFixing: [4x1 timetable]
                     Name: "1MonthSOFRFuture"

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

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

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

    DiscountCurve: [1x1 ratecurve]

Цена OISFuture Инструмент для будущего SOFR

Используйте price вычислить цену и чувствительность для OISFuture инструмент для одномесячного будущего SOFR.

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

       Results: [1x2 table]
    PricerData: []

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

    0.04079    -0.00083163

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

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

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

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"

Создайте OISFuture Инструментальные объекты для фьючерсов SOFR

Используйте fininstrument создать OISFuture инструментальный объект для одномесячных фьючерсов SOFR.

HFDates = datetime(2021,3,1) + caldays(0:3)';
HistFixing = timetable(HFDates,[0.02;0.04;0.04;0.02]);

% Data from the following: https://www.cmegroup.com/trading/interest-rates/stir/one-month-sofr_quotes_globex.html
Prices_1M = [99.97 99.96 99.95]';
Maturity_1M = lbusdate(2021,[3 4 5]',[],[],'datetime');
StartDate_1M = fbusdate(2021,[3 4 5]',[],[],'datetime');
FutInstruments_1M = fininstrument("OISFuture","Maturity",Maturity_1M ,"QuotedPrice",Prices_1M,"StartDate",StartDate_1M,"Method","Average",...
    'HistoricalFixing',HistFixing,'Name',"1MonthSOFRFuture")
FutInstruments_1M=3×1 object
  3x1 OISFuture array with properties:

    QuotedPrice
    Method
    Basis
    StartDate
    Maturity
    Notional
    BusinessDayConvention
    Holidays
    ProjectionCurve
    HistoricalFixing
    Name

Используйте fininstrument создать OISFuture инструментальный объект для трехмесячных фьючерсов SOFR.

% Data from the following: https://www.cmegroup.com/trading/interest-rates/stir/three-month-sofr_quotes_globex.html
Prices_3M = [99.92 99.895 99.84 99.74]';
Dates_3M_Maturity = thirdwednesday([6 9 12 3]',[2021 2021 2021 2022]','datetime');
Dates_3M_Start = thirdwednesday([3 6 9 12]',2021,'datetime');
FutInstruments_3M = fininstrument("OISFuture","Maturity",Dates_3M_Maturity,...
    "QuotedPrice",Prices_3M,"StartDate",Dates_3M_Start,'HistoricalFixing',HistFixing,'Name',"3MonthSOFRFuture")
FutInstruments_3M=4×1 object
  4x1 OISFuture array with properties:

    QuotedPrice
    Method
    Basis
    StartDate
    Maturity
    Notional
    BusinessDayConvention
    Holidays
    ProjectionCurve
    HistoricalFixing
    Name

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

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

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

    DiscountCurve: [1x1 ratecurve]

Цена OISFuture Инструменты для фьючерсов SOFR

Используйте price вычислить цены на OISFuture инструменты для одного месяца и трехмесячные фьючерсы SOFR.

Price = price(outPricer,[FutInstruments_1M ; FutInstruments_3M])
Price = 7×1

    0.0527
    0.0509
    0.0439
    0.1511
    0.1520
    0.1791
    0.1687

Больше о

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

Введенный в R2021b