ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:73.09KB ,
资源ID:11733770      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11733770.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB程序设计策略模拟组合保险策略分析.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB程序设计策略模拟组合保险策略分析.docx

1、MATLAB程序设计策略模拟组合保险策略分析 策略模拟组合保险策略分析人性的贪婪与恐惧在资本市场中可以得到充分的体现,组合保险策略产品是在下限风险确定的前提下,以获取潜在收益为目标的产品,本质为“恐惧基础上的贪婪”。组合保险策略按构成主要分为基于期权的投资组合保险(Option-Based Portfolio Insurance, OBPI)策略和恒定比例投资组合保险(Constant Proportion Portfolio Insurance, CPPI)策略是两种广泛应用的投资组合保险策略。基于期权的投资组合保险产品使用债券与期权组合构建产品,这样构建方法与股票挂钩产品中的保本票据的构建

2、方法一致。在利息较低或者期权价格较高的情况下,基于期权的投资组合保险策略较难实现。目前,国内市场金融工具有限,期权市场还尚未全面发展,保本产品基本都是使用固定比例投资组合保险进行构建。本章以组合保险策略作为示例进行策略的模拟。策略模拟的一般步骤为: 1.模拟数据生成(历史数据或随机数据);2.策略模型根据模型原理对数据进行计算并生成结果;3.对结果数据进行分析评价模型有效性。1固定比例组合保险策略投资组合保险理论(Portfolio Insurance)始于上世纪70年代末80年代初。最初是由Leland 和Rubinstein(1976)提出。保本策略的本质是以确定的风险去追求潜在收益。目前

3、,国际上流行的保本策略有很多种,其中固定比例投资组合保险(CPPI:Constant Proportion Portfolio Insurance)策略是最通用的保本策略之一。CPPI是目前保本理财产品市场上非常流行的做法,它通过动态调整投资组合中无风险品种与高收益品种的投资比例,从而达到既规避高收益投资品种价格下跌风险的同时,又享受到其价格上涨的收益。1.1策略模型固定比例投资组合保险(CPPI:Constant Proportion Portfolio Insurance)策略是组合保险策略通用方法之一。CPPI策略的主要架构为:将资产分为无风险资产和风险资产两部分。初始时,风险资产投资比

4、例较低,产品投资运作一段时间后根据资产的收益情况对无风险资产和风险资产两部分的投资比例进行调整,如果出现盈利,则可进一步扩大风险投资比例;如果出现亏损,则立即减少风险资产投资比例。CPPI策略的基本公式如下:其中,表示t时刻投资组合的资产净值;表示t时刻可投资于风险资产的上限; 表示t时刻可投资于无风险资产的下限;表示t时刻表示风险乘数;表示t时刻组合的安全底线;而表示t时刻可承受风险的安全垫;为初始风险控制水平(保本线);(T-t)为产品剩余期限;r为无风险资产年化收益率。例:某产品风险乘数为2,保本率为100%,债券利率为5%,保本期限一年,则初始时刻资产配置计算为:产品初始净值为100元

5、,安全底线为100/(1+5%)=95.2,则风险资产最大配置为2(100-95.2)=9.6,无风险资产的最低配置为100-9.6=90.4,如果半年后,由于风险资产收益较高,产品净值为120元,安全底线为100/(1+0.5*5%)=97.6, 则风险资产最大配置为2(120-97.6)=44.8, 无风险资产的最低配置为120-44.8=75.2。 同样若,风险资产亏损,则相应的减少风险资产配比,由于本产品风险乘数为2,若风险资产亏损50%,则根据模型公式计算,风险资产投资上限将为0,即风险资产将被平仓。1.2模型参数固定比例投资组合保险策模型涉及风险控制水平、风险乘数、资产配置调整周期

6、等多个关键参数:1.风险控制水平(保本线):风险控制水平(或者保本线),就是产品到期时的最低净值。如果面值为100元的产品,到期要求最低为100元,即保本率为100%,则为保本产品;若到期最低为102元,即保本率为102%,则为保收益产品;若到期最低为90元,即保本率为90%。组合保险策略产品是在下限风险确定的前提下,以获取潜在收益为目标的产品。但是风险控制水平的高低决定了产品配置风险资产的高低。配置风险资产的比重越大,暴露风险头寸就多大,获取潜在收益的能力越强。风险控制水平或者保本线应该根据投资人的风险厌恶水平确定。 2.风险乘数:当保本比率一定,风险乘数越大,则风险资产投资比例越大。如果市

