回归法多因子策略.pptx

上传人:b****2 文档编号:2358587 上传时间:2022-10-29 格式:PPTX 页数:31 大小:845.09KB
下载 相关 举报
回归法多因子策略.pptx_第1页
第1页 / 共31页
回归法多因子策略.pptx_第2页
第2页 / 共31页
回归法多因子策略.pptx_第3页
第3页 / 共31页
回归法多因子策略.pptx_第4页
第4页 / 共31页
回归法多因子策略.pptx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

回归法多因子策略.pptx

《回归法多因子策略.pptx》由会员分享,可在线阅读,更多相关《回归法多因子策略.pptx(31页珍藏版)》请在冰豆网上搜索。

回归法多因子策略.pptx

如何运用QIAQIA开发量化投资策略回归法多因子策略回归法多因子策略国国泰安信息技术有限公司泰安信息技术有限公司研究与创新研究与创新中心中心“宽系列”产品之QIA目录策略背景策略背景1133绩效分析绩效分析44策略开发策略开发22第1页量化投资策略开发实例历史回验历史回验策略背景策略原理v回归法多因子策略就是用过去的股票的收益率对多因子进行回归,得到一个回归方程,然后把最新的因子值代入回归方程得到一个对未来股票收益的预判,最后以此为依据进行选股。

回归法的优点是能够比较及时地调整股票对各因子的敏感性,而且不同的股票对不同的因子的敏感性也可以不同。

回归法的缺点是容易受到极端值的影响,在股票对因子敏感度变化较大的市场情况下效果也比较差。

v本策略的实证对象为所有沪深300成分股,以2013年2月22日至2013年5月20日为回验周期,利用过去22天内所有风险因子和收益率作为决策依据,根据预期收益率大小对前50组最大的做多,后50组最小的做空。

第2页量化投资策略开发实例策略背景策略原理因子回报计算采取横截面回归(Cross-SectionalRegression)的方法:

vy股票的超额收益率X回归系数f因子回报残差注:

1)为了区别大市值股票和小市值股票,对原来的样本进行加权,权重由流通市值来决定。

2)为了消除异常值的影响,采取稳健回归的方法。

第页多因子模型的优点反应迅速:

多因子模型可以对股票的特征变化快速进行反应。

v股票因子取值的变化很快就能反映在其估计的波动率上。

模型稳健:

多因子风险控制模型稳健、可解释性强。

v因子间的关系相对于股票间关系更加稳定估计误差小:

多因子模型通过将股票的收益进行分解,减少了参数,估计相对稳定,所需历史数据较短,更能反映投资组合当前的风险状况。

v如:

N只股票k个因子,仅需估计k(k+1)/2+N个参数。

如,500只股票34个因子,初等模型需估计125250个参数,多因子模型仅需估计1078个参数。

可扩展性强:

可以推广至多个地区(大陆、美国等)、多个品种(股票、债券、期货等)第页策略背景策略流程第3页量化投资策略开发实例策略开发策略配置策略配置StrategyCfg.xmlStrategyCfg.xmlStkcd.xmlStkcd.xml编写主程序编写主程序factors.mfactors.m回验配置回验配置BackTestCfg.xmlBackTestCfg.xml绩效分析绩效分析对策略函数的名对策略函数的名称、参数、时间、称、参数、时间、交易标的及所需交易标的及所需数据的配置数据的配置策略流程的实策略流程的实现现对策略回验参对策略回验参数、交易品种数、交易品种交易费用、绩交易费用、绩效指标的数据效指标的数据参数的配置参数的配置第4页量化投资策略开发实例命令窗口运行命令窗口运行界面工具运行界面工具运行Stkcd.xml配置配置/每个code标签下,ContractMultiplier、Currency、MarginLevel、MaxShare、为实时交易部分配置,历史回验设置无效。

ContractMultiplier:

合约乘数Currency:

货币种类MarginLevel:

交易保证金比例MaxShare:

当前合约的最大持仓量exchangeType表示市场类型枚举id:

交易标的代码第5页市场类型枚举SZSE深圳证券交易所SSE上海证券交易所HKEX香港联合交易所CFFEX中国金融期货交易所ZCE郑州期货交易所DCE大连期货交易所SHFE上海期货交易所策略开发交易标的配置%Stkcd.xml名字可更换量化投资策略开发实例StrategyCfg.xml配置配置=Factors/=TimeIntervals.DAY01/=TimeIntervals.DAY01/=TimeIntervals.DAY01/=TimeIntervals.DAY01/第6页策略开发策略运行配置全景展示量化投资策略开发实例策略开发函数名称及调仓配置StrategyCfg.xml配置配置/标签strategyFunction(用途:

用户编写的策略函数名称):

name填入策略函数名。

标签strategyArguments(用途:

策略的参数配置):

rebalanceCycle:

重平衡周期,策略回验时,每过rebalanceCycle根bar将进行一次投资决策,计算目标目标持仓。

Bar的大小取决于returnCalFrequency;returnCalFrequency:

计算收益率的频率第7页量化投资策略开发实例%StrategyCfg.xml名字可更换策略开发策略数据及缓存配置StrategyCfg.xml配置配置=stkcd.xml/标签FactorDataCfg(用途:

策略的时间及标的配置)dateListType:

表示日期类型:

Trading,交易日;Working,工作日;localPath:

本地Mat缓存文件的存储路径(绝对路径),Matlab中,pwd表示当前的工作空间路径;periodType:

