遗传规划解构与投资思考_第1页
遗传规划解构与投资思考_第2页
遗传规划解构与投资思考_第3页
遗传规划解构与投资思考_第4页
遗传规划解构与投资思考_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录引言 3遗传规划解构 4遗传规划基本流程 4初始化种群 5公式树变异 5因子筛选 6二次筛选 7遗传规划因子挖掘基准结果 7因子筛选中不同收益类型的差异 9不同指标作为适应度函数的差异 10差异性:因子评价指标的不完备性 10同质性:本质上是对投资者决策机制的拟合 12适应度函数选择的思考 13使用优化算法提升因子挖掘效率 13基于父代个体选择的优化算法 14基于适应度调整的优化算法 15排挤算法 15共享适应度函数算法 16优化算法效果与讨论 17样本外表现与过拟合问题讨论 18量化选股策略 19纯遗传规划因子的选股策略 19市场交易定价特征变迁 21不同股票范围的效果差异 21提升传统量化选股模型表现 225. 总结 236. 风险提示 237. 附录 24量价算子列表 24遗传规划量价因子公式形式展示 26引言量价数据的体量相对较大并且信噪比低,传统研究更多地偏向于“从数据中来,到数据中去”的过程;而由于缺乏对内心世界的理解和认知,通过数据建模得到的量价策略在不同环境中表现不稳定。我们秉持着从符号世界符号世界价量数据技术指标符号世界价量数据技术指标决策机制符号世界定价模型投资组合数据来源:市场对微观交易层面的定价规律的认知尚不充分,遗传规划可以提供补充信息。经典行为金融学研究首先通过对投资者心理的分析提炼出一系列投资者交易逻辑,再结合实证检验归纳得出投资异象,并据此构建相应的套利策略。这一过程存在两个问题:一是研究范围依赖于主观构建的微观交易逻辑,理论体系的更新和变迁往往发生在特定投资策略崩塌之后,如2017年小盘股风格切换后市场才普遍开始控制风险暴露;二是归纳得到的量价特征往往对时间序列参数敏感,如相对强度在不同周期下可能分别表现为短期反转、中期动量和长期反转。图2量化策略变迁往往发生在市场风格切换之后市值风格1.05市值风格10.90.850.80.70.650.62008010220080722200801022008072220090213200908272010032220101014201105042011111820120612201212262013072520140218201409012015032620151015201605032016112120170613201712262018071820190211201908262020031920201012202104282021111820220613202212272015ALPHA101市场对遗传规划的普遍认知是暴力搜索工具,认为算力是影响特征挖掘效率的唯一因素。我们在解构遗传规划的基础上,认为算法结构中因子筛选标准对遗传规划结果亦有较大影响,并且通过特定优化算法可以提升特征挖掘效率。具体而言,在本篇报告中我们关注以下几个问题:因子筛选中计算因子多空收益和多头收益的效果差异;特定优化算法对因子筛选过程的影响。遗传规划解构遗传规划基本流程交易过程对价格的影响反映了投资者交易决策机制和定价规律,短周期量价特征本质上是通过一系列公式的组合拟合出这种定价规律。这些量价特征可以按照“公式-数据-参数”的形式转化为公式树结构,进而可以使用遗传规划方法挖掘出有效的量价特征。遗传规划的基本流程包括初始化种群、变异和筛选等,其中初始化种群过程使用若干算子随机形成公式树,变异过程通过随机改变公式树的结构、算子或参数生成新的RankICICIR图3遗传规划基本流程 图4公式树示例(abs(inv(min(max(sub(L,5),ts_zscore(C,10)),V))))数据来源:初始化种群初始化种群过程通过随机组合算子、数据和参数生成若干公式树,每个公式树根据其公式形式计算得到的就是一个量价因子。我们使用的遗传60个算子(算子列表详见附录,相比于开源算法大幅增加了时间序列算子的范围和数量,更加适合于金融数据处理。技术指标相对位置回归参数时间序列统计特征技术指标相对位置回归参数时间序列统计特征遗传规划算子时序变化条件选择多变量基本运算单变量数据来源:公式树变异遗传规划中的变异过程分为两步,首先选择一个父代个体用于变异,其次选择一种变异方法生成新的子代。在选择父代个体的过程中,传统做法通过轮盘赌或者锦标赛策略选择个体,前者按照个体适应度函数值大小设置概率抽样,后者在种群中随机抽取少量个体并从中选择适应度函数值最大的个体,这两种方法本质上仍是有偏随机抽样。变异方法关注公式树结构的变化,包括交叉变异、子树变异、结点变异和提升变异等方法,同时保留一定概率使父代因子直接保留至子代。交叉变异(Crossover)子树变异(交叉变异(Crossover)子树变异(reut)(tMa)提升变异(Hoist)数据来源:图7种群变异过程示例数据来源:。注:适应度函数为年化收益。因子筛选随机性影响进入早熟收敛,其中初始化种群和变异过程增加了随机性,而筛选过程可以通过以特定适应度函数为目标确定种群进化方向、减少等;RankIC、ICIR等。收益能力年化收益左尾风险最大回撤单指标收益能力年化收益左尾风险最大回撤单指标收益稳健性胜率、夏普比率预测能力IC、RankIC、ICIR适应度函数年化收益-最大回撤𝜔∙年化收益+(1−𝜔)∙𝑅𝑎𝑛𝑘𝐼𝐶多指标组合卡玛比率×sqrt(年平均交易次数)×胜率×sqrt(平均多头持仓天数)…数据来源:二次筛选通过上述过程挖掘的遗传规划因子仅能保证在种群中是最优的,并不一因子数量较大时,为了提高运行效率,我们要求新因子与因子池主成分(累计贡献率>90%)的相关性不超过50%。遗传规划因子挖掘基准结果A2022年。模型设定和超参数设置如下表所示。表1:遗传规划过程模型设定和超参数设置示例模型设定和超参数设置 条件数值种群数量 500迭代上限 10适应度函数 夏普比率早停条件阈值 5二次筛选阈值 0.5(扣费后)结点常数范围 1-10时序参数范围 1,5,10,20,40,60交叉变异概率 0.5子树变异概率 0.2结点变异概率 0.2提升变异概率 0.05股票范围 沪深A股样本区间 20220101-20221231量价指标 交易频率 日频调仓价格 次日交易费用 双边千三数据来源:10轮量价因子挖掘,样本内扣费后多0.5245表2:遗传规划挖掘量价因子公式示例因子 公式因子1 sub(ts_min(add(mul(H,sub(ts_argmin(ts_mean_return(VW,5),5),ts_min(mul(H,ts_CCI(20)),1)),5),因子2 sig(log(inv(ts_min(sqrt(log(inv(ts_min(ts_min(ts_min(neg(mean(O,sqrt(mean(O,V)))),5),1),1)))),1))))因子3 cbrt(ts_median(ts_regression_beta(max(5,L),C,40),5))因子4 因子5 abs(C)))))图9前5量价因子累计净值走势示例(多空) 图10前5量价因子累计净值走势示例(多头)1

因子1 因子2 因子3 因子4 因子样本外样本外

1

因子1 因子2 因子3样本外因子4 因子5 万得全A样本外表3:遗传规划挖掘量价因子回测结果示例(样本内)多空 多头超额(相对于全A)

因子年化收益最大回撤年化夏普因子年化收益最大回撤年化夏普年化收益最大回撤年化夏普换手因子137.00%-3.67%3.4231.10%-12.58%1.076.05%62.24%38.04因子227.56%-2.61%3.1129.23%-13.13%1.015.38%56.02%35.14因子312.48%-2.25%1.8518.10%-12.41%0.664.23%52.70%51.14因子420.88%-10.59%1.7728.10%-8.87%1.022.93%52.28%5.48因子516.57%-6.61%1.5221.42%-14.25%0.775.96%62.24%82.94平均22.90%-5.14%2.3325.59%-12.25%0.914.91%57.10%42.56

年化双边因子筛选中不同收益类型的差异在因子评价中指标计算选择多头收益还是多空收益取决于需求。若将遗传规划因子应用于线性多因子量化选股模型,则由于卖空限制更多关注于多头收益;若将遗传规划因子应用于神经网络模型,则以多空收益为基础计算指标可以提升因子截面差异与分层稳健性,进而可能提高模型效率。我们通过以不同类型收益计算的夏普比率为适应度函数进行多组因子挖掘试验,发现指标计算使用的收益类型不仅影响因子收益表现,亦影响因子收益分层稳健性。图11使用不同类型收益时净值走势存在差异(多空)图12使用不同类型收益时净值走势存在差异(多头)

使用多收益算指标 使用多收益算指标

1

使用多收益算指标 使用多收益算指万得全A样本外样本外样本外样本外表4:使用不同类型收益计算指标做为适应度函数的回测结果(样本内)收益类型年化收益收益类型年化收益最大回撤年化夏普年化收益最大回撤年化夏普换手多头19.74%-5.95%1.9943.85%-10.01%1.443.61%55.19%26.16多空22.90%-5.14%2.3325.59%-12.25%0.914.91%57.10%42.56

多空组合回测 多头超额回测(相对于全A)

RankIC IC胜率

年化双边从收益表现上看,使用多空收益计算指标时,因子在样本内多空收益净值和夏普比率均更高;反之亦然。从因子收益分层上看,使用多空收益计算指标的多头端收益相对更低,而分层稳健性相对更高。在收益分层上的差异引出了另一个问题,即量价因子收益的非线性分层现象。我们在之前的报告中提出传统量价因子的收益分层并非完全单调,可能呈现出北斗星型、余弦型等非线性形态。我们以多空收益计算的夏图13使用多空收益时因子分层稳健性较高 图14使用多头收益时因子多头端收益较高20%10%

因子1 因子2 因子3 因子4 因子5

30%20%10%

因子1 因子2 因子3 因子4 因子5 不同指标作为适应度函数的差异适应度函数的选择决定了种群进化的方向和量价因子构建的效果。本节我们通过多组遗传规划因子挖掘结果比较,发现以不同指标为适应度函数的挖掘效果存在差异性和同质性。其中,差异性体现在:由于因子评价体系的不完备性,使用不同指标作为适应度函数时,挖掘出的量价因子表现存在一定差异;同质性体现在:当每组因子内部按照对应的适应度函数值排序时,不同组排名靠前的因子之间的两两IC相关性均值有所提升。差异性:因子评价指标的不完备性a优bRankIC、ICb。表5:量价因子在不同维度的表现存在差异化收益回撤化收益回撤夏普边换手sub(sub(ts_linear_slope(ts_argmaxmin(ts_CCI(1),5),因子a 26.99%-2.94%4.57% 56.85%2.9832.33因子b ts_min(neg(ts_std(V,5)),1)) 19.85%-4.73%6.17% 64.32%1.9484.17

多空年

最大 年化RankIC IC胜率

年化双40),ts_std(V,10)),ts_median(V,5)),。样本期:20220101-20221231;适应度函数:夏普比率。下面我们将分析不同因子评价指标作为适应度函数对因子挖掘效果的影响,探讨适应度函数选择的最优方案。具体而言,我们分别选择年化RankIC、ICIR、胜率(日频)等指标及其组合作为遗10轮挖掘。为了适当提高因子挖掘效10轮挖掘得到因子数量大致相当,从而在相似的标准下比较不同适应度函数的影响。表6:不同适应度函数及其早停条件阈值适应度函数早停条件阈值挖掘因子数量年化夏普5.0059年化收益0.4076RankIC0.0546ICIR0.3066胜率0.70200.2*RankIC+0.8*年化收益0.1324年化收益-最大回撤0.3020Wind一个显而易见的结论是:使用某个指标作为适应度函数,挖掘出的量价1)以因子收益能力为主的指标(年化收益、夏普比率为适应度函数挖掘出的因子其年化收益和夏普比率更高2nkI、ICIR、胜率)为适应度函数挖掘出的因子在对应指标上表现略好,但在(3)使用多指标组合作为适应度图15使用不同适应度函数挖掘出的因子平均累计净值走势(前10)1

