如何在matlab中允许卖空(滚动有效边界)?

问题描述 投票:1回答:1

我有一个183x12,其中第一列代表月度日期,其他11列是资产。

我尝试使用Matlab文档中的滚动高效前沿函数:

https://nl.mathworks.com/help/finance/frontier.html

通过使用以下代码行:

[PortWts,AllMean,AllCovariance] = frontier(Universe,Window,Offset,NumPorts,ActiveMap)

哪里:

Window = 12
Offset = 12
NumPorts = 11
ActiveMap = 183x11 matrix of ones

但是,我想将Consent添加到允许卖空的代码行中,因为默认情况下不允许卖空。

我的问题是,我该如何添加?

https://nl.mathworks.com/help/finance/portcons.html

matlab finance portfolio
1个回答
0
投票

约束很容易实现,只需调用portcons function如下:

ConSet = portcons('PortValue',1,11,'AssetLims',-1,AssetMax,11);

其中AssetMax是标量或定义资产权重上边界的向量。从官方文档:

AssetLims

每项资产的最低和最高分配。

AssetMin(必需)长度为NASSETS的标量或向量,指定每个资产的最小分配。

AssetMax(必需)长度为NASSETS的标量或向量,指定每个资产的最大分配。

NumAssets(可选)请参阅pcalims

© www.soinside.com 2019 - 2024. All rights reserved.