В этом примере создается портфель облигаций для хеджирования портфеля «Чувствительность цен облигаций к процентным ставкам». Он занимает длинную позицию в портфеле (владении), и что три других облигации доступны для хеджирования. Он выбирает веса для этих трех других облигаций в новом портфеле, чтобы продолжительность и выпуклость нового портфеля соответствовали продолжительности и выпуклости исходного портфеля. Занимая короткую позицию в новом портфеле, на сумму, равную стоимости первого портфеля, частично хеджирует по параллельным сдвигам кривой доходности.
Напомним, что длительность или выпуклость портфеля - это средневзвешенное значение длительности или выпуклости отдельных облигаций в портфеле. Как и в предыдущем примере, в этом примере используется измененная продолжительность в годах и выпуклость в годах. Поэтому задача хеджирования становится задачей решения системы линейных уравнений, что легко сделать в программном обеспечении 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];
Используйте функции финансового 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