课程设计报告

上传人:回**** 文档编号:124931875 上传时间:2022-07-25 格式:DOC 页数:25 大小:3.84MB
收藏 版权申诉 举报 下载
课程设计报告_第1页
第1页 / 共25页
课程设计报告_第2页
第2页 / 共25页
课程设计报告_第3页
第3页 / 共25页
资源描述:

《课程设计报告》由会员分享,可在线阅读,更多相关《课程设计报告(25页珍藏版)》请在装配图网上搜索。

1、课程设计报告题 目_Capital Allocation_学生姓名_ _ _指引教师 XXXXX 学 院_ _ _专业班级_ _一月七日目录第一章 题目简介第二章 设计思路及整体构架第三章 投资学理论支持第四章 Matlab技术支持及制作程序第五章 实习总结第一章:题目简介一方面,我们可以理解到,应用MATLAB Financial Toolbox,如下功能可以实现:计算和分析衍生工具及其她证券,以及证券投资组合的价格,产量和敏感性。 执行证券行业协会(SIA)兼容的固定收益定价,产量和敏感度分析。 分析或管理的投资组合。 设计和评估对冲方略。 辨认,衡量和控制风险。 分析和计算钞票流量,涉及

2、回报率及折旧流。 分析和预测经济活动。 创立构造,涉及外汇交易工具金融工具。 教导或进行学术研究。其中,我所探讨的Capital Allocation主题,则重要是针对投资组合的管理,即集中实现最佳的权衡风险和回报。相应的,Optimal Capital Allocation则侧重于计算风险组合与无风险资产之间的优化风险组合以及资金的优化配备。对于一组固定的资产,在其风险与回报所组合构建的投资组合与此投资组合的构成变化中,最大限度的回报,或者说,尽量减少给定的回报风险,被称为最佳的投资组合。拟定最优投资组合中的一种风险回报平面线称为有效边界。 以计算最佳有效边界上的无风险利率,借款利率,以及投

3、资者的风险厌恶限度为基本,风险投资组合还产生了资本配备线(即Capital Allocation Line)的概念。它提供了风险之间的组合和无风险资产资金的优化配备。第二章:设计思路及整体构架效率前缘运算函数(the efficient frontier computation functions)规定各资产的信息皆在组合中。这些数据通过两个矩阵输入到函数中: 预期回报向量和协方差矩阵。预期回报载体涉及每个投资组合中资产的平均预期回报。该协方差矩阵是一种方阵,代表这些资产对之间的互相关系。这些信息可以直接指定或可用ewstats函数从一种资产回报时间序列中估计出来(ewstats代表Eewxs

4、tapts ected return and covariance from return time series)。资本配备(Capital Allocation)便是通过计算无风险利率,借款利率,以及投资者的风险厌恶度的有效边界得出最佳风险投资组合。可用portalloc函数实现(Portalloc代表Optimal capital allocation)。一方面,使用portopt函数或frontcon,函数生成有效边界数据。(portcons代表Portfolio constraints)(portopt 代表Portfolios on constrained efficient fr

5、ontier)这里使用portopt,并假设资产数据如下:ExpReturn = 0.1 0.2 0.15;ExpCovariance = 0.005 -0.010 0.004;-0.010 0.040 -0.002;0.004 -0.002 0.023;其中,考虑有效边界沿线20个不同点。NumPorts = 20;PortRisk, PortReturn, PortWts = portopt(ExpReturn,.ExpCovariance, NumPorts);Frontcon与portopt是类似的,得无风险利率,借款利率和投资者的风险厌恶限度,如下:RisklessRate = 0.

6、08BorrowRate = 0.12RiskAversion = 3不指定任何输出参数,调用portalloc,图像显示临界点。portalloc (PortRisk, PortReturn, PortWts, RisklessRate,.BorrowRate, RiskAversion);调用portalloc,同步指定输出参数返回方差(RiskyRisk),预期收益(RiskyReturn)和重量(RiskyWts)分派到最佳风险投资组合。它也返回分数分派给风险投资组合的完整的产品组合(RiskyFraction),方差(OverallRisk)和预期回报的最佳整体组合(OverallR

7、eturn)。整体投资组合在无风险资产和风险投资组合的投资之间相结合。实际的比例分派到这两项投资的取决于各投资者的风险规避限度的表征。RiskyRisk, RiskyReturn, RiskyWts,RiskyFraction, OverallRisk,.OverallReturn = portalloc (PortRisk, PortReturn, PortWts,.RisklessRate, BorrowRate, RiskAversion)RiskyRisk = 0.1288RiskyReturn = 0.1791RiskyWts = 0.0057 0.5879 0.4064RiskyF