交易时间配置信息;tickerList:

表示读取的证券代码列表,可以是定义交易标的的xml文件路径名称,也可以是板块,支持的板块列表有:

(AllAStock,SHA,SZA,AllBStock,SHB,SZB,HS300)第8页量化投资策略开发实例%StrategyCfg.xml名字可更换=TimeIntervals.DAY01/=TimeIntervals.DAY01/=TimeIntervals.DAY01/标签data(用途:

策略决策所需数据配置)策略决策时每需要一种数据,则需要配置一个data标签decisionDataLength:

每次策略函数计算目标持仓权重时所需的改数据长度,必须为大于等于1的整数;fieldname:

数据的字段名;frequency:

数据的频率,有SEC01(1秒),SEC05(5秒),SEC15(15秒),SEC30(30秒),MIN01(1分),MIN05(5分),MIN15(15分),DAY01(1天);第9页策略开发策略数据配置量化投资策略开发实例StrategyCfg.xml配置配置=Factors/=TimeIntervals.DAY01/=stkcd.xml/=TimeIntervals.DAY01/=TimeIntervals.DAY01/=TimeIntervals.DAY01/第10页策略开发策略运行配置全景展示量化投资策略开发实例策略开发主程序第11页functionportfolio,newStateMatrix=factors(tradingData,stateMatrix)输入:

输入:

1、decisionData:

结构体,存储策略决策所需数据;

(1)decisionData.time:

策略决策的时间

(2)decisionData.varList:

策略决策所需数据的名称列表;(3)decisionData.factorN_frequency:

策略决策所需数据结构体(4)decisionData.factorN_frequency.data:

策略决策所需数据矩阵;(5)decisionData.factorN_frequency.timeList:

矩阵的列索引,表示矩阵中每列代表的时间点;(6)decisionData.factorN_frequency.tickerList:

矩阵的行索引,表示矩阵中每列代表的交易标的;2、stateMatrix:

策略函数上次存储的状态信息;输出:

输出:

1、portfolio:

策略函数经过运算后得到的,目标投资组合资金权重序列,维度必须和订阅的交易标的数目相同;量化投资策略开发实例策略开发数据提取%变量量赋值fori=1:

size(tradingData.varList,1)eval(tradingData.varListi,=,tradingData.,tradingData.varListi,.data;);end%初始化初始化处理理portfolio=zeros(size(tradingData.(tradingData.varList1).data,1),1);%回回归数据数据处理,理,Y为沪深沪深300成分股前一天的收益率数据,成分股前一天的收益率数据,X为之前第之前第22天的因子数天的因子数据据%利用上月末的因子与本月末的收益率利用上月末的因子与本月末的收益率进行横截面回行横截面回归得到因子回得到因子回报系数;系数;Y=Rtn_DAY01(:

end-1););%300*16矩矩阵,16个因子个因子X=NaN(size(Rtn_DAY01,1),(size(tradingData.varList,1)-2;i=1;forj=1:

(size(tradingData.varList,1)ifstrcmp(tradingData.varListj,CP_DAY01)=1&strcmp(tradingData.varListj,Rtn_DAY01)=1x=eval(tradingData.varListj);X(:

i)=x(:

1);i=i+1;endend第12页量化投资策略开发实例策略开发建立开平仓依据stats=regstats(Y,X);%横截面回横截面回归,忽略空置,忽略空置b=stats.beta;b=b(2:

end);b_order=find(abs(b)2);%若因子回若因子回报系数系数绝对值大于大于2则认为是是极端极端值,剔除,剔除该因子;因子;R=X(:

b_order)*b(b_order);%回回归系数乘月末系数乘月末因子因子的的值得到得到预期期收收益率益率,R_s=sort(R);portfolio(R_s(end-50+1:

end)=1/50;%大的大的50组做多做多portfolio(R_s(1:

50)=-1/50;%小的小的50组做空做空%状状态矩矩阵重新重新赋值newStateMatrix=stateMatrix;end第13页量化投资策略开发实例策略开发主程序整体展示functionportfolio,newStateMatrix=factors(tradingData,stateMatrix)%回回归法多因子策略法多因子策略(实例例3.2.3)%变量量赋值fori=1:

size(tradingData.varList,1)eval(tradingData.varListi,=,tradingData.,tradingData.varListi,.data;);end%初始化初始化处理理portfolio=zeros(size(tradingData.(tradingData.varList1).data,1),1);%回回归数据数据处理,理,Y为沪深沪深300成分股前一天的收益率数成分股前一天的收益率数据,据,X为之前第之前第22天的因子数据天的因子数据%利用上月末的因子与本月末的收益率利用上月末的因子与本月末的收益率进行横截面回行横截面回归得到因子回得到因子回报系数;系数;Y=Rtn_DAY01(:

end-1);X=NaN(size(Rtn_DAY01,1),(size(tradingData.varList,1)-2);%300*16矩矩阵,16个因个因子子i=1;forj=1:

(size(tradingData.varList,1)ifstrcmp(tradingData.varListj,CP_DAY01)=1&strcmp(tradingData.varListj,Rtn_DAY01)=1x=eval(tradingData.varListj);X(:

i)=x(:

1);i=i+1;endendstats=regstats(Y,X);%横截面回横截面回归,忽略空置,忽略空置b=stats.beta;b=b(2:

end);b_order=find(abs(b)2);%若因子回若因子回报系数系数绝对值大于大于2则认为是极端是极

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

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

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