В этом примере показано, как застраховать риск процентной ставки портфеля с помощью фьючерсов связи.
В управлении портфель связи можно использовать эталонный портфель, чтобы оценить эффективность. Иногда менеджер ограничивается сохранить длительность портфеля в конкретной полосе длительности сравнительного теста. Один способ изменить длительность портфеля состоит в том, чтобы купить и продать связи, однако, могут быть причины, почему инвестиционный менеджер хочет обеспечить существующий состав портфеля (например, текущие активы отражают, что основное исследование/представления о будущем возвращается). Поэтому другая опция для изменения длительности должна купить и продать фьючерсы связи.
Фьючерсы связи являются фьючерсными контрактами, где товар, который будет поставлен, является государственной облигацией, которая соответствует стандарту, обрисованному в общих чертах во фьючерсном контракте (например, связь имеет заданное остающееся время к зрелости).
Поскольку часто много связей доступны, и каждая связь может иметь различный купон, можно использовать коэффициент преобразования, чтобы нормировать оплату длинным к короткому.
Там существуйте хорошо развитые рынки для фьючерсов государственной облигации. А именно, Чикагская товарная биржа предлагает фьючерсы на следующем:
2-летняя ценная бумага
3-летняя ценная бумага
5-летняя ценная бумага
10-летняя ценная бумага
30-летняя связь
https://www.cmegroup.com/trading/interest-rates/
Eurex предлагает фьючерсы на следующем:
Фьючерсы Юро-Шатца 1.75 к 2,25
Фьючерсы Euro-Bobl 4.5 к 5,5
Еврозащитите насыпью фьючерсы 8.5 к 10,5
Фьючерсы Euro-Buxl 24.0 к 35
https://www.eurexchange.com/exchange-en/
Фьючерсы связи могут использоваться, чтобы изменить длительность портфеля. Поскольку фьючерсы связи получают свое значение на базовый инструмент, срок действия фьючерсного контракта связи связан с длительностью базовой связи.
Существует две проблемы в вычислении этой длительности:
С тех пор существует много доступных связей для доставки, короткое в контракте имеет выбор в который связь поставить.
Некоторые контракты позволяют короткую гибкость в выборе даты поставки.
Как правило, связь, используемая для анализа, является связью, которая является самой дешевой для короткого, чтобы поставить (CTD).
Один подход должен вычислить меры по длительности с помощью длительности CTD и коэффициента преобразования.
Например, Приведенная стоимость Пункта (PVBP) может быть вычислена из следующего:
Обратите внимание на то, что эти определения длительности для фьючерсного контракта являются аппроксимированными, и не составляют значение вариантов доставки для короткого.
Если цель состоит в том, чтобы изменить длительность портфеля, используйте следующее:
Обратите внимание на то, что размер контракта обычно для 100 000 номинальных стоимостей связи - таким образом, размер контракта обычно 1000, как номинальная стоимость связи равняется 100.
Следующий пример принимает начальную длительность, стоимость портфеля и целевую длительность для портфеля с воздействием Европейской процентной ставки. Июньский Фьючерсный контракт Евронасыпи используется, чтобы изменить длительность портфеля.
Обратите внимание на то, что обычно фьючерсные контракты предлагаются на март, июнь, сентябрь и декабрь.
% Assume the following for the portfolio and target PortfolioDuration = 6.4; PortfolioValue = 100000000; BenchmarkDuration = 4.8; % Deliverable Bunds -- note that these conversion factors may also be % computed with the MATLAB(R) function convfactor BondPrice = [106.46;108.67;104.30]; BondMaturity = datenum({'04-Jan-2018','04-Jul-2018','04-Jan-2019'}); BondCoupon = [.04;.0425;.0375]; ConversionFactor = [.868688;.880218;.839275]; % Futures data -- found from http://www.eurexchange.com FuturesPrice = 122.17; FuturesSettle = '23-Apr-2009'; FuturesDelivery = '10-Jun-2009'; % To find the CTD bond we can compute the implied repo rate ImpliedRepo = bndfutimprepo(BondPrice,FuturesPrice,FuturesSettle,... FuturesDelivery,ConversionFactor,BondCoupon,BondMaturity); % Note that the bond with the highest implied repo rate is the CTD [CTDImpRepo,CTDIndex] = max(ImpliedRepo); % Compute the CTD's Duration -- note the period and basis for German Bunds Duration = bnddurp(BondPrice,BondCoupon,FuturesSettle,BondMaturity,1,8); ContractSize = 1000; % Use the formula above to compute the number of contracts to sell NumContracts = (BenchmarkDuration - PortfolioDuration)*PortfolioValue./... (BondPrice(CTDIndex)*ContractSize*Duration(CTDIndex))*ConversionFactor(CTDIndex); disp(['To achieve the target duration, ' num2str(abs(round(NumContracts))) ... ' Euro-Bund Futures must be sold.'])
To achieve the target duration, 180 Euro-Bund Futures must be sold.
Один из недостатков использования длительности как мера по риску - то, что это принимает, что параллель переключает кривую доходности на нижний регистр. В то время как много исследований показали, что это объясняет, что примерно 85% перемещения в кривой доходности, изменения в наклоне или форме кривой доходности не получены длительностью, и поэтому, стратегии хеджирования не успешны при обращении к этим движущим силам.
Один подход должен использовать длительность ключевой процентной ставки - это особенно релевантно при использовании фьючерсов связи с несколькими сроками платежа, как Казначейские фьючерсы.
Следующий пример использует 2, 5, 10 и 30-летние фьючерсы Казначейской облигации, чтобы застраховать длительность ключевой процентной ставки портфеля.
Вычислительная длительность ключевой процентной ставки требует кривой нулевой ширины. Этот пример использует кривую нулевой ширины, опубликованную Казначейством и найденную в следующем местоположении:
https://www.ustreas.gov/offices/domestic-finance/debt-management/interest-rate/yield.shtml
Обратите внимание на то, что эта кривая нулевой ширины могла также быть выведена с помощью функциональности Кривой Процентной ставки, найденной в IRDataCurve
и IRFunctionCurve
.
% Assume the following for the portfolio and target, where the duration % vectors are key rate durations at 2, 5, 10, and 30 years. PortfolioDuration = [.5 1 2 6]; PortfolioValue = 100000000; BenchmarkDuration = [.4 .8 1.6 5]; % The following are the CTD Bonds for the 30, 10, 5 and 2 year futures % contracts -- these were determined using the procedure outlined in the % previous section. CTDCoupon = [4.75 3.125 5.125 7.5]'/100; CTDMaturity = datenum({'3/31/2011','08/31/2013','05/15/2016','11/15/2024'}); CTDConversion = [0.9794 0.8953 0.9519 1.1484]'; CTDPrice = [107.34 105.91 117.00 144.18]'; ZeroRates = [0.07 0.10 0.31 0.50 0.99 1.38 1.96 2.56 3.03 3.99 3.89]'/100; ZeroDates = daysadd(FuturesSettle,[30 360 360*2 360*3 360*5 ... 360*7 360*10 360*15 360*20 360*25 360*30],1); % Compute the key rate durations for each of the CTD bonds. CTDKRD = bndkrdur([ZeroDates ZeroRates], CTDCoupon,FuturesSettle,... CTDMaturity,'KeyRates',[2 5 10 30]); % Note that the contract size for the 2 Year Note Future is $200,000 ContractSize = [2000;1000;1000;1000]; NumContracts = (bsxfun(@times,CTDPrice.*ContractSize./CTDConversion,CTDKRD))\... (BenchmarkDuration - PortfolioDuration)'*PortfolioValue; sprintf(['To achieve the target duration, \n' ... num2str(-round(NumContracts(1))) ' 2 Year Treasury Note Futures must be sold, \n' ... num2str(-round(NumContracts(2))) ' 5 Year Treasury Note Futures must be sold, \n' ... num2str(-round(NumContracts(3))) ' 10 Year Treasury Note Futures must be sold, \n' ... num2str(-round(NumContracts(4))) ' Treasury Bond Futures must be sold, \n'])
ans = 'To achieve the target duration, 24 2 Year Treasury Note Futures must be sold, 47 5 Year Treasury Note Futures must be sold, 68 10 Year Treasury Note Futures must be sold, 120 Treasury Bond Futures must be sold, '
Дополнительный компонент, чтобы рассмотреть в хеджировании процентной ставки, которой риск с фьючерсами связи, снова связанными с перемещениями в кривой доходности, состоит в том, что обычно кривая доходности перемещается больше в короткий конец, чем в длинном конце.
Поэтому, если положение застраховано с будущим, где связь CTD имеет зрелость, которая отличается, чем портфель, это могло привести к ситуации, где преграда под - или перекомпенсировала для фактического риска процентной ставки портфеля.
Один подход должен выполнить регрессию на исторических выражениях в различных сроках платежа, чтобы определить Бету Выражения, которая является значением, которое представляет, сколько еще выражение изменяется для различных сроков платежа.
В этом примере показано, как использовать этот подход с Великобританией Долгие Позолоченные фьючерсы и исторические данные на Позолоченных Выражениях.
Данные о рынке по Позолоченным фьючерсам найдены в следующем:
Исторические данные на гарантированных ценных бумагах найдены в следующем;
Обратите внимание на то, что, в то время как этот подход действительно предлагает возможность улучшания производительности преграды, любой анализ с помощью исторических данных зависит от исторических отношений, остающихся сопоставимым.
Также обратите внимание, что дополнительное улучшение учитывает корреляцию между различными сроками платежа. В то время как этот подход выходит за рамки этого примера, можно использовать это, чтобы реализовать минимальную преграду отклонения.
% Assume the following for the portfolio and target PortfolioDuration = 6.4; PortfolioValue = 100000000; BenchmarkDuration = 4.8; % This is the CTD Bond for the Long Gilt Futures contract CTDBondPrice = 113.40; CTDBondMaturity = datenum('7-Mar-2018'); CTDBondCoupon = .05; CTDConversionFactor = 0.9325024; % Market data for the Long Gilt Futures contract FuturesPrice = 120.80; FuturesSettle = '23-Apr-2009'; FuturesDelivery = '10-Jun-2009'; CTDDuration = bnddurp(CTDBondPrice,CTDBondCoupon,FuturesSettle,CTDBondMaturity); ContractSize = 1000; NumContracts = (BenchmarkDuration - PortfolioDuration)*PortfolioValue./... (CTDBondPrice*ContractSize*CTDDuration)*CTDConversionFactor; disp(['To achieve the target duration with a conventional hedge ' ... num2str(-round(NumContracts)) ... ' Long Gilt Futures must be sold.'])
To achieve the target duration with a conventional hedge 182 Long Gilt Futures must be sold.
Чтобы улучшить точность этой преграды, исторические данные используются, чтобы определить отношение между стандартным отклонением выражений. А именно, стандартное отклонение выражений построено и регрессировало по сравнению с длительностью связи. Это отношение затем используется для расчета Бета Выражения в преграде.
% Load data from XLS spreadsheet load ukbonddata_20072008 Duration = bnddury(Yield(1,:)',Coupon,Dates(1,:),Maturity); scatter(Duration,100*std(Yield)) title('Standard Deviation of Yields for UK Gilts 2007-2008') ylabel('Standard Deviation of Yields (%)') xlabel('Duration') annotation(gcf,'textbox',[0.4067 0.685 0.4801 0.0989],... 'String',{'Note that the Standard Deviation',... 'of Yields is greater at shorter maturities.'},... 'FitBoxToText','off',... 'EdgeColor','none');
stats = regstats(std(Yield),Duration); YieldBeta = (stats.beta'*[1 PortfolioDuration]')./(stats.beta'*[1 CTDDuration]');
Теперь Бета Выражения используется для расчета новое значение в количестве контрактов, которые будут проданы. Обратите внимание на то, что, поскольку длительность портфеля была меньше длительности Позолоты CTD, количество фьючерсов, чтобы продать на самом деле больше в первом случае.
NumContracts = (BenchmarkDuration - PortfolioDuration)*PortfolioValue./... (CTDBondPrice*ContractSize*CTDDuration)*CTDConversionFactor*YieldBeta; disp(['To achieve the target duration using a Yield Beta-modified hedge, ' ... num2str(abs(round(NumContracts))) ... ' Long Gilt Futures must be sold.'])
To achieve the target duration using a Yield Beta-modified hedge, 193 Long Gilt Futures must be sold.
Этот пример основан на следующих книгах и бумагах:
[1] Burghardt, G. T. Белтон, М. Лейн и J. Папа. Базис казначейской облигации. Нью-Йорк, Нью-Йорк: McGraw-Hill, 2005.
[2] Krgin, D. Руководство глобальных вычислений фиксированного дохода. Нью-Йорк, Нью-Йорк: John Wiley & Sons, 2002.
[3] Программа программы CFA, уровень III, объем 4, читая 31. Институт CFA, 2009.