8、raction = 1.1869OverallRisk = 0.1529OverallReturn = 0.1902该RiskyFraction的值超过1(100),这意味着容许指定的风险承受能力借钱来投资于高风险的投资组合,而没有钱将在无风险资产中投资。这借来的资金将被添加到本来的资本投资。在假设的资产数据中,客户会容忍借款原始资本额的18.69。第三章:投资学理论支持1、无风险证券一般有如下假定:a. 假设其真实收益是事先可以精确预测的,即其收益率是固定的;b. 不存在违约风险及其他风险(如通胀风险)。现实中,真正的无风险证券是不存在,几乎所有的证券都存在着不同限度的风险;虽然国债,虽然违

9、约风险很小,可以忽视,但也也许存在通货膨风险;在实际中,一般用短期国债作为无风险资产的代表。由于在短期内,通胀风险较小,基本可以忽视。2、证券投资风险是指因将来的信息不完全或不拟定性而带来经济损失的也许性。 可分为两类:a. 系统性风险:引起市场上所有证券的投资收益发生变动并带来损失也许性的风险,是单个投资者所无法消除的。 b. 非系统性风险:仅引起单项证券投资的收益发生变动并带来损失也许性的风险。单个投资者通过持有证券的多元化加以消除 3、风险溢价的含义a. 是投资者因承当风险而获得的超额报酬b. 多种证券的风险限度不同,风险溢价也不相似 c. 风险收益与风险限度成正比,风险限度越高,风险报

10、酬也越大 4、单一证券盼望收益率的含义a. 由于投资者在购买证券时,并不能确切地懂得在持有期末的收益率,因此,持有期末的收益率是一种随机变量。b. 对于一种随机变量,我们关怀的是它也许取哪些值及其相应的概率大小。c. 盼望收益率是所有情形下收益的概率加权平均值。5、单一资产风险的估计在实际生活中,预测股票也许的收益率,并精确地估计其发生的概率是非常困难的。为了简便,可用历史的收益率为样本,并假定其发生的概率不变,计算样本平均收益率,并以实际收益率与平均收益率相比较,以此拟定该证券的风险限度。 6、投资组合的盼望收益率的计算投资组合的盼望收益率是该组合中多种证券盼望收益率的加权平均值,权重(x)

11、等于每一证券初始投资额占投资本金的比例。7、马科维兹模型的四大假设a. 证券收益具有不拟定性 b. 证券收益之间具有有关性 c. 投资者都遵守主宰原则(Dominance rule) d. 投资者都是风险的厌恶者 8、协方差 a. 是衡量两种证券收益在一种共同周期中互相影响的方向和限度。b. 正的协方差意味着资产收益同向变动c. 负的协方差意味着资产收益反向变动协方差的大小是无限的,从理论上来说,其变化范畴可以从负无穷大到正无穷大。9、投资组合的方差(风险)要计算投资组合的方差,还必须懂得该投资组合中每一证券的权重,并对协方差矩阵中的元素进行估计,按如下方式建立一种新的矩阵:组合方差的计算措施

12、:将矩阵中每一种协方差称以其所在行和列的组合权重,然后将所有的乘积加总。 10、假定投资组合中各成分证券的原则差及权重一定,投资组合风险的高下就取决于成分证券间的有关系数。成分证券有关系数越大,投资组合的有关度高,风险也越大;相反,有关系数小,投资组合的有关度低,风险也就小。11、投资组合具有减少非系统性风险的功能,但风险减少的极限为分散掉所有非系统性风险,而系统性风险是无法通过投资组合加以回避的。有效组合:按主宰法则决定的投资组合。即在同一风险水平下,预期收益率高的投资组合;或在同一收益率水平,风险水平越低的组合。有效边界:所有有效组合的集合。在解析几何上,效率边界为投资组合在多种既定风险水

