原创文章第607篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。
今天开始,咱们从ETF、可转债正式转到大家最熟悉、最常见的股票市场。
而且切入的方向,仍然是——“多因子模型”。
01 什么是因子?
因子是什么呢?在多因子策略的角度下,因子是解释/驱动市场涨跌的原因。
但这里还不准确,你吃了100克的巧克力,里面可能是5.5克的蛋白质、26.9克的脂肪、59.2克的碳水,还是203毫克的钠元素,还有其他。——这里其实就是5个因子了。
你再吃蛋糕、苹果,最终也会回归类似的因子。——咱们有几千支股票,很多因子模型才几个因子,————这实质是是一种降维了。
理解了因子,再来看什么是好的因子呢?
对比食物,你希望有这样的食物,既好吃还不会长胖,因子是既稳定还能持续创造正收益。
02 多因子模型的道
R(it) = Alpha(it) + Beta(it),我们把一个股票的收益率,分解为Alpha(超额收益率) + Beta(市场收益率),这个不难理解,比如你买一支股票(或者一个股票组合),收益率1.8%,而同期沪深300收益率为1.5%,那你的超额是0.3%。
沪深300这个1.5%的市场收益,可以通过做空股指期货来对冲,进而得到一个“无风险”的0.3%的绝对收益。——这是对冲基金的做法;而若仅使用多因子来配置股票,相当于对指数进行增强——这就是“指增”的逻辑;而没有严格对标的指数——就是“空气指增”。
03 多因子的术
构建多因子策略的步骤:单因子测试与筛选(构建因子池)、因子组合(加权)、策略构建、实盘归因分析。
单因子测试几个重要环节:去极值和异常值、标准化、中性化。
因子分析都是截面数据分析,也就是取某一个“时间截面”,来分析所有股票该因子值的表现。
代码:我们从市值这个最常见的因子来举例:
取某一天的截面数据:
对市值取对数:
去极值,然后标准化(z-score):
这些数据处理都比较简单,稍微复杂一点的是——行业中性化。
现在现在办奥运会,像举重这样的比赛需要分“XX公斤级”,因为体重是一个对结果而言很关键的因子。——分组就是“体重中性化”。把同一公斤级的放到一起比赛才算。
行业中性化的代码——因子值与行业变量做回归,获取残差(行业因子无法解释的),这个残差就是行业中性化后的因子。
def industry_neutralization(factor_df, factor_name): result = sm.OLS(factor_df[factor_name], factor_df[list(factor_df.ind_code.unique())], hasconst=True).fit() return result.resid
简单小结:
因子分析的前提是因子预处理,包括去市值化(取对数),去极值,标准化,行业中性化这些操作,确保因子的质量,为后续分析打下基础。
昨天咱们已经提交了quantlab 5.4的代码:
quantlab5.4代码发布:新增deap因子挖掘,lightgbm机器学习因子筛选及全量转债数据(附python代码)
大家可以前往星球下载:AI量化实验室——2024量化投资的星辰大海
吾日三省吾身
01 自证预言
在不做投资的人眼中,股市全是风险。
不在做量化的人眼中,量化全是过拟合。
他们不相信世间一个最简单的逻辑——存在即合理。
有一个哥们特别逗,似乎也没有关注咱们这个公众号,但喜欢留言,言必称过拟合。
他既没有看到代码细节,我猜甚至也没有仔细读我写的逻辑,只是把他心目中对于量化策略的声音说出来罢了。
很多人生受限于此。
你先觉得一件事不可能,而后所有的行动都在自证预言。
02 财富与自由
总说财富自由,其实这是两个词。
财富会带来自由。
但大家可能没有仔细推敲过其中的逻辑。——你为何不自由?
被什么所限制?——地点还是时间?
地点上的约束,你需要工作,甚至你需要一个连续的职业生涯——何况现在很多人想工作还求而不行。其次,是孩子读书,当然这不是刚性约束。
如果你能够离得开工作,或者工作不需要在确定的地点——比如当下的数字游民等。——那你就实现地点自由。——如果你有家庭,会更加不容易一些。数字游民更适合单身的年轻人。
如果你有被动收入远超你的生活开支,那你将不需要上班。同时,如果孩子已经长大,那你就实现了自由。
自由很大程度上归结为财富,然后在此基础上构建精神自由。
人这一生,在于体验。
自由是最佳的体验感觉,我认为。
历史文章:
quantlab5.4代码发布:新增deap因子挖掘,lightgbm机器学习因子筛选及全量转债数据(附python代码)