exponenta event banner

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

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

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

Примечание

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

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

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

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

Количество акций, конвертируемых в одну облигацию, указанное как NINSTоколо-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' и 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 с использованием серийного номера даты или вектора символов даты.

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

Номинальное значение, указанное как пара, разделенная запятыми, состоящая из 'Face' и NINSTоколо-1 вектор неотрицательных номиналов или NINSTоколо-1 массив ячеек, где каждый элемент является NumDatesоколо-2 массив ячеек. Первый столбец 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 дерева запасов CRR и отдельного списка CallExDate.

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

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

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

  • Для американского варианта - AmericanCall является 1 для каждого американского варианта. AmericanCall требуется аргумент для вызова американских правил упражнений.

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

Значения put strike для европейского, бермудского или американского варианта, указанные как разделенная запятыми пара, состоящая из '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 дерева запасов CRR и отдельного списка PutExDate.

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

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

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

  • Для американского варианта - AmericanPut является 1 для каждого американского варианта. AmericanPut требуется аргумент для вызова американских правил упражнений.

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

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

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

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

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

Годовая вероятность ставки по умолчанию, указанная как пара, разделенная запятыми, состоящая из '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 массив.

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

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

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

Подробнее

свернуть все

Вызываемый трансформируемый

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

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

Трансформируемый Puttable

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

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

Алгоритмы

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

Ссылки

[1] Цивериотис, К. и С. Фернандеш. «Оценка конвертируемых облигаций с кредитным риском». Журнал фиксированного дохода. Том 8, 1998, стр. 95-102.

[2] Халл, J. Опционы, фьючерсы и другие деривативы. Четвертое издание. Prentice Hall, 2000, стр. 646-649.

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