Продукт 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 731160
CurveDates
дает горизонт инвестиций.
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