投资组合最优套保比计算策略课件_第1页
投资组合最优套保比计算策略课件_第2页
投资组合最优套保比计算策略课件_第3页
投资组合最优套保比计算策略课件_第4页
投资组合最优套保比计算策略课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何运用QIA开发量化投资策略投资组合最优套保比策略国泰安信息技术有限公司 研究与创新中心“宽系列”产品之QIA目 录策略背景13绩效分析4策略开发2第 1 页量化投资策略开发实例历史回验策略背景市场情况第 2 页量化投资策略开发实例 投资者持有一篮子股票组合,为了对冲该股票组合的风险从而锁定目标收益,欲卖空期货进行套期保值时,可使用此策略。策略背景策略原理套期保值的基本原理是某一金融产品的期货与现货受相同因素的制约和影响,因此,他们的变动趋势大体相同。另外,期货价格与现货价格的走势具有收敛性,尤其是当期货合约临近到期日时,期货价格和现货价格将会逐渐趋同。本策略通过传统的简单回归(OLS)模型

2、和一般自回归条件异方差(GRACH)模型两种方式,根据最小风险套期保值原理来计算套期保值比。本策略的实证对象为沪深300成分股和IF1305,以2013年4月18日至2013年5月15日为回验周期,利用过去30天内对数收益率数据作为决策依据,对日频数据交易。第 3 页量化投资策略开发实例策略背景策略流程第 4 页量化投资策略开发实例策略开发策略配置StrategyCfg.xml Stkcd.xml编写主程序optimalRatio.m回验配置BackTestCfg.xml绩效分析对策略函数的名称、参数、时间、交易标的及所需数据的配置策略流程的实现对策略回验参数、交易品种交易费用、绩效指标的数据

3、参数的配置第5页量化投资策略开发实例命令窗口运行界面工具运行Stkcd.xml配置 每个code标签下,ContractMultiplier、Currency、MarginLevel、MaxShare、为实时交易部分配置,历史回验设置无效。ContractMultiplier:合约乘数Currency:货币种类MarginLevel:交易保证金比例MaxShare:当前合约的最大持仓量exchangeType 表示市场类型枚举id:交易标的代码第 6 页市场类型枚举SZSE深圳证券交易所SSE上海证券交易所HKEX香港联合交易所CFFEX 中国金融期货交易所ZCE郑州期货交易所DCE 大连期货

4、交易所SHFE上海期货交易所策略开发交易标的配置%Stkcd.xml名字可更换量化投资策略开发实例StrategyCfg.xml配置 第 7 页策略开发策略运行配置全景展示量化投资策略开发实例策略开发函数名称及调仓配置StrategyCfg.xml配置 标签strategyFunction(用途:用户编写的策略函数名称):name填入策略函数名。标签strategyArguments(用途:策略的参数配置):rebalanceCycle:重平衡周期,策略回验时,每过rebalanceCycle根bar将进行一次投资决策,计算目标持仓。Bar的大小取决于returnCalFrequency;re

5、turnCalFrequency:计算收益率的频率第 8 页量化投资策略开发实例%StrategyCfg.xml名字可更换策略开发策略数据及缓存配置StrategyCfg.xml配置标签FactorDataCfg(用途:策略的时间及标的配置)dateListType:表示日期类型:Trading,交易日;Working,工作日;localPath:本地Mat缓存文件的存储路径(绝对路径),Matlab中,pwd表示当前的工作空间路径;periodType:交易时间配置信息;tickerList:表示读取的证券代码列表,可以是定义交易标的的xml文件路径名称,也可以是板块,支持的板块列表有:(A

6、llAStock,SHA,SZA,AllBStock,SHB,SZB,HS300)第 9 页量化投资策略开发实例%StrategyCfg.xml名字可更换 标签data(用途:策略决策所需数据配置)策略决策时每需要一种数据,则需要配置一个data标签decisionDataLength:每次策略函数计算目标持仓权重时所需的改数据长度,必须为大于等于1的整数;fieldname:数据的字段名;frequency:数据的频率,有SEC01(1秒),SEC05(5秒),SEC15(15秒),SEC30(30秒),MIN01(1分),MIN05(5分),MIN15(15分),DAY01(1天);第 1

