exponenta event banner

intenvprice

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

Описание

пример

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

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

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

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

свернуть все

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

Для получения информации о ценообразовании одного типа см. следующее:

bondbyzero

Ценовые облигации из набора нулевых кривых.

cfbyzero

Произвольный инструмент денежного потока по цене из набора нулевых кривых.

fixedbyzero

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

floatbyzero

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

swapbyzero

Поменять цены из набора нулевых кривых.

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