夯爆了!这 5 个 Skill,刚好解决量化研究的五大麻烦!

做因子研究,前期最大的烦恼往往是:

“因子不够。”

于是动量、反转、波动率,看到一个算一个。

等真攒到几十、上百个,烦恼又变成了:

“因子太多了,不知道哪个有效?”

哪些值得留?哪些其实重复了?有一个 IC 看着不错,到底要不要继续?

我最近翻了几个 QuantSkills 的 Skill,发现这几个问题,其实都有对应的解决办法。

因子不够,去哪找?

假设你最近想研究动量、趋势这一类信号。

最传统的做法,是自己找论文、翻公式,再一个个写成 Python。

这当然也能做。

但如果只是想先搭一个候选池,这一步其实没必要全部从零开始。

可以先试试这个因子库:

skill-quant-factor-directional-alpha

现成的方向类因子库,收录 296 个因子,覆盖趋势、动量、突破、反转、通道五类,只需要 OHLCV 数据即可计算。

怎么用?

将 Skill 交给 Claude Code、Codex、Cursor 等 AI 编程工具;

准备符合要求的 OHLCV 数据,选择需要的因子进行计算。

比如先挑一个具体因子,让 AI:

使用 directional-alpha 中的指定因子,

读取我的日线 OHLCV 数据,

计算因子值并输出结果。

它的每个因子都有独立的计算入口和对应说明,也支持按 symbol 批量计算。

你可以先从里面挑选一批候选因子,再统一计算、比较,而不是每次找到一个因子,都得自己把公式写成代码。

实际拿 A 股日线数据跑过一轮后,选取的样本因子都能正常算出结果。

不过要分清楚:

296 个因子只是候选空间,不代表这些因子直接拿去实盘都有效。

它真正解决的是:

“开始做因子研究,手里的候选太少,想快速搭一个方向类因子池。”

至于最后留下哪些因子,还得继续做评价。

因子类型太单一怎么办?

手里的因子一多,很快又会遇到另一个问题:

怎么全是动量、趋势、反转?

继续往里面加,可能只是换个窗口、换个参数,最后还是在重复表达同一个东西。

这时候不妨换个Skill:

skill-quant-factor-risk-pattern-alpha

它可以补充不同类型的因子。

里面有 288 个因子, 覆盖:

Volatility / Pattern / Oscillator / Drawdown

也就是波动率、K 线形态、振荡器、回撤压力等方向。

怎么用?

准备包含 open / high / low / close / volume 的行情数据;

从 288 个因子里选择需要测试的因子;

调用 compute_factor 计算,再用 validate.py 做验证。

比如:

使用 AAPL、MSFT、NVDA、TSLA、GOOGL 五只美股近两年的 OHLCV 数据,从 288 个因子里抽取了 15 个代表性因子,覆盖不同类别和不同变换方式。

然后逐个运行:

result = compute_factor(df)

再用对应的 validate.py 做检查。

结果很明确:

15 个因子全部运行成功,覆盖率都在 98.5% 以上。

更关键的是,15 个因子全部通过了无未来函数验证,max_diff = 0.00。

所以这个 Skill 更适合解决一个很具体的问题:

手里的因子类型比较单一,想快速补充一批已经整理好、可以直接计算和验证的风险/形态类因子。

而不是自己重新查公式、写代码、再从头验证一遍。

怎么判断这个因子是否有效?

这是做因子研究最容易卡住的一步。

比如刚算出一个因子:

Rank IC = 0.04

第一反应可能是:

“还不错,继续回测。”

但其实还早。

一个因子 IC 看起来不错,不代表它就值得继续。

还得看看:

Rank IC 和 Pearson IC 是不是差很多?

分组收益是不是单调?

换手率高不高?

回测结果是不是被几个极端值撑起来的?

这时候可以用:

skill-factor-evaluate

一个专门给单个因子做全面评价的Skill。

它能帮你快速判断这个因子值不值得继续深入。

怎么用?

先选一个你要测试的因子,在 GOOGL / MSFT / TSLA 三只美股的真实日 K 数据上跑了一遍。

它会依次检查:

Rank IC、Pearson IC、多头回测、分组单调性、年化换手率、综合评分,最后形成一份完整的因子评价结果。

