走到年终,才发现自己踏入纯的数量化投资领域4年有余,依然无法忘记从2008年开始手工交易股票的盈利乐趣、漫长亏损忍耐,2015年转型量化的各种困扰,以及2016年初入期货市场凌厉的风险偏好,和艰难地CTA模型实盘历程……这像是命运为一个生存于二级市场的凡人所准备的考卷,如果一次消耗太多本金,没有补考机会。
这其中走过哪些路,最近一年又做过哪些探索,今天通过公众号,向各位读者分享,并力求还原2019年1月19日上海策略分享会上,我和诸位好友交流的经典内容。
上海 银河期货 2019年我们自发组织的策略交流会
再次感谢银河期货资管部负责人李伟,彼得明奇资管创始人谭昊,《量化投资与机器学习》公众号资深编辑等行业前辈,和诸位研究员、量化爱好者参加会议。
一、我的量化学习与分析框架
1、量化学习路程
作为一个起点平庸的量化爱好者,辗转几年进入金融行业,最初我们只有4人的兴趣团队,和很多爱好者一样,我们彼此协作研究模型,通过每个人擅长的领域覆盖不同资产,最终在一个市场环境非常恶劣的时间点(2017年下半年),开始通过私募基金产品进行资管实践。
想到沃兹和乔布斯最初在车库里启动一个伟大的公司,我们这个小团队起步连车库都没有,还要什么自行车……大多数时候我们在餐厅沟通研究进展,后来知道预定公共会议室(方便投影),再后来有合伙人支持,获得稳定办公场所。
又区别于很多团队,我主张在开发过程中多交流分享,我们通过QQ群结识量化爱好者,所以有了《量化投资训练营》这个小众的公众号,还有了你们知道的那本粗浅的图书。因为我不确定哪一条效用最高,也不确定自己的分析方法是否科学,所以索性公开化地研究和分享部分模型。
我主张在学习开始,面向最有盈利机会市场的开发自己的策略,因为新进入量化领域,你的忍耐力比较脆弱,如果长期无法得到可以盈利的资金曲线,放弃概率很高。所以进一步地,我认为时间序列类模型(比如在指数上择时,甚至在个股上择时)学习成本最低,策略思路直观,不用复杂的统计和数据特征分析,也不用了解过多金融市场知识,最容易上手。这其中,又以动量类模型构造方法最简单。
在市场的选择方面,我反而认为管理期货CTA容易用较少资金构建投资组合,如果有10~50万元,即可部署多品种多策略,比股票量化门槛低。在这里积累功底,容易向股票截面因子分析过度,因为股票多因子模型难度较高,无论python编程语言,还是截面数据统计分析方法,都有可能难倒初学者。
我们每个人的能力都有边界,有擅长和欠缺,所以认清自身实力,发现缺陷,尝试和模型匹配,非常重要。这并不意味着我们必须完成从IT平台搭建到策略开发的全流程,而是选择你擅长的环节。我么要接受自己交易IT功底的缺陷、或中低频模型的风险(缺乏高频模型)、或通过有限的资金量(个人的资金量和初期机构资金量有局限性)做资产和策略配置。
所以你可以借用其他IT平台,如已有的各种在线式编程平台,并在中低频方面尽可能构建不同源模型,甚至在策略之间动态调节资金,或者放弃某些策略部署,这都是常事。
2、量化分析框架
做实盘交易(特别是受人之托管理资产),第一个要解决的不是模型开发到什么完美程度,而是选择合适的资产。这里以团队中王前锋最早做过的保险资管配置方案举例,追求较高的确定性收益,并且在资产中追求低相关,这比策略模型的低相关更重要。
其次依然不是追求完美的模型,而是考虑任何模型和方法的边界,上图左半部分是已故的刘宏老师(F10功能创始人,国内首家市场中性私募基金创始人,享誉多项第一)给我们的宝贵遗产:当波动率小于一个临界值时,无论如何优化策略的参数都无法获利。当波动率超过临界值后策略,很容易获利,但是过大的波动率也会影响其收益。
所以不要在低波动情况下在时间序列类动量策略模型上消耗时间精力。右半部分是我们工作过程中,给一些新入门爱好者的建议:现象是暂时的,背后的哲学是持久的。没有坚实理论支撑的模型,没有存在意义。单纯数据挖掘违反这一原则(基于可靠的经济学理论),也为量化投资划定了边界,换句话说也为模型划定了边界。要去努力寻找你的模型最佳的生存区间,比如高频交易模型,通过对高频数据进行机器学习,依然可以获取到可观收益,但是放在中低频显得非常困难,高频tick数据就是它最佳的生存区间。
我的量化分析框架的第三部分,是设法增加数据源,没有什么比数据源更重要的。本质上必须非同源因子,才具备多维度解释力,多维度数据也是对抗过拟合的利器。行情、基本面、宏观、舆情、高频等维度数据,缺一不可。
第四部分,是挖掘因子,从点到线。如果一个好的idea刺激到你,寻找到一个好的因子,比如特指波动率因子,你应该能够明白风险模型中还有类似的特异度因子,也可以加以利用。此外这种因子都和动量(反转)因子有千丝万缕的联系,顺着这条线,可以参考研报,将改进后的动量因子,以及CGO等行为金融学因子,都测试一遍。
基本面也是类似PB和ROE、ROIC/PB这一路,可以挖掘到价值与估值因子,通过分析师G(盈利预测)、扣非PE(精细加工基本面),可以打造出增强PEG因子,他们的IC和收益都能上一个台阶。
第5部分是我想解释根号下交易次数这种绩效评估方式,但是必须要从CAPM说起。CAPM的假设“预期残差收益率(残差对于个股(或单独资产)收益率ri的贡献)为零”。自然产生其推论“被动投资最优”(无Alpha收益)。
完全假设下的CAMP模型无法解释的风险部分,就是残差。事实上市场非有效,所以存在不能完全使用市场收益率rm解释的风险。有了残差概念,就可以引入IR这个绩效评估方法。
IR是残差收益率,对残差风险(标准差)的比值。 可以理解为是残差的夏普比率。IR越大,说明收益模型越好,风险模型越差。因为存在一个持续显著的残差项(收益模型可持续利用该残差项盈利,风险模型持续性无法解释该残差为什么存在)。
再往后,我们才能过渡到IR的第二种表达方法——IC*√BR。即投资组合的信息比率IR 取决于投资策略的广度 BR(Breadth)和信息系数 IC(Information Coefficient)。这里的BR(Breadth):投资策略的广度,即策略每年对超额收益率做出的独立预测数目。你的股票模型每个截面上持股数量必须足够多,才有足够的BR。这一点很多人知道,但是难以表达出来。
实际上我们推导过程中,由于能力所限,只推导出了IR = Cov(x,y)* √BR(这里的x指因子值,y指收益率),并没有推导出IR = IC(Cov(x,y) / √VAR(x)* VAR(y))* √BR,所以每当遇到类似问题,也难免对自己的数学功底心慌,好在相关系数和协方差线性相关(如果x和y的方差稳定)。通过提升持股数量获得更可靠绩效,也容易理解。
在时间序列类模型中,如TB软件“置信度”是推导出“头寸系数”的重要过程,计算公式为:1-1/√交易次数。也表示在同等利润或者夏普比率下,越高的绩效置信度说明实盘阶段该绩效保持不变的可能性越高。这类目标函数都可以辅助你评价或训练出更好模型。
二、股票量化收获
1、因子检验
在股票领域,我谈不上有什么积累,对初入市场的研究者,有一些走过的路径可参考。首先就是单因子分析,流程如图,每个流程都不可忽略。
金融数据的高噪音特性(特别是基本面数据),导致数据清洗直接影响回归质量。我都是使用已经被验证较好的3倍MAD限制(中位数极值)方法,将超出上下3倍MAD的数据,都规整到区间内部,首先用中位数更好反应真实分布特征,然后用限制法保证数据大致在一个区间内,有利于打分或回归得到准确水平。
中性化部分,我提出3个疑问:
1、中性化对性能有伤害,但需要做
2、是否考虑过行业分类合理性?
3、是否考虑过不做行业中性化?
每个人观点不同,我的答案分别是:
肯定需要做中性化;行业分类不一定使用申万28个一级行业,而是尽可能使用更好的分类方法;可以不做行业中性化,但是市值中性化还是要做。
第三部分是因子值相关性分析,不能简单通过相关系数剔除因子,因为你常会遇到诸如PE和扣非PE保留谁的问题,结论肯定是要保留扣非PE这样更有真实信息含量的因子。所以逻辑很重要,是否了解财务逻辑、了解财报如何造假很重要。
回归法模型会涉及到因子之间的VIF(方差膨胀因子)检验,我认为VIF可能是必须环节,它通过循环互相回归,来用X1~Xn-1解释每一个自变量Xn,寻找被解释程度最高的因子,然后剔除,之后会有文章介绍VIF执行细节。随着因子数量上升,整体的因子互相解释度都有上升,所以剔除高共线性因子的阈值,不能是固定值。
IC分析也是单因子检验体系中重要一个环节,IC为每个时间截点上因子在各个股票的暴露度和股票下期收益的Pearson相关系数,IC值越高意味着该因子的暴露度与未来收益率存在较明显的相关关系。
光大研报《多因子系列报告之一:因子测试框架》告诉我进门同样我们会得到一个 IC 值序列,类似的,我们将关注以下几个与 IC 值相关的指标来判断因子的有效性和预测能力:
(1) IC 值的均值——体现IC强度
(2) IC 值的标准差——体现IC波动
(3) IC 大于 0 的比例——体现IC显著性
(4) IC 绝对值大于 0.02 的比例——体现IC显著性
(5) IR (IR = IC 均值/IC 标准差)——通过类似夏普分析方法,体现IC质量
单因子分析中多组曲线对冲也是必做环节,因为我们需要多空收益分布。常见的第一组除以最后一组,得到多空对冲曲线,用来观察因子收益和回撤稳定性。但是它没有告诉你,收益来自于空头,还是多头。
我们需要改进组间分析方法:用第一组除以基准,得到多头对冲曲线。用最后一组除以基准,得到空头超额收益曲线。
通过计算组间差异,可以凸显因子全阶段的稳定性。比如你有10组曲线,可以求出前三组,后三组的平均收益,对两组平均收益差,求t检验,证明分层能力是否显著,且是否持续。这比起我们用肉眼观察,然后下结论“分层稳定”,要显得靠谱很多。
2、因子分享
股票量化收获的第二节,我们分析两个可实战的因子。
ROIC除以PB,是一个看起来表现不错的因子,它同时考虑了安全边际+盈利,好公司应该这样选。
实际上我们对于ROE,ROIC的挖掘依然很浅显,但是仅是写出这个因子的代码,相信很多人就被挡在门外。
非对冲情况下,该因子没有显著风格暴露和风险暴露,但是Barra告诉我们收益主要来源于账面市值比BP因子和非线性市值(中等规模因子,市值因子数据进行3次方,然后和市值因子正交化处理)。
第二个因子是CGO资本利得突出量,该因子通过前景理论描述了:投资者的风险偏好存在突变:投资者在处于亏损状态时,是风险偏好的,而处于盈利状态时则是风险厌恶的。
投资者在处于高度盈利状态A时效用增加缓慢,风险规避,从而倾向于抛售获利股票。在处于深度亏损状态B时,由于效用函数平缓下降,有过度自信的惜售心理,甚至“越跌越补”,股价则有较大的反转可能。
我们基于过去100日成交均价按照换手率加权平均的RP,然后计算资本利得突出量 (Capital Gain Overhang) ,CGO𝑡表示第t日这只股票市场持仓者相对参考价格(RP)的平均盈亏情况,CGO𝑡越大浮盈越大。
这是我们测试中发现量价类收益最显著的因子。但是这类因子需要周度调仓,较为频繁,手续费影响较大。所有量价类因子都存在这个问题。
3、模型分享
第三节,我们分享一个整合择时与选股+对冲的股票模型,这里存在一些不稳定因素,因为对RSRS依赖过度,但是我有一定理由相信这个指标的稳定性。RSRS的计算方法如图。可以直接标准分,也可以修正标准分,也可以再有偏标准分。
我也会思考:RSRS的本质是什么呢?其实是上波动High与下波动low,线性回归后,得到方向性。券商已经测试过其参数稳健性,基本符合要求。
这类动量模型,在个股上无法使用,行业指数可以使用,市场指数效果更好。
我在恒生指数、日经225指数、标普500、英国富时上测试了效果,单纯做多情况下,恒生指数、日经225指数表现优秀,尤其是港股市场。
粗暴地假设:我们还有5~10年走向港股市场成熟度,这个指标至少还有5年阳寿?日经指数20年来以下跌为主,RSRS却能显著跑赢指数,这一结果也值得参考。
接下来我们将ROE和ROIC结合使用,并结合了PB以考虑估值因素,两次交集+一次并集,得到一个初步股票池。具体的选股方式是:基本面信息更新后立刻调仓(日频调仓),结合打分法,降低噪音影响,得到股票池。
在空仓期,使用了现金、银华日利、企业债、国债、纳指各种ETF做现金管理,其中风险敞口最大的纳指,效果最好。我在某些股票社区也看到过类似结论,说明中美股票市场动态抽取资金?也许是这样,但是直接持有纳指依然有风险,毕竟我们没有对其进行分析,仅凭借美股和A股的负相关关系(还没有经过严格检验),就去持有不合理。
此时我们想到了股指期货,做空等名义价值的股指期货,在空仓期,也许是较好选择。我们让卖出条件更为严格,然后得到了空仓期做空股指期货的效果。年化47%,但是回撤非常大,不过作为一个可参考的策略模板,它的结构已经基本上完整了。
三、期货量化积累
1、动量模型改进
在期货领域,尤其是商品期货上,有一定积累。不仅是模型研发,还有实盘的感悟。
首先是动量效应,你理解和掌握动量之后,坚持去做动量,在过去10年包括2018年,收益是非常丰厚的。动量从观测维度上,分为时间序列和截面这两类,也称为绝对动量和相对动量。其中时间序列动量对于高相关品种不能很好识别,收益高、风险高。截面动量可以认为是一种alpha收益,特别是你还可以尝试在两个品种对上,做截面动量。
动量的表达有很多种方式,如图,各位做过的模型,拿到各网站分享的源码,都不少了,是否考虑过过于冗余和同源。
时间序列动量的表现很好,海龟交易法则就是例子。
很多人觉得海龟回撤大,稳定性低,结果自己瞎折腾各种模型,收益稳定吗?去年的北京分享会上,量化编程经验分享ppt我和诸位考虑过一个问题:辛辛苦苦干一年,输给海龟,怎么办?为什么输?因为参数拟合、交易频度过高、逻辑不强硬、交易信心不足。
当然这也并不意味着,我们就要去刻板地执行海龟,因为你有强大的策略开发能力,为什么不放在经典框架的迭代方面?首先要解决的就是改进出场。如图。
改进完毕后,我们关闭离市周期条件。因为反应不足需要使用系统的主体条件应对——均线、突破等(入场),反应过度需要使用系统的外挂条件应对——基于波动率的追踪止损(出场)。
只保留ATR出场和反手后,90%品种多年绩效出现大幅度改进,组合的夏普也提升了0.26。我更愿意相信各品种改进带来的组合性能改进,因为这个改进仅针对各品种,还未涉及到组合内部(之后你们会明白我要表达的意思)。
顺便谈一个问题——加仓(老生常谈了)。简单的海龟系统不支持加仓,国内商品期货的动量效应递减,也不支持加仓,做风控还来不及,现有模型框架和技术储备下,难有勇气加仓。加仓除了增加了收益毫无用处,而期货最需要的是收益风险比的改进。
止损区间很重要,原版海龟系统给予各品种2倍ATR止损。但是测试发现,越贵止损越小,波动越高止损越小,是正确的。
止盈也是需要的,我们测试发现,多品种组合内,可以止盈一部分高波动品种,降低组合波动率。
如图我们采用分步出场方法,第一步,走50%头寸,第二步,通过追踪止损再走50%。高波动率止盈,带来的收益风险比提升是显著的,也成为我们实盘的重要支撑模型。但是这和普通的个人投资者模型依然没有显著区别,所以,我们从截面上下功夫。
2、横截面风控
这就到了本部分的第二节:横截面风控。因为各品种互相争夺投机资金、互相争夺先发优势、互相叠加持仓风险,所以要做截面分析。我们的投资标的,是存在于整体期货市场的,不是单独存在的,所以要分析和监控市场。
横截面上都有很多信息,可以做交易方向性信号的发出,也可以做资金分配。可惜的是我依然没能找到进攻性的资金配置策略,但是我找到了防御性的。
为了方便TB交易开拓者执行时间序列模型,而不在一个模型内混用软件,我们使用TB加载一个多品种的工作区,不下单,仅提供数据,提供两项数据:1、全市场波动率,2、全市场方向性。
波动率方面,可以看出,使用波动率均值来过滤波动率,比固定使用某个阈值,要好很多。它可以更加自适应地寻找到波动率较高的位置,并控制这些位置的风险。
方向性方面,我会约束全市场价格 - 20日均值为方向性表达,这个值为正数方向性变量+1,为负数-1。如果超过75%的品种多头或者空头,证明市场发生了较大幅度的整体性偏多或者偏空,以此表示风险。
在主模型中,我们读取多品种工作区产生的CSV文件,然后定义Bool变量,当波动率高于均值且 方向性偏多(或偏空)超过75%,不开仓,系统执行防御。类似的风控条件不仅适用于海龟模型,适用于几乎所有时间序列动量交易系统。这种防御措施,带来了20%左右收益风险比(和夏普比率)增加,配合主动止盈等因素,系统在中低频上,也能跑出一个勉强可以被基金资产配置(对于多数个人交易者,这已经很棒)的绩效。
改进后的系统,部署在30个品种上,在10%%手续费+开平各1条滑点的冲击成本下,可以带来超过2的调整后收益风险比和接近2的夏普比率,它几乎没有敏感参数。
3、期货多因子模型
期货分享的第三部分,是多因子模型。通过多因子框架,涵盖所有之前我们做过的模型,是一个可持续迭代的选择,这里的因子更多指基本面因子。因为价格的驱动越来越倾向于转向产业资本,而品种越来越多,资金却不见增加,所以时间序列动量模型盈利有一些困难,多因子有可能是一个解决方案。
因子主要分为量价和基本面。
商品期货多因子通过截面分析,能够获得优势,主要在于:
1、基本面逻辑驱动(原因),比动量驱动(结果)更好
2、截面包含全市场信息补全,时间序列损失了部分信息
3、截面模型可构造金额对冲的持仓结构,时间序列模型难以做到
然后我们构造了动量、期限结构(展期收益率)、现货价格(和期货基差)、仓单+库存、会员持仓这样几个因子,其中“现货价格、会员持仓”数据来自Fushare(这是一个值得研究的期货开源数据平台)。
我们合并测试了多因子绩效,通过Fushare作者提供的测试结果可看到,情况较为理想,理论夏普可以达到2。通过聚宽平台也测试了类似模型,在很粗的模型框架下,可以达到1.52夏普比率,并且回撤时间,和动量类模型体现出非常大差异。
最后提醒大家一点:绝对因子值可以辅助(确认)相对因子值,时间序列动量可以辅助截面动量,时间序列库存可以辅助截面库存。
最后一部分,我们提示大家,期货实战中有可能用到的头寸调节方式,通过截面投机度、ER效率系数等因子,都可以调节。
还要监控提前换月,和异常远月合约变化。
关于模型运行在真实主力合约,还是通过映射模式,挂载在指数合约,映射到主力合约,我们建议直接做真实合约,但是要注意提前换月或者推后换月,往往持仓量切换的换月点,不是最佳换月机会。
四、资产配置尝试
资产配置是投资市场的皇冠,我们仅能在现阶段做尝试,但是尝试的结果在2018年帮助我们获得较好收益,获得更低风险,也为这种规模较小,且模型研发储备不足的公司,提供了喘息的机会(不是谦虚,仅是陈述事实)。
桥水风险平价启示我们,要做多资产覆盖,动态调节头寸。任何一种资产都有遭遇不测,或者迎来较大交易机会的可能性。而你很难提前获知,所以通过配置的方法,动态监测波动率和价格走势,提前布局。
国信的“信用风火轮”也带来类似效果。信用(现实金融环境)带来的资产切换,比央行信用目标更重要。因为金融资金链上的一系列主体的信用派生与吸纳能力,可能受到市场实际情况影响。
风险平价纯的数理化模拟我们在公众号演示过,我有两点体会:
1、债券基本上可以all in,
2、高风险类资产权重要严格控制。
很多人认为“资产等风险”和“资产对组合的风险贡献相等”类似,其实不然,长期模拟后显示风险平价绩效更好。
2018年对于团队最佳的奖赏,莫过于我们的某只产品获得较好排名,因为配置债券比例较高,赶上信用债牛市,勉强实践了量化资产配置这一课题。为了该产品和其他几只产品有足够资金配置,我们在股票和期货上,只能勉强维持部署几套模型,但是看到前锋兄荣获2018年度金长江奖年度新锐私募基金经理,依然非常欣喜。这是一场长跑,认识到自己的不足,获得微弱的积累优势,是资管公司成长必经之路。
我们用这样一张PPT来结尾。当你开始卸掉自己身上的光环,去观察人性的缺陷和反思自己的学习历程时,会发现量化道路上,我们面对的大多数选择,并不是:The right way, or the wrong way ?真正面临的选择是:The right way, or the easy way ?
因为我们喜欢选择捷径,认为自己的金融知识和有限的认知偏差能战胜市场,或者认为自己的算法优势和数据挖掘强项能掩盖逻辑缺失,或者认为极小概率发生的连续性回撤和多资产共振不可能被自己遇到,实际上这些问题都会在实盘交易中暴露。业绩是检验一切的真实标准,要逼迫自己走出舒适区,想想你最初为什么走入这个领域——为了真正的自由。
回复关键字【2018年终总结】,获取到PDF版本文件。
类似话题,欢迎继续讨论,也可以加作者微信philips_kai,共同发现问题,进一步分享思路迭代模型。再次感谢银河期货李伟老师提供交流场地。
年终量化分享(本文)返回搜狐,查看更多
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjyfx/236.html