Ценовые ограничения с использованием модели ценообразования Normal или Bachelier
[ добавляет необязательные аргументы пары имя-значение.CapPrice,Caplets] = capbynormal(___,Name,Value)
Рассмотрим инвестора, который заключает контракт, ограничивающий процентную ставку по кредиту на 100 000 долларов США в размере -.08% ежеквартально в течение 3 месяцев, начиная с 1 января 2009 года. Предполагая, что на 1 января 2008 года нулевая ставка составляет 069394%, а волатильность - 20%, используйте эти данные для расчета предельной цены. Сначала рассчитайте RateSpec, а затем использовать capbynormal для вычисления CapPrice.
ValuationDate = 'Jan-01-2008'; EndDates ='April-01-2010'; Rates = 0.0069394; Compounding = -1; Basis = 1; RateSpec = intenvset('ValuationDate', ValuationDate, ... 'StartDates', ValuationDate,'EndDates', EndDates, ... 'Rates', Rates,'Compounding', Compounding,'Basis', Basis); Settle = 'Jan-01-2009'; % cap starts in a year Maturity = 'April-01-2009'; Volatility = 0.20; CapRate = -0.008; CapReset = 4; Principal=100000; CapPrice = capbynormal(RateSpec, CapRate, Settle, Maturity, Volatility,... 'Reset',CapReset,'ValuationDate',ValuationDate,'Principal', Principal,... 'Basis', Basis)
CapPrice = 2.1682e+03
capbynormal и Сравнить с capbyblkОпределите 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
Определите инструмент ограничения и цену с помощью capbyblk.
ExerciseDate = datenum('20-Jan-2026');
[~,ParSwapRate] = swapbyzero(RateSpec,[NaN 0],Settle,ExerciseDate)ParSwapRate = 0.0216
Strike = .01; BlackVol = .3; NormalVol = BlackVol*ParSwapRate; Price = capbyblk(RateSpec,Strike,Settle,ExerciseDate,BlackVol)
Price = 11.8693
Цена инструмента ограничения с использованием capbynormal.
Price_Normal = capbynormal(RateSpec,Strike,Settle,ExerciseDate,NormalVol)
Price_Normal = 12.5495
Цена инструмента ограничения с использованием capbynormal за негативную забастовку.
Price_Normal = capbynormal(RateSpec,-.005,Settle,ExerciseDate,NormalVol)
Price_Normal = 24.4816
Strike - Ставка, по которой осуществляется ограничениеСтавка, по которой осуществляется ограничение, указанная как NINSTоколо-1 вектор десятичных значений.
Типы данных: double
Settle - Дата расчета для пределаДата расчета для предела, указанная как NINSTоколо-1 вектор серийных номеров дат, векторов символов даты, объектов datetime или строковых объектов.
Типы данных: double | char | datetime | string
Maturity - Дата погашения для пределаДата погашения для предела, указанная как NINSTоколо-1 вектор серийных номеров дат, векторов символов даты, объектов datetime или строковых объектов.
Типы данных: double | char | datetime | string
Volatility - Значения нормальной волатильностиЗначения нормальной волатильности, указанные как NINSTоколо-1 вектор числовых значений.
Дополнительные сведения о стандартной модели см. в разделе Работа с отрицательными процентными ставками с использованием функций.
Типы данных: double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
[CapPrice,Caplets] = capbynormal(RateSpec,Strike,Settle,Maturity,Volatility,'Reset',CapReset,'Principal',100000,'Basis',7) 'Reset' - Сброс периодичности оплаты в год 1 (по умолчанию) | числовыеСброс платы за частоту в год, указанной как пара, разделенная запятыми, состоящая из 'Reset' и NINSTоколо-1 вектор.
Типы данных: double
'Principal' - Условная основная сумма100 (по умолчанию) | числовыеУсловная основная сумма, указанная как разделенная запятыми пара, состоящая из 'Principal' и NINSTоколо-1 условных основных сумм или NINSTоколо-1 массив ячеек. Каждый элемент в NINSTоколо-1 массив ячеек является NumDatesоколо-2 массив ячеек, где первый столбец - даты, а второй столбец - связанная сумма основного долга. Дата указывает последний день, когда действительным является основное значение.
Использовать Principal для передачи графика расчета цены для амортизирующего предела.
Типы данных: double | cell
'Basis' - Дневная основа прибора0 (факт/факт) (по умолчанию) | целое число от 0 кому 13Базисное значение счетчика дней инструмента, представляющее базисное значение, используемое при ежегодной индексации входного форвардного курса, определяемого как пара, разделенная запятыми, состоящая из: 'Basis'и NINSTоколо-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
'ValuationDate' - Дата наблюдения инвестиционного горизонтаValuationDate не указан, то Settle используется (по умолчанию) | серийный номер даты | вектор символов даты | объект datetime | строковый объектДата наблюдения инвестиционного горизонта, указанная как разделенная запятыми пара, состоящая из 'ValuationDate' и порядковый номер даты, вектор символов даты, объект datetime или строковый массив.
Типы данных: double | char | datetime | string
'ProjectionCurve' - Кривая ставки, используемая при формировании будущих денежных потоковProjectionCurve не указан, то RateSpec используется как для дисконтирования денежных потоков, так и для прогнозирования будущих денежных потоков (по умолчанию) | structureКривая ставки, используемая при проецировании будущих денежных потоков, указанная как пара, разделенная запятыми, состоящая из 'ProjectionCurve' и структура кривой ставки. Эта структура должна быть создана с помощью intenvset. Используйте этот дополнительный ввод, если прямая кривая отличается от кривой скидки.
Типы данных: struct
CapPrice - Ожидаемая цена верхнего пределаОжидаемая цена ограничения, возвращенная как NINSTоколо-1 вектор.
Caplets - КаплетыCaplets, возвращенный как NINSTоколо-NCF массив кэплетов, дополненных NaNs.
Верхний предел - это договор, который включает гарантию, устанавливающую максимальную процентную ставку, подлежащую выплате держателем, на основе плавающей процентной ставки.
Выплата за ограничение составляет:
, 0)
Дополнительные сведения см. в разделе Кепка.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.