原创文章第597篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。
因子分析是量化研究的基本技能之一。通过因子分析,找出有效的因子,通过相关性去重后,就可以通过机器学习、线性回归等方法把因子组合起来,构成交易策略。 |
今天咱们要做可转债的因子分析。
【每周研报复现】AI量化特征工程之alphalens:一套用于分析 alpha 因子的通用工具
alphalens年久失修,好在有人修复了一个版本叫alphalen-reloaded。
大家直接输入:pip install alphalens-reloaded即可。
alphalens看起来挺复杂,其实使用很简单,准备两个数据,在咱们的表达式引擎上,这个非常简单:
首先是收盘价数据,这个咱们bt引擎里使用的,就是这个数据。
另外一个是因子值,使用双索引。
咱们的数据只需要设置一下双索引就可能了,然后把你要分析的因子列读出来。
这就已经完成90%的工作了。
一行代码完成因子分层计算工作:
from alphalens.utils import get_clean_factor_and_forward_returns #将tears.py中的get_values()函数改为to_numpy() ret = get_clean_factor_and_forward_returns(factor, data)
然后一行代码完成分析工作:
import alphalens alphalens.tears.create_full_tear_sheet(ret)
重点是如何解读Alphalens的输出报告:
首先当然是IC分析:
-
IC 衡量的是因子值与未来收益之间的相关性。
-
IC 值的范围是 -1 到 1,正值表示因子值与未来收益正相关,负值表示负相关。
-
IC 的绝对值越大,表示因子的预测能力越强(绝对值>0.05认为有效)——所以,咱们回测按周调仓是有道理的,也可以按两周来调仓。
-
t-Statistic 是 IC 的统计显著性检验,用来评估 IC 的可靠性。
-
一个高的 t-Statistic 值(绝对值通常大于 2)表示 IC 的显著性较高,即因子的预测能力不是偶然发生的。
上面的信息分析表明——双低因子是有效的,且在统计意义上是显著的(不是随机发生)。
再来看收益分析:
因子 Beta 衡量的是因子收益对市场收益变化的敏感性。
Beta 值大于 1 表示因子收益对市场变化的敏感性高于市场平均水平。
因子自相关性:
-
因子排名自相关性衡量的是时间序列上因子排名的相关性。
-
高自相关性可能表明因子在短期内具有持续性,但也可能表明因子的预测能力在减弱。
换手率——这个好理解:
-
Turnover 衡量的是投资组合的换手率,即投资组合中股票的更换频率。
-
高 Turnover 可能意味着因子策略需要频繁交易,这可能导致更高的交易成本。
看分层单调性——我们一共把所有转债按因子从小到大,分为5层,下图显示出分层单调性。——这一点很重要,意味着,因子可以把转债有效区分开,单调性是因子有效的重要标志之一。
我们不仅可以靠做多获得收益,还可以通过做空来使收益倍增(如果可以的话)
分层累计回报(1D): 1层,也就是因子最小的层,与5层,也就是因子最大的层,同样显示出良好的单调性:
因子收益图:展示因子在不同时间段的收益表现。
小结:其实单因子分析并不复杂,这里当然咱们没有做市值,行业中性的数据处理——股票通常是需要的,这个后续分享。
重点看IC,就是未来收益与因子的相关性,看t值确保有统计上的显示性,看ric确保因子稳定。然后就是分层单调性。
代码在如下位置:AI量化实验室——2024量化投资的星辰大海
关于社区
一年多前,就安装过社区软件,其实这是一款不错的产品,精美,功能强大,很适用于知识社群。
记录一下过程,使用docker部署的话:
镜像是现成的,不过这个镜像admin打不开,在社区里找到解决方案,自己从gitee下载最新代码包,然后从论坛下载vendor.zip置于根目录,配置chmod -R 777 discuz目录,即可,然后把mysql数据持久化到宿主机即可。
docker run -p 8088:80 -v 你的discuzq目录:/var/www/discuz -v /data/discuz-mysql:/var/lib/mysqldb -d ccr.ccs.tencentyun.com/discuzq/dzq:latest
吾日三省吾身
你不能朝前看去把点连起来;你只能向后看去把点连起来。所以你必须相信,这些点将来会以某种方式连在一起。你必须相信某种东西的存在。这种思路从没有让我失望,而且它让我的人生很不一样。
乔布斯在斯坦福的演讲
这段演讲,是在北大光华的课堂上,当时老师给我们播的。
当然只是看着乔布斯,作为一个创新的成功者来欣赏。
现在回过头看,方解其中真义。
我们生活在一个超级不确定的时代,各种变量,明天是不可预测的,计划往往赶上不变化。
但努力仍然是最好的选择,尤其对于普通人。
那你可能要问了,努力做什么呢?选择不是更重要吗,努力就是最好的选择,这就是来回绕了吗?
我们当下做的一件件事情,都是一个个点。
你读的每一本书,经历的每一件事情,学习的每一个技能,认识的人,都会在将来连成一条线。
很庆幸,自己在大学毕业之后,一直写代码,折腾过很多东西,看似短期内也许没什么用,但这些技能,都在连接成一条线。
从python到量化投资,然后人工智能,自然语言处理,大模型,然后AI量化投资。
历史文章:
可转债所有历史日线数据打包下载,含“双低”因子值——全历史年化22.8%。(含python代码)
年化22.8%:可转债多因子策略之基准——“双低”因子策略
AI量化实验室——2024量化投资的星辰大海