Ценовое использование этажей Normal или модель ценообразования Bachelier
[FloorPrice,Floorlets]
= floorbynormal(RateSpec,Strike,Settle,Maturity,Volatility)
[FloorPrice,Floorlets]
= floorbynormal(___,Name,Value)
[
ценовые этажи с помощью Нормальной модели ценообразования (Bachelier) для отрицательных уровней. FloorPrice
,Floorlets
]
= floorbynormal(RateSpec
,Strike
,Settle
,Maturity
,Volatility
)floorbynormal
вычисляет цены этажей ванили и этажей амортизации.
[
добавляют дополнительные аргументы пары "имя-значение".FloorPrice
,Floorlets
]
= floorbynormal(___,Name,Value
)
Рассмотрите инвестора, который входит в контракт, который ставит в тупик процентную ставку по ссуде в размере 100 000$ на уровне-.6%, ежеквартально составленных в течение 3 месяцев, начиная 1 января 2009. Предположение, что 1 января 2008 нулевой уровень составляет.69394%, постоянно составляемые и энергозависимость, составляет 20%, используйте эти данные, чтобы вычислить минимальную цену. Во-первых, вычислите RateSpec
, и затем используйте floorbynormal
, чтобы вычислить FloorPrice
.
ValuationDate = 'Jan-01-2008'; EndDates ='April-01-2010'; Rates = 0.0069394; Compounding = -1; Basis = 1; % calculate the RateSpec RateSpec = intenvset('ValuationDate', ValuationDate, ... 'StartDates', ValuationDate,'EndDates', EndDates, ... 'Rates', Rates,'Compounding', Compounding,'Basis', Basis); Settle = 'Jan-01-2009'; % floor starts in a year Maturity = 'April-01-2009'; Volatility = 0.20; FloorRate = -0.006; FloorReset = 4; Principal=100000; FloorPrice = floorbynormal(RateSpec, FloorRate, Settle, Maturity, Volatility,... 'Reset',FloorReset,'ValuationDate',ValuationDate,'Principal', Principal,... 'Basis', Basis)
FloorPrice = 1.8212e+03
floorbynormal
и сравните с floorbyblk
Задайте RateSpec
.
Settle = datenum('20-Jan-2016'); ZeroTimes = [.5 1 2 3 4 5 7 10 20 30]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = datemnth(Settle,12*ZeroTimes); RateSpec = intenvset('StartDate',Settle,'EndDates',ZeroDates,'Rates',ZeroRates)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 2
Disc: [10x1 double]
Rates: [10x1 double]
EndTimes: [10x1 double]
StartTimes: [10x1 double]
EndDates: [10x1 double]
StartDates: 736349
ValuationDate: 736349
Basis: 0
EndMonthRule: 1
Задайте инструмент пола и цену с floorbyblk
.
ExerciseDate = datenum('20-Jan-2026');
[~,ParSwapRate] = swapbyzero(RateSpec,[NaN 0],Settle,ExerciseDate)
ParSwapRate = 0.0216
Strike = .01; BlackVol = .3; NormalVol = BlackVol*ParSwapRate; Price = floorbyblk(RateSpec,Strike,Settle,ExerciseDate,BlackVol)
Price = 1.2297
Оцените инструмент пола с помощью floorbynormal
.
Price_Normal = floorbynormal(RateSpec,Strike,Settle,ExerciseDate,NormalVol)
Price_Normal = 1.9099
Оцените инструмент пола с помощью floorbynormal
для отрицательной забастовки.
Price_Normal = floorbynormal(RateSpec,-.005,Settle,ExerciseDate,NormalVol)
Price_Normal = 0.0857
Strike
— Уровень, на котором осуществлен полУровень, на котором осуществлен пол, задал как NINST
-by-1
вектор десятичных значений.
Типы данных: double
Settle
— Расчетный день для полаРасчетный день для пола, заданного как NINST
-by-1
вектор последовательных чисел даты, векторов символов даты, объектов datetime или объектов строки.
Типы данных: double
| char
| datetime
| string
Maturity
— Дата погашения для полаДата погашения для пола, заданного как NINST
-by-1
вектор последовательных чисел даты, векторов символов даты, объектов datetime или объектов строки.
Типы данных: double
| char
| datetime
| string
Volatility
— Нормальные значения колебанийНормальные значения колебаний, заданные как NINST
-by-1
вектор числовых значений.
Для получения дополнительной информации о модели Normal смотрите работу с Отрицательными процентными ставками.
Типы данных: double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
[FloorPrice,Floorlets] = floorbynormal(RateSpec,Strike,Settle,Maturity,Volatility,'Reset',CapReset,'Principal',100000,'Basis',7)
сброс
Сбросьте оплату частоты в год 1
(значение по умолчанию) | числовойСбросьте оплату частоты в год, заданный как пара, разделенная запятой, состоящая из 'Reset'
и NINST
-by-1
вектор.
Типы данных: double
'Principal'
— Отвлеченная основная сумма100
(значение по умолчанию) | числовойОтвлеченная основная сумма, заданная как пара, разделенная запятой, состоящая из 'Principal'
и NINST
-by-1
вектор или NINST
-by-1
массив ячеек. Каждым элементом в NINST
-by-1
массив ячеек является NumDates
-by-2
массив ячеек, где первый столбец является датами, и второй столбец является связанной основной суммой. Дата указывает в последний день, что основное значение допустимо.
Используйте Principal
, чтобы передать расписание, чтобы вычислить цену за прописную букву амортизации.
Типы данных: double
| cell
'Basis'
— Основание дневного количества инструмента0
(фактическое/фактическое) (значение по умолчанию) | целое число от 0
до 13
Основание дневного количества инструмента, представляющего основание, используемое при пересчитывании на год входного форвардного курса, заданного как пара, разделенная запятой, состоящая из 'Basis'
и NINST
-by-1
вектор целых чисел. Значения:
0 = фактический/фактический
1 = 30/360 (СИА)
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 = ШИНА/252
Для получения дополнительной информации смотрите основание.
Типы данных: double
'ValuationDate'
— Дата наблюдения инвестиционного горизонтаValuationDate
не задан, то Settle
используется (значение по умолчанию) | последовательный номер даты | вектор символов даты | объект datetime | объект строкиДата наблюдения инвестиционного горизонта, заданного как пара, разделенная запятой, состоящая из 'ValuationDate'
и последовательного номера даты, вектора символов даты, объекта datetime или массива строк.
Типы данных: double
| char
| datetime
| string
'ProjectionCurve'
— Кривая уровня используется в генерации будущих потоков наличностиProjectionCurve
не задан, то RateSpec
используется и для дисконтирования потоков наличности и для проектирования будущих потоков наличности (значение по умолчанию) | структураКривая уровня, которая будет использоваться в проектировании будущих потоков наличности, заданных как пара, разделенная запятой, состоящая из 'ProjectionCurve'
и структуры кривой уровня. Эта структура должна быть создана с помощью intenvset
. Используйте этот дополнительный вход, если прямая кривая отличается от дисконтной кривой.
Типы данных: struct
FloorPrice
— Ожидаемая цена полаОжидаемая цена пола, возвращенного как NINST
-by-1
вектор.
Floorlets
— FloorletsFloorlets, возвращенный как NINST
-by-NCF
массив caplets, дополненного NaN
s.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.