cbondbyeqp

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

Синтаксис

Price = cbondbyeqp(EQPTree,CouponRate,Settle,Maturity,ConvRatio)
[Price,PriceTree] = cbondbyeqp(EQPTree,CouponRate,Settle,Maturity,ConvRatio)
[Price,PriceTree,EquityTree,DebtTree] = cbondbyeqp(___,Name,Value)

Описание

пример

Price = cbondbyeqp(EQPTree,CouponRate,Settle,Maturity,ConvRatio) ценовые конвертируемые облигации от дерева бинома EQP с помощью Тсиверайоти и метода Фернандеса.

пример

[Price,PriceTree] = cbondbyeqp(EQPTree,CouponRate,Settle,Maturity,ConvRatio) ценовые конвертируемые облигации от дерева бинома EQP с помощью Тсиверайоти и метода Фернандеса.

пример

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

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

Примеры

свернуть все

Создайте структуру термина процентной ставки 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: []

Создайте дерево EQP для акции.

NumSteps = 6;
TimeSpec = eqptimespec(StartDates,EndDates,NumSteps);
EQPTree = eqptree(StockSpec,RateSpec,TimeSpec)
EQPTree = struct with fields:
       FinObj: 'BinStockTree'
       Method: 'EQP'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
         dObs: [735600 735721 735843 735965 736086 736208 736330]
        STree: {1x7 cell}
      UpProbs: [0.5000 0.5000 0.5000 0.5000 0.5000 0.5000]

Задайте конвертируемую облигацию. Конвертируемая облигация может быть названа, начав 1 января 2015 с цены исполнения опциона 125.

Settle = 'Jan-1-2014'; 
Maturity = 'Jan-1-2016'; 
CouponRate = 0.03;
CallStrike = 125; 
Period = 1;
CallExDates = [datenum('Jan-1-2015') datenum('Jan-1-2016')];
ConvRatio = 1.5;

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

Spread = 0.045;

[Price,PriceTree,EqtTre,DbtTree] = cbondbyeqp(EQPTree,CouponRate,Settle,...
Maturity,ConvRatio,'Period',Period,'Spread',Spread,'CallExDates',...
CallExDates,'CallStrike',CallStrike,'AmericanCall',1)
Price = 165
PriceTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x7 cell}
      tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
      dObs: [735600 735721 735843 735965 736086 736208 736330]

EqtTre = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x7 cell}
      tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
      dObs: [735600 735721 735843 735965 736086 736208 736330]

DbtTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x7 cell}
      tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
      dObs: [735600 735721 735843 735965 736086 736208 736330]

Создайте структуру термина процентной ставки 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: []

Создайте дерево EQP для акции.

NumSteps = 6;
TimeSpec = eqptimespec(StartDates,EndDates,NumSteps);
EQPTree = eqptree(StockSpec,RateSpec,TimeSpec)
EQPTree = struct with fields:
       FinObj: 'BinStockTree'
       Method: 'EQP'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
         dObs: [735600 735721 735843 735965 736086 736208 736330]
        STree: {1x7 cell}
      UpProbs: [0.5000 0.5000 0.5000 0.5000 0.5000 0.5000]

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

Settle = 'Jan-1-2014';
Maturity = 'Jan-1-2016';
CouponRate = 0.03;
CallStrike = 125;
Period = 1;
CallExDates = [datenum('Jan-1-2015') datenum('Jan-1-2016')];
ConvRatio = 1.5;
DefaultProbability = .30;
RecoveryRate = .82;

[Price,PriceTree,EqtTre,DbtTree] = cbondbyeqp(EQPTree,CouponRate,Settle,...
Maturity,ConvRatio,'Period',Period,'CallExDates',...
CallExDates,'CallStrike',CallStrike,'AmericanCall',1,...
'DefaultProbability',DefaultProbability,'RecoveryRate',RecoveryRate)
Price = 165
PriceTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x7 cell}
      tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
      dObs: [735600 735721 735843 735965 736086 736208 736330]

EqtTre = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x7 cell}
      tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
      dObs: [735600 735721 735843 735965 736086 736208 736330]

DbtTree = struct with fields:
    FinObj: 'BinPriceTree'
     PTree: {1x7 cell}
      tObs: [0 0.3333 0.6667 1 1.3333 1.6667 2]
      dObs: [735600 735721 735843 735965 736086 736208 736330]

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

свернуть все

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Для американской опции — AmericanCall является 1 для каждой американской опции. Аргумент AmericanCall требуется, чтобы вызывать правила осуществления American.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Для американской опции — AmericanPut является 1 для каждой американской опции. Аргумент AmericanPut требуется, чтобы вызывать правила осуществления American.

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

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

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

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

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

Ежегодная вероятность уровня по умолчанию, заданного как пара, разделенная запятой, состоящая из 'DefaultProbability' и NINST-by-1 неотрицательное десятичное значение.

Примечание

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

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

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

Примечание

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

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

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

свернуть все

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

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

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

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

Больше о

свернуть все

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

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

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

Кабриолет с правом досрочного погашения

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

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

Алгоритмы

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

Ссылки

[1] Tsiveriotis, K. и К. Фернандес. “Оценивая Конвертируемые облигации с Кредитным риском”. Журнал Фиксированного дохода. Издание 8, 1998, стр 95–102.

[2] Оболочка, J. Опции, фьючерсы и Другие Производные. Четвертый Выпуск. Prentice Hall, 2000, стр 646–649.

Представленный в R2015a