跑完发现,这个因子在 3 只美股样本上被体检出完全无效(score = -1.295)

这个结果反而挺有价值。

因为研究里最浪费时间的,不是发现一个因子不好。

而是:

IC 看着不错 → 继续调参数 → 再做回测 → 再做组合 → 最后才发现不值得。

先做一次标准化评价,至少可以帮你决定:

接下来的一个小时,还要不要继续研究这个因子。

图片

因子越来越多,会不会重复?

因子多起来以后,还有一个很容易忽略的问题:

你以为是 100 个因子,实际上可能只有几个不同的信号。

单独看,每个因子都能算,也都有自己的 ICIR。

但放在一起,很可能高度相关。

这时候可以试试:

skill-factor-review

这个Skill会对已有因子库做复盘,检查因子之间的相关性、重复程度,以及哪些因子真正带来了新的信息。

为了准备这次复盘,可以先从:

skill-quant-factor-volume-stat-alpha

里挑一些因子组成候选库。

这个库目前收录 216 个 OHLCV 因子,覆盖成交量、量价关系、时序排名、收益分布和流动性五类。

怎么用?

从 volume-stat-alpha 或自己的因子库中选取一批因子;

准备对应的因子卡和实验日志;

将因子库交给 factor-review;

输出因子重复情况、最优加入路径和下一步建议。

实际使用时,可以直接让 AI:

用 factor-review 复盘我从volume-stat-alpha 组的因子库。

给出三层报告:

  1. 哪些因子同质重复

  2. 最优路径在何处

  3. 下一步应该补哪个因子族

它会从因子卡中扫描信息,计算相关性,并回溯因子加入后的效果,最后给出三层复盘结果。

在实测中,12 个候选因子最后接受 4 个、拒绝 8 个,其中 4 个因为和已有因子相关性太高,被相关性门控拒绝。

更有意思的是,组合 ICIR 从:

+0.023 → +0.153

而明显的提升出现在引入新的 base 之后,而不是继续往同一个因子族里增加变体。

所以做到这一步,真正该问的可能已经不是:

“我还能再找多少因子?”

而是:“我的因子库现在缺什么?”

这也是 factor-review 和 factor-evaluate 的区别:

factor-evaluate 看单因子质量;factor-review 看因子库里的增量信息。

图片

做因子挖掘,怎么知道是哪一步有效?

做因子挖掘,最怕的不是没想法,而是一次改太多东西。

因子改了、标签改了、组合方式也改了,最后结果变了,却不知道到底是谁起了作用。

这时候可以试试:

skill-factor-mine

它可以把因子挖掘变成一套可重复、可归因、可回滚的实验流程。

核心规则就一个:

每轮只改一个问题。

怎么用?

先读取研究规则;

写 ITER_NOTE;

每轮只修改一个 op_type;

用 runner.once 验证;

根据结果 ACCEPTED / REJECTED / CRASH 归档或回滚。

简单来说,它把一次实验拆成 5 步:

读宪法 → 写 ITER_NOTE → 改代码 → 跑验证 → 归档/回滚

其中,ITER_NOTE 必须先写清楚 4 个字段:

op_type、hypothesis、change、expected

也就是:

这轮改什么、为什么改、具体改了什么、预计会发生什么。

然后用 runner.once 跑验证。

结果被接受,就归档;被拒绝或者运行失败,就回滚。

这套流程并不复杂,但它解决了一个很实际的问题:

过一段时间再回头看,你还能知道这一轮到底改了什么。

另外还有一道相关性门控:新因子与已有因子的 Spearman 截面相关性达到 0.85 及以上,会直接拒绝。

简单说,它管的不是:

“怎么多挖几个因子?”

而是:

“这次实验到底改了什么,结果为什么会变?”

对经常做因子迭代的人来说,这个可能比再多找几个因子更有用。

图片

写在最后

做量化研究,真正需要自己花时间的,应该是:

研究什么、为什么研究、结果意味着什么。

至于找候选因子、重复计算、标准化评价、检查相关性这些重复工作,能交给 Skill,就没必要每次从头做一遍。

说到底,Skill 干的事情很简单:

把那些重复的研究工作,先接过去。

剩下的时间,留给真正需要判断的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值