Ценовые конвертируемые облигации из биномиального дерева EQP
[
цены конвертируются из биномиального дерева EQP с использованием кредитного спреда или с учетом риска дефолта по облигациям.Price
,PriceTree
,EquityTree
,DebtTree
]
= cbondbyeqp(___,Name,Value
)
Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте дополнительный входной параметр пары "имя-значение" 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]
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]
Определите и оцените конвертируемую облигацию с помощью дополнительной 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
- Древовидная структура складаДревовидная структура запаса, заданная при помощи eqptree
.
Типы данных: struct
CouponRate
- Ставка купона по облигациям Ставка купона на облигацию, заданная как NINST
-by- 1
десятичный годовой темп или NINST
-by- 1
массив ячеек, где каждый элемент является NumDates
-by- 2
массив ячеек. Первый столбец NumDates
-by- 2
массив ячеек является датами, и второй столбец связан скоростями. Дата указывает на последний день действия ставки купона.
Типы данных: double
| cell
Settle
- Дата расчетаДата расчета, заданная как NINST
-by- 1
скаляр с использованием серийного номера даты или вектора символов даты.
Примечание
The Settle
дата для каждой конвертируемой облигации устанавливается равной ValuationDate
дерева запасов EQP. Аргумент в пользу облигации, Settle
, игнорируется.
Типы данных: double
| char
Maturity
- Дата погашенияДата зрелости, заданная как NINST
-by- 1
скаляр с использованием серийного номера даты или вектора символов даты.
Типы данных: double
| char
ConvRatio
- Количество акций, конвертируемых в одну облигациюКоличество акций, конвертируемых в одну облигацию, заданное как NINST
-by- 1
с неотрицательным числом.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. 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'
- Количество базисных точек над базисной ставкой0
(по умолчанию) | векторКоличество базисных точек над ссылочной ставкой, заданное как разделенная разделенными запятой парами, состоящая из 'Spread'
и a NINST
-by- 1
вектор.
Примечание
Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный входной параметр Spread
. Чтобы включить риск по умолчанию в алгоритм, задайте необязательные входные параметры DefaultProbability
и RecoveryRate
. Не используйте Spread
с DefaultProbability
и RecoveryRate
.
Типы данных: double
'Period'
- Купоны в год2
в год (по умолчанию) | векторКупоны в год, заданные как разделенная разделенными запятой парами, состоящая из 'Period'
и a NINST
-by- 1
вектор.
Типы данных: double
'IssueDate'
- Дата выпуска облигацийДата выпуска облигации, заданная как разделенная разделенными запятой парами, состоящая из 'IssueDate'
и a NINST
-by- 1
вектор с использованием серийного номера даты или вектора символов даты.
Типы данных: double
| char
'FirstCouponDate'
- Нерегулярная дата первого купонаНерегулярная дата первого купона, заданная как разделенная разделенными запятой парами, состоящая из 'FirstCouponDate'
и a NINST
-by- 1
вектор с использованием серийного номера даты или вектора символов даты.
Типы данных: char
| double
'LastCouponDate'
- Нерегулярная дата последнего купонаНерегулярная дата последнего купона, заданная как разделенная разделенными запятой парами, состоящая из 'LastCouponDate'
и a NINST
-by- 1
вектор с использованием серийного номера даты или вектора символов даты.
Типы данных: double
| char
'Face'
- Номинал100
(по умолчанию) | неотрицательное значение | массив ячеек неотрицательных значенийНоминальное значение, заданное как разделенная разделенными запятой парами, состоящая из 'Face'
и a NINST
-by- 1
вектор неотрицательных значений граней или NINST
-by- 1
массив ячеек, где каждый элемент является NumDates
-by- 2
массив ячеек. Первый столбец NumDates
-by- 2
массив ячеек - даты, а второй столбец - связанное лицевое значение. Дата указывает последний день, когда значение лица является допустимым.
Типы данных: cell
| double
'CallStrike'
- Зовите цену забастовки для европейской Бермудской или американской опцииЦена доставки вызова для европейских, бермудских или американских опций, заданная как разделенная разделенными запятой парами, состоящая из 'CallStrike'
и одно из следующих значений:
Для европейской опции вызова - NINST
-by- 1
вектор неотрицательных целых чисел
Для опции вызова на Бермудские острова - NINST
-by- NSTRIKES
матрица значений цены доставки, где каждая строка является расписанием для одной опции вызова. Если опция имеет меньше NSTRIKES
возможности упражнений, конец строки заполнен NaN
с.
Для опции вызова по-американски - NINST
-by- 1
вектор значений цены доставки для каждого опции вызова.
Типы данных: single
| double
'CallExDates'
- Называть дату упражнения для европейской Бермудской или американской опцииДата выполнения вызова для европейской бермудской или американской опции, заданная как разделенная разделенными запятой парами, состоящая из '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'
- Индикатор типа опции вызова0
если AmericanCall
является NaN
или не введен (по умолчанию) | скаляр | вектор положительных целых чисел [0,1]
Тип опции вызова, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanCall'
и a NINST
-by- 1
вектор с положительными целочисленными флагами со значениями 0
или 1
.
Для европейской или Бермудской опции - AmericanCall
является 0
для каждой европейской или бермудской опции.
За американскую опцию - AmericanCall
является 1
для каждой американской опции. The AmericanCall
аргумент требуется для обращения к американским правилам упражнений.
Типы данных: single
| double
'PutStrike'
- Поставьте значения забастовки для европейской бермудской или американской опцииПоместите значения удара для европейской бермудской или американской опции, заданные как разделенная разделенными запятой парами, состоящая из 'PutStrike'
и одно из следующих значений:
Для европейской опции - NINST
-by- 1
вектор неотрицательных целых чисел
Для Бермудских островов положите опцию - NINST
-by- NSTRIKES
матрица значений цены put strike, где каждая строка является расписанием для одной опции put. Если опция put имеет меньше NSTRIKES
возможности упражнений, конец строки заполнен NaN
с.
За американскую опцию пут - NINST
-by- 1
вектор значений цены стрима для каждой опции пут.
Типы данных: single
| double
'PutExDates'
- Поставьте дату упражнения для европейской Бермудской или американской опцииПоставьте дату упражнения для европейской бермудской или американской опции, заданную как разделенная разделенными запятой парами, состоящая из 'PutExDates'
и одно из следующих значений:
Для европейской опции - NINST
-by- 1
вектор серийных номеров дат или векторов символов дат.
Для опций - NINST
-by- NSTRIKES
матрица дат упражнений, где каждая строка является расписанием для одной опции пут. Для европейской опции существует только один PutExDate
на дату истечения срока действия опции.
За американскую опцию - NINST
-by- 1
или NINST
-by- 2
матрица контуров дат исполнения. Для каждого инструмента опция put может быть реализована на любую древовидную дату между или включая пару дат в этой строке. Если PutExDates
является NINST
-by- 1
, опция может быть реализован между ValuationDate
дерева запасов EQP и одиночных перечисленных PutExDate
.
Типы данных: double
| char
| cell
'AmericanPut'
- Поместите индикатор типа опции0
если AmericanPut
является NaN
или не введено (по умолчанию) | положительное целое число [0,1]
| вектор положительных целых чисел [0,1]
Поместите тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanPut'
и a NINST
-by- 1
вектор положительных целочисленных флагов со значениями 0
или 1
.
Для европейской или Бермудской опции - AmericanPut
является 0
для каждой европейской или бермудской опции.
За американскую опцию - AmericanPut
является 1
для каждой американской опции. The AmericanPut
аргумент требуется для обращения к американским правилам упражнений.
Типы данных: single
| double
'ConvDates'
- Даты трансформацииMaturityDate
(по умолчанию) | серийный номер даты | символьный вектор датыДаты преобразования, заданные как разделенная разделенными запятой парами, состоящая из 'ConvDates'
и a NINST
-by- 1
или NINST
-by- 2
матрица серийных номеров дат или векторы символов дат. Если ConvDates
не задан, облигация всегда конвертируется до погашения.
Для каждого инструмента облигация может быть преобразована на любую древовидную дату между или включая пару дат в этой строке.
Если ConvDates
является NINST
-by- 1
, связь может быть конвертирована между ValuationDate
дерева запасов EQP и одиночных перечисленных ConvDates
.
Типы данных: char
| single
| double
'DefaultProbability'
- Годовая вероятность дефолта0
(по умолчанию) | неотрицательное десятичное числоГодовая вероятность дефолта, заданная как разделенная разделенными запятой парами, состоящая из 'DefaultProbability'
и a NINST
-by- 1
неотрицательное десятичное значение.
Примечание
Чтобы включить риск по умолчанию в алгоритм, задайте необязательные входные параметры DefaultProbability
и RecoveryRate
. Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный входной параметр Spread
. Не используйте DefaultProbability
и RecoveryRate
с Spread
.
Типы данных: single
| double
'RecoveryRate'
- Скорость восстановления1
(по умолчанию) | неотрицательное десятичное числоСкорость восстановления, заданная как разделенная разделенными запятой парами, состоящая из 'RecoveryRate'
и a NINST
-by- 1
неотрицательное десятичное значение.
Примечание
Чтобы включить риск по умолчанию в алгоритм, задайте необязательные входные параметры DefaultProbability
и RecoveryRate
. Чтобы включить риск в форму кредитного спреда (метод Цивериотиса-Фернандеса), используйте необязательный входной параметр Spread
. Не используйте DefaultProbability
и RecoveryRate
с Spread
.
Типы данных: single
| double
Price
- Ожидаемая цена в то время 0
Ожидаемая цена на момент 0
, возвращается как NINST
-by- 1
массив.
PriceTree
- Структура с вектором цен конвертируемых облигаций на каждом узлеСтруктура с вектором цен конвертируемых облигаций на каждом узле, возвращенная как древовидная структура.
EquityTree
- Структура с вектором компонента конвертируемого акционерного капитала в каждом узлеСтруктура с вектором компонента конвертируемой облигации в каждом узле, возвращенная как древовидная структура.
DebtTree
- Структура с вектором компонента в каждом узлеСтруктура с вектором компонента конвертируемого долга в каждом узле, возвращенная как древовидная структура.
Конвертируемая облигация, которая вызывается эмитентом. Эмитент облигации требует конвертации, устраняя преимущество, заключающееся в том, что конвертация осуществляется по усмотрению держателя облигации.
По вызову держатель облигации может либо конвертировать облигацию, либо погасить ее по цене вызова. Эта опция позволяет эмитенту контролировать цену конвертируемой облигации и при необходимости рефинансировать долг новым более дешевым.
Конвертируемая облигация с функцией размещения позволяет держателю облигации продать облигацию с премией на определенную дату.
Эта опция защищает держателя от роста процентных ставок путем сокращения года до срока погашения.
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.
cbondbycrr
| crrsens
| eqpprice
| eqpsens
| eqptree
| instadd
| instcbond
| instdisp
| intenvset
| stockspec
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.