parswaprate

Вычислите уровень подкачки паритета для Swap инструмент

Описание

пример

outRate = parswaprate(SwapObject,inCurve) вычисляет уровень подкачки паритета для Swap инструмент.

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы вычислить уровень подкачки паритета для ванили Swap инструмент, когда вы используете ratecurve и Discount метод ценообразования.

Создайте Объект ratecurve

Создайте ratecurve объект с помощью ratecurve поскольку базовая процентная ставка изгибается для Swap инструмент.

Settle = datetime(2018,3,15);
Type = 'zero';
ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';
ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';
ZeroDates = Settle + ZeroTimes;
 
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: [10x1 datetime]
                Rates: [10x1 double]
               Settle: 15-Mar-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создайте Swap Инструментальный объект

Используйте fininstrument создать ваниль Swap инструментальный объект.

Swap = fininstrument("Swap",'Maturity',datetime(2020,9,15),'LegRate',[0.022 0.019 ],'LegType',["float","fixed"],'ProjectionCurve',myRC,'Name',"swap_instrument")
Swap = 
  Swap with properties:

                     LegRate: [0.0220 0.0190]
                     LegType: ["float"    "fixed"]
                       Reset: [2 2]
                       Basis: [0 0]
                    Notional: 100
          LatestFloatingRate: [NaN NaN]
                 ResetOffset: [0 0]
    DaycountAdjustedCashFlow: [0 0]
             ProjectionCurve: [1x2 ratecurve]
       BusinessDayConvention: ["actual"    "actual"]
                    Holidays: NaT
                EndMonthRule: [1 1]
                   StartDate: NaT
                    Maturity: 15-Sep-2020
                        Name: "swap_instrument"

Создайте Discount Объект калькулятора цен

Используйте finpricer создать Discount объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

outPricer = finpricer("Discount", 'DiscountCurve',myRC)
outPricer = 
  Discount with properties:

    DiscountCurve: [1x1 ratecurve]

Цена Swap Инструмент

Используйте price вычислить цену и чувствительность для ванили Swap инструмент.

[Price, outPR] = price(outPricer, Swap,["all"])
Price = 2.4066
outPR = 
  priceresult with properties:

       Results: [1x2 table]
    PricerData: []

outPR.Results
ans=1×2 table
    Price       DV01   
    ______    _________

    2.4066    -0.012056

Вычислите уровень подкачки паритета с помощью parswaprate.

outRate = parswaprate(Swap,myRC)
outRate = 0.0287

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

свернуть все

Подкачайте объект, заданное использование ранее созданного Swap инструментальный объект.

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

Кривая уровня в виде ранее созданного ratecurve объект.

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

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

свернуть все

Уровень подкачки паритета, возвращенный как десятичное число.

Больше о

свернуть все

Уровень подкачки паритета

par swap rate является уровнем, который представляет равное нулю значение подкачки.

Другими словами, уровень подкачки паритета является значением фиксированной процентной ставки, которая дает подкачке нулевую приведенную стоимость или фиксированную процентную ставку, которая делает значение обоих участков равными (то есть, значение фиксированного участка и значение плавающего участка).

Введенный в R2020b