Инструменты могут быть представлены функциям как портфель различных типов инструментов или как группы инструментов одного типа. Текущая версия инструментария может рассчитать цену и чувствительность для пяти типов инструментов с использованием кривых процентных ставок:
Связи
Примечания с фиксированной ставкой
Банкноты с плавающей ставкой
Обмены
OAS для вызываемых и устанавливаемых облигаций
Агентство ОАГ
В дополнение к этим инструментам инструментарий также поддерживает расчет цены и чувствительности произвольных наборов денежных потоков.
Опционы и уровни процентных ставок и предельные значения отсутствуют в вышеуказанном списке поддерживаемых инструментов. Эти инструменты не поддерживаются, поскольку их функция ценообразования и чувствительности требует стохастической модели для эволюции процентных ставок. Структура терминов процентных ставок, используемая для расчета цен, рассматривается как детерминированная и как таковая не является достаточной для расчета цен на эти инструменты.
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
Опционный скорректированный спред (OAS) - это полезный способ оценки и сравнения ценных бумаг со встроенными опционами, такими как бонды с возможностью вызова или размещения. В основном, когда постоянный или плоский спред добавляется к кривой процентных ставок/ставкам в дереве, стоимость модели ценообразования равна рыночной цене. Инструмент Financial Instruments Toolbox поддерживает ценообразование американских, европейских и бермудских облигаций, которые могут вызываться и продаваться с использованием различных моделей процентных ставок. Ценообразование для облигации со встроенными опционами:
Для вызываемой облигации, когда держатель купил облигацию и продал опцион эмитенту:
Price callable bond = Price Option free bond − Price call option
Для переводной облигации, когда держатель купил облигацию и опцион пут:
Price puttable bond = Price Option free bond + Price put option
Существуют две дополнительные чувствительности, связанные с ОАГ для облигаций со встроенными опционами: Скорректированная продолжительность опциона и Скорректированная выпуклость опциона. Они аналогичны понятиям модифицированной продолжительности и выпуклости для безопционных облигаций. Мера Длительность - это общий термин, который описывает, насколько цена облигации чувствительна к параллельному сдвигу кривой доходности. Измененная продолжительность и измененная выпуклость предполагают, что денежные потоки облигации не изменяются при сдвиге кривой доходности. Это не верно для длительности OA или выпуклости OA, поскольку денежные потоки могут измениться из-за компонента опционного риска облигации.
Часто облигации выпускаются со встроенными опционами, что делает неактуальными стандартные показатели цены/доходности или спреда. Например, муниципалитет, обеспокоенный вероятностью того, что процентные ставки могут упасть в будущем, может выпустить облигации с положением, которое позволяет погасить облигацию до ее погашения. Это опцион колл по облигации, который должен быть включен в оценку облигации. Скорректированный опционами спред (OAS), который корректирует спред облигаций для стоимости опциона, является стандартным показателем для оценки облигаций со встроенными опционами. Financial Instruments Toolbox поддерживает вычислительные спреды с поправкой на опционы для облигаций с одним встроенным опционом с использованием агентской модели.
Ассоциация индустрии ценных бумаг и финансовых рынков (SIFMA) использует упрощенный подход к расчету ОАГ по агентским вопросам (финансируемые правительством организации, такие как Fannie Mae и Freddie Mac) под названием «Агентство ОАГ». В этом подходе облигация имеет только одну дату колла (европейский колл) и использует модель Блэка (см. Формула европейских звонарных ценных бумаг BMA на https://www.sifma.org) для оценки опциона на облигацию. Цена облигации рассчитывается следующим образом:
PriceВызываемый = PriceНе вызываемый - PriceВыбор
где
PriceCallable - цена вызываемой облигации.
PriceNonCallable - цена неклассируемой облигации, то есть цена облигации с использованием bndspread.
PriceОпцион - это цена опциона, то есть цена опциона с использованием модели Блэка.
Агентство ОАГ является спредом, при использовании в предыдущей формуле, дает рыночную цену. Инструментарий финансовых инструментов поддерживает следующие функции:
Агентство ОАГ
Функции Агентства ОАГ | Цель |
|---|---|
Вычислите ОАГ вызываемой облигации с помощью модели ОАГ Агентства. | |
Цена вызываемой облигации OAS с использованием модели Агентства OAS. |
Дополнительные сведения об агентских ОАГ см. в разделе Агентские опционные спреды.
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