实验三 MATLAB在投资组合中的应用(答案)
- 格式:doc
- 大小:36.00 KB
- 文档页数:2
Matlab上机实验报告一.题目设有三种证劵S1,S2,S3,期望收益率分别为10%,15%和40%,风险分别是10%,5%和20%。
假定投资总风险用最大一种投资股票的风险来度量,且同期银行存款利率为r0=5%,无风险,为投资者建议一种投资策略(投资比例),使其尽可能获得最大收益。
二.问题分析本题是一种投资问题,可以转化为具有约束条件的线性函数的极值求解问题。
根据各种投资方式的收益率,列出总收益与投资比例(各种投资方式的投资数目)的方程。
以总投资数为1,各种投资方式的的风险不大于最大投资风险,各种投资方式投资数大于0为约束条件,建立含约束条件的线性函数。
通过求极值解决问题。
三.假设约定假设投资三种证劵的资金分别为s1,s2,s3,投资银行存款的资金为s0,总投资金额为S,投资的风险度为a,设这三种证劵之间是相互独立的,且在投资的同一时期内,证劵收益率,风险度及银行的利率都不发生变化。
四.模型建立由题目的已知条件可以知道投资后获得的各项收益为0.05s0,0.1s1,0.15s2,0.4s3,投资三种证劵的风险度分别为0.1s1/S, 0.05s2/S, 0.2s3/S,为使投资者获得最大收益,在总风险不超过a的情况下,可以建立如下模型:max 0.05s0+0.1s1+0.15s2+0.4s3且:s0+s1+s2+s3=S0.1s1/S<=a0.05s2/S<=a0.2s3/S<=as1>=0,s2>=0,s3>=0五.模型简化令xi=si/S,则原模型可以简化为:min f=-0.05x0-0.1x1-0.15x2-0.4x3其中:x1+x2+x3+x4=10.1x1<=a0.05x2<=a0.2x3<=ax1>=0,x2>=0,x3>=0 六.程序代码使用MATLAB编写的程序如下所示:a=0;c=[-0.05,-0.1,-0.15,-0.4];A=[0,0.1,0,0,;0,0,0.05,0;0,0,0,0.2];aeq=[1,1,1,1];beq=[1];vlb=[0,0,0,0];vub=[0];for a=0:0.01:0.3b=[a,a,a,a];[x,val]=linprog(c,A,b,aeq,beq,vlb,vub);ax=x’Q=-valplot(a,Q,’.’)hold onend七.实验结果程序运行后所得的结果如下所示原始数据如下:a =0.1990x =0 0.0000 0.0050 0.9950Q =0.3987a =0.2000x = 0 0.0000 0.0000 1.0000 Q = 0.4000a =0.2010x =0 0.0000 0.0000 1.0000Q = 0.4000a = 0.2020x =0 0.0000 0.0000 1.0000Q = 0.4000a =0.2030x =0 0.0000 0.0000 1.0000Q = 0.4000八.结果分析(1)风险越大,收益也越大,但不承线性分布。
题目如下: 3)T n x 为投资组合的n 种资产的投资比例,123(,,)Tn Y y y y y =收益率与权重的乘积之和,:1122(,)()T n n f x y y x x y x y x y =-=-+++假设未来出现m 种情况,对n 种证券可以取m 个交易日的历史收益率,每种情况下Y 的取值j y ,则函数(,)F x βα可近似的表示为:~11(,)((,))(1)m j j F x f x y m βαααβ+==+--∑ 假定投资者预期的投资组合收益率为μ(常数),则在置信度β下该最优化问题可以转化为下列线性规划问题:11min ((,))(1)m j j f x y m ααβ+=+--∑ 1101,1,2,,..0,1,2,,ni i i T j T j x x i n s t x y j mx y αμ=⎧=⎪⎪⎪≤≤=⎨⎪--≥=⎪⎪≥⎩∑ 假定收益率矩阵Y 为:建立M 文件:f function f=cvar(w)paper = xlsread('C:\Users\Think\Desktop\paper.xls'); %导入收益率矩阵paper[J, nAssets]=size(paper) %返回值J 为行数,nAssets 为列数i=1:nAssetst=quantile([(paper)*w], 0.05) % 损益函数f(x,y)或分位数f=t-sum(max(-[(paper)*w]+t,0))/362/(1-0.05)命令里输入:paper = xlsread('C:\Users\Think\Desktop\paper.xls'); %导入收益率矩阵paper paper=[paper]w0=[(1/15)*ones(1,15)]'A=-[ paper]%b1=ones(362,1)b=-0.04*b1 %这里假定了预期收益率为0.04Aeq=[ones(1,15)] % 权重值之和为1beq=[1]lb=zeros(15,1) %9只股票即 9个权重值 w 上限为0ub=ones(15,1)options=optimset('LargeScale','off')[w,fval,exitflag,output]=fmincon(@cvar,w0,A,b,Aeq,beq,lb,ub,[],option s)。
遗传算法证券投资组合matlab遗传算法在证券投资组合管理中的应用随着金融市场的不断发展和变化,投资者需要通过不断地调整和优化投资组合来获取最佳的投资回报。
然而,对于复杂的证券市场和大量的数据,手动地选择和调整投资组合是非常困难的。
这时,遗传算法作为一种基于自然进化过程的优化算法,可以为投资者提供一种有效而且可靠的投资组合管理方法。
遗传算法是一种基于自然进化过程的优化算法,其灵感来源于生物界的进化和遗传机制。
遗传算法的主要思想是将复杂的投资问题转化为一个优化问题,通过多次计算和逐步演化,寻找出最优的投资组合。
在证券投资组合管理中,遗传算法可以应用于股票的选择、权重分配和组合优化等方面。
具体来说,遗传算法可以根据投资者的风险偏好和投资目标,通过搜索和分析大量的数据,寻找出最优的投资组合。
遗传算法可以在MATLAB等工具平台上进行应用,为投资者提供了一种非常方便和实用的投资组合管理方法。
在使用遗传算法进行证券投资组合管理时,投资者需要首先选择一种合适的评价指标来评估投资组合的表现。
常用的评价指标包括投资组合的方差、标准差、夏普比率、预期年化回报率等。
根据不同的投资目标和风险偏好,投资者可以选择不同的评价指标来作为遗传算法的优化目标。
在具体应用中,遗传算法可以通过搜索和分析大量的数据,寻找出最优的投资组合。
一般来说,遗传算法首先会根据投资者的风险偏好和投资目标,选择出一些可供选择的股票。
然后,遗传算法会根据股票的价格、成交量、市场指数、财务指标等指标信息,计算出每个股票的综合评价分数。
最后,遗传算法会根据这些综合评价分数,选择出最优的股票组合,并逐步调整和优化投资组合,以实现最优的投资回报。
遗传算法在证券投资组合管理中的应用,可以为投资者提供一种有效而且可靠的优化方法。
通过搜索和分析大量的数据,寻找出最优的投资组合,可以为投资者带来更好的投资回报,同时也可以帮助投资者更好地把握市场的发展趋势。
MATLAB 在工程投资中的应用1. 问题 (1)问题提出有2130万元资金用于投资一项工程,拟分4年度完成投资,若在某年内投资x 万元,则可以获得效益万元(效益不能再使用),当年不用的资金可存入银行,年利率10%,如何制定这笔资金在4年内的分配方案,以使4年内的经济效益总和最大。
(2)问题分析针对现有资金2130万元,对于不同的使用方案, 4年内所获得的效益总和是不同的。
比如第一年就把2130万元全部用完,则获得效益总和为46.15万元;若前三年不用这笔资金,而将其存如银行,则第四年时的本息和为32130(110%) 2 835.03⨯+=(万元),再把它全部用完,则效益总和为52.25万元,显然比第一种方案多出6万多元。
所以用最优化方法可以制定出一种最优方案,使得4年懂得经济效益总和为最大。
本问题考虑的是4年的经济效益总和最大,而不是4年后的资金总和最大;另一方面,资金如果没有被使用,则不会产生效益。
2.分析和建模过程 (1)模型参数约定为了方便解决问题,设x1、x2、x3、x4分别表示第1、2、3、4年所投入的资金,设,表示按上述分年度投资方案的情况下, 4个年度产生的效益总和。
(2)MATLAB 在解决有约束非线性最优化问题中的应用 有约束非线性最优化问题的数学描述为()(),0minxs tG x F x ≤,其中[]12,,...,Tn x x x x =,该数学表示的含义为求取一组x 变量,使得最优化目标函数F(x)为最小,且满足约束条件()0G x ≤。
这里约束条件很复杂,可以是等式约束,也可以是不等式约束等。
约束条件可进一步细化为线性等式约束eq eq A x B =,线性不等式约束AX B ≤, x 变量的上界向量M x 和下界变量m x ,使得m M x x x ≤≤,还允许一般非线性函数的等式和不等式约束。
MATLAB 最优化工具箱中提供了fmincon ()函数,专门用于求解各种约束下的最优化问题。
MATLAB在金融风险管理与投资组合优化中的应用与算法解析随着金融市场的快速发展,投资者越来越关注风险管理和投资组合优化的问题。
在这个领域,MATLAB成为了一个非常强大的工具,它提供了丰富的算法和函数库,帮助投资者分析和处理金融数据、评估不同投资策略的风险,并最终优化投资组合。
第一部分:MATLAB在金融风险管理中的应用金融风险管理是金融市场中的一个关键问题,投资者需要有效地控制和管理投资组合的风险。
MATLAB提供了多种方法来处理金融风险,例如Value at Risk (VaR)和条件Value at Risk(CVaR)等指标。
VaR是一种用于度量金融投资组合风险的方法,它表示在一定的置信水平下,投资组合在未来一段时间内可能出现的最大亏损。
MATLAB提供了计算不同风险指标的函数,例如norminv和bootci,可以通过这些函数计算VaR并进行风险度量。
CVaR是在VaR的基础上对VaR超过一定临界值的损失进行加权平均得到的,它对极端风险有更好的度量和敏感性。
MATLAB提供了计算CVaR的函数,例如cvar,可以帮助投资者更全面地评估投资组合的风险。
除了风险度量指标,MATLAB还提供了丰富的统计工具和模型,用于分析金融市场数据。
例如,可以使用MATLAB的统计工具箱进行时间序列分析,了解不同金融资产之间的相关性和波动性,从而为风险管理提供更准确的数据基础。
第二部分:MATLAB在投资组合优化中的应用投资组合优化是指通过合理配置资产,使得投资组合在给定风险或收益条件下达到最佳效果。
MATLAB提供了多种优化算法和函数,帮助投资者实现投资组合的优化。
在投资组合优化中,一个重要的问题是资产配置。
投资者需要从众多的金融资产中选择合适的组合,通过优化算法寻找最佳的权重分配方案。
MATLAB提供了多种优化算法,例如最小方差法、马科维茨模型等,可以帮助投资者实现权重的优化。
另一个重要的问题是资产组合的回测。
实验一 MATLAB 运算基础1.先求下列表达式的值,然后显示 MATLAB 工作空间的使用情 况并保存全部变量解:4.完成下列操作:(1) 求[100,999] 之间能被21整除的数的个数。
(1) z i 2sin 85° 1 e 2Z 2 卯(x L),其中x2 0.45 2i 5Z 3 0.3a 0.3a e e 2sin (a 0.3)3.0, 2.9,L ,2.9, 3.0 Z 4t 2t 2 t 2 1 2t 其中 t=0:0.5:2.5(2) 建立一个字符串向量,删除其中的大写字母。
解: (1)结果:m=100:999;n=fin d(mod(m,21)==0);len gth( n)ans =43(2).建立一个字符串向量例如:ch二'ABC123d4e56Fg9:则要求结果是: ch二'ABC123d4e56Fg9:k=fi nd(ch>='A'&ch<='Z'); ch(k)=[] ch =123d4e56g9 实验二MATLAB 矩阵分析与处理1.设有分块矩阵A E 3 3 °2 3 R 3 2S 2 2 ,其中E 、R 、0、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证A 2 E R RS 0 S 22 3 4 1 1 1 3 4 5 1 1 1 4 5 6 x , 0.95 x 2 0.67 x 3 0.52(1) 求方程的解。
(2) 将方程右边向量元素 b 3改为0.53再求解,并比较 b 3的变化和解的相对变化。
(3)计算系数矩阵A 的条件数并分析结论。
解:M 文件如下: 解:M 文件如下; 5.下面是一个线性方程组:实验三选择结构程序设计1. 求分段函数的值。
x2x 6 x 0且x 3y x2 5x 6 0 x 5且x 2 及x 3x2x 1 其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的y值。
基于MATLAB的证券投资组合分析通过介绍MATLAB在马柯维茨的证券投资组合模型——均值—方差模型中的应用,在加深对投资组合模型的了解的同时达到简单的应用MATLAB进行投资组合分析的目的。
标签:投资组合;均值-方差模型;有效前沿1 理论引入基于我国经济的持续发展和经济体制改革的深化,我国国民的理财观念也逐渐提高,证券投资逐渐成为一个广泛运用的投资渠道。
证券投资是为了获得收益,但获得收益的同时投资者也不得不承担一定的风险。
正所谓“鱼与熊掌不可兼得”,投资者怎样合理分配资金投资到不同资产,确定一个各类资产的投资额占投资总数额的适当比例,使投资者持有资产的总收益尽可能高并且风险尽可能低,如何计算组合投资的风险和收益以及怎样分配资产使让这两个指标达到一定的平衡是投资者亟待解决的问题。
大部分资产配置分析都建立在马科维兹最优证券投资组合理论的基础上。
50年代和60年代初,美国经济学家马科维兹1952年在《财务学刊》发表了著名的“资产组合的选择”一文,其运用了均值-方差的分析方法。
这一独创性的方法首次将数理分析运用于金融资产收益与风险关系的分析,为解决收益与风险的矛盾问题提供了一个全新的思路。
其主要思想是,根据每一种证券的预期收益率(用均值衡量)、风险(用方差衡量)和所有证券间的协方差矩阵,得到投资组合的有效前沿,这个有效前沿与投资者的效用无差异曲线的切点即为最佳投资组合。
2 模型简介2.1 基本假设(1)市场是有效的,证券的价格反映了证券的内在经济价值,每个投资者都掌握了充分信息,了解每种证券的期望收益率和标准差。
(2)投资者是理性的,即投资者厌恶风险而偏好收益。
(3)投资者具有单周期视野,不允许卖空和卖空。
(4)证券的收益率服从正态分布。
(5)无交易成本。
2.2 单一证券的收益与风险ni=1Xi=1即满足这两个约束条件的情况下选择组合的比例系数使组合的、方差最小化。
对于每个给定的Rp可以解除相应的σp,每一对(Rp,σp)构成标准差-预期收益率图上的一个坐标点,这些点连成的曲线即有效前沿。
用matlab优化投资组合一关键词投资最佳收益最大期望、matlab、线性规划二、投资问题某公司拟对8个项目进行投资,下表是公司过去一年中这些项目的月净收益率,试通过分析表中数据来确定公司下一步的投资计划。
要求:由于市场限制,对项目A2、A4、A7的每项投资不能超过1千万元,对A2 和A4的投资总额不能超过1.6千万元,对A3的投资不能超过2千万元。
设公司下一步的总投资额为6千万元,试建立一个数学模型用以求解最佳投资方案,使公司总期望收益尽可能大。
分析上述投资方案的风险,问是否可以对上面的数学模型进行调整,或建立一个新的模型,使投资方案更为合理?三分析:知道图表计算投资希望收益率然后以期望收益率为根据,对投资进行线性规划四计算、建模(1)用EXCEL 计算收益率期望值亏损平均值见附表(2)线性规划MAX f =E(1)X(1)+E(2)X(2)+E(3)X(3)………..E(8)X(8);为所求值设E= -f MIN e = - MAX f计算(matlab)模型C=-[0.009333333 0.017583333 0.012916667 0.02225 0.007083333 0.0235 0.0355 0.0145];A=[1 1 1 1 1 1 1 1 ;0 1 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 1 0 ;0 1 0 1 0 0 0 0 ;0 0 1 0 0 0 0 0;-0.009333333 -0.017583333 -0.012916667 -0.02225 -0.007083333 -0.0235 -0.0355 -0.0145]B=[6000 1 1 1 1.6 2 0]LB=[0 0 0 0 0 0 0 0 ][X,fval,exitflag]=linprog(C,A,B,[],[],LB)计算A =1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.00000 1.0000 0 0 0 0 0 00 0 0 1.0000 0 0 0 00 0 0 0 0 0 1.0000 00 1.0000 0 1.0000 0 0 0 00 0 1.0000 0 0 0 0 0-0.0093 -0.0176 -0.0129 -0.0222 -0.0071 -0.0235 -0.0355 -0.0145B =1.0e+003 *6.0000 0.0010 0.0010 0.0010 0.0016 0.0020 0LB =0 0 0 0 0 0 0 0Optimization terminated.X =1.0e+003 *0.00000.00000.00000.00000.00005.99900.00100.0000fval =-141.0120exitflag =1结果分析:所以 e = -141.12 f=141.12 结果是将钱集中在最赚钱的项目A(6)A(7)五、参考风险优化模型分析用悲观决策筛选风险最小情况下,收益最大的投资组合加入损失行列式[0.0055 0.0565 0 0.05725 0.019 0.0065 0.021 0]=f模型修改f=input('f=?')C=-[0.009333333 0.017583333 0.012916667 0.02225 0.007083333 0.0235 0.03550.0145];A=[1 1 1 1 1 1 1 1 ;0 1 0 0 0 0 0 0 ;0 0 0 1 0 0 0 0 ;0 0 0 0 0 0 1 0 ;0 1 0 1 0 0 0 0 ;0 0 1 00 0 0 0;0.0055 0.0565 0 0.05725 0.019 0.0065 0.021 0]B=[6000 1 1 1 1.6 2 f ];LB=[0 0 0 0 0 0 0 0];[X,fval,exitflag]=linprog(C,A,B,[],[],LB)计算f=?0f =A =1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.00000 1.0000 0 0 0 0 0 00 0 0 1.0000 0 0 0 00 0 0 0 0 0 1.0000 00 1.0000 0 1.0000 0 0 0 00 0 1.0000 0 0 0 0 00.0055 0.0565 0 0.0573 0.0190 0.0065 0.0210 0Optimization terminated.X =1.0e+003 *0.00000.00000.00000.00000.00000.00000.00006.0000fval =-87.0000exitflag =1分析在损失量为0的情况下,资金用在了无风险的A3 A8中的收益最好的A8上答案0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.000 6.0000六附表投资收益率表1 2 3 4 5 6A1 0.015 0.012 0.017 -0.005 -0.006 0.002A2 0.039 0.04 0.032 0.081 0.004 -0.062A3 0.002 0.011 0.077 0.003 0.001 0.003A4 0.012 -0.048 0.026 0.039 0.15 -0.076A5 0.055 0.014 0.001 0.001 0.023 0.002A6 -0.011 0.012 0.063 0.028 0.081 0.021A7 0.017 0.099 0.034 0.044 0.022 -0.021A8 0.007 0.006 0.011 0.003 0.002 0.0177 8 9 10 11 12 期望值A1 0.018 0.007 0.014 0.019 0.002 0.017 0.009333 A2 -0.051 0.002 0.047 0.036 0.022 0.021 0.017583 A3 0.018 0.009 0.011 0.007 0.01 0.003 0.012917 A4 0.102 0.116 0.002 -0.083 -0.022 0.049 0.02225 A5 -0.019 -0.023 0.009 -0.015 0.022 0.015 0.007083 A6 0.014 -0.002 0.008 0.011 0.026 0.031 0.0235 A7 0.042 0.003 0.052 0.044 0.039 0.051 0.0355 A8 0.021 0.016 0.024 0.025 0.023 0.019 0.0145亏损频数亏损频率亏损率均值A1 2 0.166667 -0.0055A2 2 0.166667 -0.0565A3 0 0 0A4 4 0.333333 -0.05725A5 3 0.25 -0.019A6 2 0.166667 -0.0065A7 1 0.083333 -0.021A8 0 0 0 七参考文献(1)《现代管理导论》中国矿业出版社魏文斌江勇著。
实验三MATLAB在投资组合中的应用
实验名称:实验日期:年月日姓名:班级学号:
成绩:
1.实验目的
(1)掌握MA TLAB中投资组合的常用函数;
(2)掌握MA TLAB关于投资组合有效前沿的计算;
(3)掌握应用MA TLAB计算最优投资组合。
2.实验要求及学时:
实验以个人形式进行,时间为6学时。
3.实验环境及材料
装有Windows操作系统和MATLAB软件的计算机。
4.实验内容
(1)假设有由两种资产A和B构成的投资组合,它们的投资比例分别是40%和60%。
已知这两个证券的期望收益率分别是10%、15%,标准差分别是20%、28%,其相关系
数为0.3。
求出组合收益率和风险。
esigma=[0.2 0.28];
ecorr=[1 0.3;0.3 1];
ecov=corr2cov(esigma,ecorr);
eret=[0.1 0.15];
pw=[0.4 0.6];
[prisk,pret]=portstats(eret,ecov,pw)
prisk =
0.2066
pret =
0.1300
(2)三种资产的有关数据如下表所示,求由这三种资产构成的投资组合的有效前沿。
组合和资产分配。
eret=[0.08 0.16 0.06];
esigma=[10 14 6];
ecorr=[1 0.5 0.3;0.5 1 0.2;0.3 0.2 1];
ecov=corr2cov(esigma,ecorr);
np=10;
frontcon(eret,ecov,np)
[prisk,pret,pw]=frontcon(eret,ecov,np)
rlr=0.03;
br=0.07;
ra=3;
portalloc(prisk,pret,pw,rlr,br,ra)
[rrisk,rret,rw,rf,orisk,oret]=portalloc(prisk,pret,pw,rlr,br,ra)
(3)选取五只股票,以周为单位,选取2016年1月1日到2016年3月31日的交易数据。
计算这五只股票构成的投资组合的有效前沿,并求最优投资组合和资产分配。
(提示:先计算每只股票的收益率序列,由收益率序列求预期收益率和协方差矩阵,再计算投资组合的有效前沿)
思路:
选取5支股票的收益率序列导入matlab,命名为r1,r2,r3,r4,r5.
ret=[r1 r2 r3 r4 r5];
[eret,ecov]=ewstats(ret);
其它参照第(2)题过程。