随心做的,一个组合收益和风险的Gui,改编自离歌版主的例子-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

随心做的,一个组合收益和风险的Gui,改编自离歌版主的例子

随心做的,一个组合收益和风险的Gui,改编自离歌版主的例子

发布:fantuanxiaot | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

主程序如下:%制作投资组合与相关系数的一个简单的gui%参数的变化主要在相关系数的变化%参数的设置为-1到1%copyrightbyfantuanxiaotclcclearallcloseallfigure(1)%作图的各类省略参数的设置%default是省略的参数的设 ...
扫码加入金融交流群






主程序如下:


  1. %制作投资组合与相关系数的一个简单的gui
  2. %参数的变化主要在相关系数的变化
  3. %参数的设置为-1到1
  4. %copyright by fantuanxiaot
  5. clc
  6. clear all
  7. close all
  8. figure(1)
  9. %作图的各类省略参数的设置
  10. %default是省略的参数的设置
  11. set(figure(1),'unit','normalized','position',[0.2,0.1,0.64,0.75],...
  12. 'color',[0.5 1 1],'defaultuicontrolunits','normalized',...
  13. 'defaultuicontrolfontsize',12,'defaultuicontrolhorizontal','left',...
  14. 'defaultuicontrolfontname','Times New Roman','name',...
  15. 'portfolio theory: relation between expected return and deviation',...
  16. 'numbertitle','off');
  17. %坐标轴的各类参数的设置
  18. axes_1=axes('unit','normalized','position',[0.3,0.1,0.65,0.85],...
  19. 'xlim',[0 1],'ylim',[-1 1],'xcolor','b','ycolor','b',...
  20. 'fontname','Times New Roman','fontsize',12);
  21. %基础的参数设置
  22. base_correlation=0;
  23. %两个组合
  24. return_1=0.15;
  25. std_1=0.24;
  26. return_2=0.12;
  27. std_2=0.18;
  28. portfolio_return=[];
  29. portfolio_std=[];
  30. %组合的设置
  31. w1=linspace(0,1,50);
  32. w2=-w1+1;
  33. portfolio_return=[w1;w2]'*[return_1;return_2];
  34. for i=1:50
  35. std=sqrt(w1(i)^2*std_1^2+w2(i)^2*std_2^2+...
  36. 2*base_correlation*w1(i)*w2(i)*std_1*std_2);
  37. portfolio_std=[portfolio_std std];
  38. end
  39. portfolio_std=portfolio_std';
  40. plot_1=plot(portfolio_std,portfolio_return,'mp-','markerfacecolor',...
  41. 'm','markeredgecolor','k','markersize',10,...
  42. 'color','b','linewidth',1);
  43. %标记一个说明
  44. control_text=uicontrol(figure(1),'style','text','position',...
  45. [0.02,0.9,0.22,0.05],'string',['Correlation=',num2str(base_correlation)],...
  46. 'fontsize',14);
  47. another_text_1=uicontrol(figure(1),'style','text','position',...
  48. [0.02,0.81,0.22,0.08],'string','Make a Choice from -1 to 1',...
  49. 'fontsize',14);
  50. another_text_2=uicontrol(figure(1),'style','text','position',...
  51. [0.02,0.3,0.22,0.08],'string','Point Choice',...
  52. 'fontsize',14);
  53. %两个按键
  54. control_push_1=uicontrol(figure(1),'style','push',...
  55. 'position',[0.02,0.54,0.22,0.1],'string','Grid on Yellow on',...
  56. 'callback',['grid on,','set(gca,''color'',''y'')']);
  57. control_push_2=uicontrol(figure(1),'style','push',...
  58. 'position',[0.02,0.43,0.22,0.1],'string','Grid off Yellow off',...
  59. 'callback',['grid off,','set(gca,''color'',''w'')']);
  60. %相关系数的滑条设置
  61. control_slider=uicontrol(figure(1),'style','slider','position',...
  62. [0.02,0.65,0.22,0.15],'max',1,'min',-1,'sliderstep',...
  63. [0.1,0.1],'value',base_correlation);
  64. set(control_slider,'callback',['choice=get(gcbo,''value'');',...
  65. 'plot_1=portfolio_gui_plot(choice);']);
  66. %几个不同的组合形状
  67. point_1=uicontrol(figure(1),'style','radio','string','triangle',...
  68. 'position',[0.02 0.24 0.15 0.05]);
  69. set(point_1,'value',get(point_1,'Max'));
  70. point_2=uicontrol(figure(1),'style','radio','string','round',...
  71. 'position',[0.02 0.18 0.15 0.05]);
  72. set(point_2,'value',get(point_2,'Min'));
  73. point_3=uicontrol(figure(1),'style','radio','string','square',...
  74. 'position',[0.02 0.12 0.15 0.05]);
  75. set(point_3,'value',get(point_3,'Min'));
  76. set(point_1,'callback',[...
  77. 'set(point_1,''value'',get(point_1,''Max''));',...
  78. 'set(point_2,''value'',get(point_2,''Min''));',...
  79. 'set(point_3,''value'',get(point_3,''Min''));',...
  80. 'set(plot_1,''marker'',''v'');']);
  81. set(point_2,'callback',[...
  82. 'set(point_1,''value'',get(point_1,''Min''));',...
  83. 'set(point_2,''value'',get(point_2,''Max''));',...
  84. 'set(point_3,''value'',get(point_3,''Min''));',...
  85. 'set(plot_1,''marker'',''o'');']);
  86. set(point_3,'callback',[...
  87. 'set(point_1,''value'',get(point_1,''Min''));',...
  88. 'set(point_2,''value'',get(point_2,''Min''));',...
  89. 'set(point_3,''value'',get(point_3,''Max''));',...
  90. 'set(plot_1,''marker'',''s'');']);
复制代码


所要用到的一个函数如下:


[hide]


  1. function plot_1=portfolio_gui_plot(correlation)
  2. %copyright by fantuanxiaot
  3. %组合的其他系数
  4. %两个组合
  5. control_text=uicontrol(figure(1),'style','text','position',...
  6. [0.02,0.9,0.22,0.05],'string',['Correlation=',num2str(correlation)],...
  7. 'fontsize',14);
  8. return_1=0.15;
  9. std_1=0.24;
  10. return_2=0.12;
  11. std_2=0.18;
  12. portfolio_return=[];
  13. portfolio_std=[];
  14. %组合的设置
  15. w1=linspace(0,1,50);
  16. w2=-w1+1;
  17. portfolio_return=[w1;w2]'*[return_1;return_2];
  18. for i=1:50
  19. std=sqrt(w1(i)^2*std_1^2+w2(i)^2*std_2^2+...
  20. 2*correlation*w1(i)*w2(i)*std_1*std_2);
  21. portfolio_std=[portfolio_std std];
  22. end
  23. portfolio_std=portfolio_std';
  24. plot_1=plot(portfolio_std,portfolio_return,'mp-','markerfacecolor',...
  25. 'm','markeredgecolor','k','markersize',10,...
  26. 'color','b','linewidth',1);
  27. end
复制代码


[/hide]


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-3467070-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版