我试图构建一个尽可能接近指数的投资组合,即最小化跟踪误差。目标函数是使以下各项最小化:
下面是要求和的表达式
我已尝试按以下方式设置问题:
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以外的东西吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