组合保险策略模拟之基础知识


组合保险策略 主要分为 基于期权的投资组合保险(Option-Based Portfolio Insurance, OBPI)策略 和 固定比例投资组合保险 (Constant Proportion Portfolio Insurance, CPPI)策略。 基于期权的投资组合使用债券与期权组合构建,目前国内金融工具有限,期权市场尚未全面发展,保本产品基本都是固定比例投资组合保险构建。


CPPI策略的主要架构为:将资产分为无风险资产和风险资产两部分,初始风险资产投资比例较低,运作一段时间后对无风险和风险资产投资比例调整,若盈利,则扩大风险投资比例,若亏损则减少风险资产投资比例。

   At = Dt + Et

  E_t=M\times (A_t-F_t)

其中,E 表示应投资于主动性资产的仓位(Exposure),M为风险乘数(Mutiplier)且M>0,A 代表资产总值(Asset),F 为最低保险金额Floor),而(A-F)为缓冲头寸(Cushion)。

  F(t) = A(t) * λ* exp(-RickLessReturn * TradeDayTimeLog/TradeDayOfYear);   λ 为保本率。

模型参数: 1. 风险控制水平(保本线) 产品到期时最低净值。 组合保险策略产品是在下限风险确定的前提下,以获取潜在收益为目标的产品。

                     2. 风险乘数。当保本比率一定,风险乘数越大,则风险资产投资比例越大。风险乘数的大小对整个产品的业绩起着至关重要的作用,因此风险乘数的设定水平反映投资人的风险承受能力,也反映产品管理人的投资能力。 其调整策略分两种: 恒定比例模式 与 变动比例模式。

                     3.资产配置调整周期。风险资产处于上升阶段,即使进行资产配置调整提高风险资产比例,带来好的正收益。反之减低比例避免损失。但盘整行情频繁调整会导致大的交易费用。 3种调整方法:定期调整法则、滤波调整法则(基金组合上涨或下跌一定比率时)、仓位调整法则(计算股票仓位比例与实际仓位比例相差一定比率时)

例子:某产品风险系数2,保本率100%,债券利率5%,保本期1年: 产品初始净值100,安全底线为 100/(1+5%) = 95.2, 则风险资产配置为 2 X (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. 同理若风险资产亏损,则相应减少配比。


时间不变性组合保险策略 (Time - Invariant Portfolio Protection TIPP)策略,TIPP增加了保本比例调整策略,即当产品收益每达到一定的比率,则动态保本比例相应提高一定比例。


matlab编写的固定比例组合保险策略:

function [F,E,A,G,SumTradeFee, portFreez] = ...
    CPPIStr(PortValue,Riskmulti,GuarantRatio,TradeDayTimeLong,TradeDayOfYear,adjustCycle,RisklessReturn,TradeFee,SData)

%input:
%PortValue 产品组合初始值
%Riskmulti:CPPI策略风险乘数
%GuarantRatio:产品保本率
%TradeDayTimeLong:产品期限,交易日
%TradeDayOfYear: 产品每年交易日,如250天
%adjustCycle:产品根据模型调整周期,例如每10个交易日调整一次。
%RisklessReturn: 无风险资产年化收益率
%TradeFee:交易费用
%SData: 模拟风险资产收益序列,布朗运动
%output:
%F:数组,第t个数据为t时刻安全底线
%E:数组,第t个数据为t时刻可投风险资产上限
%A:数组,第t个数据为t时刻产品净值
%G:数组,第t个数据为t时刻可投无风险资产下限
%SumTradeFee:总交易费用
%portFeez:组合交易是否出现平仓,0未 1出现

SumTradeFee = 0;
% F,E,A,G length = N + 1
F = zeros(1, TradeDayTimeLong + 1);
E = zeros(1, TradeDayTimeLong + 1);
A = zeros(1, TradeDayTimeLong + 1);
G = zeros(1, TradeDayTimeLong + 1);

%初始组合资产
A(1) = PortValue;
%初始安全底线
F(1) = GuarantRatio * PortValue * exp(-RisklessReturn * TradeDayTimeLong/TradeDayOfYear);
%初始风险资产
E(1) = max(0, Riskmulti * (A(1)-F(1)));
%无风险资产
G(1) = A(1) - E(1);

%是否平仓 
portFreez = 0;
%逐日模拟
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);
    A(i) = E(i) + G(i);
    F(i) = GuarantRatio * PortValue * exp(- RisklessReturn * (TradeDayTimeLong - i + 1)/TradeDayOfYear);
    
    %判断是否调仓
    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
    %判断是否平仓
    if E(i) == 0
        A(i) = G(i);
        portFreez = 1;
    end
end


【课程简介】 本课程适合所有对金融知识和MATLAB感兴趣的同学,通过本课程,你不仅可以学习到如何应用MATLAB,还可以学习到如何使用MATLAB进行金融数据处理与金融数据分析 【完整课程列表】 基于MATLAB的金融数据分析 金融MATLAB-第01,02章 金融市场与金融产品 MATLAB基础知识(共47页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第03章 MATLAB与Excel文件的数据交换(共41页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第05章 贷款按揭与保险产品 现金流分析案例(共44页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第06章 随机模拟 概率分布与随机数(共33页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第07章 cftool数据拟合 GDP与用电量增速分析(共22页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第08章 策略模拟 组合保险策略分析(共32页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第09章 KMV模型求解 方程与方程组的数值解(共31页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第10章 期权定价模型与数值方法(共23页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第12章 马克维兹均值 方差模型(共19页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第13章 投资组合绩效(共22页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第17章 固定收益证券的久期与凸度(共12页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第18章 利率的期限结构(共7页).ppt 基于MATLAB的金融数据分析 金融MATLAB-第22章 技术分析 指标计算与绘图(共8页).ppt
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值