主要内容

金融资产组合

创建一个金融资产组合对象

描述

创建一个金融资产组合对象,用于仪表对象的集合。

创建工具、模型和pricer对象后,使用金融资产组合创建金融资产组合对象以获取仪器集合。有关此工作流的详细信息,请参阅开始使用基于对象的框架为金融工具定价的工作流.

有关可用工具、模型和定价方法的更多信息,请参阅选择仪器、型号和定价.

创造

描述

实例

金融资产组合= finportfolio创建一个空金融资产组合对象。

实例

金融资产组合= finportfolio (inInstruments)创建一个金融资产组合包含仪器对象的对象inInstruments.

实例

金融资产组合= finportfolio (inInstruments,定价者)创建一个金融资产组合包含仪器对象的对象inInstruments和价格对象定价者.

实例

金融资产组合= finportfolio (___,inQuant)(可选)设置inQuant属性,该属性指定仪器的数量。将此语法与前面语法中的任何输入参数组合一起使用以设置属性金融资产组合对象。例如,finportfolio_obj = finportfolio ([CapObj、FloorObj SwaptionObj], [BlackPricerObj, NormalPricerObj SabrPricerObj])创建一个金融资产组合对象,其中包含仪器和定价对象。

输入参数

全部展开

组合中的仪器对象,指定为标量仪器对象或仪器对象数组。

数据类型:对象

组合中的Pricer对象,指定为标量Pricer对象或Pricer对象数组。

数据类型:对象

仪器数量,指定为标量数字或NINST——- - - - - -1.数值数组。多头头寸使用正值,空头头寸使用负值。

数据类型:双重的

性质

全部展开

组合中的工具对象,作为标量工具对象或工具对象数组返回。

数据类型:结构体

投资组合中的定价器对象,作为标量定价器对象或定价器对象数组返回。

数据类型:结构体

此属性是只读的。

将工具对象映射到组合中的pricer对象,以数字形式返回。

价格指数的长度等于仪器对象的数量金融资产组合对象,并存储每个仪器对象使用pricer的索引。

数据类型:结构体

仪器的数量,作为标量数字或数字数组返回。

数据类型:双重的

目标函数

价格组合 计算工具组合的价格和敏感性
附加仪器 将工具添加到工具组合中
劝诫 从工具组合中删除工具
塞特普勒 定价金融资产组合对象

例子

全部折叠

使用金融资产组合价格组合创建包含FixedBond乐器和美国人香草期权工具。

创建FixedBond仪对象

使用fininstrument创建FixedBond仪对象。

FixB=有限仪器(“FixedBond”,“到期日”,日期时间(2022,9,15),“CouponRate”,0.05,“姓名”,“fixed_bond”)
FixB=固定资产债券,资产:耦合利率:0.0500期限:2基础:0月底规则:1本金:100天计数调整现金流:0营业日惯例:“实际”假日:NaT发行日期:NaT首次耦合日期:NaT最后耦合日期:NaT起始日期:NaT到期日期:2022年9月15日名称:“固定债券”

创建ratecurve对象

创建一个ratecurve对象使用ratecurve.

