楼主: fantuanxiaot
43856 133

[源码分享] 原创:马克维茨最小方差边界和有效边界作图   [推广有奖]

Ψ▄┳一大卫卍卐席尔瓦

大师

8%

还不是VIP/贵宾

-

威望
7
论坛币
-234475 个
通用积分
124.1424
学术水平
3783 点
热心指数
3819 点
信用等级
3454 点
经验
150207 点
帖子
7546
精华
32
在线时间
1327 小时
注册时间
2013-2-3
最后登录
2022-2-24

初级学术勋章 初级热心勋章 中级热心勋章 中级学术勋章 初级信用勋章 中级信用勋章 高级热心勋章 高级学术勋章 特级学术勋章 特级热心勋章 高级信用勋章 特级信用勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


需用到的数据 Markowitz_Frontile_Data.zip (33.74 KB) 本附件包括:
  • Markowitz_Frontile_Data.mat

Markowitz_Frontile_Plot2.jpg


Markowitz_Frontile_Plot1.jpg




copyright by fantuanxiaot

代码如下


本帖隐藏的内容



  1. function Markowitz_Frontile()
  2. %  X是股价的序列:每一列代表一个股价的序列
  3. %  copyright by fantuanxiaot
  4. load Markowitz_Frontile_Data
  5. [~,N]=size(X);
  6. %  共有N只股票
  7. %  建立回报矩阵
  8. X1=X(1:end-1,:);
  9. X2=X(2:end,:);
  10. ReturnMatrix=(X2-X1)./X1;
  11. %  期望收益
  12. ExpectedReturn=mean(ReturnMatrix);
  13. %  最大期望收益和最小的期望收益
  14. MaxR=max(ExpectedReturn);
  15. MinR=min(ExpectedReturn);
  16. Cov_Var=cov(ReturnMatrix);
  17. Var=var(ReturnMatrix);
  18. R=linspace(5.5*MinR,4*MaxR,100);
  19. Parameters=[];
  20. Std=[];
  21. StdVar=sqrt(Var);
  22. for i=1:length(R)
  23.     [beta,fval]=quadprog(Cov_Var,zeros(N,1),[],[],[ones(1,10);ExpectedReturn],[1;R(i)]);
  24.     Parameters=[Parameters beta];
  25.     Std=[Std sqrt(fval*2)];
  26. end
  27. %% 最小方差边界作图
  28. figure(1)
  29. set(figure(1),'color','w')
  30. hold on
  31. plot(StdVar,ExpectedReturn,'ys','markersize',12,'markerfacecolor','b','markeredgecolor','k')
  32. FrontierReturn=zeros(1,length(R));
  33. for i=1:length(R)
  34. FrontierReturn(i)=ExpectedReturn*Parameters(:,i);
  35. end
  36. plot(Std,FrontierReturn,'k','linewidth',3)
  37. plot(Std,FrontierReturn,'mp','markersize',12,'markerfacecolor','m','markeredgecolor','k')
  38. title('最小方差边界作图','fontname','Times New Roman','fontsize',16)
  39. xlabel('标准差','fontname','Times New Roman','fontsize',16)
  40. ylabel('期望收益','fontname','Times New Roman','fontsize',16)
  41. hold on
  42. %  计算其他任意投资组合
  43. ExpectedReturn=ExpectedReturn';
  44. Para1=unifrnd(-0.8,1.2,1200,9);
  45. Para1=[Para1 ones(1200,1)-sum(Para1,2)];
  46. Return1=Para1*ExpectedReturn;
  47. for i=1:size(Return1)
  48.     Var1(i)=Para1(i,:)*Cov_Var*Para1(i,:)';
  49. end
  50. Std1=sqrt(Var1);
  51. plot(Std1(1:300),Return1(1:300),'gv','markerfacecolor','g','markeredgecolor','k')
  52. plot(Std1(301:600),Return1(301:600),'ro','markerfacecolor','r','markeredgecolor','k')
  53. plot(Std1(601:900),Return1(601:900),'c<','markerfacecolor','c','markeredgecolor','k')
  54. plot(Std1(901:1200),Return1(901:1200),'bh','markerfacecolor','b','markeredgecolor','k')
  55. legend('个股','最小方差边界','最小方差边界组合','其他组合1','其他组合2','其他组合3','其他组合4')
  56. hold off
  57. %%  有效边界作图
  58. figure(2)
  59. set(figure(2),'color','w')
  60. hold on
  61. [~,index]=min(Std);
  62. plot(Std(index:end),FrontierReturn(index:end),'k','linewidth',3)
  63. plot(Std(index:end),FrontierReturn(index:end),'r>','markersize',10,'markerfacecolor','r','markeredgecolor','k')
  64. title('有效边界作图','fontname','Times New Roman','fontsize',16)
  65. xlabel('标准差','fontname','Times New Roman','fontsize',16)
  66. ylabel('期望收益','fontname','Times New Roman','fontsize',16)
  67. hold on
  68. %  计算其他任意投资组合
  69. Para1=unifrnd(-0.5,1,2000,9);
  70. Para1=[Para1 ones(2000,1)-sum(Para1,2)];
  71. Return1=Para1*ExpectedReturn;
  72. for i=1:size(Return1)
  73.     Var1(i)=Para1(i,:)*Cov_Var*Para1(i,:)';
  74. end
  75. Std1=sqrt(Var1);
  76. %  寻找位于有效边界下方大于最低期望收益的组合
  77. index1=find(Return1>FrontierReturn(index));
  78. Return2=Return1(index1);
  79. Std2=Std1(index1);
  80. MM=length(Return2);
  81. a1=round(MM/3);
  82. a2=2*a1;
  83. plot(Std2(1:a1),Return2(1:a1),'m*')
  84. plot(Std2(a1+1:a2),Return2(a1+1:a2),'bv','markerfacecolor','b','markeredgecolor','k')
  85. plot(Std2(a2:end),Return2(a2:end),'go','markerfacecolor','c','markeredgecolor','k')
  86. legend('有效边界','有效边界离散组合','其他组合1','其他组合2','其他组合3')
  87. hold off
