Удаление инструмента из портфеля инструментов
удаляет объект инструмента (outPort
= removeInstrument(inPort
,inInst
)inInst
) из портфеля инструментов (inPort
), ранее созданный с использованием finportfolio
.
Использование addInstrument
для добавления инструментов в пустой портфель и последующего удаления инструмента из портфеля с помощью removeInstrument
.
Создание FixedBond
Объекты приборов
Использование fininstrument
создать две FixedBond
объекты прибора.
FixB1 = fininstrument("FixedBond", 'Maturity',datetime(2022,9,15),'CouponRate',0.045,'Name',"fixed_bond1")
FixB1 = FixedBond with properties: CouponRate: 0.0450 Period: 2 Basis: 0 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention: "actual" Holidays: NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15-Sep-2022 Name: "fixed_bond1"
FixB2 = fininstrument("FixedBond", 'Maturity',datetime(2022,9,15),'CouponRate',0.035,'Name',"fixed_bond2")
FixB2 = FixedBond with properties: CouponRate: 0.0350 Period: 2 Basis: 0 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention: "actual" Holidays: NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 15-Sep-2022 Name: "fixed_bond2"
Создание ratecurve
Объект
Создайте ratecurve
объект, использующий ratecurve
.
Settle = datetime(2018,9,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-Sep-2018 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
Создание Discount
Объект ценника для FixedBond
Инструменты
Использование finpricer
для создания Discount
и используйте объект pricer ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
DiscountPricer = finpricer("Discount",'DiscountCurve',myRC)
DiscountPricer = Discount with properties: DiscountCurve: [1x1 ratecurve]
Добавьте инструменты к finportfolio
Объект
Создайте пустую finportflio
объект, использующий finportfolio
а затем используйте addInstrument
для добавления двух FixedBond
инструменты к портфелю.
f1 = finportfolio; f1 = addInstrument(f1,FixB1)
f1 = finportfolio with properties: Instruments: [1x1 fininstrument.FixedBond] Pricers: [0x1 finpricer.FinPricer] PricerIndex: NaN Quantity: 1
f1 = addInstrument(f1,FixB2)
f1 = finportfolio with properties: Instruments: [2x1 fininstrument.FixedBond] Pricers: [0x1 finpricer.FinPricer] PricerIndex: [2x1 double] Quantity: [2x1 double]
Удаление прибора из finportfolio
Объект
Использование removeInstrument
чтобы удалить первый FixedBond
инструмент из портфеля.
f1 = removeInstrument(f1,1)
f1 = finportfolio with properties: Instruments: [1x1 fininstrument.FixedBond] Pricers: [0x1 finpricer.FinPricer] PricerIndex: NaN Quantity: 1
Установите цену для портфеля
Использование setPricer
для установки Discount
ценник для портфеля и затем используйте pricePortfolio
вычислить цену и чувствительность для единого инструмента в портфеле.
f1 = setPricer(f1,DiscountPricer)
f1 = finportfolio with properties: Instruments: [1x1 fininstrument.FixedBond] Pricers: [1x1 finpricer.Discount] PricerIndex: 1 Quantity: 1
[PortPrice,InstPrice,PortSens,InstSens] = pricePortfolio(f1)
PortPrice = 110.0749
InstPrice = 110.0749
PortSens=1×2 table
Price DV01
______ ________
110.07 0.041629
InstSens=1×2 table
Price DV01
______ ________
fixed_bond2 110.07 0.041629
inPort
— finportfolio
объектfinportfolio
объектfinportfolio
объект, заданный как скаляр finportfolio
объект.
Типы данных: object
inInst
- Инструмент для удаления из finportfolio
объект'Name'
свойствоИнструмент для удаления из finportfolio
объект, заданный как скалярный объект инструмента, строка для объекта инструмента 'Name'
свойство, или значение индекса для положения инструмента в finportfolio
объект.
Типы данных: object
| double
| string
outPort
- Обновленный finportfolio
объектfinportfolio
объектОбновленный finportfolio
, возвращается как finportfolio
объект.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.