1、金融计算与分析及MATLAB GUI 开发应用第三部分 投资组合分析 第8章 投资组合的收益和风险 第9章 投资组合优化分析 第10章 投资组合绩效分析 第11章 投资组合在险价值VaR计算 第12章 投资组合分析系统GUI开发第8章 投资组合的收益和风险8.1 组合的收益率和风险 考虑N种证券组成的证券组合:,xi 是投资者购买证券组合总投资中证券 i 所占的比例,则证券组合 X 的收益率为:。组合收益率的均值为:组合收益率的方差为:数学期望给出收益率的均值,方差描述收益率相对于均值的波动。在金融分析中,通常把收益率的方差看作证券的风险,把收益率的均值看作证券的预期收益。12(,)TNXx
2、xx1Npi iirxrpE r11 NNTi iiiiiEx rx E rX R22()TpppE rE rX VX8.2 投资组合收益的均值和方差 8.2.1 价格与收益率转换 通过 tick2ret 函数,将价格序列转换为收益率序列。通过 ret2tick 函数,将收益率序列转换为价格序列。MATLAB 函数 格式:RetSeries,RetIntervals=tick2ret(TickSeries,TickTimes,Method)参数:TickSeries-价格序列TickTimes-与价格对应的时间序列Method-计算收益率方法RetSeries-收益率序列RetInterval
3、s-收益率序列时间间隔8.2.1 价格与收益率转换-价格转换为收益率8.2投资组合收益的均值和方差MATLAB 函数 格式:TickSeries,TickTimes=ret2tick(RetSeries,StartPrice,RetIntervals,StartTime,Method)参数:RetSeries-收益率序列StartPrice-起始价格RetIntervals-收益率序列时间间隔(默认值为1)StartTime-价格开始计算的时间(默认值为0)TickSeries-价格序列TickTimes-与价格对应的时间序列8.2.1 价格与收益率转换-收益率转换为价格8.2投资组合收益的均
4、值和方差8.2 投资组合收益的均值和方差 8.2.2 协方差矩阵计算 方法一:先利用 std 和 corr 计算标准差和相关系数矩阵、再用corr2cov函数转换为协方 差矩阵。通过 ret2tick 函数,将收益率序列转换为价格序列。方法二:用 cov 函数计算协方差,用 mean 函数计算均值。方法三:直接调用 ewstats 函数计算均值与协方差。MATLAB 函数 格式:STDs=std(R,flag,dim)Correlations=corr(R)Covariances=corr2cov(STDs,Correlations)参数:R-收益率矩阵flag-标准差计算公式dim-按列或行
5、计算标准差STDs-每列标准差Correlations-相关系数矩阵Covariances-协方差矩阵8.2.2 协方差矩阵计算-方法一8.2投资组合收益的均值和方差MATLAB 函数 格式:Covariances=cov(R)参数:R-收益率矩阵Covariances-协方差矩阵8.2.2 协方差矩阵计算-方法二8.2投资组合收益的均值和方差MATLAB 函数 格式:Return,Covariance=ewstats(R)参数:R-股票收益率矩阵Return-每只股票收益率均值Covariance-协方差矩阵8.2.2 协方差矩阵计算-方法三8.2投资组合收益的均值和方差MATLAB 函数
6、格式:PortRisk,PortReturn=portstats(ExpReturn,ExpCovariance,PortWts)参数:ExpReturn-期望收益向量ExpCovariance-资产协方差矩阵PortWts-资产权重向量PortRisk-总资产标准差PortReturn-总资产的收益8.2.3 组合收益率与标准差计算8.2投资组合收益的均值和方差第9章 投资组合优化分析9.1 马柯维茨均值-方差模型 1.一个多目标优化问题 由组合证券投资的预期收益率和方差可得风险一定收益最大、收益一定风险最小的多目标优化问题,基本形式为:21minmax().1TpTpNiiX VXE rX
7、 Rstx9.1 马柯维茨均值-方差模型 2.有效前沿(efficient frontier)一个理性投资者总是厌恶风险而偏好收益,对于相同的风险水平,他们会选择能提供最大收益率的组合;对于相同的预期收益率,他们会选择风险最小的组合。能同时满足这两个条件的投资组合就是有效集,也称有效前沿(efficient frontier),处于有效边界上的组合成为有效组合。9.1 马柯维茨均值-方差模型 3.收益一定、风险最小 收益一定、风险最小情况下的模型可表示成如下形式:给定收益 e 可计算相应的风险最小的组合,即得到有效前沿上一点。随着收益的变动可绘制出风险最小有效前沿曲线。minTpX VX1.1
8、TNiiX Restx9.1 马柯维茨均值-方差模型 4.风险一定、收益最大 风险一定、收益最大情况下的模型可表示成如下形式:给定标准差 s 可计算相应的收益最大的组合,即得到有效前沿上一点。随着风险的变动可绘制出收益最大的有效前沿曲线。max()TpE rX R1.1TNiiX VXsstxMATLAB 函数格式:PortRisk,PortReturn,PortWts=portopt(ExpReturn,ExpCovariance,NumPorts,PortReturn)portopt(ExpReturn,ExpCovariance,NumPorts)参数:ExpReturn-资产组合中每项
9、资产预期收益ExpCovariance-各种资产之间的协方差矩阵NumPorts-在资产组合有效前沿上的点的个数PortReturn-有效前沿上每个点的收益PortRisk-组合的标准差PortReturn-组合的收益PortWts-组合中每个资产的权重9.2 投资组合有效前沿计算9.2投资组合有效前沿计算MATLAB 函数 格式:p=Portfolio(property1,value1,property2,value2,.)p=Portfolio(p,Name,Value)plotFrontier(p)参数:p-有效前沿结构,包含30多个参数Name/Value-参数名称及对应值9.3 约束
10、条件下有效前沿计算9.3约束条件下有效前沿计算MATLAB 函数格式:RiskyRisk,RiskyReturn,RiskyWts,RiskyFraction,.OverallRisk,OverallReturn=portalloc(PortRisk,.PortReturn,PortWts,RisklessRate,BorrowRate,RiskAversion)参数:PortRisk-有效前沿上每项资产的标准差PortReturn-有效前沿上每项资产的收益 PortWts-有效前沿上每项资产的权重RisklessRate-无风险利率BorrowRate-借款利率,默认值(没有借贷)RiskA
11、version-投资者的风险厌恶系数,通常选3RiskyRisk-风险资产部分标准差RiskyReturn-风险资产部分的收益RiskyWts-风险资产的权重RiskyFraction-总资产中风险资产OverallRisk-总资产的标准差OverallReturn-总资产的收益9.4 无风险资产及借贷情况下的资产配置计算9.4无风险资产及借贷情况下的资产配置计算9.5 投资组合最优选择1.目标收益一定的有效前沿上投资组合最优选择2.风险给定的有效前沿上投资组合最优选择3.选择在有效前沿上获取组合的方式4.选择使夏普比率最大化的一个有效投资组合5.估计最优投资组合收益均值MATLAB 函数 格
12、式:pwgt,pbuy,psell=estimateFrontierByReturn(obj,.TargetReturn)参数:obj-有效前沿的结构(可有函数Portfolio生成)TargetReturn-指定的目标收益率Pwgt-最优投资组合权重Pbuy-显示投资组合买进权重值psell-显示投资组合卖出权重值;1.目标收益一定的有效前沿上投资组合最优选择9.5投资组合最优选择MATLAB 函数 格式:pwgt,pbuy,psell=estimateFrontierByRisk(obj,.TargetRisk)参数:obj-有效前沿的结构(可有函数Portfolio生成)TargetRi
13、sk-指定的目标风险Pwgt-最优投资组合权重Pbuy-显示投资组合买进权重值psell-显示投资组合卖出权重值;2.风险给定的有效前沿上投资组合最优选择9.5投资组合最优选择MATLAB 函数 格式:pwgt,pbuy,psell=estimateFrontierLimits(obj,Choice)参数:obj-有效前沿的结构(可有函数Portfolio生成)Choice-选择方式Pwgt-最优投资组合权重Pbuy-显示投资组合买进权重值psell-显示投资组合卖出权重值3.选择在有效前沿上获取组合的方式9.5投资组合最优选择MATLAB 函数 格式:pwgt,pbuy,psell=esti
14、mateMaxSharpeRatio(obj)参数:obj-有效前沿的结构(可有函数Portfolio生成)Pwgt-最优投资组合权重Pbuy-显示投资组合买进权重值psell-显示投资组合卖出权重值4.选择使夏普比率最大化的一个有效投资组合9.5投资组合最优选择MATLAB 函数 格式:pret=estimatePortReturn(obj,pwgt)参数:obj-有效前沿的结构(可有函数Portfolio生成)pwgt-最优投资组合权重pret-组合收益均值5.估计最优投资组合收益均值9.5投资组合最优选择第10章 投资组合绩效分析10.1 资产定价模型 夏普(Willian F,Shar
15、p)在1964年提出资本资产定价模型(CAPM),又称证券市场线理论,是在马科维茨组合理论和有效市场假说的基础上建立,它是评价股票找出均衡价格问题。模型主要假设是:(1)投资者可以无限制地以无风险利率借入和贷出资金。(2)投资者对未来的预期有同质性,即所有投资者对特定资产有相同的信息,对特定资 产的期望回报和风险有相同的看法,并以相同方式从事单期投资。(3)没有交易成本、税收、通货膨胀和利率波动。(4)市场处于均衡状态,所有商品的供给等于需求。10.1 资产定价模型 资本资产定价模型基本形式:根据资本资产定价模型,股票收益率与 系数的关系可表示为:股票收益率=Beta市场收益率+Alpha 由
16、模型基本形式给出的证券 i 的收益与市场证券组合 m 的收益之间的比例关系,可得对任何两个证券 i 和 j,有:()ifmfirrrrifjfijrrrrMATLAB 函数 格式:Alpha=portalpha(Asset,Benchmark,Cash,Choice)Alpha,RAReturn=portalpha(Asset,Benchmark,.Cash,Choice)参数:Asset-资产收益率序列Benchmark-基准的收益率序列Cash-无风险收益率(日)序列Choice-计算模型选择Alpha-额收益RAReturn-风险调整后的资产收益10.2.1 Alpha计算10.2组合绩
17、效指标MATLAB 函数 格式:beta=portbeta(portReturn,marketReturn)参数:portReturn-组合的收益率序列maketReturn-市场的收益率序列beta-基于CAPM模型的beta值10.2.1 Beta计算10.2组合绩效指标10.2 组合绩效指标 10.2.2 夏普比率计算 夏普测度是以均衡市场假定下的资本市场线作基准的一种按风险调整的绩效测度指标,即用投资组合的总风险(标准差)去除投资组合的风险溢价,反应该投资组合所承担的每单位总风险所带来的收益。其公式为:()pfppE rrSMATLAB 函数 格式:Ratio=sharpe(Asset
18、,Cash)参数:Asset-资产或组合的收益率序列Cash-无风险资产收益率Ratio-夏普比率10.2.2 夏普比率计算10.2组合绩效指标10.2 组合绩效指标 10.2.3 信息比率与跟踪误差计算 信息比率(Information Ratio)以均值方差模型为基础,用来衡量超额风险带来的超额收益,它表示单位主动风险带来的超额收益,其公式为:跟踪误差主要用来对指数型投资组合进行绩效分析,跟踪误差越低表示组合跟踪指数越紧,其公式为:()()pbpbmean rrIRstd rr()pbTEstd rrMATLAB 函数 格式:Ratio,TE=inforatio(Asset,Benchma
19、rk)参数:Asset-资产或组合收益率序列Benchmark-业绩比较基准收益率序列Ratio-信息比率TE-跟踪误差10.2.3 信息比率与跟踪误差计算10.2组合绩效指标10.2 组合绩效指标 10.2.4 最大回撤计算 单日最大回撤率是指单日产品收益从最高点走到最低点时的收益率回撤幅度的最大值。T日组合最大回撤(maximum drawdown)的公式为:最大回撤是绝对收益产品非常重要的评价指标,表现投资经理获取或保持绝对收益的能力。min()()Tx yMDr xr y MATLAB 函数 格式:MaxDD,MaxDDIndex=maxdrawdown(Data,Format)参数:
20、Data-组合每日总收益率序列Format-模型类别MaxDD-最大回撤值MaxDDIndex-最大回撤位置10.2.4 最大回撤计算10.2组合绩效指标MATLAB 函数 格式:EDD=emaxdrawdown(Mu,Sigma,T)参数:Mu-布朗运动的漂移项(期望收益率,均值)Sigma-布朗运动的扩散项(波动率,标准差)EDD-T时间段上布朗运动的预期最大回撤10.2.4 最大回撤计算-预期最大回撤10.2组合绩效指标第11章 投资组合在险价值VaR计算11.1 在险价值VaR模型 在险价值(Value at Risk-VaR),是指正常情况下,在一定时期T内,一定的置信水平的1-下某
21、种资产组合面临的最大损失,表示为:在险价值用来衡量正常环境下资产的最大化损失,不仅可以衡量单一的金融资产的风险,还能衡量投资组合的风险。()()1F VaRP LVaR 11.2 在险价值计算方法 11.2.1 德尔塔-正态法 德尔塔-正态法的假定条件:(1)资产价格的变化是风险因子的线性函数(这种线性关系常用希腊字母 表示);(2)资产价格的变动服从参数为 和 的正态分布。德尔塔-正态法计算的在险价值可表示为:1(1)ptptVaRVTzVTMATLAB 函数 格式:ValueAtRisk=portvrisk(PortReturn,PortRisk,.RiskThreshold,PortVa
22、lue)参数:PortReturn-组合收益率PortRisk-组合风险(标准差)RiskThreshold-置信度(默认值为0.05)PortValue-组合资产价值(默认值为1)ValueAtRisk-风险价值。11.2.1 德尔塔-正态法11.2在险价值计算方法11.2 在险价值计算方法 11.2.2 历史模拟法历史模拟法是用资产收益的历史数据来预测资产在明天的损失,其计算方法是:首先计算历史收益率序列:然后计算序列各项 rn 与组合当前价格 Vt 的乘积,即得序列 该数列是用历史数据模拟当前资产在第二天的所有可能损失,其中排在百分之一位的损失,即为发生概率为1%的最大化损失或 VaR。
23、其计算公式为:1ln(/)nnnrPP1,2,nN,0NntnrV10(),)NtntnVaRpercentile rVk MATLAB 函数 格式:Y=prctile(X,p)Y=prctile(_,Method,method)参数:X-数据向量p-0到100之间的数method-计算百分位数的方法11.2.2 历史模拟法11.2在险价值计算方法11.2 在险价值计算方法 11.2.3 Monte Carlo模拟法 Monte Carlo模拟是用重复模拟随机过程所得数据来趋近随机变量数学期望的方法,其理论基础是概率论中的大数法则,按照这一法则,当重复试验或模拟的次数趋于无穷大时,事件发生的频率趋近于事件的概率。Monte Carlo模拟步骤:(1)确定资产的随机价格模型和所需参数(主要是变量的均值和方差)。(2)根据各资产的单日历史价格序列,估计个资产的期望值和标准差。(3)用随机数发生器生成一个有N个随机数的数组。(4)将随机数和参数代入随机价格公式,模拟数量为N次随机价格数组,再减去当前价格,得 到模拟收益数组,或直接用随机收益公式模拟数据收益再乘以当前价格。(5)根据各资产在组合中的权重,计算组合的模拟收益数组。(6)计算组合模拟收益数据的百分之一分位数,即得到置信水平为99%的最大化组合损失。谢谢