intenvprice

Ценовые инструменты от набора кривых нулевой ширины

Синтаксис

Price = intenvprice(RateSpecInstSet)

Описание

пример

Price = intenvprice(RateSpecInstSet) вычисляет цены без арбитражей на инструменты против набора кривых уровня облигации с нулевым купоном.

intenvprice обрабатывает следующие инструментальные типы: 'Bond', 'CashFlow', 'Fixed', 'Float', 'Swap'. Смотрите instadd для получения информации о построении заданных типов.

Примеры

свернуть все

Загрузите кривые нулевой ширины и инструменты.

load deriv.mat
instdisp(ZeroInstSet)
Index Type CouponRate Settle         Maturity       Period Basis EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate Face Name    Quantity
1     Bond 0.04       01-Jan-2000    01-Jan-2003    1      NaN   NaN          NaN       NaN             NaN            NaN       NaN  4% bond 100     
2     Bond 0.04       01-Jan-2000    01-Jan-2004    2      NaN   NaN          NaN       NaN             NaN            NaN       NaN  4% bond  50     
 
Index Type  CouponRate Settle         Maturity       FixedReset Basis Principal Name     Quantity
3     Fixed 0.04       01-Jan-2000    01-Jan-2003    1          NaN   NaN       4% Fixed 80      
 
Index Type  Spread Settle         Maturity       FloatReset Basis Principal Name       Quantity
4     Float 20     01-Jan-2000    01-Jan-2003    1          NaN   NaN       20BP Float 8       
 
Index Type LegRate    Settle         Maturity       LegReset Basis Principal LegType Name         Quantity
5     Swap [0.06  20] 01-Jan-2000    01-Jan-2003    [1  1]   NaN   NaN       [NaN]   6%/20BP Swap 10      
 

Оцените инструменты.

Price = intenvprice(ZeroRateSpec, ZeroInstSet)
Price = 5×1

   98.7159
   97.5334
   98.7159
  100.5529
    3.6923

Используйте instswap, чтобы создать подкачку плавающую плавающую и оценить подкачку с intenvprice.

RateSpec = intenvset('Rates',.05,'StartDate',today,'EndDate',datemnth(today,60));
IS = instswap([400 200],today,datemnth(today,60),[], [], [], [0 0]);
intenvprice(RateSpec,IS)
ans = 8.6440

Используйте instswap, чтобы создать подкачки и оценить подкачки с intenvprice.

RateSpec = intenvset('Rates',.05,'StartDate',today,'EndDate',datemnth(today,60));
IS = instswap([.03 .02],today,datemnth(today,60),[], [], [], [1 1]);
IS = instswap(IS,[200 300],today,datemnth(today,60),[], [], [], [0 0]);
IS = instswap(IS,[300 .07],today,datemnth(today,60),[], [], [], [0 1]);
intenvprice(RateSpec,IS)
ans =

    4.3220
   -4.3220
    4.5921

Входные параметры

свернуть все

(Необязательно) спецификация Процентной ставки, заданная RateSpec, полученным ранее из intenvset или toRateSpec для IRDataCurve или toRateSpec для IRFunctionCurve.

Типы данных: struct

Переменная Instrument, содержащая набор инструментов, заданное использование instadd. Инструменты категоризированы типом; каждый тип может иметь различные поля данных. Сохраненное поле данных является вектором - строкой или вектором символов для каждого инструмента.

Типы данных: struct

Выходные аргументы

свернуть все

Цены на каждый инструмент, возвращенный как много инструментов (NINST) количеством кривых (NUMCURVES) матрица. Если инструмент не может быть оценен, NaN возвращен в той записи.

Для функций оценки одно типа, чтобы получить информацию о ценах, смотрите следующее:

bondbyzero

Ценовые связи от набора кривых нулевой ширины.

cfbyzero

Цена произвольный инструмент потока наличности от набора кривых нулевой ширины.

fixedbyzero

Цены примечания с фиксированной процентной ставкой от набора кривых нулевой ширины.

floatbyzero

Цены долгового обязательства с плавающей ставкой от набора кривых нулевой ширины.

swapbyzero

Подкачайте цены от набора кривых нулевой ширины.

Представлено до R2006a