cvxpy指数跟踪中对数差分的正则凸规划表示

2024-06-16 21:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图构建一个尽可能接近指数的投资组合,即最小化跟踪误差。目标函数是使以下各项最小化: Objective

下面是要求和的表达式

Tracking error

我已尝试按以下方式设置问题:

exp = [cvx.log(V[:,t].T*x) - cvx.log(V[:,0].T*x) - R[t] for t in range(1,V.shape[1])]

其中R[t]是ln(It/I0)部分,因为它可以预先计算。由于cvxpy不允许按表达式除,所以我尝试将其转换为对数差。这个表达式没有错误,但是当我尝试

for x in exp:
print(x.is_dcp())

我收到了一份假名单。因此,cvxpy将无法解决问题,因为它不受约束。你知道吗

有没有办法解决这个问题,使它保持纪律性?或者,我可以使用cvxpy以外的东西吗?你知道吗


Tags: 函数inlog目标for表达式方式range