主要内容

setcost

设置成比例的交易成本

描述

例子

obj= setcost (objBuyCost设置成比例的交易成本投资组合PortfolioCVaR,或PortfolioMAD对象。有关使用这些不同对象时各自工作流程的详细信息,请参见组合对象的工作流PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流

例子

obj= setcost (objBuyCostSellCostInitPortNumAssets为具有指定的附加选项的组合对象设置成比例的交易成本SellCostInitPort,NumAssets

给定比例交易费用和初始投资组合中的变量BuyCostSellCost,InitPort,任何投资组合的交易成本港口降低投资组合的预期收益:

BuyCost' * max{0, Port - InitPort} + SellCost' * max{0, Port - Port}

例子

全部折叠

给定一个投资组合对象p初始投资组合已经确定,使用setcost设置交易费用的功能。

BC = [0.00125;0.00125;0.00125;0.00125;0.00125);Sc = [0.00125;0.007;0.00125;0.00125;0.0024); x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ]; p = Portfolio(“InitPort”, x0);p = setCosts(p, bc, sc);disp (p.NumAssets);
5
disp (p.BuyCost);
0.0013 0.0013 0.0013 0.0013
disp (p.SellCost);
0.0013 0.0070 0.0013 0.0013 0.0024
disp (p.InitPort);
0.4000 0.2000 0.2000 0.1000 0.1000

给定一个CVaR投资组合对象p初始投资组合已经确定,使用setcost设置交易费用的功能。

BC = [0.00125;0.00125;0.00125;0.00125;0.00125);Sc = [0.00125;0.007;0.00125;0.00125;0.0024); x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ]; p = PortfolioCVaR(“InitPort”, x0);p = setCosts(p, bc, sc);disp (p.NumAssets);
5
disp (p.BuyCost);
0.0013 0.0013 0.0013 0.0013
disp (p.SellCost);
0.0013 0.0070 0.0013 0.0013 0.0024
disp (p.InitPort);
0.4000 0.2000 0.2000 0.1000 0.1000

鉴于PortfolioMAD对象p初始投资组合已经确定,使用setcost设置交易费用的功能。

BC = [0.00125;0.00125;0.00125;0.00125;0.00125);Sc = [0.00125;0.007;0.00125;0.00125;0.0024); x0 = [ 0.4; 0.2; 0.2; 0.1; 0.1 ]; p = PortfolioMAD(“InitPort”, x0);p = setCosts(p, bc, sc);disp (p.NumAssets);
5
disp (p.BuyCost);
0.0013 0.0013 0.0013 0.0013
disp (p.SellCost);
0.0013 0.0070 0.0013 0.0013 0.0024
disp (p.InitPort);
0.4000 0.2000 0.2000 0.1000 0.1000

输入参数

全部折叠

对象的组合,指定使用投资组合PortfolioCVaR,或PortfolioMAD对象。有关创建组合对象的更多信息,请参见

数据类型:对象

购买每项资产的比例交易成本,指定为向量投资组合PortfolioCVaR,或PortfolioMAD输入对象(obj).

请注意

  • 如果BuyCostSellCost,或InitPort被指定为标量和NumAssets存在或可输入,然后这些值进行标量展开。的默认值NumAssets1

  • 交易成本在BuyCostSellCost如果它们带来了交易成本,则为正值。在某些情况下,它们可能是负值,这意味着贸易信贷。

数据类型:

按比例出售每项资产的交易成本,以向量表示投资组合PortfolioCVaR,或PortfolioMAD输入对象(obj).

请注意

  • 如果BuyCostSellCost,或InitPort被指定为标量和NumAssets存在或可输入,然后这些值进行标量展开。的默认值NumAssets1

  • 交易成本在BuyCostSellCost如果它们带来了交易成本,则为正值。在某些情况下,它们可能是负值,这意味着贸易信贷。

数据类型:

初始或当前的投资组合权重,指定为a的向量投资组合PortfolioCVaR,或PortfolioMAD输入对象(obj).

请注意

如果没有InitPort时,该值假定为0

  • 如果BuyCostSellCost,或InitPort被指定为标量和NumAssets存在或可输入,然后这些值进行标量展开。的默认值NumAssets1

  • 交易成本在BuyCostSellCost如果它们带来了交易成本,则为正值。在某些情况下,它们可能是负值,这意味着贸易信贷。

数据类型:

投资组合中资产的数量,指定为a的标量投资组合PortfolioCVaR,或PortfolioMAD输入对象(obj).

请注意

NumAssets不能用于更改组合对象的维度。

  • 如果BuyCostSellCost,或InitPort被指定为标量和NumAssets存在或可输入,然后这些值进行标量展开。的默认值NumAssets1

  • 交易成本在BuyCostSellCost如果它们带来了交易成本,则为正值。在某些情况下,它们可能是负值,这意味着贸易信贷。

数据类型:

输出参数

全部折叠

更新的组合对象,返回为投资组合PortfolioCVaR,或PortfolioMAD对象。有关创建组合对象的更多信息,请参见

提示

  • 您还可以使用点符号来设置成比例的交易成本。

    obj = obj。setcost(BuyCost, SellCost, InitPort, NumAssets);

  • 如果BuyCostSellCost输入是否为空[],则清除portfolio对象中的相应属性并将其设置为[].如果InitPort设置为空用[],它只会被清除并设置为[]如果BuyCostSellCost,营业额也是空的。否则,它是一个错误。

介绍了R2011a