7、场行情越好,风险资产表现越好,则组合保险策略收益率也越大。反之,产品净值损失越大。在某种程度上来说,风险乘数的大小对整个产品的业绩起着至关重要的作用。因此,风险乘数的设定水平反应了产品投资人的风险承受能力,同时也反映了产品管理人的投资能力。风险乘数调整策略主要分两种:恒定比例模式:该方法采用消极管理方式,产品的风险乘数无论市场行情怎样,都保守一个固定的值不变。这样可以避免因主观判断误差而造成的额外损失,但同时也会错过获得额外收益的机会。变动比例模式:产品的风险乘数根据市场行情而变化。如果市场行情好,将系数变大将获得超额收益,反之市场行情差,将系数变小将有效减少股票市场系统风险给产品带来的损失,

8、如果险乘数根据市场行情调整,由于市场行情好坏的判断是由主观因素来判断,存在因主观误差造成产品净值损失的可能。3.资产配置调整周期:当风险资产处于上升阶段时,及时进行资产配置调整从而提高风险资产比例,则会带来较好的正收益;反之,风险资产面临下跌阶段,及时进行资产配置调整,降低风险资产比例则可以避免损失。但是,如市场处于盘整行情时,频繁调整资产比例会导致较大的交易费用。国外通常有3种调整方法:定期调整法则(以固定交易日作为间隔进行定期调整)、滤波调整法则(基金组合上涨或下跌一定比率时进行调整)、仓位调整法则(计算得到的股票仓位比例与实际仓位比例相差一定比率时便进行调整)。2时间不变性组合保险策略T

9、IPP策略主要架构为:时间不变性组合保险(time-invariant portfolio protection,TIPP)策略。该策略由Estep & Kritzman(1988)提出,并指出当投资组合的价值上涨时,产品的最低保险金额是一个动态调整的值。TIPP 和 CPPI 的调整公式非常类似,TIPP增加了保本比例调整策略,即每当产品收益每达到一定的比率,则动态保本比例相应的提高一定比例。例如,产品收益达到5%时,相应的保险比率提高3%。2.1策略模型TIPP策略的基本公式如下:其中,表示t时刻投资组合的资产净值;表示t时刻可投资于风险资产的上限; 表示t时刻可投资于无风险资产的下限;M

10、表示风险乘数;表示t时刻组合的安全底线;而表示t时刻可承受风险的安全垫;表示t时刻组合风险控制水平(保本线);(T-t)为产品剩余期限;r为无风险资产年化收益率。2.2模型参数固定比例投资组合保险策略(TIPP)与时间不变性组合保险策略(CPPI)基本一致,唯一的不同便是动态保本比率。动态保本比率的确定依赖于无风险资产收益率与保本期限长短经过测试而确定的,当产品盈利的时候可以采用TIPP策略调整动态保本比率。可以适时采用TIPP策略在一定时期后调整动态保本比率。该策略只当产品盈利时使用,例如在一段时期内产品盈利5%,则可将动态保本比率相对应的调整3%,这样可使产品在一定时期后有一定收益,同时可

11、投资于风险的资产会相应减少,即获得潜在收益的能力相比于CPPI策略可能会降低。3策略数值模拟3.1模拟情景假设某金融产品采用组合保险策略进行资产投资,产品期限为1年,无风险资产为债券,其年化收益率为5%,风险资产为沪深300指数组合,产品保本率为100%,若预期未来1年沪深300指数的期望收益为20%,年化标准差为30%,风险资产的交易费用为0.5%,选取不同的组合保险策略,产品参数(包括风险乘数、资产配置调整周期,动态保本比率调整策略)产品收益如何?点睛:组合保险策略TIPP与CPPI是在发达资本市场成熟的策略,一般的操作方式是买入与产品期限相符的零息债券,债券到期使得产品达到产品说要求的保

12、本率,使用剩余的资金进行风险资产的杠杆交易(杠杆率为风险乘数),交易可以通过融资融券或者保证金交易的方法进行。但是国内目前缺少零息债券,融资融券业务尚未开展,证券交易为全额交收。组合保险策略TIPP与CPPI执行方式一般为风险资产投资部门借入无风险资产进行杠杆投资,由于无风险资产投资减少对产品的实际保本率会造成一定的影响,尤其是在市场急速下跌,风险资产投资止损平仓时,对产品的实际保本率将造成较大影响。3.2固定比例组合保险策略模拟Matlab编程实现固定比例组合保险策略(CPPI),函数名称CPPIStr,M文件为CPPIStr.mF,E,A,G,SumTradeFee,portFreez=C

13、PPIStr(PortValue,Riskmulti,GuarantRatio,TradeDayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee,SData)输入参数:PortValue:产品组合初始价值Riskmulti:CPPI策略的风险乘数GuarantRatio:产品的保本率TradeDayTimeLong:产品期限,以交易日计数TradeDayOfYear:产品模拟,每年交易日,例如,每年交易日为250天adjustCycle:产品根据模型进行调整周期,例如每10个交易日调整一次RisklessReturn:无风险