复制代码





二维码

扫码加我 拉你入群

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

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

关键词:马克维茨 有效边界 fantuanxiaot parameters Parameter copyright function 收益

回帖推荐

zjl0912 发表于105楼  查看完整内容

学校的matlab课程刚刚在讲这个~~~

gjswqtwl 发表于82楼  查看完整内容

真是原创

microhard_lmj 发表于102楼  查看完整内容

charles2011 发表于101楼  查看完整内容

学习下

cooper56 发表于10楼  查看完整内容

好东西

yiweidon 发表于81楼  查看完整内容

好啊好啊

zydlscjtt 发表于84楼  查看完整内容

用什么软件做出来的呀

wobushita 发表于70楼  查看完整内容

看看!

dnq 发表于61楼  查看完整内容

kankan

peterpang 发表于48楼  查看完整内容

做的很好看,赞!

weitingkoala 发表于56楼  查看完整内容

好啊好啊

sunyiping 发表于40楼  查看完整内容

学习学习!

晏几道 发表于37楼  查看完整内容

感谢楼主分享

postcam 发表于35楼  查看完整内容

gssdzc 发表于22楼  查看完整内容

非常感谢分享

blueskyy 发表于9楼  查看完整内容

good material for using

moretc 发表于3楼  查看完整内容

用什么软件做出来的呀

Edwardu 发表于2楼  查看完整内容

学习一下

feixueshuai 发表于7楼  查看完整内容

有点意思

牛尾巴 发表于6楼  查看完整内容

谢谢楼主。

离歌レ笑 发表于5楼  查看完整内容

正好有用!

happyping123 发表于8楼  查看完整内容

谢谢,上课要用
已有 10 人评分经验 威望 论坛币 学术水平 热心指数 信用等级 收起 理由
remlus + 100 精彩帖子
beijiqie4108 + 5 + 1 + 1 + 1 精彩帖子
admin + 1 感谢长久以来对论坛的支持
casboryy + 100 支持原创!
chenyi112982 + 100 + 100 + 5 + 5 精彩帖子
weitingkoala + 60 + 20 + 4 + 3 精彩帖子
zbin7451f + 100 + 5 + 5 + 5 对论坛有贡献
wwqqer + 4 + 4 + 4 热心帮助其他会员
狂热的爱好者 + 100 + 3 + 5 + 3 精彩帖子
离歌レ笑 + 5 贡献巨大!

总评分: 经验 + 460  威望 + 1  论坛币 + 325  学术水平 + 27  热心指数 + 28  信用等级 + 18   查看全部评分

本帖被以下文库推荐

沙发
Edwardu 发表于 2014-11-14 13:13:40 |只看作者 |坛友微信交流群
学习一下

使用道具

藤椅
moretc 学生认证  发表于 2014-11-14 13:15:47 |只看作者 |坛友微信交流群
用什么软件做出来的呀
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
fantuanxiaot + 1 + 2 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

使用道具

板凳
fantuanxiaot 发表于 2014-11-14 13:53:00 |只看作者 |坛友微信交流群
moretc 发表于 2014-11-14 13:15
用什么软件做出来的呀
matlab

使用道具

报纸
离歌レ笑 在职认证  发表于 2014-11-14 15:16:24 |只看作者 |坛友微信交流群
正好有用!
已有 1 人评分论坛币 收起 理由
fantuanxiaot + 6 精彩帖子

总评分: 论坛币 + 6   查看全部评分

使用道具

地板
牛尾巴 发表于 2014-11-14 15:33:47 |只看作者 |坛友微信交流群
谢谢楼主。
已有 1 人评分热心指数 收起 理由
fantuanxiaot + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

使用道具

7
feixueshuai 发表于 2014-11-14 15:38:47 |只看作者 |坛友微信交流群
有点意思

使用道具

8
happyping123 发表于 2014-11-14 15:47:35 |只看作者 |坛友微信交流群
谢谢,上课要用

使用道具

9
blueskyy 在职认证  发表于 2014-11-14 16:30:16 |只看作者 |坛友微信交流群
good material for using

使用道具

10
cooper56 在职认证  发表于 2014-11-14 16:31:02 |只看作者 |坛友微信交流群
好东西

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 20:16