投资组合收益优化模型的建立及其程序设计实现

投资组合收益优化模型的建立及其程序设计实现

ID:9490372

大小:54.00 KB

页数:4页

时间:2018-05-01

投资组合收益优化模型的建立及其程序设计实现_第1页
投资组合收益优化模型的建立及其程序设计实现_第2页
投资组合收益优化模型的建立及其程序设计实现_第3页
投资组合收益优化模型的建立及其程序设计实现_第4页
资源描述:

《投资组合收益优化模型的建立及其程序设计实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、投资组合收益优化模型的建立及其程序设计实现【摘要】本文以某公司债券投资组合为基础,建立了投资组合收益的最优化模型,并设计了求解该模型的计算程序,提高了计算的效率。  【关键词】投资组合收益;最优化;信息化实现  1引言  投资组合收益优化问题研究如何选择投资对象,例如如何选择不同的债券或股票,在满足某些要求的前提下使得收益最大。因此,其决策变量是对各种可能的投资对象的投资组合,其目标函数通常是期望回报率最大化,而约束条件则包括总投资额、公司政策、法律法规等约束。  2建立某公司投资组合收益的最优化模型  下面通过一个例子来说明某公司投资组合收益的最优化问题及其信息化实

2、现。  某公司董事会决定将2000万元用于债券投资。经咨询,现有5种债券是比较好的投资对象,它们是:黄河汽车、长江汽车、华南电器、西南电器、缜山纸业。它们的投资回报率如表1所示。为减少风险,董事会要求,对汽车业的投资不得超过1200万,对电器业的投资不得超过800万,其中对长江汽车的投资不得超过对汽车业投资的65%,对纸业的投资不得低于对汽车业投资的20%,该公司应如何投资,才能在满足董事会要求的前提下使得总回报额最大?  根据题意,本问题的决策变量是对5种投资对象的投资额。设该公司对5种债券的投资额分别为X1,X2,X3,X4,X5。  本问题的目标是获得最大的债券

3、回报额。债券回报额等于回报率投资额。由表1可知,5种债券的回报率分别为0.065,0.092,0.045,0.055,0.042,所以总回报额应等于各种债券回报额之和,即:  总回报额=0.065X1+0.092X2+0.045X3+0.055X4+0.042X5  公司的目标是使得上述总回报额最大化,即:  max0.065X1+0.092X2+0.045X3+0.055X4+0.042X5  本问题的约束条件包括:总投资额约束,以及对汽车业、电器业、长江汽车、纸业的投资限制。因此,本问题的线性规划模型如下:  o.b.max0.065X1+0.092X2+0.04

4、5X3+0.055X4+0.042X5(总投资额最大化)  s.t.X1+X2+X3+X4+X5=20000000(总投资额约束)  X1+X2≤12000000(汽车业投资约束)  X3+X4≤8000000(电器业投资约束)  X2≤0.65(X1+X2)(长江汽车投资约束)  X5≥0.20(X1+X2)(纸业投资约束)  X1、X2、X3、X4、X5≥0(非负约束)  用Spreadsheet可描述本问题并建立模型,模型的公式表示见表2,计算结果见表3。  从表3可得该公司的最优投资组合的结果,如表4所示。  这时,满足所有的约束条件,且总回报额最大,达到13

5、99400元。  3公司投资组合收益的最优化模型的信息化实现  上述计算是比较麻烦的,用户稍微不小心,就很容易出错,为了简化上述的计算,避免出错,我们编制了一个VBA程序,大大提高了效率。VBA程序清单如下:  Subjs()  Cells(14,5)="=SUM(B14:B18)"  Cells(15,5)="=SUM(B14:B15)"  Cells(16,5)="=SUM(B16:B17)"  Cells(17,5)="=B15"  Cells(18,5)="=B18"  Cells(14,7)="=F5"  Cells(15,7)="=F6"  Cells(1

6、6,7)="=F7"  Cells(17,7)="=F8*(B14+B15)"  Cells(18,7)="=F9*(B14+B15)"  Cells(20,2)="=SUMPRODUCT(B5:B9,B14:B18)"  SolverReset  CallSolverOk("$B$20",1,0,"$B$14:$B$18")  CallSolverOptions(AssumeLinear:=True,AssumeNonNeg:=True)  CallSolverAdd("$E$14",2,"$G$14")  CallSolverAdd("$E$15:$E$17",1

7、,"$G$15:$G$17")  CallSolverAdd("$E$18",3,"$G$18")  SolverSolve(True)  EndSub  注意:在调用上述包含SolverOk()、SolverAdd()等函数的程序之前,必须先建立一个对规划求解的引用,保持VisualBasic模块在激活状态,点击工具菜单中的引用,然后浏览并找到Solver.xla(这个工具通常放在OfficeLibrary目录下)。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。