Продукт 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 для получения подразумеваемой нулевой кривой. Начальная загрузка - это процесс, в котором вы начинаете с известных точек данных и решаете для неизвестных точек данных с помощью лежащей в основе теории арбитража. Каждая купонная облигация может быть оценена как пакет нулевых купонных облигаций, которые имитируют ее денежный поток и характеристики риска. Путем мэппинга доходности до погашения для каждой теоретической облигации с нулевым купоном по датам, охватывающим горизонт инвестиций, можно создать теоретическую кривую нулевой ставки. Программное обеспечение 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