FRA

Описание

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

  1. Использовать fininstrument для создания FRA объект прибора.

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

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

Дополнительные сведения об этом рабочем процессе см. в разделе Запуске с рабочими процессами с использованием объектной среды для ценообразования финансовых инструментов.

Для получения дополнительной информации о доступных моделях и методах ценообразования для FRA инструмент, см. «Выбор инструментов», «Модели» и «Цены».

Создание

Описание

пример

FRAObj = fininstrument(InstrumentType,'StartDate',start_date,'Maturity',maturity_date,'Rate',rate_value) создает 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'.

Типы данных: char | 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, серийный номер даты, вектор символов даты или строка даты.

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

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

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

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

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

Ставка купона FRA, заданная как разделенная разделенными запятой парами, состоящая из 'Rate' и скалярным десятичным числом.

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

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

расширить все

Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из 'Basis' и скалярное значение от одного из следующих:

  • 0 - факт/факт

  • 1 - 30/360 (SIA)

  • 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 - BUS/252

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

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

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

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

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

  • "actual" - Дни небизнеса эффективно игнорируются. Денежные потоки, которые приходятся на нерабочие дни, считаются распределенными на фактическую дату.

  • "follow" - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными на следующий рабочий день.

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

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

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

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

Праздничные дни, используемые в вычислении рабочих дней, заданные как разделенная разделенными запятой парами, состоящая из 'Holidays' и дат с использованием 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' и скалярную строку или вектор символов.

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

Свойства

расширить все

Дата начала FRA, возвращенная как datetime.

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

Дата погашения FRA, возвращенная как datetime.

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

Ставка купона FRA, возвращенная в виде скалярного десятичного числа.

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

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

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

Основная сумма, возвращенная как скалярное числовое значение.

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

Business day convention, возвращается как строка.

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

Праздничные дни, используемые в вычислении рабочих дней, возвращенные как datetimes.

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

Определяемое пользователем имя инструмента, возвращаемое как строка.

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

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

cashflowsВычисляет денежный поток для FixedBond, FloatBond, Swap, FRA, или Deposit инструмент

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить FRA(соглашение о форвардной ставке) инструмент, когда вы используете ratecurve и a 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 и используйте объект pricer 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

Подробнее о

расширить все

Введенный в R2020a