FRA

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

Описание

Создайте и оцените FRA (соглашение о форвардном курсе), инструмент возражают для одного или нескольких инструментов FRA с помощью этого рабочего процесса:

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

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

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

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

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

Создание

Описание

пример

FRAObj = fininstrument(InstrumentType,'StartDate',start_date,'Maturity',maturity_date,'Rate',rate_value) создает FRA объект для одного или нескольких инструментов FRA путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" StartDate, Maturity, и Rate. Для получения дополнительной информации о FRA инструмент, смотрите Больше О.

пример

FRAObj = fininstrument(___,Name,Value) устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, FRAObj = fininstrument("FRA",'StartDate',datetime(2016,1,30),'Maturity',datetime(2019,1,30),'Rate',0.025,'Principal',100,'Basis',1,'BusinessDayConvention',"follow",'Name',"FRA_instrument") создает FRA инструмент с принципалом 100 и зрелость от 30 января 2019. Можно задать несколько аргументов пары "имя-значение".

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

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

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

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

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

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

Пример: FRAObj = fininstrument("FRA",'StartDate',datetime(2016,1,30),'Maturity',datetime(2019,1,30),'Rate',0.025,'Principal',100,'Basis',1,'BusinessDayConvention',"follow",'Name',"FRA_instrument")
Необходимый FRA Аргументы в виде пар имя-значение

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

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

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

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

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

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

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

Купонная ставка FRA в виде разделенной запятой пары, состоящей из 'Rate' и скалярное десятичное число или NINST- 1 вектор из десятичных чисел.

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

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

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

Дневной базис количества в виде разделенной запятой пары, состоящей из '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

Основная сумма в виде разделенной запятой пары, состоящей из 'Principal' и числовой скаляр или 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));
FRAObj = fininstrument("FRA",'StartDate',datetime(2016,1,30),'Maturity',datetime(2025,12,15),'Rate',0.025,'Holidays',H)

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

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

FRAObj = fininstrument("FRA",'StartDate',datetime(2020,9,15),'Maturity',datetime(2022,9,15),'Rate',0.0175)
FRAObj = 
  FRA with properties:

                     Rate: 0.0175
                    Basis: 2
                StartDate: 15-Sep-2020
                 Maturity: 15-Sep-2022
                Principal: 100
    BusinessDayConvention: "actual"
                 Holidays: NaT
                     Name: ""

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

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

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

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

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

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

    DiscountCurve: [1x1 ratecurve]

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

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

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

       Results: [1x2 table]
    PricerData: []

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

    3.4176    0.001368

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

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

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

FRAObj = fininstrument("FRA",'StartDate',datetime([2020,9,15 ; 2020,10,15 ; 2020,11,15]),'Maturity',datetime([2022,9,15 ; 2022,10,15 ; 2022,11,15]),'Rate',0.0175)
FRAObj=3×1 object
  3x1 FRA array with properties:

    Rate
    Basis
    StartDate
    Maturity
    Principal
    BusinessDayConvention
    Holidays
    Name

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

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

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

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

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

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

    DiscountCurve: [1x1 ratecurve]

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

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

[Price, outPR] = price(outPricer, FRAObj,["all"])
Price = 3×1

    3.4176
    3.4121
    3.4063

outPR=1×3 object
  1x3 priceresult array with properties:

    Results
    PricerData

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

    3.4176    0.001368

ans=1×2 table
    Price       DV01   
    ______    _________

    3.4121    0.0013938

ans=1×2 table
    Price       DV01   
    ______    _________

    3.4063    0.0014204

Больше о

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

Введенный в R2020a