01

机器学习量化全景

核心问题一项机器学习选股研究,从数据到收益要经过哪几步?每一步决定了什么?

视频 约 8 分钟图解 13 张

第一单元 · 第 1 / 3 节010203

视频

学习目标

  1. 说出研究流水线的六个环节——面板、特征、标签、模型、组合、回测——以及各自的产出。
  2. 理解机器学习只负责“从特征预测标签”这一环,前后环节同样决定结果。
  3. 看一个用真实数据跑通的最小完整研究,知道它还缺什么。

图解讲义

量化在做什么
01量化把选股办法写成明确的规则,交给电脑执行,还能用过去的数据检验。机器学习让规则从数据里学出来。
先看一张表
02股票 × 月份,每格都是当时能看到的数字。要猜的是最右一列:下个月的收益。
猜出来的,是一个分数
03最简单的打分:过去一年的涨幅(跳过最近一个月)。按分数排队,买入前五十只。
第一个月的结果
04只看一个月、几只股票,说明不了什么。要看很多个月的平均表现。
一个月一个月地重复
05从 2010 年起逐月重复,得到一条净值曲线。结果还没扣成本,也没做检验。
收益之外,还要看过程
06收益之外还要看过程:最大回撤、跑赢指数的月份比例。优势很小,靠很多次重复才攒出差距。
一项研究的六个环节
07一项研究的六个环节:面板、特征、标签、模型、组合、回测。
分数从哪里来
08机器学习从过去很多个月的数据里,自己学出一个打分的办法。
这个小研究,还很粗糙
10环节都有了,但信号没检验、没算成本,好结果也可能只是碰巧。
课程地图
1115 节、五个单元,沿着六个环节往下走。
怎么学
12先看视频,懂原理;再让 AI 带你做一遍练习,改改参数看结果。
这一节,记住三件事
13用当时能看到的信息打分;模型只是六个环节之一;扣完成本、做完检验才算数。

交互演示合成数据

制作中

研究流水线:逐段点开,看每一段的输入和产出

让 AI 带你做模拟数据

把下面的提示词整段复制给任意一个 AI 助手。它会先生成一份模拟的股票月度数据(设定对每一节都一样),再带你把这一节的分析做一遍。数据是模拟的,具体数字会和视频不同,但应该看到同样的规律。

任务(第 01 节):用一个最简单的规则,把“打分 → 排队 → 买入 → 看结果”走一遍。
1. 每个月按 mom 从高到低排队,买入前 50 只,每只一样多,持有一个月。
2. 算出这个组合每个月的收益,和等权基准一起画两条净值曲线。
3. 算出两者的年化收益。
4. 用两三句话说明:为什么这个结果还不能证明“按动量选股能赚钱”。
提示词开头的模拟数据设定
请用 Python(numpy、pandas,需要时用 scikit-learn)带我做一个量化入门练习。先生成一份模拟的股票月度数据,随机种子用 42:

1. 300 只股票,192 个月(月份编号 0–191,相当于 16 年)。
2. 每只股票有一个固定的波动 sigma,从 0.05 到 0.13 均匀抽取;它的 beta = 0.5 + 5 × sigma。
3. 每个月有五个特征:mom(动量)、val(估值,越大越便宜)、size(规模)、lowvol(低波动)、prof(盈利)。
   - mom、val、size、prof:第 0 个月取标准正态;之后每个月,新值 = 0.9 × 上月值 + 0.44 × 标准正态。
   - lowvol = −sigma + 0.02 × 标准正态。
   - 每个月把五个特征各自在 300 只股票之间标准化(减平均、除以标准差)。
4. 每个月抽一个下个月的大盘收益 mkt_next ~ 正态(0.005, 0.05);再给五个特征各抽一个当月系数 = 基础系数 + 0.01 × 标准正态,基础系数依次是 0.004、0.003、0、0.005、0.002。
5. 下个月收益 ret_next = beta × mkt_next + Σ(当月系数 × 特征) + sigma × 标准正态。
6. 整理成一张长表:每行是一只股票的一个月,列为 month、stock、sigma、五个特征、mkt_next、ret_next。打印前几行和总行数。

后面统一的口径:
- IC:每个月,某一列和 ret_next 在 300 只股票之间的 Spearman 秩相关。
- 年化收益:把每月收益连乘,再按 12 / 月数 开方后减 1。
- 等权基准:每个月 300 只股票 ret_next 的平均。
- 第 m 个月这一行的特征在第 m 个月月底已知,标签 ret_next 是第 m+1 个月的收益。训练模型时,在第 s 个月月底打分,训练只用月份 ≤ s−2 的行(中间隔开一个月)。

接下来按我的要求一步一步做。每一步先用一两句话说明在做什么,再给代码和结果。

应该看到

  • 表一共 57,600 行(300 只 × 192 个月)。
  • 动量前 50 只的年化收益,比等权基准高出大约 5 到 10 个百分点。两个年化的具体数字会随写法和种子变化。
  • AI 至少会提到:没有扣成本,没有分开训练和检验,规则也只试了这一种。

对不上的时候,把你的结果和这几条一起发给 AI,让它解释是哪一步出了问题。

自测

  1. 在机器学习选股里,模型最主要的工作是什么?

    • A. 预测明天大盘是涨是跌
    • B. 找出下个月一定会涨的股票
    • C. 用当时能看到的特征,给每只股票打一个分,猜它下个月的表现
    • D. 自动下单交易
    看答案

    答案 C。模型做的是打分:用左边当时已知的特征,猜右边那一列下个月的收益。排队、买入、看结果,是在分数之后的事。

  2. 动量前 50 只的净值明显高过等权基准。下面哪种说法最稳妥?

    • A. 它可能有用,但还要扣成本、按时间检验以后才能下结论
    • B. 动量选股一定能赚钱
    • C. 应该只买动量最高的一只
    • D. 数据一定出错了
    看答案

    答案 A。一条好看的净值只是起点。后面的课程会一步步补上检验、成本和基准。

常见坑

  • 把这个最小研究的结果当结论

下一节

这张面板为什么是这个形状?

02研究对象:股票 × 时间的面板为什么机器学习选股通常比较“谁比谁好”,而不是预测大盘涨跌?