Этот пример создает портфель связи, чтобы застраховать портфель Чувствительности Цен облигаций к Процентным ставкам. Это принимает длинную позицию в (содержании) портфеля, и что три других связи доступны для хеджирования. Это выбирает веса для этих трех других связей в новом портфеле так, чтобы длительность и выпуклость нового портфеля совпадали с теми из исходного портфеля. Занимание короткой позиции в новом портфеле, в сумме, равной значению первого портфеля, частично страхуется против параллели, переключает кривую доходности на нижний регистр.
Вспомните, что длительность портфеля или выпуклость являются взвешенным средним длительности или выпуклостью отдельных связей в портфеле. Как в предыдущем примере, этот пример использует измененную длительность в годах и выпуклость в годах. Проблема хеджирования поэтому становится одним из решения системы линейных уравнений, которая является легкой вещью сделать в MATLAB.
Задайте три связи, доступные для хеджирования исходного портфеля. Задайте значения в течение расчетного дня, даты погашения, номинальной стоимости и купонной ставки. Для простоты примите значения по умолчанию для (полугодовой) периодичности купонного платежа, платежное правило конца месяца (правило в действительности), и (фактический/фактический) базис дневного количества. Кроме того, синхронизируйте структуру купонного платежа с датой погашения (то есть, никакие нечетные первые или последние даты купона). Установите любые входные параметры, для которых значения по умолчанию, как принимают, опорожняют матрицы ([]
) как заполнители, где это необходимо. Намерение состоит в том, чтобы застраховаться против длительности и выпуклости и ограничить общую цену портфеля.
Settle = '19-Aug-1999'; Maturity = ['15-Jun-2005'; '02-Oct-2010'; '01-Mar-2025']; Face = [500; 1000; 250]; CouponRate = [0.07; 0.066; 0.08];
Кроме того, задайте кривую доходности для каждой связи.
Yields = [0.06; 0.07; 0.075];
Используйте функции Financial Toolbox™, чтобы вычислить цену, измененную длительность в годах и выпуклость в годах каждой связи.
Истинная цена заключается в кавычки (чистая цена плюс начисленные проценты).
[CleanPrice, AccruedInterest] = bndprice(Yields,CouponRate,... Settle, Maturity, 2, 0, [], [], [], [], [], Face); Durations = bnddury(Yields, CouponRate, Settle, Maturity,... 2, 0, [], [], [], [], [], Face); Convexities = bndconvy(Yields, CouponRate, Settle,... Maturity, 2, 0, [], [], [], [], [], Face); Prices = CleanPrice + AccruedInterest;
Настройте и решите систему линейных уравнений, решение которых является весами новых связей в новом портфеле с той же длительностью и выпуклостью как исходный портфель. Кроме того, масштабируйте веса, чтобы суммировать к 1
; то есть, обеспечьте их, чтобы быть весами портфеля. Можно затем масштабировать этот модульный портфель, чтобы иметь одну цену как исходный портфель. Вспомните, что исходной длительностью портфеля и выпуклостью является 10.3181
и 157.6346
, соответственно. Кроме того, обратите внимание, что последняя строка линейной системы гарантирует, что сумма весов является единицей.
A = [Durations' Convexities' 1 1 1]; b = [ 10.3181 157.6346 1]; Weights = A\b;
Вычислите длительность и выпуклость портфеля преграды, который должен теперь совпадать с исходным портфелем.
PortfolioDuration = Weights' * Durations; PortfolioConvexity = Weights' * Convexities;
Наконец, масштабируйте модульный портфель, чтобы совпадать со значением исходного портфеля и найти, что количество связей, требуемых изолировать от маленькой параллели, переключает кривую доходности на нижний регистр.
PortfolioValue = 100000; HedgeAmounts = Weights ./ Prices * PortfolioValue;
Сравнение результатов.
Как требуется длительностью и выпуклостью нового портфеля является 10.3181
и 157.6346
, соответственно.
Суммами преграды для связей 1, 2, и 3 является -57.37
, 71.70, и
216.27
, соответственно.
Заметьте, что преграда совпадает с длительностью, выпуклостью и значением (100 000$) исходного портфеля. Если вы содержите тот первый портфель, можно застраховаться путем занимания короткой позиции в новом портфеле.
Так же, как приближения первого примера подходят только для маленькой параллели, переключает кривую доходности на нижний регистр, портфель преграды подходит только для сокращения удара небольших изменений уровня в термине структура.
blsdelta
| blsgamma
| blsprice
| blsvega
| bndconvy
| bnddury
| bndkrdur
| bndprice
| zbtprice
| zero2disc
| zero2fwd