全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1812 4
2011-09-14
我有一个Portfolio,几百个股票,现在要max return

subject to:
0-1% 权重内的股票数要在50-100个之间
1%-3%的在20-50个之间
3%-5%的在10-15个之间

(这里的数字都是假设)

怎么做?

我想出一种做法,就是max y, y = A*x - 1000*变量m,  A是return, x是需要求的
allocation
然后sub function里面m就是indicator, 目的是得到这个么矩阵

0-1  1-3  3-5
1    0    0
1    0    0
1    0    0
0    1    0   
0    1    0  
0    1    0  
0    0    1   
0    0    1  
0    0    1  
。。。。。。。

然后列相加,如果每一列都在给定范围内,这列=0,不然=1
变量m = 3列数据的总和,这样optimizor就是尽量让m=0。

但是老板说我这个求法不一定global optimal。一定要用linprog,让我在A和x里面直接动手脚,不要在加
Integer变量,有解么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-9-14 14:13:25
我想你的问题是:用线性规划求最优解时,怎样定义问题的控制条件。

你原先的做法是自己搞了个indicator变量。 那么我在网上查了下,在MatLab中是可以自定义indicator函数的。所以其实你可以对要求的X,利用indicator定义相应的控制条件。 然后求解。

有没帮到学友?   欢迎继续讨论。  <hyu0401@hotmail.com>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-14 17:04:09
啊 这不是线性规划 是0-1规划 bitporg 不明白你老师怎么想的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-14 19:06:03
liuxin9023 发表于 2011-9-14 17:04
啊 这不是线性规划 是0-1规划 bitporg 不明白你老师怎么想的
都不是0-1规划。我说用inidcator函数是为了表达出约束条件。 主要你的约束条件未必是线性的。 MatLab里面除了linprog,还有其他适应非线性的求最优的函数。 你要么问下你导师可不可以用。 欢迎继续讨论。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-14 19:34:20
我没太看懂题目。A中是股票收益率?它是一个向量吧?
那么把收益率排个序,从大到小赋予权重就可以了!

把已知的信息说清楚点吧。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群