就是做资产组合optimization的时候,
1. 那个f是什么用?为啥要设成都是0?
2 那个A和b(就是那个不等式)有什么用? 我做的时候把这两个都缺省了
3. 我把lb设成0,但warning message说用mediem-size...条件太严厉之类的,请问有何办法? 因为我需要不能shorting.
谢谢啊!!!
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
1.投资组合要的是最小标准差,公式后段用不上,所以f设为0.
2.你要without short selling那么A,b都要设
假设你有三支股票,那么可如此设
A=[-1 0 0;0 -1 0;0 0 -1];
b=[0;0;0];
3.你可如此设
options=optimset('LargeScale','off');
quadprog(H,f,A,b,Aeq,beq,[],[],[],options);
他在金融版也问了
https://bbs.pinggu.org/thread-139484-1-1.html
你那个A和b还是不对,你那个设法和把lb设成0没什么区别
1.哈哈.
2.看过你金融版的回帖
使用quadprog
equality constraints 应该是1'*x=1
r'*x=rp
What's so funny? Why 哈哈?
So big deal?
What if rp = 0? The trivial solution is x = 0, and your equality constraint 1' * x = 1 is never satisfied.
1.哈哈的意思是,高兴irvingy兄能参与讨论.
2.因楼主要without short selling
所以x不能为负,故设为
-x1<=0,
-x2<=0,
-x3<=0
3.而整个投资组合而言亦是
x1 +x2 +x3 =1,
4.设有三支股票平均收益率分别为rp1,rp2,rp3
Case1:rp1=0,
Case2:rp1=0,rp2=0,
Case3:rp1=0,rp2=0,rp3=0,
rp为0,已经很奇怪了,通通为0,岂不更妙.
我没什么恶意,只是随口问问。
你那个2是没错,但是我已经说过了,他把lb设成0,效果是一样的。他的问题是把另外两个约束条件省略了,就是A和b缺了两行。
不知道你的4在说什么。
rp等于0没有什么奇怪的。因为covariance matrix是positive definite的,rp等于0的时候,有唯一的解x = 0,这个和indivisual expected return是不是0没有关系。但是如果你要求1' * x = 1,结果就是没有解。我的要求1‘ * x <= 1,可以得到正确的唯一解。
你的case 3,所有的individual expected return都是0,这时候假如rp = 0,仍然有唯一的解x = 0,否则无解。
无解,和有唯一的解x = 0,是不一样的。
所以我不愿意在这里讨论金融方面的问题,这里多是搞统计和计量的,我早说了,就像鸡同鸭讲。
[此贴子已经被作者于2007-2-6 11:25:54编辑过]
谢谢大家啦,问题解决了,因为一开始老师给的0.5%太高,把lb设成0,出来的还是负数所以我就搞不明白哪里不对了,后来他改成0.05%就OK.quadprog中我把A和b都省略了,因为没什么不等式要求,只要sum(w)=1,sum(w*r)=target return就可以了.
其实问题最后是要resample 1000次看resample efficient frontier和原来的有啥区别.每条取50个点,跑了50,000次,bloody takes time...