cbondbycrr

Ценовые конвертируемые облигации из биномиального дерева CRR

Описание

пример

Price = cbondbycrr(CRRTree,CouponRate,Settle,Maturity,ConvRatio) цены конвертируются из биномиального дерева CRR с использованием метода Цивериотиса и Фернандеса.

пример

[Price,PriceTree] = cbondbycrr(CRRTree,CouponRate,Settle,Maturity,ConvRatio) цены конвертируются из биномиального дерева CRR с использованием метода Цивериотиса и Фернандеса.

пример

[Price,PriceTree,EquityTree,DebtTree] = cbondbycrr(___,Name,Value) цены конвертируются из биномиального дерева CRR с использованием кредитного спреда или с учетом риска дефолта по облигациям.

Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте дополнительный входной параметр пары "имя-значение" Spread. Чтобы включить риск по умолчанию в алгоритм, задайте дополнительные входные параметры пара "имя-значение" DefaultProbability и RecoveryRate.

Примеры

свернуть все

Цена конвертируемой облигации с помощью следующих данных для структуры процентной ставки:

StartDates =  'Jan-1-2014'; 
EndDates = 'Jan-1-2015'; 
Rates = 0.1; 
Basis = 1;

Создайте RateSpec и StockSpec.

Sigma = 0.3;
Price = 50;

RateSpec = intenvset('ValuationDate',StartDates,'StartDates',StartDates,'EndDates',EndDates,...
'Rates',Rates,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9048
            Rates: 0.1000
         EndTimes: 1
       StartTimes: 0
         EndDates: 735965
       StartDates: 735600
    ValuationDate: 735600
            Basis: 1
     EndMonthRule: 1

StockSpec = stockspec(Sigma,Price)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.3000
         AssetPrice: 50
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Создайте дерево CRR для собственного капитала.

Settle = '1-Jan-2014';
Maturity = '1-Oct-2014';
NumSteps = 3; 
TimeSpec = crrtimespec(Settle,Maturity,NumSteps);
CRRT = crrtree(StockSpec,RateSpec,TimeSpec)
CRRT = struct with fields:
       FinObj: 'BinStockTree'
       Method: 'CRR'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [0 0.2491 0.4982 0.7473]
         dObs: [735600 735691 735782 735873]
        STree: {[50]  [58.0757 43.0472]  [67.4558 50.0000 37.0613]  [1x4 double]}
      UpProbs: [0.5465 0.5465 0.5465]

Определите и оцените конвертируемую облигацию.

CouponRate = 0;
Period = 1;
ConvRatio = 2;
CallExDates = '1-Oct-2014';
CallStrike = 115;
AmericanCall = 1;
Spread = 0.05;

[Price,PriceTree,EqtTree,DbtTree] = cbondbycrr(CRRT,CouponRate,Settle,Maturity,ConvRatio,...
'Period',Period,'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',AmericanCall)
Price = 104.9490
PriceTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x4 cell}
      tObs: [0 0.2491 0.4982 0.7473]
      dObs: [735600 735691 735782 735873]

EqtTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {[76.5211]  [116.1515 33.0103]  [134.9117 61.9209 0]  [1x4 double]}
      tObs: [0 0.2491 0.4982 0.7473]
      dObs: [735600 735691 735782 735873]

DbtTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {[28.4278]  [0 65.0790]  [0 43.6821 96.3327]  [0 0 100.0000 100.0000]}
      tObs: [0 0.2491 0.4982 0.7473]
      dObs: [735600 735691 735782 735873]

Создайте структуру терминов процентной ставки RateSpec.

