Инструменты могут быть представлены к функциям как портфель различных видов инструментов или как группы инструментов одного типа. Текущая версия тулбокса может вычислить цену и чувствительность для пяти типов инструментов с помощью кривых процентной ставки:
Связи
Примечания с фиксированной скоростью
Ноты с плавающей скоростью
Обмены
ОАГ для вызываемых и приемлемых облигаций
Агентство ОАГ
В дополнение к этим инструментам тулбокс также поддерживает расчет цены и чувствительности произвольных наборов денежных потоков.
Опции и минимальные процентные ставки и прописные буквы отсутствуют в приведенном выше списке поддерживаемых инструментов. Эти инструменты не поддерживаются, потому что их функция ценообразования и чувствительности требует стохастической модели для эволюции процентных ставок. Структура терминов процентных ставок, используемая для ценообразования, рассматривается как детерминированная, и как таковая не подходит для ценообразования этих инструментов.
Financial Instruments Toolbox™ также содержит функции, которые используют модели Heath-Jarrow-Morton (HJM) и Black-Derman-Toy (BDT) для вычисления цен и чувствительности к финансовым инструментам. Эти модели поддерживают расчеты с использованием опций и минимальных процентных ставок и прописных букв. Смотрите Ценообразование с использованием моделей дерева процентных ставок для получения информации об вычислении цены и чувствительности финансовых инструментов с использованием моделей HJM и BDT.
Основной функцией, используемой для ценообразования портфелей инструментов, является intenvprice
. Эта функция работает с семейством функций, которые вычисляют цены отдельных типов инструментов. При вызове, intenvprice
классифицирует портфель, содержащийся в InstSet
по типу инструмента и вызывает соответствующие функции ценообразования. Карта между типами приборов и функцией ценообразования intenvprice
вызовы
Оцените облигацию набором нулевых кривых | |
Оцените примечание с фиксированной ставкой набором нулевых кривых | |
Оцените примечание с плавающей ставкой набором нулевых кривых | |
Оцените своп набором нулевых кривых |
Каждую из этих функций можно использовать отдельно для оценки инструмента. Для получения конкретной информации об использовании этих функций см. страницы с описанием.
intenvprice
принимает в качестве входов структуру терминов процентной ставки, созданную с intenvset
, и портфель инструментов условных деривативов процентной ставки, созданный с instadd
.
Синтаксис для использования intenvprice
чтобы оценить целый портфель,
Price = intenvprice(RateSpec, InstSet)
где:
RateSpec
- структура процентной ставки.
InstSet
- имя портфеля.
Рассмотрим этот пример использования intenvprice
функция для оценки портфеля инструментов, поставляемых с программным обеспечением Financial Instruments Toolbox.
Предоставленный MAT-файл deriv.mat
сохраняет портфолио как переменную набора приборов ZeroInstSet
. MAT-файл также содержит структуру терминов процентной ставки ZeroRateSpec
. Вы можете отобразить инструменты с функцией instdisp
.
load deriv.mat;
instdisp(ZeroInstSet)
Index Type CouponRate Settle Maturity Period Basis... 1 Bond 0.04 01-Jan-2000 01-Jan-2003 1 NaN... 2 Bond 0.04 01-Jan-2000 01-Jan-2004 2 NaN... Index Type CouponRate Settle Maturity FixedReset Basis... 3 Fixed 0.04 01-Jan-2000 01-Jan-2003 1 NaN... Index Type Spread Settle Maturity FloatReset Basis... 4 Float 20 01-Jan-2000 01-Jan-2003 1 NaN... Index Type LegRate Settle Maturity LegReset Basis... 5 Swap [0.06 20] 01-Jan-2000 01-Jan-2003 [1 1] NaN...
Использовать intenvprice
вычислить цены на инструменты, содержащиеся в портфеле ZeroInstSet
.
format bank
Prices = intenvprice(ZeroRateSpec, ZeroInstSet)
Prices = 98.72 97.53 98.72 100.55 3.69
Область выхода Prices
вектор, содержащий цены всех инструментов в портфеле в порядке, указанном Index
столбец, отображаемый instdisp
. Итак, первые два элемента в Prices
соответствуют первым двум связям; третий элемент соответствует банкноте с фиксированной скоростью; четвертая к купюре с плавающей ставкой; и пятый элемент соответствует цене свопа.
В целом можно вычислить чувствительность как изменение долларовой цены, так и процентное изменение цены. Тулбокс сообщает все чувствительности как чувствительности к доллару.
Используя структуру терминов процентной ставки, можно вычислить два типа чувствительности производной цены, дельта и гамма. Дельта представляет долларовую чувствительность цен к сдвигам в наблюдаемом кривом форвардном выражении. Гамма представляет долларовую чувствительность дельты к сдвигам наблюдаемого кривого форвардного выражения.
intenvsens
функция вычисляет чувствительность прибора и цены прибора. Если вам нужны как цены, так и меры чувствительности, используйте intenvsens
. Отдельный вызов на intenvprice
не требуется.
Вот синтаксис
[Delta, Gamma, Price] = intenvsens(RateSpec, InstSet)
где, как и прежде:
RateSpec
- структура процентной ставки.
InstSet
- имя портфеля.
Вот пример, который использует intenvsens
для расчета чувствительности и цен.
format bank load deriv.mat; [Delta, Gamma, Price] = intenvsens(ZeroRateSpec, ZeroInstSet);
Отображение результатов в одной матрице в банковском формате.
All = [Delta Gamma Price]
All = -272.64 1029.84 98.72 -347.44 1622.65 97.53 -272.64 1029.84 98.72 -1.04 3.31 100.55 -282.04 1059.62 3.69
Чтобы просмотреть чувствительность за доллар, разделите первые два столбца на последние.
[Delta./Price, Gamma./Price, Price]
ans = -2.76 10.43 98.72 -3.56 16.64 97.53 -2.76 10.43 98.72 -0.01 0.03 100.55 -76.39 286.98 3.69
Option Adjusted Spread (OAS) является полезным способом оценки и сравнения ценных бумаг со встроенными опциями, такими как callable или puttable облигации. В основном, когда постоянный или плоский спред добавляется к кривой процентной ставки/ставкам в дереве, значение модели ценообразования равняется рыночной цене. Financial Instruments Toolbox поддерживает ценообразование американских, европейских и бермудских вызываемых и приемлемых облигаций, используя различные модели процентной ставки. Ценообразование для облигации со встроенными опциями:
Для callable облигации, где держатель купил облигацию и продал вызов опция эмитенту:
Price callable bond
= Price Option free bond − Price call option
Для гашения облигации, где держатель купил облигацию и опцию на пут:
Price puttable bond
= Price Option free bond + Price put option
Существует две дополнительные чувствительности, связанные с OAS для облигаций со встроенными опционами: Скорректированная длительность опции и Скорректированная опция Выпуклости. Они аналогичны концепциям измененной длительности и выпуклости для безопционных связей. Длительность меры является общим термином, который описывает, насколько чувствительна цена облигации к параллельному сдвигу в кривое выражение. Измененная длительность и измененная выпуклость предполагают, что денежные потоки облигации не изменяются при сдвигах кривой выражения. Это не верно для длительности OA или Выпуклости OA, поскольку денежные потоки могут измениться из-за компонента опции риска облигации.
Часто облигации выпускаются со встроенными опциями, что делает стандартную цену/доходность или спреды нерелевантными. Для примера муниципалитет, обеспокоенный вероятностью падения процентных ставок в будущем, может выпустить облигации с условием, которое позволяет погасить облигацию до погашения облигации. Это вызов, опция по облигации, и должно быть включено в оценку облигации. Скорректированный по опциону спред (OAS), который корректирует спред облигаций для значения опции, является стандартной мерой для оценки облигаций со встроенными опциями. Financial Instruments Toolbox поддерживает вычисление спредов с поправкой на опции для облигаций с одинарными встроенными опционами с помощью модели агентства.
Ассоциация индустрии ценных бумаг и финансовых рынков (SIFMA) придерживается упрощенного подхода к вычислению ОАГ для агентских вопросов (спонсируемые правительством сущности, такие как Fannie Mae и Freddie Mac), называемые «Агентством ОАГ». В этом подходе облигация имеет только одну дату вызова (европейский вызов) и использует модель Black's (см. Формула европейских Callable ценных бумаг BMA в https://www.sifma.org), чтобы оценить опцию облигации. Цена облигации определяется следующим образом:
Price
Callable = Price
NonCallable - Price
Опция
где
Price
Callable - это цена вызываемой облигации.
Price
NonCallable - это цена некаллируемой облигации, то есть цена облигации с помощью bndspread
.
Price
Опция - это цена опции, то есть цена опции по модели Black's.
Агентство ОАГ - спред, при использовании в предыдущей формуле, дает рыночную цену. Financial Instruments Toolbox поддерживает следующие функции:
Агентство ОАГ
Функции Агентства ОАГ | Цель |
---|---|
Вычислите OAS callable bond с помощью модели Agency OAS. | |
Оцените callable bond OAS с помощью модели Agency OAS. |
Для получения дополнительной информации об агентской ОАГ смотрите Agency Option-Adjusted Spreads.
bdtprice
| bdtsens
| bdttimespec
| bdttree
| bdtvolspec
| bkprice
| bksens
| bktimespec
| bktree
| bkvolspec
| bondbybdt
| bondbybk
| bondbyhjm
| bondbyhw
| bondbyzero
| capbybdt
| capbybk
| capbyblk
| capbyhjm
| capbyhw
| cfbybdt
| cfbybk
| cfbyhjm
| cfbyhw
| cfbyzero
| fixedbybdt
| fixedbybk
| fixedbyhjm
| fixedbyhw
| fixedbyzero
| floatbybdt
| floatbybk
| floatbyhjm
| floatbyhw
| floatbyzero
| floatdiscmargin
| floatmargin
| floorbybdt
| floorbybk
| floorbyblk
| floorbyhjm
| floorbyhw
| hjmprice
| hjmsens
| hjmtimespec
| hjmtree
| hjmvolspec
| hwcalbycap
| hwcalbyfloor
| hwprice
| hwsens
| hwtimespec
| hwtree
| hwvolspec
| instbond
| instcap
| instcf
| instfixed
| instfloat
| instfloor
| instoptbnd
| instoptembnd
| instoptemfloat
| instoptfloat
| instrangefloat
| instswap
| instswaption
| intenvprice
| intenvsens
| intenvset
| mmktbybdt
| mmktbyhjm
| oasbybdt
| oasbybk
| oasbyhjm
| oasbyhw
| optbndbybdt
| optbndbybk
| optbndbyhjm
| optbndbyhw
| optembndbybdt
| optembndbybk
| optembndbyhjm
| optembndbyhw
| optemfloatbybdt
| optemfloatbybk
| optemfloatbyhjm
| optemfloatbyhw
| optfloatbybdt
| optfloatbybk
| optfloatbyhjm
| optfloatbyhw
| rangefloatbybdt
| rangefloatbybk
| rangefloatbyhjm
| rangefloatbyhw
| swapbybdt
| swapbybk
| swapbyhjm
| swapbyhw
| swapbyzero
| swaptionbybdt
| swaptionbybk
| swaptionbyblk
| swaptionbyhjm
| swaptionbyhw