14、资产年化收益率TradeFee:风险资产的交易费用SData:模拟风险资产收益序列,布朗运动输出参数:F:数组,第t个数据表示t时刻安全底线E:数组,第t个数据表示t时刻可投资于风险资产的上限A:数组,第t个数据表示t时刻产品净值G:数组,第t个数据表示t时刻可投资于无风险资产的下限SumTradeFee:总交易费用portFreez:组合风险资产是否出现平仓,0为未出现风险资产平仓,1:出现风险资产平仓CPPIStr函数程序源码:Function F,E,A,G,SumTradeFee,portFreez= CPPIStr(PortValue, Riskmulti,GuarantRatio,

15、TradeDayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee,SData)%code by ariszheng%2009-6-30%intput:%PortValue,Riskmulti,GuarantRatio,TradeDayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee,%SData is simulation index data%output%F,E,A,G,SumTradeFee%SumTradeFee%portFreez default

16、 is 0, if portFreez=1, portfolio freez there would % have no risk-investment%初始交易费用(交易佣金)为0;SumTradeFee=0;%F,E,A,G的初始化,长度为N+1F=zeros(1,TradeDayTimeLong+1);E=zeros(1,TradeDayTimeLong+1);A=zeros(1,TradeDayTimeLong+1);G=zeros(1,TradeDayTimeLong+1);%给定F,E,A,G的初始值%初始组合资产A(1)=PortValue;%初始安全底线F(1)=Guarant

