exponenta event banner

ФРА

Описание

Создать и оценить 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' и даты с использованием времени даты, серийных номеров дат, массива ячеек векторов символов даты или массива строк даты. Например:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cashflowsВычисляет денежный поток для FixedBond, FloatBond, Swap, FRA, или 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 pricer object и используйте 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