分享

多因子投资逻辑与投资框架

 AI量化实验室 2023-10-12 发布于北京

今天我们——原创文章第154篇,专注“个人成长与财富自由、世界运作的逻辑,AI量化投资"。

日更不难,但在言之有物。

罗胖做“60秒语音”,刚开始也同样面临这个问题。用他自己的话说,更像是一个十年的行为艺术。但他做到了,尤其是在他商业已经很成功了之后,也非常忙之后,这股劲就值得我们学习。

输出倒逼输入,以于路上没时间刷抖音,而是查看各种资料。

今天还是说说可转债多因子。

01 多因子投资的逻辑

看了很多人的2022投资年终总结,由于大盘下跌20%+,所以多数人的投资并不好,熊市方显资本市场真容。有加杠杆爆仓的,有大V退出社区的——说好多年都无法翻身的。牛市来临,股神遍地,而熊市到达才知道谁在裸泳!

我是一个需要“强”逻辑的人,所以在资本市场到处都是弱逻辑的情境下总是小心翼翼,这反而是一种保护与正确。

至今大部分的闲置资金,都在大类资产配置与动态平衡的组合中,追求年化10%左右,今天最大回撤是8%左右,全年回撤-7%。符合预期。所以该加仓加仓。

投资三个层次:

一是大类资产配置,追求的是市场beta,组合更多的目的是降低波动而不是提升收益,收益是市场自带的。这种策略有很强的确定性,市场本金多一些的理财保值增值。

二是战术型的配置,以轮动为主。广义来讲,多因子属于此类策略。就是开始加入主动管理的逻辑。天冷了多穿衣服,估值低了,多配置权益等。多因子可以把估值因子与动量因子融合起来。比如都是低估,但选择低估里那个动量强的,既有安全边际,也兼顾进攻性。这种比纯粹低估值的好处是,低估值在牛市会没有标的——所谓“踏空”。而A股“牛短熊长”的节奏,错过一波牛市会少不少收益。

我一度只想做好资产配置,然后更多的时间去做更有意义的事情。——财富只是手段,本质是财务自由带来的精神自由,你可以更加从容地去做自己喜欢做的事情。但加上多因子策略,一则对社群有个交代,二来多因子的逻辑性也比较强,可以增厚收益率。作为“卫星”资产配置是合适的。

市面上通过容易看到两类多因子策略:一类是大V小V,很多非科班出身,按自己的理解,搞一个多因子模型,然后回测看交易还不错,手动凑一凑参数,搞一个看起来不错的策略。另一类是券商和基金的金融工程团队发的研报,会严谨一些。比如因子要做IC分析,做相关性分析,把一些低IC的,高相关的剔除。当然最后凑一个因子都是等权。——这里可以引入机器学习、强化学习模型来整合因子。——未来一段时间我会沿着这个分析框架来推进相关事项。

三是择时,就是传统CTA策略,做波动,做日内,追涨杀跌,止盈止损。这个看起来很刺激,但很容易让人陷入困境。它的不确定性最大。这里有一个根本逻辑就是,你对你认为对的判断,要重仓。遇到黑天鹅事件,会大幅度回撤。若加了杠杆,可能无法翻身。多因子是“横向比较”,比如动量选最强的。CTA是纵向比较,比如动量>0.08,均线金叉,MACD>0等等。“重仓”与“信号驱动”是择时的策略特征。这两者可谓投资这种“不确性”的大忌。投资是一件长期主义的事情,一城一池决定不了结果,十次之功可能在一次决策之间灰飞烟灭。择时策略更适合高频,快进快去,以数据模型,机器决策快速捕抓投资机会——多次交易——大数定律——获得市场的alpha。

第一层次我做到了,并不需要花太多更多的时间。

做做“战术型”配置,也就是多因子轮动。

比同大多数数据驱动型的应用,数据准备是一个费时费力的事情,一开始可以考虑在一些回测平台上进行。

02 多因子实操

因子计算是基础工作,因子一定是一个时间序列,我们以日频为例。季频的财务数据原则上不太合适,因为我们计算IC值,可以使用PB,PEC这样的财务数据与日频数据关联的因子,这样就都包含进来了。

价格数据及其衍生指标,可以直接计算,比如“20日动量”等各种技术指标。

转债的双低指标,需要引入正股价、转股价(这个在序列中会有多个值)。

几个步骤:基础数据日更;最新指标计算;衍生指标计算。

第一部分:准备工作
1.1基础数据采集:首先需要确定原始因子集合,然后按照原始因子集合逐个进行因子原始数据的采集和计算工作
1.2数据标准化:由于原始数据的量纲不一致,为保证数据之间的可比性和可叠加性,要对原始数据进行标准化、去量纲的工作;
1.3识别有效因子:原始因子集合是在逻辑上被认为与股票收益率存在关联性的因素,实证中并不是每个原始因子和股票收益率都存在相关性,因此需要对原始因子进行有效性检验,排除跟收益率相关性不高的因子。

这些工作比较“繁琐”,重要,技术上不复杂。

但需要好好设计架构。

基本数据更新,最新指标计算;比如计算“双低”,基础数据就是:转债价格,正股价格(不复权),最新转股价;

衍生指标在内存里计算,不进行预算。要计算“双低”历史时间序列,需要转债序列,正股序列,转股价序列(这里转股价需要需要转股价的调整历史,并转化成日频数据)

序列存储目前使用的mongo,原始数据序列更新比较简单。指标计算读到内存里进行。序列计算需要把数据都读出来而后进行计算,计算量比较大。

mongo/mysql等按行存储数据,最大的问题在于,新增一列(因子)无法批量写入。mongo之上构建的量化框架Arctic可以支持列存

有点类似大数据的分析架构,从原始数据,分层计算指标备查备用。

也有点类似广告、推荐系统架构

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多