第二阶段量化工作总结与后续规划
本文首先回顾第二阶段量化工作,规划第三阶段工作,展望第四阶段发展。
二阶段回顾
继第一阶段完成各类量价因子编写与入库后,第二阶段顺理成章完善因子库,创建集成模型与组合优化框架。
因子
行为金融因子 本期新增了基于行为金融学的十余个因子。《因子投资中的行为金融学》一文中,总结了投资者的非理性预期和非理性风险偏好,以及由此形成的市场异象。如由于认知限制中的有限注意力,人们对新的基本面信息反应不足,造成价格无法迅速对其反应到位,而是会在业绩公告之后继续漂移,这被称为盈余惯性。或者从投资者情绪的角度解读,当超出预期的盈利消息出现时,投资者可能因保守主义而愿意相信自己的先验判断,对这个新息反应不足。他们会对这个利好持怀疑态度、不情愿更新他们对于该公司基本面的认知,因此新息无法有效的反映在股价上。盈余惯性在A股市场上同样显著,在《理性的非理性金融》一书中有详细介绍。
因子例行 目前因子库不仅在时间上涵盖2014年至最新数据,以进行长周期的历史回测,而且在每个交易日自动化获取天级别和逐笔成交数据,实现了因子生产的例行化。令人欣慰的是,尽管所有因子只使用2022年及之前的数据验证及调优,但总体上在2023年之后并未出现衰减或反转,一致性较好。
模型
收益率模型 目前使用lightgbm预测下一期收益率,同时也对目前先进的神经网络模型做了调研,总结于《神经网络与截面资产定价》一文中。总的来说,目前无论是在长周期历史数据上滚动训练,调优GBDT超参数,还是设计复杂的神经网络结构,对投资组合绩效都没有显著提升。一方面,这可能源于模型训练目标与组合目标不一致,另一方面,由于市场环境变化,完全从样本内数据归纳的非线性规律更难向样本外迁移。
风险模型 风险模型的研发颇费精力,但最终效果比较令人满意。在年初《Alpha策略中的风险模型》一文中,首先梳理了风险模型的定位与多种实现途径——压缩估计/专家因子/统计模型。最终策略采用的DRM模型是专家因子与统计模型相结合的方式,复用alpha因子库,加入市值、行业等信息,由深度学习模型产生一组风险因子暴露。
Alpha策略中的风险模型功能是,预测底层资产预期收益的协方差矩阵,从而在给定预期收益率下最小化组合方差,提升策略夏普比。风险模型的重要程度不亚于收益率模型,但与收益率模型相比,关于搭建风险模型的介绍和讨论却门可罗雀,一方面是由于大多数投资人选择使用商用方案(Barra),另一方面风险模型需要从策略全局考虑问题,不能通过简单的benchmark评估其贡献。
在获得风险因子暴露后,还需计算因子收益率协方差 \(\Sigma_\lambda\) ,特质波动 \(\Delta\) ,以最终计算组合风险。
$$ \Sigma = \Beta^T \Sigma_\lambda \Beta + \Delta $$
其中,\(\Sigma_\lambda\) 需要经过时间衰减加权、特征值调整、波动率偏误调整,\(\Delta\) 需要应用时间衰减加权、贝叶斯压缩调整、波动率偏误调整。以上这些步骤及效果在《股票多因子量化多头策略之组合优化框架》中有均有介绍。
组合优化
模型层输出预测后,组合优化综合考虑预期收益、协方差和换手惩罚生成最终组合权重。在约束中还需要加入权重限制、风格因子暴露限制。性能方面,采用Mosek求解器,相较最优开源方案提升约一倍。
$$ \begin{aligned} {maximize} \quad & w^T \mu - \gamma \left(f^T \Sigma_{\lambda} f + w^TDw \right) - c^T |w - w_0| \\ {subject \enspace to} & \quad {\bf 1}^T w = 1\\ & \quad 0 \le w \le w_{max} \\ & \quad f = \beta^Tw \\ & \quad |f| \le f_{max} \\ \end{aligned} $$
其中 \(\mu\) 是对下一交易日收益率期望的预测,由收益率模型给出。 函数中的第二项是使用因子模型分解后的组合风险, \(\gamma\)是风险厌恶系数,详细介绍可参考 《Alpha策略中的风险模型》。由于股票市场中候选资产有数千种之多,协方差矩阵可达数千万规模,使用因子模型降维大大简化了对协方差矩阵的估计和计算。最后一项是对换手的线性惩罚,c是交易成本模型给出的估计(或设定超参数),也可替换为二次惩罚。
可视化分析与评估
因子层面,基于duckdb+metabase搭建因子可视化分析平台,提供因子库整体/单因子分析报表。后续会将模型层结果也加入可视化平台。
组合层面,采用开源项目QuantStat 分析组合绩效,重点关注指标可见 《投资组合评估指标》,如夏普比
$$ SR=\frac{E\left[R-R_{b}\right]}{\sqrt{\operatorname{var}\left[R-R_{b}\right]}}, $$
三阶段计划
帝国兴废,在此一举。
第三阶段的核心是策略实盘运行,可以说是决定生死存亡的关键阶段,因为高换手策略的实际交易成本直接决定了理论收益能否转化为实际。
程序化交易
工程上,首先要实现自动化交易。虽然在海外和国内期货市场上程序化交易已经大行其道,但在A股市场中仍不普及,很多散户甚至不知道什么渠道可以实现程序化交易,这也是我相信策略能建立优势的原因之一。目前选用的方案是使用windows虚拟机+miniqmt作为交易接口。交易模块Mars运行在Windows内,与其他模块通信由文件共享形式完成,共用数据库。
输入
- 待实现订单
- 交易模型
- 因子库
- 模型层预测
输出
- 账户信息
- 交易日志
- 行情数据
多订单最优执行
在量化金融中,投资者的主要目标是通过连续交易多种资产在市场中来最大化长期价值。该过程由两个部分组成——投资组合管理部分动态分配投资组合权重,并且订单执行部分的目标是根据投资组合管理策略在一定时间范围内完成指定数量的购买或清算订单,并关闭投资循环。图中展示了一个交易日内的交易过程。交易员首先根据某种投资组合管理策略更新目标投资组合配置。然后,红点线框内的订单需要被执行,以实现实际投资组合调整。后者旨在在一定时间范围内同时完成多个订单的执行,同时最大化总体利润增益。
多订单执行的困难在于两个方面。首先,订单数量根据投资组合的日常调整而变化,这需要订单执行策略能够扩展和灵活地支持大量和多样化的订单。其次,现金余额有限,所有购买操作都会消耗交易者的有限现金供应,这只能通过卖出操作来补充。缺乏现金供应可能会导致错过良好交易机会,这迫使我们在买入和卖出之间取得平衡,以避免导致现金短缺和交易性能不佳的冲突交易决策。下图展示了一种导致现金不平衡和执行效率低下的冲突交易决策的典型示例。由于现金短缺,买入订单被迫推迟,直到卖出订单补充现金,导致错过最佳购买机会。
KDD2023中,微软的论文将该问题建模为多智能体协作,以实现扩展性和全局最优。文中使用意图感知的通信机制来提高多订单执行的合作交易效率。
虽然论文中展示了非常好的效果,但并未给出源码,不能确定MARL是必要的还是行销噱头。个人认为把问题建模为单智能体强化学习,实现方式上会更简便,用Attention机制也能实现权衡多订单最优解,缺点是训练时能处理的订单数量有上限,但对于小资金量策略也够用。具体来说,以AC算法为例,Actor输出Action张量 \(N \times K\), N为订单数,K为操作数;Critic输出一个统一的评价值标量。
模型与组合优化升级
市场信息 模型层添加时间/节假日等市场级别信息
可行性过滤 组合优化阶段,提前过滤无法交易个股
交易成本预测 目前的组合优化中,对换手率采用了简单的线性惩罚,在获取实际交易成本数据后,应当建立交易成本模型,对不同标的的交易成本精细化建模,在权重生成阶段予以考虑。
四阶段展望
第三阶段完成后,所有必要功能均已完备。第四阶段A股alpha策略进入维护期,工作主线是提升策略差异化竞争力——在因子层面挖掘另类因子,在模型层面加入高频模型。
另类因子挖掘
随着市场内策略同质化程度加深,极端行情下多数因子失效甚至反转,净值剧烈波动。因此计划在第四阶段挖掘以新数据+新算法为主体的另类因子,初步计划“相似动量”与“文本分析”两项。
相似动量 相似股票能影响股票未来的表现背后主要基于三个逻辑:
- 投资者认为相似的股票会有相似的表现,所以投资者会用与某支股票相似的股票过去的收益来推断其未来表现
- 如果一支股票过去表现好,但是投资者错过了这支股票,那么投资者会找相似的但还没有较大涨幅的股票,也就是说,和表现优秀的股票相似的股票需求会增加
- 如果投资者在某一类股票中赚到了钱,思维会有路径依赖,之后依然会寻找相似股票进行投资。
在前期文章《正合奇胜——另类因子挖掘前瞻》 中,设计了以KNN为主体的相似动量因子统一框架,在第四阶段中会使用多种关联关系实例化相似动量因子,以下列举一些可用的关联定义。
- 行业/概念板块
- 直接计算邻接矩阵
- 基金持仓
- 分析师共同覆盖
- 机构调研
- 北向资金共同持仓
- 基于嵌入定义距离
- 历史收益率序列
- 低维基本面因子
- 资金流特征
- 企业营收相似性
- 专利数据
- 股票名称和代码相似
文本分析 LLM近年来迅猛发展,日新月异,预计在第四阶段开展文本分析类因子研发,使用开源模型,将具备后发技术优势。文本分析的两条主线是,代表专业投资者分析师研报情感分析,以及代表散户投资者的论坛舆情分析。对分析师研报的文本分析本质上是寻找专业投资者更为看好的股票,发掘潜在价值。与之相对的也可以对噪声投资者关注度进行建模,如使用论坛热度和论坛情感强度构建负向因子。虽然已有不少论文和言报对论坛舆情进行分析,但大多延续情感判别的老路,最终组合绩效没有取得显著的结果。我认为此处有很大的提高空间,噪声投资者的情感受当前盘面影响大,与预期收益率相关性弱,应该重新思考针对性的建模方式。除此之外,投资者发言的情绪分歧是表针投资者异质信念的天然指标,可以有效应用于预测波动率。
高频模型
目前框架下,由人工处理日内高频数据,降频至日频,模型层在日频训练和预测。在第三阶段完成后,预计可以获取秒级实时数据,形成一批分钟级/秒级特征。在此基础上,开发基于神经网络的时序模型,或是基于GBDT的频域模型,与现有日频模型融合或集成。
第二阶段量化工作总结与后续规划