exponenta event banner

optemfloatbycir

Встроенная опция цены в заметке с плавающей ставкой для дерева процентных ставок Кокса-Ингерсолла-Росса

Описание

пример

[Price,PriceTree] = optemfloatbycir(CIRTree,Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates) цены встроенных опционов на банкноты с плавающей ставкой из дерева процентных ставок Cox-Ingersoll-Ross (CIR). optemfloatbycir вычисляет цены ванильных купюр с плавающей ставкой со встроенными опциями с использованием модели CIR++ с подходом Навалька-Беляева (NB).

пример

[Price,PriceTree] = optemfloatbycir(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

Создать RateSpec с использованием intenvset функция.

Rates = [0.035; 0.042147; 0.047345; 0.052707]; 
Dates = {'Jan-1-2017'; 'Jan-1-2018'; 'Jan-1-2019'; 'Jan-1-2020'; 'Jan-1-2021'}; 
ValuationDate = 'Jan-1-2017'; 
EndDates = Dates(2:end)'; 
Compounding = 1; 
RateSpec = intenvset('ValuationDate', ValuationDate, 'StartDates', ValuationDate, 'EndDates',EndDates,'Rates', Rates, 'Compounding', Compounding); 

Создать CIR дерево.

NumPeriods = length(EndDates); 
Alpha = 0.03; 
Theta = 0.02;  
Sigma = 0.1;   
Settle = '01-Jan-2017'; 
Maturity = '01-Jan-2020'; 
CIRTimeSpec = cirtimespec(Settle, Maturity, 3); 
CIRVolSpec = cirvolspec(Sigma, Alpha, Theta); 

CIRT = cirtree(CIRVolSpec, RateSpec, CIRTimeSpec)
CIRT = struct with fields:
      FinObj: 'CIRFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 1 2]
        dObs: [736696 737061 737426]
     FwdTree: {[1.0350]  [1.0790 1.0500 1.0298]  [1x5 double]}
     Connect: {[3x1 double]  [3x3 double]}
       Probs: {[3x1 double]  [3x3 double]}

Определите поплавковые приборы с помощью встроенной опции вызова.

Spread = 10;
Settle = 'Jan-1-2017';
Maturity =  {'Jan-1-2019';'Jan-1-2020'};
Period = 1;
OptSpec = {'call'};
Strike = 101;
ExerciseDates = 'Jan-1-2019';

Вычислите цену флоутеров с помощью встроенного вызова.

[Price,PriceTree] = optemfloatbycir(CIRT,Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates)
Price = 2×1

  100.1887
  100.2757

PriceTree = struct with fields:
    FinObj: 'CIRPriceTree'
      tObs: [0 1 2 3]
     PTree: {[2x1 double]  [2x3 double]  [2x5 double]  [2x5 double]}

Входные аргументы

свернуть все

Дерево процентных ставок, указанное как структура с помощью cirtree.

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

Количество базисных точек над эталонной скоростью, указанной как вектор неотрицательных целых чисел для количества инструментов (NINSTоколо-1).

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

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

Примечание

Settle для каждой заметки с плавающей ставкой со встроенной опцией устанавливается дата ValuationDate дерева CIR. Аргумент примечания с плавающей ставкой Settle игнорируется.

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

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

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

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

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

Цена страйка опциона, указанные неотрицательные целые числа, используя как NINSTоколо-NSTRIKES вектор значений цены страйка.

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

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

  • Для европейского или бермудского варианта ExerciseDates является 1около-1 (европейский) или 1около-NSTRIKES (Бермудские острова) вектор дат учений. Для европейского варианта есть только один ExerciseDates на дату истечения срока действия опциона.

  • Для американского варианта, ExerciseDates является 1около-2 вектор границ даты упражнения. Опция выполняется на любую дату между или включая пару дат в этой строке. При наличии только одного не-NaN дата, или если ExerciseDates является 1около-1, опционные упражнения между Settle дата и один из перечисленных ExerciseDates.

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

Аргументы пары «имя-значение»

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

Пример: [Price,PriceTree] = optemfloatbycir(CIRTree,Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates,'AmericanOpt',1,'FloatReset',6,'Basis',8)

Тип опции, указанный как разделенная запятыми пара, состоящая из 'AmericanOpt' и NINSTоколо-1 вектор флагов со значениями:

  • 0 - Европейский/Бермудские острова

  • 1 - американский

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

Частота платежей в год, указанная как разделенная запятыми пара, состоящая из 'FloatReset' и положительные целые числа для значений [1,2,3,4,6,12] в NINSTоколо-1 вектор.

Примечание

Платежи по векселям с плавающей ставкой (FRN) определяются фактической процентной ставкой между датами сброса. Если период сброса для FRN охватывает более одного уровня дерева, вычисление платежа становится невозможным из-за рекомбинирующего характера дерева. То есть путь к дереву, соединяющему две последовательные даты сброса, не может быть однозначно определен, поскольку для соединения двух дат платежа будет существовать более одного возможного пути.

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

Дневной отсчет прибора, определяемый как пара, разделенная запятыми, состоящая из 'Basis' и положительное целое число с использованием NINSTоколо-1 вектор. 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

Флаг правила конца месяца, заданный как пара, разделенная запятыми, состоящая из 'EndMonthRule' и неотрицательное целое число [0, 1] с использованием NINSTоколо-1 вектор. Это правило применяется только в том случае, если Maturity - дата окончания месяца, имеющая 30 или менее дней.

  • 0 = Игнорировать правило, означающее, что дата выплаты бонусного купона всегда совпадает с числовым днем месяца.

  • 1 = Установить правило, означающее, что дата выплаты бонусного купона всегда является последним фактическим днем месяца.

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

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

При использовании NINSTоколо-1 массив ячеек, каждый элемент является NumDatesоколо-2 массив ячеек, где первый столбец - даты, а второй столбец - связанная сумма основного долга. Дата указывает последний день, когда действительным является основное значение.

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

Структура, содержащая опционы ценообразования деривативов, определенные как разделенная запятыми пара, состоящая из 'Options' и выходные данные из derivset.

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

Выходные аргументы

свернуть все

Ожидаемые цены опции ноты с плавающей ставкой в момент времени 0 возвращаются как скаляр или NINSTоколо-1 вектор.

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

  • PriceTree.tObs содержит время наблюдения.

  • PriceTree.PTree содержит цены опционов.

Подробнее

свернуть все

Заметка с плавающей ставкой и встроенными опциями

Заметка с плавающей ставкой со встроенной опцией позволяет заметкам с плавающей ставкой иметь функции раннего погашения.

FRN со встроенным опционом дает инвесторам или эмитентам возможность выбыть непогашенную основную сумму до погашения. Встроенный опцион колл дает право аннулировать банкноту до даты погашения (вызываемый флоатер), а встроенный опцион пут дает право продать банкноту обратно по определенной цене (puttable floater).

Дополнительные сведения см. в разделе Заметка с плавающей скоростью и встроенными опциями.

Ссылки

[1] Кокс, J., Ингерсолл, J. и С. Росс. «Теория терминологической структуры процентных ставок». Эконометрика. Том 53, 1985.

[2] Бриго, Д. и Ф. Меркурио. Модели процентных ставок - теория и практика. Springer Finance, 2006.

[3] Хирса, А. Вычислительные методы в финансах. КПР Пресс, 2012.

[4] Навалька, С., Сото, Г. и Н. Белиаева. Динамическое моделирование структуры терминов. Уайли, 2007.

[5] Нельсон, Д. и К. Рамасвами. «Простые биномиальные процессы как диффузионные приближения в финансовых моделях». Обзор финансовых исследований. Том 3. 1990, стр 393–430.

Представлен в R2018a