cbondbystt

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

Описание

пример

Price = cbondbystt(STTTree,CouponRate,Settle,Maturity,ConvRatio) ценовые конвертируемые облигации с помощью стандартного трехчлена (STT) древовидное использование Тсиверайоти и метода Фернандеса.

пример

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

пример

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

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

Примеры

свернуть все

Создайте RateSpec.

StartDates = 'Jan-1-2015'; 
EndDates = 'Jan-1-2020'; 
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.8825
            Rates: 0.0250
         EndTimes: 5
       StartTimes: 0
         EndDates: 737791
       StartDates: 735965
    ValuationDate: 735965
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

AssetPrice = 80; 
Sigma = 0.12; 
StockSpec = stockspec(Sigma,AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1200
         AssetPrice: 80
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Создайте STTTree.

TimeSpec = stttimespec(StartDates, EndDates, 20);
STTTree = stttree(StockSpec, RateSpec, TimeSpec)
STTTree = struct with fields:
       FinObj: 'STStockTree'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [1x21 double]
         dObs: [1x21 double]
        STree: {1x21 cell}
        Probs: {1x20 cell}

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

CouponRate = 0.03;
Settle = 'Jan-1-2015'; 
Maturity = 'April-1-2018'; 
Period = 1;
CallStrike = 95; 
CallExDates = [datenum('Jan-1-2016') datenum('April-1-2018')];
ConvRatio = 1;
Spread = 0.025;

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

[Price,PriceTree,EqtTre,DbtTree] = cbondbystt(STTTree,CouponRate,Settle,Maturity,ConvRatio,...
'Period',Period,'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',1)
Price = 90.2511
PriceTree = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [1x21 double]
      dObs: [1x21 double]

EqtTre = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [1x21 double]
      dObs: [1x21 double]

DbtTree = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [1x21 double]
      dObs: [1x21 double]

Этот пример демонстрирует анализ эффекта распространения 4%-й конвертируемой облигации купона, вызываемой в 110 в конце второго года, назревающего за пять лет, с распространениями 0, 50, 100, и 150 BP.

Задайте RateSpec.

StartDates = '1-Apr-2015';
EndDates = '1-Apr-2020';
Rates = 0.05;
Compounding = -1;
Basis = 1;
RateSpec = intenvset('StartDates',StartDates,'EndDates',EndDates,'Rates',Rates,...
'Compounding',Compounding,'Basis',Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.7788
            Rates: 0.0500
         EndTimes: 5
       StartTimes: 0
         EndDates: 737882
       StartDates: 736055
    ValuationDate: 736055
            Basis: 1
     EndMonthRule: 1

Задайте данные о конвертируемой облигации.

Settle = '1-Apr-2015';
Maturity = '1-Apr-2020';
CouponRate = 0.04;
CallStrike = 110;
CallExDates = [datenum('1-Apr-2017') datenum(Maturity)];
ConvRatio = 1;
AmericanCall = 1;
Sigma = 0.3;
Spreads = 0:0.005:0.015;
Prices = 40:10:140;
convprice = zeros(length(Prices),length(Spreads));

Задайте TimeSpec для Стандартного Трехчленного Дерева создайте STTTree использование stttree, и цена конвертируемая облигация с помощью cbondbystt.

NumSteps = 200;
TimeSpec = stttimespec(StartDates, EndDates, NumSteps);

for PriceIdx = 1:length(Prices)
    StockSpec = stockspec(Sigma, Prices(PriceIdx));
    STTT = stttree(StockSpec, RateSpec, TimeSpec);
    convprice(PriceIdx,:) = cbondbystt(STTT,  CouponRate, Settle, Maturity, ConvRatio,...
    'Spread', Spreads(:),'CallExDates', CallExDates, 'CallStrike', CallStrike,...
    'AmericanCall', AmericanCall);
end

Постройте анализ эффекта распространения для конвертируемой облигации.

stock = repmat(Prices',1,length(Spreads));
plot(stock,convprice);
legend({'+0 bp'; '+50 bp'; '+100 bp'; '+150 bp'});
title ('Effect of Spread using Trinomial tree - 200 steps')
xlabel('Stock Price');
ylabel('Convertible Bond Price');
text(50, 150, ['Coupon 4% semiannual,', sprintf('\n'), ...
    '110 Call after 2 years,' sprintf('\n'), ...
    'maturing in 5 years.'],'fontweight','Bold')

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

StartDates = 'Jan-1-2015';
EndDates = 'Jan-1-2020';
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.8825
            Rates: 0.0250
         EndTimes: 5
       StartTimes: 0
         EndDates: 737791
       StartDates: 735965
    ValuationDate: 735965
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

AssetPrice = 80;
Sigma = 0.12;
StockSpec = stockspec(Sigma,AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1200
         AssetPrice: 80
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

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

TimeSpec = stttimespec(StartDates, EndDates, 20);
STTTree = stttree(StockSpec, RateSpec, TimeSpec)
STTTree = struct with fields:
       FinObj: 'STStockTree'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [1x21 double]
         dObs: [1x21 double]
        STree: {1x21 cell}
        Probs: {1x20 cell}

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

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

[Price,PriceTree,EqtTre,DbtTree] = cbondbystt(STTTree,CouponRate,Settle,Maturity,ConvRatio,...
'Period',Period,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',1,...
'DefaultProbability',DefaultProbability,'RecoveryRate',RecoveryRate)
Price = 80
PriceTree = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [1x21 double]
      dObs: [1x21 double]

EqtTre = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [1x21 double]
      dObs: [1x21 double]

DbtTree = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [1x21 double]
      dObs: [1x21 double]

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

свернуть все

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если ConvDates NINST- 1, связь может быть преобразована между ValuationDate из стандартного трехчлена (STT) дерево запаса и один перечисленный ConvDates.

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

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

Примечание

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

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

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

Примечание

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

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

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

свернуть все

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

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

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

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

Больше о

свернуть все

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

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

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

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

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

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

Алгоритмы

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

Ссылки

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

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

Введенный в R2015b