17、Ratio*PortValue*exp(-RisklessReturn*TradeDayTimeLong/TradeDayOfYear);%初始风险资产E(1)=max(0,Riskmulti*(A(1)-F(1);%无风险资产G(1)=A(1)-E(1);%是否进行风险资产平仓% portFreez=0正常,portFreez=1;平仓portFreez=0; %if portFreez=1, portfolio freez there would have no risk-investment%开始逐日模拟,循环计算%根据T-1日情况与T日市场行情,计算T日产品净值for i=2:Trad

18、eDayTimeLong+1 E(i)=E(i-1)*(1+(SData(i)-SData(i-1)/(1+SData(i-1); G(i)=G(i-1)*(1+RisklessReturn/TradeDayOfYear); A(i)=E(i)+G(i); F(i)=GuarantRatio*PortValue*exp (-RisklessReturn* (TradeDayTimeLong -i+ 1) /TradeDayOfYear); %判断是否进行调仓,调仓周期为adjustCycle %mod函数求余数的意思,若adjustCycle=20,i为20的整数倍时 % mod(i,adju

19、stCycle)=0 if mod(i,adjustCycle)=0 temp=E(i); E(i)=max(0, Riskmulti*(A(i)-F(i) ); SumTradeFee=SumTradeFee + TradeFee*abs(E(i)-temp); G(i)=A(i)-E(i)-TradeFee*abs(E(i)-temp); end %判断是否平仓,若风险资产为0,组合平仓冻结 if E(i)=0 A(i)=G(i); portFreez=1; end end函数测试,M程序为testCPPIStr.m1.初始参数设置%set valuePortValue=100;%产品组合

20、初始价值Riskmulti=2; %产品风险乘数为2GuarantRatio=1.00; %产品保本率为100%TradeDayTimeLong=250;% 产品期限为250个交易日TradeDayOfYear=250; %模拟假设一年交易为250个adjustCycle=10; %调整周期为每10个交易日调整一次RisklessReturn=0.05;%无风险产品收益率为5%TradeFee=0.005; %风险资产的交易费用为0.5%2.根据参数生成符合布朗运动的收益率序列%to generate Brown random number%预期收益率年化专日化Mean=1.2(1/Trade

21、DayOfYear)-1;%预期波动率年化专日化Std=0.3/sqrt(TradeDayOfYear);%初始价格Price0=100;SData=RandnPrice(Price0,Mean,Std,TradeDayOfYear)%将初始价格并入随机价格序列SData=Price0;SData%X0,X1,Xn注释:RandnPrice函数:生成收益率服从正态分布的价格序列函数RandnPrice .MPrice=RandnPrice(Price0,mu,sigma,N).输入:Price0: 初始价格Mu: 正态分布均值Sigma:正态分布方差N: 随机数个数输出:Price:收益率服从

22、正态分布的价格序列具体参看随机模拟相关章节。3.调用CPPIStr函数%调用CPPIStr函数F,E,A,G,SumTradeFee,portFreez= CPPIStr( PortValue, Riskmulti, GuarantRatio,TradeDayTimeLong, TradeDayOfYear, adjustCycle, RisklessReturn, TradeFee, SData);4.结果以及画图显示%to plotfigure;%子图1,模拟的风险资产的价格序列subplot(2,1,1)plot(SData)legend(Hs300-Simulation)xlabel(

23、t);ylabel(price)%CPPI策略的运行情况subplot(2,1,2)plot(A,-.) hold onplot(E,-o)plot(F,-k) plot(G,-x)%标记线形legend(PortValue,RiskAssect,GuarantLine,RisklessAssect)xlabel(t);ylabel(price)%总的交易费用SumTradeFee 图1 CPPI策略模拟图计算结果:如图1所示,收益序列为随机生成,由于每次计算生成的随机序列不同,则每次计算的结果不同,该次计算产品收益率为10%,总交易费用为 1.04%.(占初始总资产的比例)。3.3时间不变性

24、组合保险策略模拟Matlab编程实现时间不变性组合保险策略模拟(TIPP),函数名称TIPPStr,M文件为TIPPStr.mF,E,A,G,GuarantRatio,SumTradeFee,portFreez=TIPPStr(PortValue,Riskmulti,GuarantRatio,GuarantRatioMark,GuarantRatioAdjust,TradeDayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee,SData)输入参数:PortValue:产品组合初始价值Riskmulti:CPPI策略的风险乘

25、数GuarantRatio:产品的保本率GuarantRatioMark:产品的保本率调整标准GuarantRatioAdjust:产品的保本率调整大小TradeDayTimeLong:产品期限,以交易日计数TradeDayOfYear:产品模拟,每年交易日adjustCycle:产品根据模型进行调整周期,例如每10个交易日调整一次RisklessReturn:无风险资产年化收益率TradeFee:风险资产的交易费用SData:模拟风险资产收益序列,布朗运动注释:例如,GuarantRatioMark=5%,GuarantRatioAdjust=3%,即产品收益每增加5%,则产品的保本率上调3

26、%,GuarantRatio只能进行向上调整。输出参数:F:数组,第t个数据表示t时刻安全底线E:数组,第t个数据表示t时刻可投资于风险资产的上限A:数组,第t个数据表示t时刻产品净值G:数组,第t个数据表示t时刻可投资于无风险资产的下限GuarantRatio:产品的保本率SumTradeFee:总交易费用portFreez:组合风险资产是否出现平仓,0为未出现风险资产平仓,1:出现风险资产平仓函数TIPPStr源代码:function F,E,A,G,GuarantRatio, SumTradeFee,portFreez = TIPPStr( PortValue, Riskmulti,Gu

27、arantRatio,GuarantRatioMark,GuarantRatioAdjust,TradeDayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee,SData)%code by ariszheng%2009-6-30%intput:%PortValue,Riskmulti,GuarantRatio,GuarantRatioMark,GuarantRatioAdjust%Trade,DayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee%e.g

28、GuarantRatio=100%,GuarantRatioMark=5%,GuarantRatioAdjust=3%if return more than GuarantRatioMark%GuarantRatio=GuarantRatio+GuarantRatioAdjust%SData is simulation index data%output%F,E,A,G,SumTradeFee%SumTradeFee%portFreez default is 0, if portFreez=1, portfolio freez %there would have no risk-investm

29、ent%初始的交易总费用为0SumTradeFee=0;%模拟状态变量F,E,A,G的空间初始化(分配内存)%为不影响计算一般初始值为0;F=zeros(1,TradeDayTimeLong+1);E=zeros(1,TradeDayTimeLong+1);A=zeros(1,TradeDayTimeLong+1);G=zeros(1,TradeDayTimeLong+1);%模拟状态变量F,E,A,G的初始化A(1)=PortValue;F(1)=GuarantRatio*PortValue*exp(-RisklessReturn*TradeDayTimeLong/TradeDayOfYea

30、r);E(1)=max(0,Riskmulti*(A(1)-F(1);G(1)=A(1)-E(1);%if portFreez=1, portfolio freez there would have no risk-investment%风险资产平仓状态标识;portFreez=0; %保本率为100%GuarantRatioMarklevel=1;%for i=2:TradeDayTimeLong+1 E(i)=E(i-1)*(1+(SData(i)-SData(i-1)/(1+SData(i-1); G(i)=G(i-1)*(1+RisklessReturn/TradeDayOfYear)

31、; A(i)=E(i)+G(i); F(i)=GuarantRatio*PortValue*exp(-RisklessReturn* (TradeDayTimeLong - i+1) / TradeDayOfYear); %判断是否进行调仓,调仓周期为adjustCycle %mod函数求余数的意思,若adjustCycle=20,i为20的整数倍时 % mod(i,adjustCycle)=0 if mod(i,adjustCycle)=0 if ( A(i)/A(1) ) (1+GuarantRatioMarklevel*GuarantRatioMark) GuarantRatio=GuarantRatio+GuarantRatioAdjust; GuarantRatioMarklevel=GuarantRatioM

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1