python - Scipy Optimize - 如何设置库存重量下限
问题描述
我正在尝试创建一个不允许卖空的最小差异投资组合。我得到了正确的解决方案,但是我想将库存权重设置在 5% 到 15% 之间。我已经添加了上边界,它工作正常,但是不知道添加下边界的正确方法。
def objective(w):
return np.matmul(short,np.matmul(covvar,shortweights))
w = np.random.random(497)
e = ones
const = ({'type' : 'eq' , 'fun' : lambda w: np.dot(w,e) - 1}) # sum(w) - 1 = 0
non_neg = []
for i in range(497):
non_neg.append((0,.15))
non_neg = tuple(non_neg)
solution = minimize(fun=objective, x0=w, method='SLSQP',constraints=const,bounds=non_neg)
w = solution.x.round(6)
解决方案
推荐阅读
- java - 无法绕过 maven checkstyle 插件
- javascript - TinyMce 5 + Vue.js 使用插件添加按钮不起作用
- mongodb - MongoDB BI 连接器的 MongoDB ODBC 配置
- python - Django Rest Framwork 从视图返回序列化程序 create() 方法响应?
- java - Kotlin no-args 插件不适用于 Maven
- css - Laravel Jetstream 比较两个表格以更改表格的背景
- javascript - 输入字段的只读属性
- blazor - 在 Blazor (.razor) 组件中添加多个组件
- xml - 使用 XSLT 将包含 HTML 的 XML 部分转换为文本
- javascript - 带有数据验证的订阅按钮