StartDates = 'Jan-1-2014'; 
EndDates = 'Jan-1-2016'; 
Rates = 0.025; 
Basis = 1; 
RateSpec = intenvset('ValuationDate',StartDates,'StartDates',...
StartDates,'EndDates',EndDates,'Rates',Rates,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9512
            Rates: 0.0250
         EndTimes: 2
       StartTimes: 0
         EndDates: 736330
       StartDates: 735600
    ValuationDate: 735600
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

AssetPrice = 110; 
Sigma = 0.22; 
Div = 0.02; 
StockSpec = stockspec(Sigma,AssetPrice,'continuous',Div)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2200
         AssetPrice: 110
       DividendType: {'continuous'}
    DividendAmounts: 0.0200
    ExDividendDates: []

Создайте дерево CRR для собственного капитала.

Settle = '1-Jan-2014';
Maturity = '1-Oct-2014';
NumSteps = 3;
TimeSpec = crrtimespec(Settle,Maturity,NumSteps);
CRRT = crrtree(StockSpec,RateSpec,TimeSpec)
CRRT = struct with fields:
       FinObj: 'BinStockTree'
       Method: 'CRR'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [0 0.2491 0.4982 0.7473]
         dObs: [735600 735691 735782 735873]
        STree: {1x4 cell}
      UpProbs: [0.4782 0.4782 0.4782]

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

CouponRate = 0;
Period = 1;
ConvRatio = 2;
CallExDates = '1-Oct-2014';
CallStrike = 115;
AmericanCall = 1;
DefaultProbability = .30;
RecoveryRate = .82;

[Price,PriceTree,EqtTree,DbtTree] = cbondbycrr(CRRT,CouponRate,Settle,Maturity,ConvRatio,...
'Period',Period,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',AmericanCall,...
'DefaultProbability',DefaultProbability,'RecoveryRate',RecoveryRate)
Price = 220
PriceTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {[220]  [245.5317 197.1233]  [274.0263 220.0000 176.6254]  [1x4 double]}
      tObs: [0 0.2491 0.4982 0.7473]
      dObs: [735600 735691 735782 735873]

EqtTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {[220]  [245.5317 197.1233]  [274.0263 220.0000 176.6254]  [1x4 double]}
      tObs: [0 0.2491 0.4982 0.7473]
      dObs: [735600 735691 735782 735873]

DbtTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {[0]  [0 0]  [0 0 0]  [0 0 0 0]}
      tObs: [0 0.2491 0.4982 0.7473]
      dObs: [735600 735691 735782 735873]

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

свернуть все

Древовидная структура запаса, заданная при помощи crrtree.

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

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

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

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

Примечание

The Settle дата для каждой конвертируемой облигации устанавливается равной ValuationDate дерева запасов CRR. Аргумент в пользу облигации, Settle, игнорируется.

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

Дата зрелости, заданная как NINST-by- 1 скаляр с использованием серийного номера даты или вектора символов даты.

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

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

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

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

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

Пример: [Price,PriceTree,EquityTree,DebtTree] = cbondbycrr(CRRT,CouponRate,Settle, Maturity, ConvRatio,'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',1)

Количество базисных точек над ссылочной ставкой, заданное как разделенная разделенными запятой парами, состоящая из 'Spread' и a NINST-by- 1 вектор.

Примечание

Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный входной параметр Spread. Чтобы включить риск по умолчанию в алгоритм, задайте необязательные входные параметры DefaultProbability и RecoveryRate. Не используйте Spread с DefaultProbability и RecoveryRate.

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

Купоны в год, заданные как разделенная разделенными запятой парами, состоящая из 'Period' и a NINST-by- 1 вектор.

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

Дата выпуска облигации, заданная как разделенная разделенными запятой парами, состоящая из 'IssueDate' и a NINST-by- 1 вектор с использованием серийного номера даты или вектора символов даты.

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

Нерегулярная дата первого купона, заданная как разделенная разделенными запятой парами, состоящая из 'FirstCouponDate' и a NINST-by- 1 вектор с использованием серийного номера даты или вектора символов даты.

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

Нерегулярная дата последнего купона, заданная как разделенная разделенными запятой парами, состоящая из 'LastCouponDate' и a NINST-by- 1 вектор с использованием серийного номера даты или вектора символов даты.

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

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

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

Цена доставки вызова для европейских, бермудских или американских опций, заданная как разделенная разделенными запятой парами, состоящая из 'CallStrike' и одно из следующих значений:

  • Для европейской опции вызова - NINST-by- 1 вектор неотрицательных целых чисел

  • Для опции вызова на Бермудские острова - NINST-by- NSTRIKES матрица значений цены доставки вызова, где каждая строка является расписанием для одной опции вызова. Если опция вызова имеет меньше NSTRIKES возможности упражнений, конец строки заполнен NaNс.

  • Для опции вызова по-американски - NINST-by- 1 вектор значений цены доставки для каждой опции.

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

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

  • Для европейской опции - NINST-by- 1 вектор серийных номеров дат или векторов символов дат.

  • Для опций - NINST-by- NSTRIKES матрица дат упражнений, где каждая строка является расписанием для одной опции. Для европейской опции существует только один CallExDate на дату истечения срока действия опции.

  • За американскую опцию - NINST-by- 1 или NINST-by- 2 матрица контуров дат исполнения. Для каждого инструмента опция вызова может выполняться на любую древовидную дату между или включая пару дат в этой строке. Если CallExDates является NINST-by- 1, опция может быть реализована между ValuationDate дерева запасов CRR и одиночных перечисленных CallExDate.

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

Тип опции вызова, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanCall' и a NINST-by- 1 вектор положительных целочисленных флагов со значениями 0 или 1.

  • Для европейской или Бермудской опции - AmericanCall является 0 для каждой европейской или бермудской опции.

  • За американскую опцию - AmericanCall является 1 для каждой американской опции. The AmericanCall аргумент требуется для обращения к американским правилам упражнений.

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

Поместите значения удара для европейской бермудской или американской опции, заданные как разделенная разделенными запятой парами, состоящая из 'PutStrike' и одно из следующих значений:

  • Для европейской опции - NINST-by- 1 вектор неотрицательных целых чисел

  • Для Бермудских островов положите опцию - NINST-by- NSTRIKES матрица значений цены доставки, где каждая строка является расписанием для одной опции. Если опция put имеет меньше NSTRIKES возможности упражнений, конец строки заполнен NaNс.

  • За американскую опцию пут - NINST-by- 1 вектор значений цены доставки для каждой опции.

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

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

  • Для европейской опции - NINST-by- 1 вектор серийных номеров дат или векторов символов дат.

  • Для опций - NINST-by- NSTRIKES матрица дат упражнений, где каждая строка является расписанием для одной опции. Для европейской опции существует только один PutExDate на дату истечения срока действия опции.

  • За американскую опцию - NINST-by- 1 или NINST-by- 2 матрица контуров дат исполнения. Для каждого инструмента опция put может быть реализована на любую древовидную дату между или включая пару дат в этой строке. Если PutExDates является NINST-by- 1, опция может быть реализован между ValuationDate дерева запасов CRR и одиночных перечисленных PutExDate.

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

Поместите тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanPut' и a NINST-by- 1 вектор положительных целочисленных флагов со значениями 0 или 1.

  • Для европейской или Бермудской опции - AmericanPut является 0 для каждой европейской или бермудской опции.

  • За американскую опцию - AmericanPut является 1 для каждой американской опции. The AmericanPut аргумент требуется для обращения к американским правилам упражнений.

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

Даты преобразования, заданные как разделенная разделенными запятой парами, состоящая из 'ConvDates' и a NINST-by- 1 или NINST-by- 2 матрица серийных номеров дат или векторы символов дат. Если ConvDates не задан, облигация всегда конвертируется до погашения.

Для каждого инструмента облигация может быть преобразована на любую древовидную дату между или включая пару дат в этой строке.

Если ConvDates является NINST-by- 1, связь может быть конвертирована между ValuationDate дерева запасов CRR и одиночных перечисленных ConvDates.

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

Годовая вероятность дефолта, заданная как разделенная разделенными запятой парами, состоящая из 'DefaultProbability' и a NINST-by- 1 неотрицательное десятичное значение.

Примечание

Чтобы включить риск по умолчанию в алгоритм, задайте необязательные входные параметры DefaultProbability и RecoveryRate. Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный входной параметр Spread. Не используйте DefaultProbability и RecoveryRate с Spread.

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

Скорость восстановления, заданная как разделенная разделенными запятой парами, состоящая из 'RecoveryRate' и a NINST-by- 1 неотрицательная десятичная.

Примечание

Чтобы включить риск по умолчанию в алгоритм, задайте необязательные входные параметры DefaultProbability и RecoveryRate. Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный входной параметр Spread. Не используйте DefaultProbability и RecoveryRate с Spread.

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

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

свернуть все

Ожидаемая цена на момент 0, возвращается как NINST-by- 1 массив.

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

Структура с вектором компонента конвертируемой облигации в каждом узле, возвращенная как древовидная структура.

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

Подробнее о

свернуть все

Вызываемый кабриолет

Конвертируемая облигация, которая вызывается эмитентом. Эмитент облигации требует конвертации, устраняя преимущество, заключающееся в том, что конвертация осуществляется по усмотрению держателя облигации.

По вызову держатель облигации может либо конвертировать облигацию, либо погасить ее по цене вызова. Эта опция позволяет эмитенту контролировать цену конвертируемой облигации и при необходимости рефинансировать долг новым более дешевым.

Кабриолет Puttable

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

Эта опция защищает держателя от роста процентных ставок путем сокращения года до срока погашения.

Алгоритмы

cbondbycrr, cbondbyeqp, cbondbyitt, и cbondbysttвозвращает информацию о цене в виде вектора цены и дерева цен. Эти функции реализуют риск в виде кредитного спреда или с учетом риска дефолта по облигациям. Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный аргумент пары "имя-значение" Spread. Чтобы включить риск по умолчанию в алгоритм, задайте необязательные аргументы пары "имя-значение" DefaultProbability и RecoveryRate.

Ссылки

[1] Tsiveriotis, K., and C. Fernandes. «Оценка конвертируемых облигаций с кредитным риском». Журнал фиксированного дохода. Том 8, 1998, стр. 95-102.

[2] Hull, J. Options, Futures and Other Derivatives. Четвертое издание. Prentice Hall, 2000, с. 646-649.

Введенный в R2015a