13、平下,各预期收益率最大的投资组合所连成的轨迹12、投资者在有效组合中进行选择取决于她们的投资收益与风险的偏好。投资者的收益与风险偏好可用无差别曲线来描述。所谓无差别是指一种相对较高的收益必然随着着较高的风险,而一种相对较低的收益却只承受较低的风险,这对投资者的效用是相等的。将具有相似效用的投资收益与投资风险的组合集合在一起便可以画出一条无差别曲线。对于不同的投资来说,无差别曲线的斜率是不同的,这取决于投资对收益与风险的态度。高度的风险厌恶者无差别曲线的较陡;中档风险厌恶者的无差别曲线倾斜度低于高风险厌恶者;轻微风险厌恶者的无差别曲线的倾斜度更低。无差别曲线与有效边界曲线相切于A点,它所示的投资

14、组合便是最佳的组合。有关以上投资学理论资料来自于:Bodie, Kane, and Marcus, Investments, Chapters 6 and 7.第四章:Matlab技术支持及制作流程 制作流程大体分为三大部分:a. 制作gui文献b. 图像函数编程c. 制作exe文献个人觉得,对于Matlab最权威的技术支持,莫过于其官方资料。gui的制作最重要的指引就是官方Build GUI资料- Creating Graphical User Interfaces(MATLABThe Language of Technical Computing)。fig的制作,由于需要结合投资学的有关知

15、识,我重要参照的是HELP中的Function Reference和Financial Toolbox的Users Guide(Financial Toolbox For Use with MATLAB)。Exe的制作重要是Matlab官方发布的技术指引视频。1、 制作gui文献弹出GUIDE Quick Start窗口的措施有两种:一种在command window中,键入guide命令语句,如上图所示;另一种措施是在工具栏中有guide的快捷图标1.1创立gui在Create New GUI界面中有四种选择,后三种带有典型uicontrol。在这里我选的是第一种,完全空白的设计界面。1.2

16、添加Uicontrols根据demos里的演示界面,应用左侧的快捷图标设计界面,同步可以变化界面的大小。本界面用到的uicontrol有五种:axes,push button,edit text,static text和slider。如右图所示。1.3设立Property Inspector右键或者view中都可以找到Property Inspector的设立。从界面的Color到uicontrol的Tag都可根据个人的喜好进行设立。但是,根据我的制作经验,应为static text,edit text和slider在本界面中是配套的,因此,最佳在设立Tag时可以各自以及之间的name和str

17、ing相相应(callback是自动相应生成,不必考虑)。这样便于之后的编程。尚有一点要注意到,将units设立为characters可以给GUI一种更加稳定的界面。1.4对齐对象Alignment Tool可以使界面的objects对齐,有多种对齐方式可供选择。 Align Objects GUI Option1.5变化GUI OptionTools中的GUI Option选项中可以重置Resize Behavior。将其设为Other(Use Resizefcn)。界面窗口就可以成为可变化的了。1.6编辑Menu通过快捷图标或者view皆可以设立Menu,以设计界面的工具栏。如下图所示需要

