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.024499

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

outRate = parswaprate(Swap,myRC)
outRate = 0.0287

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

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

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

Settle = datetime(2019,4,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-Apr-2019
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

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

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

Swap = fininstrument("Swap",'Maturity',datetime([2020,4,15 ; 2021,4,15 ; 2024,4,15]),'LegRate',[0.022 0.019 ],'LegType',["float","fixed"],'ProjectionCurve',myRC,'Name',"swap_instrument")
Swap=3×1 object
  3x1 Swap array with properties:

    LegRate
    LegType
    Reset
    Basis
    Notional
    LatestFloatingRate
    ResetOffset
    DaycountAdjustedCashFlow
    ProjectionCurve
    BusinessDayConvention
    Holidays
    EndMonthRule
    StartDate
    Maturity
    Name

Создайте 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 = 3×1

    0.8473
    1.8067
    7.2322

outPR=1×3 object
  1x3 priceresult array with properties:

    Results
    PricerData

outPR.Results
ans=1×2 table
     Price        DV01   
    _______    __________

    0.84728    -0.0099228

ans=1×2 table
    Price       DV01   
    ______    _________

    1.8067    -0.019656

ans=1×2 table
    Price       DV01  
    ______    ________

    7.2322    -0.04664

Вычислите уровень подкачки паритета для каждого из трех инструментов Подкачки с помощью parswaprate.

outRate = parswaprate(Swap(1),myRC)
outRate = 0.0275
outRate = parswaprate(Swap(2),myRC)
outRate = 0.0281
outRate = parswaprate(Swap(3),myRC)
outRate = 0.0338

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

свернуть все

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

Примечание

Если SwapObject вектор из инструментов, необходимо использовать parswaprate отдельно с каждым инструментом.

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

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

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

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

свернуть все

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

Больше о

свернуть все

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

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

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

Введенный в R2020b