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