解决= datetime(2018、9、15);类型=“零”; 零倍=[Calmonts(6)calyears([1234577102030])”;零利率=[0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307];零日期=结算+零时间;myRC=速率曲线(“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 15- september -2018 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创建折扣定价的人对象FixedBond仪器

使用芬普瑟创建折扣pricer对象并使用ratecurve对象“折扣曲线”名称-值对参数。

FBPricer=finpricer(“折扣”,“折扣曲线”,myRC)
折扣曲线:[1x1率曲线]

创建香草仪对象

使用fininstrument创造一个美国人香草仪对象。

成熟= datetime(2023、9、15);AmericanOpt = fininstrument (“香草”,“ExerciseDate”成熟“罢工”,120,“ExerciseStyle”,“美国”,“姓名”,“香草油选项”)
美国式:"american" exercisdate: 15-Sep-2023 Strike: 120 Name: "vanilla_option"

创建BlackScholes模型对象香草仪器

使用finmodel创建BlackScholes模型对象。

BSModel = finmodel (“BlackScholes”,“波动性”, 0.12)
BSModel = BlackScholes with properties:波动性:0.1200 Correlation: 1

创建比耶克松德斯滕斯兰定价的人对象香草仪器

使用芬普瑟对象的分析定价器对象比耶克松德斯滕斯兰定价方法和使用ratecurve对象“折扣曲线”名称-值对参数。

BJSPricer=finpricer(“分析”,“模型”BSModel,“折扣曲线”,myRC,“SpotPrice”,100,“DividendValue”,.02,“PricingMethod”,“BjerksundStensland”)
BJSPricer=BjerksundStensland,带属性:折扣曲线:[1x1比率曲线]模型:[1x1 finmodel.BlackScholes]现货价格:100分割值:0.0200分割类型:“连续”

将仪器添加到金融资产组合对象

创建一个金融资产组合对象使用金融资产组合并将这两种工具及其相关定价加入投资组合。

f1=finportfolio([AmericanOpt,FixB],[Bjspicer,FBPricer])
f1 = finportfolio with properties: Instruments: [2x1 fininstrument.]定价者:[2x1 finpricer。PricerIndex: [2x1 double]数量:[2x1 double]

价格组合

使用价格组合计算投资组合和投资组合中的工具的价格和敏感性。

[PortPrice, InstPrice PortSens InstSens] = pricePortfolio (f1)
PortPrice = 119.1665
因斯普莱斯=2×13.1912 - 115.9753
波特森斯=1×8表价格DV01德尔塔伽马Lambda织女星Rho(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu119.17 0.04295 0.23188 0.011522.uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu887.2661.814-1.486
英斯特森=2×8表价格DV01德尔塔伽马Lambda Vega Theta Rho(uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

此示例显示了创建债券和债券期权工具组合并为其定价的工作流。您可以使用金融资产组合价格组合价格FixedBond,FixedBondOption,选项MBEDDEDFIXEDBOND,浮动债券仪器使用一个IRTree定价方法。

创建ratecurve对象

创建一个ratecurve对象使用ratecurve.

结算=日期时间(2018,1,1);零时间=结算时间(1:4)”;零利率=[0.035;0.042147;0.047345;0.052707];零日期=结算+零时间;复利=1;零曲线=费率曲线(“零”、结算、ZeroDates ZeroRates,“复利”复合)
ZeroCurve=具有属性的利率曲线:类型:“零”复利:1基础:0日期:[4x1日期时间]利率:[4x1双倍]结算:2018年1月1日InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“上一个”

创建债券和期权工具

使用fininstrument创建FixedBond,FixedBondOption,选项MBEDDEDFIXEDBOND,浮动债券仪的对象。

cdate = datetime([2020,1,1;2022年,1,1);箱= [.0425;.0750];CouponRate =时间表(CDates、箱);成熟= datetime(2022、1、1);时间= 1;%香草FixedBondVBond=有限仪器(“FixedBond”,“到期日”成熟“CouponRate”, 0.0425,“期间”期,“姓名”,“vanilla_fixed”)
VBond = FixedBond with properties: CouponRate: 0.0425 Period: 1 Basis: 0 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT issueddate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 01-Jan-2022名称:“vanilla_fixed”
%阶梯息票债券SBond=有限仪器(“FixedBond”,“到期日”成熟“CouponRate”,耦合率,“期间”期,“姓名”,“阶梯式息票债券”)
SBond=固定资产债券:票面利率:[2x1时间表]期限:1基础:0月底规则:1本金:100天计数调整现金流:0营业日惯例:“实际”假日:NaT发行日期:NaT首次票面利率:NaT最后票面利率:NaT起始日期:NaT到期日期:2022年1月1日名称:“阶梯式息票债券”
%浮动债券排列=0;重置=1;浮动=有限仪器(“浮动债券”,“到期日”成熟“传播”传播,“重置”,重置,...“投影曲线”,零曲线,“姓名”,“floatbond”)
浮动= FloatBond属性:传播:0 ProjectionCurve: [1 x1 ratecurve] ResetOffset: 0重置:1基础:0 EndMonthRule: 1主要:100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”LatestFloatingRate:南假日:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate可以:NaT成熟度:01 - 1月- 2022的名字:“FloatBond”
%的看涨期权罢工=100;练习日期=日期时间(2020,1,1);选项类型=“电话”;期间=1;调用选项=fininstrument(“FixedBondOption”,“罢工”罢工,“ExerciseDate”,练习日期,...“OptionType”,OptionType,“ExerciseStyle”,“美国”,“债券”VBond,“姓名”,“固定债券期权”)
CallOption=FixedBondOption带属性:OptionType:“call”练习样式:“american”练习日期:2020年1月1日罢工:100债券:[1x1 fininstrument.FixedBond]名称:“fixed_Bond_option”
%嵌入式债券期权(可赎回债券)CDates=日期时间([2020,1,1;2022,1,1]);板条箱=[0.0425;.0750];耦合率=时间表(CDates,板条箱);删除日期=[100;100];执行日期SOE=[datetime(2020,1,1);日期时间(2021,1,1)];调用时间表=时间表(执行日期SOE,删除日期,“变化无常”, {“罢工时间表”});CallableBond = fininstrument (“OptionEmbeddedFixedBond”,“到期日”成熟...“CouponRate”,耦合率,“期间”时期...“通话时间表”,电话时间表,“姓名”,“选项\u嵌入\u固定债券”)
CallableBond = OptionEmbeddedFixedBond with properties: CouponRate: [2x1时间表]Period: 1 Basis: 0 EndMonthRule: 1 Principal: 100 DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT IssueDate: NaT FirstCouponDate: NaT LastCouponDate: NaT StartDate: NaT Maturity: 01-Jan-2022 CallDates: [2x1 datetime] PutDates:[0x1 datetime] CallSchedule: [2x1时刻表]PutSchedule: [0x0时刻表]callexercisstyle: "american" putexercisstyle: [0x0 string] Name: "option_embedded_fixedbond"

创建绿白色模型

使用finmodel创建绿白色模型对象。

VolCurve = 0.01;AlphaCurve = 0.1;HWModel = finmodel (“绿白色”,“α”AlphaCurve,“西格玛”VolCurve)
HWModel = HullWhite属性:Alpha: 0.1000 Sigma: 0.0100

创建IRTree价格绿白色模型

使用芬普瑟创建IRTree价格对象绿白色建模并使用ratecurve对象“折扣曲线”名称-值对参数。

HWTreePricer = finpricer (“埃尔特里”,“模型”,HW型号,“折扣曲线”,零曲线,“树人”ZeroDates)
HWTreePricer = HWBKTree with properties: Tree: [1x1 struct] TreeDates: [4x1 datetime] Model: [1x1 finmodel. HWTreePricer = HWBKTree with properties: Tree: [1x1 struct] TreeDates: [4x1 datetime] Model: [1x1 finmodel. HWTreePricer = HWBKTree折现曲线:[1x1率曲线]

创建金融资产组合对象并添加可收回债券工具

创建一个金融资产组合反对普通债券、阶梯息票债券、浮动债券和看涨期权。

myportfolio=finportfolio([VBond,SBond,Float,CallOption],HWTreePricer[1,2,2,1])
myportfolio = finportfolio with properties:价格:[1x1 finpricer.irtree.]HWBKTree: PricerIndex: [4x1 double]数量:[4x1 double]

使用附加仪器将可赎回债券工具添加到现有投资组合中。

myportfolio=addInstrument(myportfolio,CallableBond,HWTreePricer,1)
myportfolio=finportfolio,属性:工具:[5x1 fininstrument.fininstrument]价格:[1x1 finpricer.irtree.HWBKTree]价格指数:[5x1 double]数量:[5x1 double]
myportfolio.pricerndex
ans =5×11 1 1 1 1

这个价格指数属性的长度等于中仪器对象的长度金融资产组合对象,并存储每个工具对象使用的pricer的索引。在这种情况下,因为只有一个pricer,所以每个工具都必须使用该pricer。

价格组合

使用价格组合计算投资组合以及投资组合中的债券和期权工具的价格和敏感性。

格式银行[PortPrice, InstPrice PortSens InstSens] = pricePortfolio (myportfolio)
PortPrice = 600.55
因斯普莱斯=5×196.5943 204.1377 200.0000 0.0487 99.7738
波特森斯=1×4表价格织女星伽马三角洲600.55-63.405759.65-1297.48
英斯特森=5×4表价格Vega伽马三角洲香草固定96.59-0.00 1603.49-344.81阶梯式息票债券204.14 0.00 3364.60-725.96浮动债券200.00-0.00-0.00-0.00固定债券0.05 12.48 24.15-3.69期权嵌入固定债券99.75-7.03-1

使用金融资产组合价格组合创建一个包含三个元素的投资组合并为其定价FixedBond乐器和三个美国乐器香草选择工具。

创建FixedBond仪对象

使用fininstrument创建FixedBond用于三种固定债券工具的工具对象。

FixB=有限仪器(“FixedBond”,“到期日”,日期时间([2022,9,15;2022,10,15;2022,11,15]),“CouponRate”,0.05,“姓名”,“fixed_bond”)
修理工=3×1对象3x1带属性的固定债券数组:耦合利率期间基准月底规则本金日数调整后的现金流业务日约定假日发行日期FirstCouponDate LastCouponDate起始日期到期日期名称

创建ratecurve对象

创建一个ratecurve对象使用ratecurve.

解决= datetime(2018、9、15);类型=“零”; 零倍=[Calmonts(6)calyears([1234577102030])”;零利率=[0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307];零日期=结算+零时间;myRC=速率曲线(“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve with properties: Type: "zero" compound: -1 Basis: 0 date: [10x1 datetime] Rates: [10x1 double] Settle: 15- september -2018 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创建折扣定价的人对象FixedBond仪器

使用芬普瑟创建折扣pricer对象并使用ratecurve对象“折扣曲线”名称-值对参数。

FBPricer=finpricer(“折扣”,“折扣曲线”,myRC)
折扣曲线:[1x1率曲线]

创建香草仪对象

使用fininstrument创造一个美国人香草乐器对象为三种香草乐器。

到期= datetime([2023,9,15;2023、10、15;2023、11、15]);AmericanOpt = fininstrument (“香草”,“ExerciseDate”成熟“罢工”,120,“ExerciseStyle”,“美国”,“姓名”,“香草油选项”)
AmericanOpt =3×1对象带有属性的香草数组:OptionType exercisstyle exercisdate Strike Name

创建BlackScholes模型对象香草仪器

使用finmodel创建BlackScholes模型对象。

BSModel = finmodel (“BlackScholes”,“波动性”, 0.12)
BSModel = BlackScholes with properties:波动性:0.1200 Correlation: 1

创建比耶克松德斯滕斯兰定价的人对象香草仪器

使用芬普瑟对象的分析定价器对象比耶克松德斯滕斯兰定价方法和使用ratecurve对象“折扣曲线”名称-值对参数。

BJSPricer=finpricer(“分析”,“模型”BSModel,“折扣曲线”,myRC,“SpotPrice”,100,“DividendValue”,.02,“PricingMethod”,“BjerksundStensland”)
BJSPricer=BjerksundStensland,带属性:折扣曲线:[1x1比率曲线]模型:[1x1 finmodel.BlackScholes]现货价格:100分割值:0.0200分割类型:“连续”

将仪器添加到金融资产组合对象

创建一个金融资产组合对象使用金融资产组合并将这六种工具及其相关定价加入投资组合。

f1=finportfolio([AmericanOpt;FixB],[BJSPricer,BJSPricer,BJSPricer,FBPricer,FBPricer])
f1 = finportfolio with properties:工具:[6x1 fininstrument.]定价者:[6x1 finpricer。PricerIndex: [6x1 double]数量:[6x1 double]

价格组合

使用价格组合计算投资组合和投资组合中的工具的价格和敏感性。

[PortPrice, InstPrice PortSens InstSens] = pricePortfolio (f1)
PortPrice=358.4108
因斯普莱斯=6×13.1912 3.2579 3.3272 115.9753 116.2114 116.4478
波特森斯=1×8表价格DV01γδλ织女星θρ  ______ _______ _______ ________ ______ ______ _______ ______ 358.41 0.13159 0.70286 0.034471 21.572 198.96 -2.4455 266.62
英斯特森=6×8表价格,价格,价格,价格,价格,价格,价格,三角伽马,伽马,一个三角伽马,一个伽马,一个伽马,一个伽马,一个三角伽马,一个三角伽马,一个三角伽马,一个价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,三角伽马,价格,价格,价格,价格,价格,伽马,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,伽马,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格,价格1907 66.314-0.81353 88.842香草期权2 3.3272 NaN 0.23672 0.011455 7.1147 67.196-0.81784 91.063固定债券115.98 0.04295南南固定债券116.21 0.043858南南固定债券2116.45 0.044786南南
介绍了R2020a