18、注意的是,UIMenu Properties中Tag最佳与Label的名字有关联,便于之后编程中可以辨别。另,Acceleraor可设立该Menu选项的快捷键。Separator above this item是用来加分割线的。通过以上六部分的操作之后,我得到下图情形2、图像函数编辑2.1 UIcontrol的M-file编程下面我简朴简介几种我在M-file中添加的函数1) Edit Callback与 Slider Callback 函数是相配套的,slider的上下滑动可以相应的变化edit text中显示的数值。具体如下:function RfEdit_Callback(hObject

19、, eventdata, handles)val=str2double(get(hObject,String);if isnumeric(val) & length(val)=1 & . val=get(handles.RfSlider,Min) & . val=get(handles.RfSlider,Max) set(handles.RfSlider,Value,val);else handles.number_errors=handles.number_errors+1; guidata(hObject,handles); set(hObject,String,. You have en

20、tered an invalid entry,. num2str(handles.number_errors),times.);endfunction RfSlider_Callback(hObject, eventdata, handles)set(handles.RfEdit,String,. num2str(get(handles.RfSlider,Value);2)Close callback函数,close push button的函数,实现关闭fig功能。function close_Callback(hObject, eventdata, handles)global im;gl

21、obal h;axes(handles.legend);imshow(im); h = imcrop(); 3)Open callback 函数是UIMenu的file中的open选项的返回函数。可弹出open窗口选择需要打开的文献。function file_open_Callback(hObject, eventdata, handles) filename, pathname = uigetfile( . *.bmp;*.jpg;*.png;*.jpeg, Image Files (*.bmp, *.jpg, *.png,*.jpeg); .*.*, All Files (*.*), .

22、Pick an image);axes(handles.axes1);fpath=pathname filename;imshow(imread(fpath);4)Save callback函数是UIMenu的file中的save选项的返回函数。可弹出save file as窗口编辑保存文献名和格式。function file_save_Callback(hObject, eventdata, handles) filename, pathname = uiputfile(*.bmp,BMP files;*.jpg;,JPG files, Pick an Image);if isequal(f

23、ilename,0) | isequal(pathname,0)return;elsefpath=fullfile(pathname, filename);endimg_src=getappdata(handles.figure_pjimage,img_src);imwrite(img_src,fpath);以上是有关GUI界面的最重要的部分函数。如果还想要将界面设计的更为复杂则需要跟多的函数来支持。可以从help中或者The Language of Technical Computing,或者通过其她途径中查找。2.2 Axes的M-file编程简朴的说就是结合投资学的知识,将axes中需要

24、显现的图像的程序编译出来。事先进行一下阐明:Inputs下:rf代表Risk-free rate(无风险利率),相应的有,RfEdit函数和RfSlider函数rb代表Borrowing rate(借款利率),相应的有,RbEdit函数和RfSlider函数A代表Risk aversion coefficient(投资者的风险厌恶度)相应的有,AEdit函数和ASlider函数另:Optimal portfolios下的符号在之前的设计思路及整体框架一章中已进行理解释,在此不再赘述。Axes图像函数如下解决:OptRiskyRisk, OptRiskyRoR, RiskyWts, PRiskP

25、ortfolio, OptOverallRisk, OptOverallRoR = . portalloc(PRisk, PRoR, PWts, rf, rb, A);% 将portalloc函数解决返回的值赋给static edit的string set(myHandles.hRiskOverallText,string,num2str(OptOverallRisk); set(myHandles.hRiskRiskyText, string, num2str(OptRiskyRisk); set(myHandles.hRoROverallText,string,num2str(OptOve

26、rallRoR); set(myHandles.hRoRRiskyText, string, num2str(OptRiskyRoR);% 如下的函数就是对Axes1和Legend定义,涉及坐标轴标签、标题和曲线画法等等。 hEff = plot(PRisk, PRoR); hold on hOverall = plot(OptOverallRisk, OptOverallRoR,k+) ; hRisky = plot(OptRiskyRisk, OptRiskyRoR,k*) ; if(PRiskPortfolio 1) hcal2_minus=plot(0, OptRiskyRisk,rb

27、,OptRiskyRoR, -m); hcal2_plus=plot(OptRiskyRisk, OptOverallRisk, OptRiskyRoR, OptOverallRoR, m); end end xl = get(gca, xlim); xl = 0 xl(2); set(gca, xlim, xl); legend(hOverall hRisky, Optimal Overall Portfolio, Optimal Risky Portfolio, 4); title(Optimal Capital Allocation, Color, k); xlabel(Risk (St

28、andard Deviation); ylabel(Expected Return); grid on; elseif strcmpi(command, update) %实现数据更新的语句如下:将新的edit的sring的值赋给相应的字符 rf = str2double(get(myHandles.hRfEdit, string); rb = str2double(get(myHandles.hRbEdit, string); A = str2double(get(myHandles.hAEdit, string); %再次调用portalloc函数解决新的输入数据 OptRiskyRisk

29、, OptRiskyRoR, RiskyWts, PRiskPortfolio, OptOverallRisk, OptOverallRoR = .portalloc(PRisk, PRoR, PWts, rf, rb, A);% 将optimal portfolios中的text UIControls的string的值设立成num2str转化处的portalloc函数的返回值 set(myHandles.hRiskOverallText, string, num2str(OptOverallRisk); set(myHandles.hRiskRiskyText, string, num2st

30、r(OptRiskyRisk); set(myHandles.hRoROverallText, string, num2str(OptOverallRoR); set(myHandles.hRoRRiskyText, string, num2str(OptRiskyRoR); set(hOverall, xdata, OptOverallRisk); set(hOverall, ydata, OptOverallRoR) ; set(hRisky, xdata, OptRiskyRisk); set(hRisky, ydata, OptRiskyRoR); if(PRiskPortfolio

31、1 ) if(isempty(hcal2_minus) set(hcal2_minus, xdata, 0, OptRiskyRisk); set(hcal2_minus, ydata, rb, OptRiskyRoR); set(hcal2_plus, xdata, OptRiskyRisk, OptOverallRisk); set(hcal2_plus, ydata, OptRiskyRoR, OptOverallRoR); else hcal2_minus = plot(0, OptRiskyRisk, rb, OptRiskyRoR, -m); hcal2_plus = plot(O

32、ptRiskyRisk, OptOverallRisk, OptRiskyRoR, OptOverallRoR, m); end if(isempty(hcal1_plus) delete(hcal1_plus); hcal1_plus = ; end if(isempty(hcal1_minus) delete(hcal1_minus); hcal1_minus = ; end end end if(PRiskPortfolio = 1) if(isempty(hcal1_minus) delete(hcal1_minus); hcal1_minus = ; end if(isempty(h

33、cal1_plus) delete(hcal1_plus); hcal1_plus = ; end if(isempty(hcal2_minus) delete(hcal2_minus); hcal2_minus = ; end if(isempty(hcal2_plus) delete(hcal2_plus); hcal2_plus = ; end endend3、制作exe文献对于制作exe文献,目前我见过两种措施,一种是调用Mbuild,一种是调用deploytool。在我看来,两种措施各有优缺陷。后者相较于前者操作更为简朴并且也易于理解,但是它有一定的限制。根据Matlab的官方视频中

34、简介,deploytool功能对compiler的版本有一定的规定,即,它是一项更新的功能,应用的人比较少。而Mbuild则是始终以来制作exe的典型操作。两种措施我都做一下简介,由于本人最后定稿时拟定的是调用deploytool,因此第二种措施会更为具体某些。事实上,两种措施都被本人验证了是可行的。3.1 Mbuild的调用在command window 中键入如下命令即可:Mbuild _setupY1Ymcc _m capalui.m3.2 deploytool的调用在command window里键入deploytool指令,打开deployment tool对话框,并新建一种Matl

35、ab Compiler的Standalone Application,即新建一种project工程。如下图所示:之后,将需要构建的工程所用的主函数的m文献添加到main function里,其她文献添加到other file里。由此可以看出,如果需要制作exe的所有文献存在mat等非m文献或者存在多种m文献,这种deploytool调用的措施比Mbuild调用要简朴实用。添加完毕之后,点击Buil the project按钮,选择好保存途径。Command window 中自动浮现如下文字,并最后完毕工程编辑。在新建的程序文献夹中生成两个文献夹:distrib 和 src。exe文献在dist

36、rib和src文献夹内均有生成,完全相似。第五章实习总结通过为期两周的课程设计,我从对Matlab的完全没有概念到如今的基本理解,有了很大的进步。不仅如此,在学习Matlab的过程中,我有诸多的感想与体会,在此分享。一方面,在最一开始接触我所选择的课题的时候,我很茫然,不知从何下手。我发现对于自学,我似乎不太擅长。在搜索引擎的指引下,我注册了诸多爱好者的论坛,以谋求协助,但是收效甚微。无意间我打开了mathworks,即Matlab的官方论坛。里面的tutrial video和users guider为我提供的莫大的协助。自此,我才摸到了门路,所有的信息都开始在官方开放的资料里查找。也正是从这

37、些官方的教程里,我才开始从真正意义上去理解Matlab。也由此,我明白了对于一项新的知识领域,官方的开放资料一定是自学的第一步。另一方面,在学习的过程中,我的耐心得到了很大的锻炼。由于,所有的资料都是英文版的。虽然始终自诩英文不错,但是如此长时间大强度的面对一堆abc,还是很考验人的。由于,一旦耐不下心,虽然英文再强,也会觉得眼前是一片圆圈。因此,在不断的心灵建设下,我的耐心,或者是说面对外语的耐心大幅度提高了。同步,我对自己在软件方面的信心也增长了不少。最重要的是,本次的课程设计让我对于Matlab这座功能强大的冰山,窥到了一角,也同步引起了我对它的强烈爱好。这让不禁想到,也许在之后的毕业设计,甚至是之后的就业或者深造,都是有也许接触到Matlab的。它的应用范畴几乎遍及各个领域。但愿这次的课程设计可觉得我们后来的发展带来助益。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!