7、0 页策略开发策略数据配置量化投资策略开发实例StrategyCfg.xml配置 第 11 页策略开发策略运行配置全景展示量化投资策略开发实例策略开发主程序第 12 页function portfolio, newStateMatrix = optimalRatio( tradingData, stateMatrix )输入: 1、decisionData: 结构体,存储策略决策所需数据; (1) decisionData.time: 策略决策的时间 (2) decisionData.varList: 策略决策所需数据的名称列表; (3) decisionData.factorN_freque

8、ncy:策略决策所需数据结构体 (4) decisionData.factorN_frequency.data: 策略决策所需数据矩阵; (5) decisionData.factorN_frequency.timeList:矩阵的列索引,表示矩阵中每列代表的时间点; (6) decisionData.factorN_frequency.tickerList:矩阵的行索引,表示矩阵中每列代表的交易标的; 2、 stateMatrix: 策略函数上次存储的状态信息;输出: 1、 portfolio: 策略函数经过运算后得到的,目标投资组合资金权重序列,维度必须和订阅的交易标的数目相同;量化投资策

9、略开发实例策略开发数据提取、构建沪深300组合%获取数据 rtn = tradingData.Rtn_DAY01.data; cp = tradingData.CP_DAY01.data; hs300weight = tradingData.HS300Weight_DAY01.data(find(tradingData.HS300Weight_DAY01.tickerList = 501000039),:); hs300Rtn = rtn(find(tradingData.Rtn_DAY01.tickerList = 501000039),:); ifRtn = rtn(find(tradin

10、gData.Rtn_DAY01.tickerList = 501000039),:); hs300CP = cp(find(tradingData.CP_DAY01.tickerList = 501000039),:); ifCP = cp(find(tradingData.CP_DAY01.tickerList = 501000039),:); ifRtn(isnan(ifRtn) = nanmedian(ifRtn); for i=1:size(hs300Rtn,1) inter = hs300Rtn(i,:); inter(isnan(inter) = nanmedian(inter);

11、 hs300Rtn(i,:) = inter; end %策略提供两种估计方法,选择方法 method = 2; %构建沪深300组合 port=nansum(hs300weight.*hs300Rtn); 第 13 页量化投资策略开发实例策略开发计算最优套保比%计算OLS下最优套保比率 yInSamp=port; xInSamp=ones(size(ifRtn), ifRtn; if method=1 b, = regress(yInSamp,xInSamp); h=b(2,1); else %利用GARCH回归计算最优套保比 xInSamp=ifRtn; spec=garchset(R,0

12、,M,0,C,0,AR,MA,Regress,0.8,P,1,Q,1,K,0.8,GARCH,0.7,ARCH,0.2,Display,off); Coeff,=garchfit(spec,yInSamp,xInSamp); %计算GARCH(1,1)下的最优套保比率 h=Coeff.Regress; end %输出权重设置 portfolio = zeros(size( rtn,1),1); portfolio(tradingData.CP_DAY01.tickerList = 501000039) = hs300weight(:,end)*0.5/h; portfolio(tradingD

13、ata.CP_DAY01.tickerList = 501000039) = -1*0.5*8.33; newStateMatrix=stateMatrix;end 第 14 页量化投资策略开发实例策略开发主程序整体展示function portfolio, newStateMatrix = optimalRatio( tradingData, stateMatrix )%获取数据 rtn = tradingData.Rtn_DAY01.data; cp = tradingData.CP_DAY01.data; hs300weight = tradingData.HS300Weight_DAY

14、01.data(find(tradingData.HS300Weight_DAY01.tickerList = 501000039),:); hs300Rtn = rtn(find(tradingData.Rtn_DAY01.tickerList = 501000039),:); ifRtn = rtn(find(tradingData.Rtn_DAY01.tickerList = 501000039),:); hs300CP = cp(find(tradingData.CP_DAY01.tickerList = 501000039),:); ifCP = cp(find(tradingDat

15、a.CP_DAY01.tickerList = 501000039),:); ifRtn(isnan(ifRtn) = nanmedian(ifRtn); for i=1:size(hs300Rtn,1) inter = hs300Rtn(i,:); inter(isnan(inter) = nanmedian(inter); hs300Rtn(i,:) = inter; end %策略提供两种估计方法,选择方法 method = 2; %构建沪深300组合 port=nansum(hs300weight.*hs300Rtn); %计算OLS下最优套保比率 yInSamp=port; xInS

16、amp=ones(size(ifRtn), ifRtn; if method=1 b, = regress(yInSamp,xInSamp); h=b(2,1); else %利用GARCH回归计算最优套保比 xInSamp=ifRtn; spec=garchset(R,0,M,0,C,0,AR,MA,Regress,0.8,P,1,Q,1,K,0.8,GARCH,0.7,ARCH,0.2,Display,off); Coeff,=garchfit(spec,yInSamp,xInSamp); %计算GARCH(1,1)下的最优套保比率 h=Coeff.Regress; end %输出权重设置

17、 portfolio = zeros(size( rtn,1),1); portfolio(tradingData.CP_DAY01.tickerList = 501000039) = hs300weight(:,end)*0.5/h; portfolio(tradingData.CP_DAY01.tickerList = 501000039) = -1*0.5*8.33; newStateMatrix=stateMatrix;end 第15页量化投资策略开发实例策略开发回验配置全景展示BackTestCfg.xml配置 第 16 页量化投资策略开发实例策略开发回验配置BackTestCfg.

18、xml配置 标签backtestArguments(用途:策略回验的参数配置)actionDelay:交易延迟,策略从投资决策到通过交易生成持仓的延迟。必须为非负整数。比如actionDelay为2,returnCalFrequency为1,returnCalFrequency为 TimeIntervals.SEC05,将会以决策时点2*5 = 10秒后的价格成交;orgidMode:由交易代码转为orgid的模式。(注意:对于股票而言,同一交易代码可能由于借壳上市等原因,随着时间区间不同,其意义会发生变化,系统后台会将交易代码转为orgid对股票而言,以公司作为证券关联对象的唯一码。)对股票

19、而言,如果用户输入all,系统将会订阅回验区间内使用过该交易代码的所有行情,通过orgid进行区分,同样,通过orgid区分策略函数返回的持仓权重序列;如果用户输入latest,则系统会订阅最新使用该交易代码的行情,同样通过orgid区分。如果交易代码列表中不存在股票标的,则不用考虑该属性;第 17页量化投资策略开发实例策略开发回验配置 标签backtestArguments(用途:策略回验的参数配置)repoFrequency:债券的回购频率。支持DAY01(每日回购)和DAY07(每七日回购)两个枚举。系统将会据此获取债券的杠杆费用。注意:当交易代码列表不存在债券标的时,则不用考虑该属性;

20、reportDisplay:excel绩效报表展示开关,当设为On的时候,策略回验结束后会显示策略绩效的excel绩效报告;设为其他值时则不会打印;resultSave:excel绩效报表保存开关,当设为On的时候,策略回验结束后会被保存;设为其他值时则不会打印;第 18 页量化投资策略开发实例 第 19 页品种的枚举类型securityTypeStockA A股StockBB股Index指数Fund基金Bond债券CommodityFuture商品期货IndexFuture 指数期货标签transactionCost(用途:按品种配置交易费用) 每配置一个品种需要增加一个标签,需要按买入和卖

21、出分别配置交易费用。buy:该品种买入的交易费用比例;securityType:品种的枚举类型;sell:该品种卖出的交易费用比例;策略开发回验配置量化投资策略开发实例 第 20 页标签performanceAnalysisData(用途:策略绩效指标的数据参数配置) 计算绩效指标所需数据目前只支持指数收益率,且策略的简单收益率序列不需要配置,系统会自动传入到每个绩效评价函数中。code:如果评价指标计算需要指数收益率,属性值为指数代码,比如计算特雷诺指数需要沪深300收益率,则填写000300;如果填,认为该标签描述的是评价指标的参数,value的值不能为空;funName:计算绩效指标的函

22、数名称,必须和performanceAnalysisFun标签中的函数名相对应;name:指标名称,绩效评价函数以此作为域名解析数据;value:如果该标签描述的是绩效函数的参数,则code 为,而value不能为空。策略开发回验配置量化投资策略开发实例 标签performanceAnalysisFun(用途:策略绩效指标)dispName:策略绩效函数显示在excel绩效报告中的名称;funName:策略绩效函数名称,系统将会寻找同名的函数计算策略绩效并生成报表。标签benchmark(用途:excel报表中的基准收益率)code:指数的代码。第 21 页策略开发回验配置量化投资策略开发实例策略开发回验配置全景展示BackTestCfg.xml配置 第 22 页量化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论