icir annual_return-max_drawdown样本外样本外

1

icir annual_return-max_drawdown 万得全A样本外样本外表7:使用不同适应度函数挖掘因子回测结果统计(样本内,前10)多空 多头超额(相对于全A)

适应度函数年化收益最大回撤年化夏普适应度函数年化收益最大回撤年化夏普年化收益最大回撤年化夏普换手年化收益29.47%-5.19%2.7930.97%-11.88%1.074.87%59.05%31.58夏普比率22.89%-4.15%2.6124.76%-12.88%0.884.37%57.26%36.00RankIC13.46%-12.27%0.9815.58%-11.81%0.565.89%56.39%63.73ICIR0.26%-11.61%-0.214.86%-14.23%0.214.88%59.54%99.98胜率-3.54%-12.61%-1.666.14%-18.04%0.203.72%59.50%121.120.2*RankIC17.75%-5.74%1.7322.90%-13.83%0.825.62%58.63%70.44年化收益7.52%-6.31%0.6312.00%-13.70%0.464.94%58.84%79.59

年化双边+0.8*年化收益-最大回撤,。样本内区间为:20220101-20221231。同质性:本质上是对投资者决策机制的拟合在上一节的基础上,我们发现使用不同指标作为适应度函数挖掘出的量价因子IC相关性整体较低,如下表所示,除年化收益组和夏普比率组之外,不同组因子之间两两IC相关性均值都不超过30%。这一结论进一步验证了上一节的结论,即使用不同指标作为适应度函数挖掘出的量价因子存在较为明显的差异性。表8:使用不同适应度函数挖掘出的因子之间相关性较低(前40)RankIC年化收益年化夏普胜率ICIRRankIC年化收益14.93%年化夏普13.18%34.00%胜率14.22%22.80%21.66%ICIR14.72%19.06%18.30%14.07%Wind若在每组内部按照其适应度函数值排序,则不同组排名靠前的因子之间的两两IC相关性均值有所提升,这一现象在不同组之间均成立。我们认为量价因子本质上是对投资者决策机制的拟合,使用不同的指标作为适应度函数挖掘出的定价规律在内心世界里是一样的,从而在符号世界中的因子层面上表现出相似性。因此,若在大量因子挖掘的基础上进行因子精选,则不论适应度函数如何选择,通过遗传规划挖掘到的量价因子相似度应当是比较高的,这一现象可能导致量价策略的同质化。表9:随着因子适应度值的提升,不同组因子之间相关性有所扩大按照适应度函数值排序的因子数量适应度函数1适应度函数2 5 10 20 30 40年化收益37.36%35.80%23.78%18.85%14.93%年化夏普24.00%22.40%22.72%15.87%13.18%42.73%32.35%25.09%20.14%14.72%年化收益 年化夏普53.29%55.49%47.25%35.04%34.00%年化收益 50.56%50.76%35.20%26.13%19.06%年化夏普 33.81%45.21%33.03%24.55%18.30%适应度函数选择的思考差异性和同质性并不矛盾,可以通过对内心世界的认知而统一。量价因子挖掘本质上是通过符号世界的公式拟合投资者内心世界的决策机制和定价规律,不同的适应度函数提供了从符号世界进入内心世界的不同路径。因此,当对内心世界的拟合不充分时,不同路径下挖掘到的定价规律存在较大差异;当对内心世界的拟合逐渐充分时,不同路径间的差异逐渐缩小、拟合出的定价规律之间的相似性也就逐渐提升。因此,我们认为提高因子挖掘效率有两条路径,一是通过优化算法将单因子挖掘做到极致,二是通过多目标的相互关系综合筛选。我们将在下一章节中探讨优化算法的分类、意义和实践效果。投资者行为的多样化决定了以公式树形式拟合出的量价因子的多样化,在进化过程中保持种群多样化可以提升寻找差异化特征的效率。遗传规划过程本质是用一系列公式组合拟合过去一段时间内行之有效的定价规律,因而无论算法结构如何设计,给予充分的时间都能挖掘到优秀的因子。因此,我们在这里面临的问题是如何提高挖掘效率,从而在相对较短的时间里挖掘到更多高质量因子。我们认为引入优化算法有助于保持种群多样化,进而可提升因子挖掘效率。我们的主要思路包括父代个体选择和适应度调整,前者主要在种群进化过程中对父代因子的选择进行限制,后者在因子筛选时通过因子间关系对适应度进行调整。我们将在本节探讨不同优化算法对于因子挖掘过程的意义,以及优化算法设计的最佳方案。束搜索(BeamSearch)束搜索(BeamSearch)父代个体选择家庭竞争遗传规划优化算法(FamilyCompetition)排挤机制(Supplant)适应度调整共享适应度函数(Sharing数据来源:基于父代个体选择的优化算法传统的遗传规划过程通过有偏随机抽样的方式选择父代个体,例如锦标赛抽样,这种方法的随机性较强。我们发现父代个体的选择对种群进化有较大影响:一方面,适应度较高的父代个体其子代个体的适应度往往较高;另一方面,由于父代个体选择为有放回抽样,适应度较高的个体有一定概率多次被选中,从而使子代种群中适应度高的个体的相似度较高。针对上述两个问题,我们在父代个体选择中引入了束搜索算法和家庭竞争算法,有助于提高挖掘速度并且保持种群多样性。我们在之前的报告中也介绍过这两个算法。束搜索算法(BeamSearch)是一种高效的搜索方法,在初始化种群时首先构建一个数倍于标准种群大小的原始种群,经过一轮筛选之后保留图17束搜索算法示意图DiveintoDeepLearning家庭竞争算法(FamilyCompetition)是一种在交叉变异过程中控制多样性的方法,如果新生成的个体的适应度函数值高于父代个体,则从父代种群中剔除该父代个体,限制单一父代过度繁衍,以保证子代种群的多样性。图18家庭竞争算法示意图数据来源:基于适应度调整的优化算法传统的遗传规划过程在因子筛选中仅以适应度值为依据,这种方法可能会导致进化后期因子相似度过高,进而导致挖掘得到的大部分因子不能通过相关性筛选,从而降低挖掘效率。我们希望在因子筛选过程中尽可能保持种群多样性,因此需要根据因子相似度对适应度指标进行调整,使相似度低的因子有更高概率得以保留。具体算法包括排挤算法、共享适应度函数算法等。图19基于相似度调整适应度值有助于保持种群多样性数据来源:排挤算法排挤算法(Supplant)这样调整可以减少相似因子同时进入子代种群的概率,从而使差异化因子更容易得到保留。𝑓𝑖𝑡𝑛𝑒𝑠𝑠𝑖,𝑎𝑑𝑗𝑢𝑠𝑡

={𝑓𝑖𝑡𝑛𝑒𝑠𝑠𝑖, 𝑖𝑓𝑖≠𝑗,𝑐𝑟𝑜𝑤𝑑𝑛𝑒𝑠𝑠(𝑖,𝑗)>𝑠𝑖≥∗𝑓𝑖𝑡𝑛𝑒𝑠𝑠𝑖, 𝑖𝑓𝑖≠𝑗,(𝑖,𝑗)>𝑓𝑖𝑡𝑛𝑒𝑠𝑠𝑖<图20排挤算法示意图数据来源:下图展示了排挤算法对适应度调整的过程。排挤算法只会调整一部分因子的适应度,对种群排序的影响相对较小;若因子相似度低于阈值、或者相似度高于阈值但适应度相比较高,则保留原有适应度数值。图21排挤算法适应度调整示意图。注:适应度函数为年化夏普比率。共享适应度函数算法(Sharing通过种群全部因子的关系对适应度值进行调整。具体而言,每个因子的适应度值根据该因子与其他因子相似度之和加权,得到相似度归一化的适应度值。共享适应度函数算法和排挤算法的核心思想是一致的,前者考虑了全部因子的影响,后者只考虑局部少数因子的影响。𝑓𝑖𝑡𝑛𝑒𝑠𝑠𝑖,𝑎𝑑𝑗𝑢𝑠𝑡

= 1∑𝑗≠𝑖𝑐𝑟𝑜𝑤𝑑𝑛𝑒𝑠𝑠(𝑖,𝑗)

𝑓𝑖𝑡𝑛𝑒𝑠𝑠𝑖图22共享适应度函数示意图数据来源:图23共享适应度函数算法适应度调整示意图,。注:适应度函数为年化夏普比率。优化算法效果与讨论1使用束搜索方法可以提升量价因子平均夏普比率;(2)在束搜索的基础上,单独使用家庭竞争、排挤算法或共享适应度3)在束搜索的基础上组合使用多种算0.88。因此,我们认为通过引入优化算法保持种群多样化从遗传规划因子多头收益上看,各优化算法的提升效果并不明显。这是图24不同优化算法下量价因子净值走势(多) 图25不同优化算法下量价因子净值走势(多头)

样本外样本外

1

样本外sr_bs_fc_sp样本外表10:不同优化算法下因子样本内表现统计(前5)多空多头超额优化方法 年化收益最大回撤年化夏普年化收益最大回撤年化夏普基准(sr) 22.90%-5.14%2.3728.72%-10.83%1.02束搜索(sr_bs) 24.85%-4.04%2.8027.98%-12.79%0.98束搜索+家庭竞争(sr_bs_fc) 20.83%-4.34%2.2628.39%-11.63%1.00束搜索+排挤算法(sr_bs_sp) 23.71%-4.88%2.4131.56%-13.28%1.07束搜索+共享适应度函数(sr_bs_sv) 23.35%-4.29%2.3827.13%-13.96%0.94束搜索+家庭竞争+排挤算法(sr_bs_fc_sp) 30.99%-3.68%3.2522.96%-13.65%0.82束搜索+家庭竞争+共享适应度函数(sr_bs_fc_sv) 24.52%-4.11%2.588.21%-20.41%0.37Wind样本外表现与过拟合问题讨论基于父代个体选择和适应度调整的优化算法可以提升因子样本内表现,而从对定价机制拟合与过拟合的角度上引出了另一个问题,即,提升因实证结果表明在我们挖掘到的这些因子和给定时间区间上,当优化算法图26不同优化算法下因子样本外表现(多空) 图27不同优化算法下因子样本外表现(多头)1

sr_bs_fc_spsr_bs_fc_sv

sr_bs_sv sr_bs_fc_sp万得全A

表11:不同优化算法下因子样本外表现统计(前5,多空)多空多头超额优化方法年化收益最大回撤年化夏普年化收益最大回撤年化夏普基准(sr)17.71%-0.87%3.8342.00%-2.97%2.32束搜索(sr_bs)17.78%-0.69%4.0635.10%-2.78%2.04束搜索+家庭竞争(sr_bs_fc)15.98%-0.73%3.6341.09%-2.70%2.34束搜索+排挤算法(sr_bs_sp)24.60%-0.71%5.1455.03%-2.82%3.03束搜索+共享适应度函数(sr_bs_sv)16.61%-0.95%3.7141.88%-2.88%2.31束搜索+家庭竞争+排挤算法(sr_bs_fc_sp)27.69%-0.56%6.0554.58%-2.61%3.00束搜索+家庭竞争+共享适应度函数(sr_bs_fc_sv)10.95%-0.78%2.0236.44%-2.93%2.06Wind样本内表现较好的因子能否在样本外延续表现,还受到样本期时期、样本期长度、市场流动性环境等因素的影响。例如,市值风格在2017年和2021年两度反转,样本期是否包含这些时期对挖掘的量价特征质量有较大影响。但样本期并非越长越好,样本期过长则不易捕捉长期有效的量价特征在近期反转导致的定价特征变迁。在实际操作过程中,我们无法使用未来数据验证因子过拟合情况,如无有效择时,则只能在样本内选择适应度函数最大的因子,然后寄希望于挖掘到的因子在样本外表现也比较好。量化选股策略纯遗传规划因子的选股策略我们首先构建纯遗传规划因子的量价选股策略以验证因子挖掘框架的1年的量价数据挖掘日频选股因子,在2021年以来每季度重新挖掘因子,每一期使用样本内夏普比率为正1028.37%-11.70%,年化夏普为1.52。策略多头端获得16.20%的费后年化收益,最大回撤-10.07%0.68图28遗传规划因子量化选股策略样本外净值(多空)1fee=0.003表12:遗传规划因子量化选股策略样本外表现(多空,交易费用0.003)时间区间 年化收益 最大回撤 年化夏普 年化双边换手样本外(2022年以来) 28.37% -11.70% 1.52 66.962022年1月-12月 39.48% -10.25% 1.84 53.452023年1月-7月 18.67% -12.64% 1.38 84.52图29遗传规划因子量化选股策略样本外净值(多头)1

0.40.350.30.250.20.150.10.050超额收益 多头净值 万得全A表13:遗传规划因子选股策略样本外表现(多头超额,交易费用0.003)时间区间年化收益最大回撤年化夏普年化双边换手样本外(2022年以来)16.20%-10.07%0.6866.962022年1月-12月3.04%-19.72%0.1253.452023年1月-7月24.77%-9.80%1.8784.52市场交易定价特征变迁1年的量价数据,目的是捕捉市场在交易层面的定价特征在相对短期内的变化,使挖掘出的因子更加适合于当前市场。我们在下面展示了上述季频滚动策略中每一组因子的表现,包含13个月的样本外表现。不同组的统计区间大多有重叠,而同期因子表现并不完全一致,表明市场定价特征确实存在变迁。例如,20220101-20230331这一组的净值与之前四组存在较大差异,而与之后两组较为相似,表明在2022年前后市场交易层面的定价特征或发生较大变化。图30滚动挖掘因子的样本内外表现(未扣费)2.42.221不同股票范围的效果差异我们将相同的遗传规划量价因子应用于不同股票范围的日频换仓选股策略,回测结果表明,策略在中证500范围内的策略表现最好,在沪深300范围内的表现相对最差;不同股票池中多头收益差距较小,并且多头收益均能显著超过全A指数收益,表明策略在常见股票范围中均能保持有效。图31遗传规划因子在不同股票池中的净值(多空)图32遗传规划因子在不同股票池中的净值(多头)1

沪深300 中证500中证中证中证中证1000 沪深A股

1

沪深300 中证500中证中证中证中证沪深A股 万得全A 提升传统量化选股模型表现10式构建模型。不同大类因子的权重如下表所示。基准模型的特征详见2022720500指数增强表14:基准模型和综合模型的特征分类和权重因子分类因子数量基准模型权重综合模型权重北上资金49.09%8.33%超预期89.09%8.33%超预期(分析师)119.09%8.33%超预期衍生(估值)99.09%8.33%超预期衍生(盈利)119.09%8.33%成长89.09%8.33%盈利69.09%8.33%估值139.09%8.33%分析师139.09%8.33%总量59.09%8.33%量价109.09%8.33%遗传规划因子108.33%数据来源:(20221月-20237月)相21.24%8.33%,考虑到市场有效性提升,若提升量价图33遗传规划因子可提升量化选股模型效果(样本外,多头)1

5%综合模型基准型 基准模型 综合模型总结本篇报告作为解构机器学习系列的第一篇,在解构遗传规划这一经典的划可以划分为初始化种群(包括适应度计算、公式变异、因子筛选和二次筛选等步骤,我们尽可能将原本由人工决策的部分放在算法过程中,实现量价因子自动化挖掘。遗传规划不是暴力搜索,我们认为因子筛选标准对因子挖掘效率有较大影响,并且通过基于父代个体选择和适应度调整的算法可以提升种群多在机器学习相关的研究中,我们并不希望在找到某个在历史数据上有效的策略后就停止,我们希望尝试打开机器学习算法的黑箱、理解算法结构的意义并以此提升模型的有效性。后续我们将在这一框架的基础上将框架向后拓展,对机器学习算法在量化投资中的应用进行解构和探讨。风险提示量化模型失效风险:本篇报告的结论完全来自于量化模型和历史数据,请注意模型在样本外失效风险。附录量价算子列表表15:量价算子列表(1)算子含义算子含义square(x)平方ts_delay(x,d)d期前的值sqrt(x)平方根(正负号不变)ts_delta(x,d)与d期前作差cube(x)立方ts_pct_change(x,d)d期至今的变化百分比cbrt(x)立方根ts_max(x,d)过去d期的最大值neg(x)相反数ts_min(x,d)过去d期的最小值inv(x)倒数值ts_sum(x,d)过去d期的总和abs(x)绝对值ts_product(x,d)过去d期的累乘sin(x)正弦值ts_mean(x,d)过去d期的均值cos(x)余弦值ts_std(x,d)过去d期的标准差tan(x)正切值ts_median(x,d)过去d期的中位数log(x)对数值ts_midpoint(x,d)过去d期的最值的均值add(x1,x2)元素相加ts_skew(x,d)过去d期的偏度sub(x1,x2)元素相减ts_kurt(x,d)过去d期的峰度mul(x1,x2)元素相乘ts_inverse_cv(x,d)过去d期的变异系数div(x1,x2)元素相除ts_rank(x,d)过去d期的历史分位数的均值max(x1,x2)逐位取两元素中的较大值ts_maxmin(x,d)过去d期的最大最小归一化值min(x1,x2)逐位取两元素中的较小值ts_zscore(x,d)过去d期的标准分数mean(x1,x2)平均值ts_argmax(x,d)过去d期的最大值所在位置sig(x)Sigmoid函数值ts_argmin(x,d)过去d期的最小值所在位置sign(x)符号函数clear_by_cond(x1,x2,x3)若x1<x2,则0,否则x3if_then_else(x1,x2,x3)若x1非0,则x2,否则x3if_cond_then_else(x1,x2,x3,x4)若x1<x2,则x3,否则x4d期的最大值与最小值位置差ts_cov(x1,x2,d) d的协方差ts_corr(x1,x2,d) 过去d期的与的相关系数ts_autocorr(x,d,d2) 过去d期的x与其滞后d2阶的自相关系ts_mean_return(x,d) 过往d期的x变化百分比的平均值ts_regression_beta(x1,x2,d) 过去d期的以为基准的贝塔值ts_linear_slope(x,d) 以1至d为自变量,过去d期x1为因变量的回归斜率ts_linear_intercept(x,d) 以1至d为自变量,过去d期x1为因变量的回归截距数据来源:表16:量价算子列表(2)计算符号 含义 指标逻辑 构建方式反映价格加权均线,每期权重过去d期的指数移动平ts_ema(x,d)

以指数等比形式缩小,距当期

𝐸𝑀𝐴(𝑥)=𝛼∗

+(1−𝛼)∗𝐸𝑀𝐴(𝑥 )均线时间越近的价格权重越大反映价格均线的同时减少

𝑑𝑛

𝑑𝑛−1过去d期的双指数移动ts_dema(x,d)

ema指标的滞后性,对近期价

𝐷𝐸𝑀𝐴(𝑥)=2𝐸𝑀𝐴(𝑥)−𝐸𝑀𝐴(𝐸𝑀𝐴)平均线

格的反应更快且更敏感

𝑑𝑛

𝑑𝑛

𝑑 ts_kama(x,d,d2,d3)

过去d期的考夫曼自适应移动平均线(d2为短周

反映价格均线的同时能够自主调节,市场噪音小时紧跟价

𝐾𝐴𝑀𝐴𝑑(𝑥𝑛)=𝑆𝐶∗𝑥𝑛+(1−𝑆𝐶)∗𝐾𝐴𝑀𝐴𝑑(𝑥𝑛−1)( ( 2 ( )其中𝑆𝐶=𝐸𝑅∗ +1−𝐸𝑅∗ )期长,d3为长周期长)过去d期的阿隆震荡线

格变化,价格变化大时减少噪音影响反映过往时间内价格趋势状况,0则上升趋势为主,反

𝑑2+1𝐸𝑅=|𝑥𝑛−𝐴𝑟𝑜𝑜𝑛𝑜𝑠𝑐𝑑(𝑥1𝑛,𝑥2𝑛)

𝑑3+1|𝑥𝑖−𝑥𝑖−1|ts_AROONOSC(x1,x2)ts_WR(x1,x2,x3,d)

(x1,x2分别为最高价,最低价)过去d期的威廉指标(x1,x2,x3分别为最高价,

之亦然,绝对值越大趋势越强劲反映当期价格相对往期最高0

𝑡𝑠_𝑎𝑟𝑔𝑚𝑎𝑥(𝑥1,𝑑)−𝑡𝑠_𝑎𝑟𝑔𝑚𝑚𝑖𝑛(𝑥2,𝑑)= 𝑑𝑊𝑅(𝑥1,𝑥2,𝑥3)= 𝑡𝑠_𝑚𝑎𝑥(𝑥1,𝑑)−𝑥3𝑛 最低价,收盘价)

即接近近期高点

𝑑𝑛

𝑛

𝑡𝑠_𝑚𝑎𝑥(𝑥1,𝑑)−𝑡𝑠_𝑚𝑖𝑛(𝑥2,𝑑)反映当前价格与历史均价之

CCI𝑑(𝑥1𝑛,𝑥2𝑛,𝑥3𝑛)=(𝑇𝑃𝑛−𝑀𝐴𝑛)⁄(0.015𝑀𝐷𝑛)𝑇𝑃𝑖=(𝑥1𝑖+𝑥2𝑖+𝑥3𝑖)⁄3

温馨提示

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

评论

0/150

提交评论