主要内容

Portfolio对象上的常见操作

命名一个Portfolio对象

说出一个投资组合对象,则使用的名字财产。的名字是信息性的,对任何投资组合计算没有影响。如果的名字属性为非空,的名字有效边界图的标题是由plotFrontier.例如,如果你设立一个资产配置基金,你可以命名为投资组合资产配置基金:

p =投资组合(“名字”“资产配置基金”);disp (p.Name)
资产配置基金

在资产宇宙中配置资产

的基本量投资组合对象是资产宇宙中资产的数量。这个量保持在NumAssets财产。虽然您可以直接设置此属性,但它是从其他属性(如资产回报的平均值和初始投资组合)派生出来的。在某些情况下,可能需要直接设置资产的数量。这个例子展示了如何设置一个投资组合对象,该对象具有四个资产:

p =投资组合(“NumAssets”4);disp (p.NumAssets)
4

设置完成后NumAssets属性,则不能修改它(除非没有设置依赖的其他属性NumAssets).改变现有资产数量的唯一方法投资组合对象的方法是创建一个新的Portfolio对象。

建立资产标识符列表

在处理投资组合时,您必须指定资产的范围。尽管您可以执行完整的分析,而不需要在您的领域中命名资产,但是在创建和使用投资组合时,拥有与每个资产关联的标识符是很有帮助的。您可以创建一个资产标识符列表,作为属性中字符向量的单元格向量AssetList.可以使用下面两个函数设置列表。

使用Portfolio函数设置资产列表

假设你有一个投资组合对象,p,带有符号的资产“AA””,“BA”“猫”“弟弟”,“ETR”.属性可以在对象中创建这些资产符号的列表投资组合对象:

p =投资组合(“assetlist”, {“AA”“BA”“猫”“弟弟”“ETR”});disp (p.AssetList)
' aa ' ' ba ' ' cat ' ' dd ' ' etr '
注意这个属性AssetList维护为包含字符向量的单元格数组,并且必须将单元格数组传递到投资组合要设置的对象AssetList.此外,请注意属性NumAssets设置为5根据用于创建资产列表的符号数量:
disp (p.NumAssets)
5

使用setAssetList函数建立资产列表

属性指定资产列表setAssetList函数。给定资产符号列表“AA”“BA”“猫”“弟弟”,“ETR”,你可以使用setAssetList:

p =投资组合;p = setAssetList(p, {“AA”“BA”“猫”“弟弟”“ETR”});disp (p.AssetList)
' aa ' ' ba ' ' cat ' ' dd ' ' etr '

setAssetList还允许您直接以逗号分隔的列表形式输入符号,而无需创建字符向量的单元格数组。例如,给定资产符号列表“AA”“BA”“猫”“弟弟”,“ETR”,使用setAssetList

p =投资组合;p = setAssetList(p,“AA”“BA”“猫”“弟弟”“ETR”);disp (p.AssetList)
' aa ' ' ba ' ' cat ' ' dd ' ' etr '

setAssetList具有许多用于创建资产标识符列表的附加特性。如果你使用setAssetList只要一个投资组合对象时,它会根据隐藏公共属性中指定的名称创建一个默认资产列表defaultforAssetList(这是“资产”默认情况下)。创建的资产名称的数量取决于属性中的资产数量NumAssets.如果NumAssets还没准备好吗NumAssets假设是1

例如,如果a投资组合对象p是用NumAssets5,则此代码片段显示默认命名行为:

p =投资组合(“numassets”5);p = setAssetList(p);disp (p.AssetList)
“资产1”、“资产2”、“资产3”、“资产4”、“资产5”
假设你的资产是etf,你改变了隐藏属性defaultforAssetList“交易所交易基金”,然后你可以为etf创建一个默认列表:
p =投资组合(“numassets”5);p.defaultforAssetList =“交易所交易基金”;p = setAssetList(p);disp (p.AssetList)
' etf1 ' ' etf2 ' ' etf3 ' ' etf4 ' ' etf5 ' '

截断和填充资产列表

如果NumAssets属性,并且您传递了太多或太少的标识符,则投资组合对象,而setAssetList函数用使用隐藏公共属性中指定的名称的带编号的默认资产名称截断或填充列表defaultforAssetList.如果列表被截断或填充,则警告消息指示差异。例如,假设你有一个投资组合对象有五个etf,你只知道前三个cusip“921937835”“922908769”,“922042775”.使用此语法可创建一个资产列表,该列表将剩余的资产标识符用编号填充“UnknownCUSIP”占位符:

p =投资组合(“numassets”5);p.defaultforAssetList =“UnknownCUSIP”;p = setAssetList(p,“921937835”“922908769”“922042775”);disp (p.AssetList)
警告:资产的输入列表有两个太少的标识符。填充有编号的资产。>在投资组合。setAssetListat 121 '921937835' '922908769' '922042775' 'UnknownCUSIP4' 'UnknownCUSIP5'

或者,假设您有太多标识符,而只需要前四个资产。属性来截断资产列表投资组合对象:

p =投资组合(“numassets”4);p =投资组合(p,“assetlist”, {“gg”“额”“做功”“间谍”“VEU”});disp (p.AssetList)
警告:AssetList有1个太多的标识符。使用前4个资产。>在投资组合。checkarguments at 434 In Portfolio.Portfolio>Portfolio。投资组合价格171 'AGG' 'EEM' 'MDY' 'SPY'

隐藏的公共财产uppercaseAssetList是一个布尔标志,用于指定是否将资产名称转换为大写字母。的默认值uppercaseAssetList.方法的使用uppercaseAssetList标志强制标识符为大写字母:

p =投资组合;p.p upcaseassetlist = true;p = setAssetList(p,{“aa”“ba”“猫”“弟弟”“etr”});disp (p.AssetList)
' aa ' ' ba ' ' cat ' ' dd ' ' etr '

另请参阅

|||||

相关的例子

更多关于

外部网站