Вычислите уровень подкачки паритета для 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
SwapObject — Объект SwapSwap объектПодкачайте объект, заданное использование ранее созданного Swap инструментальный объект.
Примечание
Если SwapObject вектор из инструментов, необходимо использовать parswaprate отдельно с каждым инструментом.
Типы данных: object
inCurve — Кривая уровняratecurve объектКривая уровня в виде ранее созданного ratecurve объект.
Типы данных: object
outRate — Уровень подкачки паритетаУровень подкачки паритета, возвращенный как десятичное число.
par swap rate является уровнем, который представляет равное нулю значение подкачки.
Другими словами, уровень подкачки паритета является значением фиксированной процентной ставки, которая дает подкачке нулевую приведенную стоимость или фиксированную процентную ставку, которая делает значение обоих участков равными (то есть, значение фиксированного участка и значение плавающего участка).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.