Продукт Financial Toolbox™ содержит несколько функций для деривации и анализа кривых процентных ставок, включая преобразование и экстраполяцию данных, загрузку и функции преобразования кривых процентных ставок.
Одной из первых проблем при анализе срочной структуры процентных ставок является рассмотрение рыночных данных, представленных в различных форматах. Казначейские векселя, например, котируются со ставкой и запрашиваются банковские ставки дисконтирования. Казначейские банкноты и облигации, с другой стороны, котируются со ставкой и запрашиваются цены на основе номинального значения $100. Чтобы изучить полный спектр казначейских ценных бумаг, аналитики должны преобразовать данные в единый формат. Функции Financial Toolbox облегчают это преобразование. Этот краткий пример использует только одну безопасность каждый; аналитики часто используют 30, 100 или более из каждого.
Во-первых, захват котировок казначейства в их отчетном формате
% Maturity Days Bid Ask AskYield TBill = [datenum('12/26/2000') 53 0.0503 0.0499 0.0510];
затем захват котировок казначейских облигаций в их отчетном формате
% Coupon Maturity Bid Ask AskYield
TBond = [0.08875 datenum(2001,11,5) 103+4/32 103+6/32 0.0564];
и обратите внимание, что эти котировки основаны на дате расчета 3 ноября 2000 года.
Settle = datenum('3-Nov-2000');
Далее используйте тулбокс tbl2bond функция для преобразования данных казначейских векселей в формат казначейских облигаций.
TBTBond = tbl2bond(TBill)
TBTBond =
0 730846 99.26 99.27 0.05
(Второй элемент TBTBond - серийный номер даты для 26 декабря 2000 года.)
Теперь объедините краткосрочные (казначейские счета) с долгосрочными (казначейские облигации) данными для настройки общей структуры сроков.
TBondsAll = [TBTBond; TBond]
TBondsAll =
0 730846 99.26 99.27 0.05
0.09 731160 103.13 103.19 0.06
Программное обеспечение Financial Toolbox обеспечивает вторую функцию подготовки данных,tr2bonds, для преобразования данных о связях в форму, готовую для функций начальной загрузки. tr2bonds генерирует матрицу информации о облигациях, отсортированную по дате погашения, плюс векторы цен и выражений.
[Bonds, Prices, Yields] = tr2bonds(TBondsAll);
Используя эти рыночные данные, можно использовать одну из функций начальной строки Financial Toolbox, чтобы вывести подразумеваемую нулевую кривую. Bootstrapping - это процесс, посредством которого вы начинаете с известных точек данных и решаете для неизвестных точек данных, используя базовую теорию арбитража. Каждая купонная облигация может быть оценена как пакет облигаций с нулевым купоном, которые имитируют ее денежный поток и характеристики риска. Путем отображения доходностей к погашению для каждой теоретической облигации с нулевым купоном на даты, охватывающие инвестиционный горизонт, можно создать теоретическую кривую нулевой ставки. Программное обеспечение Financial Toolbox обеспечивает две функции начальной загрузки: zbtprice выводит нулевую кривую из данных о облигациях и ценах, а также zbtyield выводит нулевую кривую из данных о связях и выражениях. Используя zbtprice
[ZeroRates, CurveDates] = zbtprice(Bonds, Prices, Settle)
ZeroRates =
0.05
0.06
CurveDates =
730846
731160CurveDates дает горизонт инвестиций.
datestr(CurveDates)
ans = 26-Dec-2000 05-Nov-2001
Дополнительные функции Financial Toolbox создают кривые дисконтирования, прямого и номинального выражения от нулевой кривой и наоборот.
[DiscRates, CurveDates] = zero2disc(ZeroRates, CurveDates,... Settle); [FwdRates, CurveDates] = zero2fwd(ZeroRates, CurveDates, Settle); [PYldRates, CurveDates] = zero2pyld(ZeroRates, CurveDates,... Settle);
tbilldisc2yield | tbillprice | tbillrepo | tbillval01 | tbillyield | tbillyield2disc | tbl2bond | tr2bonds | zbtprice | zbtyield