Определите скорректированный по опциям спред вызываемой облигации с помощью модели Agency OAS
задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.OAS
= agencyoas(___,Name,Value
)
OAS Агентства
ЗначениеВ этом примере показано, как вычислить агентство OAS
значение.
Settle = datenum('20-Jan-2010'); ZeroRates = [.07 .164 .253 1.002 1.732 2.226 2.605 3.316 ... 3.474 4.188 4.902]'/100; ZeroDates = daysadd(Settle,360*[.25 .5 1 2 3 4 5 7 10 20 30],1); ZeroData = [ZeroDates ZeroRates]; Maturity = datenum('30-Dec-2013'); CouponRate = .022; Price = 99.155; Vol = .5117; CallDate = datenum('30-Dec-2010'); OAS = agencyoas(ZeroData, Price, CouponRate, Settle, Maturity, Vol, CallDate)
OAS = 8.5837
ZeroData
- Нулевая криваяНулевая кривая, заданная как numRates
-by- 2
матрица, где первый столбец является нулевыми датами, а второй - сопутствующими нулевыми ставками.
Типы данных: double
Price
- ЦеныЦены, указанные как numBonds
-by- 1
вектор.
Типы данных: double
CouponRate
- Ставки купоновСтавки купонов, указанные как numBonds
-by- 1
вектор десятичными числами.
Типы данных: double
Settle
- Дата расчетаДата расчета, заданная как скалярный серийный номер даты.
Примечание
The Settle
дата должна быть идентичной датой расчета для всех облигаций и нулевой кривой.
Типы данных: double
Maturity
- Дата погашенияДата зрелости, заданная как numBonds
-by- 1
вектор.
Типы данных: double
Vol
- ВолатильностьВолатильности, заданные как скаляр или numBonds
-by- 1
вектор десятичными числами. Vol
- волатильность процентных ставок, соответствующих времени CallDate
.
Типы данных: double
CallDate
- Даты вызоваДаты вызова, заданные как numBonds
-by- 1
вектор.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
OAS = agencyoas(ZeroData,Price,CouponRate,Settle,Maturity,Vol,CallDate,'Basis',7,'Face',1000)
'Basis'
- базис подсчета дней0
(фактический/фактический) (по умолчанию) | целое число от 0
на 13
Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из 'Basis'
и a N
-by- 1
вектор с использованием следующих значений:
0 = факт/факт
1 = 30/360 (SIA)
2 = факт/360
3 = факт/365
4 = 30/360 (PSA)
5 = 30/360 (ISDA)
6 = 30/360 (европейский)
7 = факт/365 (японский)
8 = факт/факт (ICMA)
9 = факт/360 (ICMA)
10 = факт/365 (ICMA)
11 = 30/360E (ICMA)
12 = факт/365 (ISDA)
13 = BUS/252
Для получения дополнительной информации см. раздел Базиса.
Типы данных: double
'CurveBasis'
- Базис кривых0
(фактический/фактический) (по умолчанию) | целое число от 0
на 13
Базис кривой, заданный как разделенная разделенными запятой парами, состоящая из 'CurveBasis'
и a N
-by- 1
вектор с использованием следующих значений:
0 = факт/факт
1 = 30/360 (SIA)
2 = факт/360
3 = факт/365
4 = 30/360 (PSA)
5 = 30/360 (ISDA)
6 = 30/360 (европейский)
7 = факт/365 (японский)
8 = факт/факт (ICMA)
9 = факт/360 (ICMA)
10 = факт/365 (ICMA)
11 = 30/360E (ICMA)
12 = факт/365 (ISDA)
13 = BUS/252
Для получения дополнительной информации см. раздел Базиса.
Типы данных: double
'CurveCompounding'
- Частота компаундирования нулевой кривой2
(полугодовой) (по умолчанию) | возможные значения включают: –1
, 0
, 1
, 2
, 3
, 4
, 6
, 12
.Частота компаундирования нулевой кривой, заданная как разделенная разделенными запятой парами, состоящая из 'CurveCompounding'
и a N
-by- 1
вектор с использованием поддерживаемых значений: –1
, 0
, 1
, 2
, 3
, 4
, 6
, и 12
.
Типы данных: double
'EndMonthRule'
- Флаг правила в конце месяца 1
(в действии) (по умолчанию) | неотрицательное целое число [0,1]
Флаг правила в конце месяца, заданный как разделенная разделенными запятой парами, состоящая из 'EndMonthRule'
и неотрицательное целое число [0
, 1
] использование N
-by- 1
вектор.
0
= Игнорировать правило, означающее, что дата платежа всегда является одним и тем же числовым днем месяца.
1
= Установите правило, означающее, что дата платежа всегда является последним фактическим днем месяца.
Типы данных: logical
'Face'
- номинал облигации100
(по умолчанию) | векторНоминальное значение облигации, заданная как разделенная разделенными запятой парами, состоящая из 'Face'
и N
-by- 1
вектор числовых значений.
Типы данных: double
'FirstCouponDate'
- Нерегулярная дата первого купонаFirstCouponDate
, даты платежа денежного потока определяются из других входов (по умолчанию) | серийного номера датыНерегулярная дата первого купона, заданная как разделенная разделенными запятой парами, состоящая из 'FirstCouponDate'
и a NINST
-by- 1
вектор с использованием серийных номеров дат.
Когда FirstCouponDate
и LastCouponDate
оба заданы, FirstCouponDate
имеет приоритет при определении структуры купонного платежа.
Типы данных: double
'InterpMethod'
- Метод интерполяции'linear'
(по умолчанию) | 'cubic'
, 'pchip'
Метод интерполяции, заданный как разделенная разделенными запятой парами, состоящая из 'InterpMethod'
и a N
-by- 1
вектор с поддерживаемым значением. Для получения дополнительной информации о методах интерполяции см. interp1
.
Типы данных: char
'IssueDate'
- Дата выпуска облигацийIssueDate
, даты платежа денежного потока определяются из других входов (по умолчанию) | серийного номера датыДата выпуска облигации, заданная как разделенная разделенными запятой парами, состоящая из 'IssueDate'
и a N
-by- 1
вектор с использованием серийных номеров дат.
Типы данных: double
'LastCouponDate'
- Нерегулярная дата последнего купонаНерегулярная дата последнего купона, заданная как разделенная разделенными запятой парами, состоящая из 'LastCouponDate'
и a N
-by- 1
вектор с использованием серийных номеров дат
При отсутствии заданного FirstCouponDate
, a заданное LastCouponDate
определяет купонную структуру облигации. Купонная структура облигации усечена в LastCouponDate
, независимо от того, где он падает, и сопровождается только датой движения денежных средств по облигации со сроком погашения.
Типы данных: double
'Period'
- Купоны в год2
в год (по умолчанию) | векторКупоны в год, заданные как разделенная разделенными запятой парами, состоящая из 'Period'
и N
-by- 1
вектор. Значения для Period
являются 0
, 1
, 2
, 3
, 4
, 6
, и 12
.
Типы данных: double
'StartDate'
- Форвардная дата начала платежейSettle
дата (по умолчанию) | серийный номер датыДата начала платежей (дата, с которой рассматривается денежный поток облигаций), заданная как разделенная разделенными запятой парами, состоящая из 'StartDate'
и a N
-by- 1
вектор с использованием серийных номеров дат.
Если вы не задаете StartDate
, дата начала вступления в силу является Settle
дата.
Типы данных: double
OAS
- Скорректированные по опциям спредыСкорректированные по опциям спреды, возвращенные как numBonds
-by- 1
матрица.
Формула BMA European Callable Securities предоставляет стандартную методологию вычисления цены и скорректированного по опционам спреда для Европейских Callable Securities (ECS).
[1] SIFMA, The BMA European Callable Securities Formula, https://www.sifma.org
.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.