为什么系列课的第一门是 pandas数据分析
量化是两条线拧在一起:金融线(市场 → 定价 → 组合 → 风险 → 执行,练判断)和工程线(数据 → 算法 → 框架 → 工程化 → 自动化,练落地)。
工程线是一架顺序即依赖的梯子,第一级就是数据。而 pandas 之所以排在整个系列最前面的原因是:它是后面每一门课的第一步。
学因子投资,第一步是把行情和财报对齐;学机器学习交易,第一步是把特征拼成矩阵;学风险管理,第一步是把收益率面板整理出来。 跳过 pandas 去学后面任何一门,你都会在同一个地方卡住——不是不懂金融,是数据准备不出来。
量化研究的时间分配,和大多数人的想象是反的:真正花时间的不是模型,是把数据弄干净、对齐、变形成模型能吃的样子。
随便一个问题——”过去三年,哪些行业的股票在财报发布后表现更好?”——从零到答案要依次做完这些事:读进来、先看一眼、清洗、补缺失、筛选、派生新列、合并多表、长宽表重塑、分组聚合、时序处理、出结果。这十一件事,pandas 全都能做,而且是同一套数据结构、同一套语法。
这门课和其他 pandas 课的差别

一、全部用金融数据,没有一个玩具例子
不是”用鸢尾花数据集学 groupby,然后自己想办法迁移到股票上”。这门课从第一讲到最后一讲,读的是行情、财报、行业分类,每讲配一份可运行代码和仓库自带的样本数据,开箱即跑,课件里每个数字都来自真实运行。
二、每个数据处理动作,都在练一项量化基本功
课程顺序是真实分析的顺序,不是 API 手册的顺序。每一讲练的不是”某个函数怎么用”,而是量化数据工作里一项独立的能力:
| 讲的内容 | 练的量化基本功 | 不会的代价 |
|---|---|---|
| 缺失值与排序 | 面板完整性:停牌、未上市、退市在同一张表里共存,你得决定哪些算样本 | 样本悄悄变成幸存者,结论整体偏乐观 |
| 转换与字符串、Categorical | 标的主键治理:代码格式统一是多源数据能拼起来的前提 |
000001.SZ 和 000001 是两个值,两张表一条都合不上 |
| MultiIndex 层次索引 | 面板双视角:同一份数据既要按个股看时序,又要按日期看截面——这是因子研究的坐标系 | 每次都全表扫描,且时序/截面来回转换全靠手工 |
| 合并连接 | 多源对齐:行情 + 财报 + 行业,按”代码 × 日期”对上 | 合完行数悄悄变了都不知道 |
| 重塑与透视 | 矩阵化:因子值在”日期 × 股票”的宽表里才好做截面运算 | 长表上做截面 z-score,慢几十倍还容易写错 |
| 分组聚合与 transform | 截面处理:去极值、标准化、行业中性化,本质都是组内变换 | 中性化算不出来——agg 会把形状压掉 |
| 透视表与交叉表 | 多维验证:一个结论要经得起换个维度再看一遍 | 单维度上漂亮的单调性,加一维就不成立 |
| 时间序列(上):时间类型 | 时间轴治理:交易日历、频率、时区,日期不是字符串 | 对齐看着成功,实际错位 |
| 时间序列(下):重采样与滚动 | 频率与窗口:日频转月频调仓、滚动波动率、动量 | 面板上直接 rolling,一只票的窗口混进了另一只的价格 |
三、最后三讲不是”练习题”,是三条完整链路
三个综合案例:为什么这么设计
前十九讲每讲解决一个局部问题,最后三讲把它们串起来。三个案例不是随便挑的——它们分别对应量化数据工作里三个最容易翻车的方向:横着的、纵着的、以及时间上的。
三讲都按同一个结构走:要算什么 → 要用什么数据 → 设计思路 → 伪代码 → 逐段实现 → 复盘。先想清楚再动手,这个顺序本身就是要训练的东西。
第 20 讲 单因子测试流水线 —— 练”横截面”
原始行情 → 去极值 → 标准化 → 中性化 → IC 与分档收益
为什么设计成第一个:因子研究里 80% 的动作发生在”同一天、所有股票”这个横截面上,而这些动作全都是组内变换——按日期分组去极值、按日期分组标准化、按行业分组中性化。它是 groupby + transform 最密集的实战场。
训练目的:把”对每一组做点什么、但形状不许变”这件事变成肌肉记忆。这是 agg 和 transform 的分水岭,也是新手最容易卡住的地方。
学完你能:拿到任何一列原始指标,独立把它加工成可用的因子值,并算出 IC 和分档收益判断它有没有信息量。
第 21 讲 财务因子与时间对齐 —— 练”时点”
季频财报 → 按公告日贴到日频(
merge_asof)→ 量化”按报告期对齐”错在哪
为什么单独拎出来讲:这是量化里最贵的一类错误。财报的报告期是 3 月 31 日,但它可能 4 月 28 日才公布——按报告期对齐,等于让 3 月的你用上了 4 月底才存在的信息。回测曲线会因此漂亮得不真实,而且全程不报错。
训练目的:建立”数据什么时候才存在”这个时点意识(point-in-time),并掌握 merge_asof 这个专门解决”最近一条可用记录”的工具。
学完你能:把任何低频、有发布延迟的数据(财报、宏观、评级、分析师预期)正确贴到日频上,并且能亲手量出”按报告期对齐”到底虚增了多少收益。
第 22 讲 行业轮动策略完整回测 —— 练”全链路”
日线 → 月频 → 信号 → 权重 → 净值 → 绩效与换手成本
为什么放在最后:前面每一讲都是链条上的一环,这一讲第一次要求你把整条链自己接起来,而且每个接口都可能对不上——频率转换会丢日期、信号到权重要处理停牌、净值累乘对缺失值极其敏感、换手成本要用前后两期权重的差。
训练目的:从”会用某个函数”过渡到”能设计一条数据流水线”,并且知道每个环节该验证什么。
学完你能:独立完成一次从原始日线到绩效报告的完整回测,并且在结果异常时知道该回头查哪一环。
重要:这三讲练的是数据处理,不是投资判断。因子有没有效、策略能不能赚钱,是别的课的事——这门课保证的是:当结论出来时,你确信它不是数据处理错误造出来的。
课程目录

全课 22 讲,四段。每讲配一份可运行代码和仓库自带的样本数据。
导论
| 讲 | 标题 | 解决什么 |
|---|---|---|
| 01 | 导论:AI 时代为什么还要学 Python 和 pandas | 数据处理的错误不会报错,只会让结果变好看——所以你得能验收 |
第 02–04 讲 numpy 地基:取数的三种方式
pandas 的 iloc、loc、布尔索引,根子都在这三讲。先在原生容器上把手感练出来,后面上 pandas 只是换个外壳。
| 讲 | 标题 | 解决什么 |
|---|---|---|
| 02 | 按位置取数:元组、列表与数组 | 切片、步长、多维索引。取”最近 250 个交易日””每只股票掐掉上市前 60 天” |
| 03 | 按标签取数:字典与结构化数组 | 排序会重排位置,close[0] 指的股票会变。用名字指向数据,重排不受影响 |
| 04 | 按条件取数:布尔掩码 | 你不知道是哪些,只知道它们满足什么。条件先变成一串 True/False,再拿去取 |
第 05–07 讲 pandas 的两个结构
| 讲 | 标题 | 解决什么 |
|---|---|---|
| 05 | Series:带标签的一维数据 | 数组会算不会认,字典会认不会算。Series 把两样合成一个,还带自动对齐 |
| 06 | DataFrame:带行列标签的表格 | 多字段、多类型的真实表格。建表、取数、增删改、筛选、排序 |
| 07 | apply:把自己的函数用到数据上 | 内置函数覆盖不到的业务逻辑。也讲什么时候不该用它——它是最容易被滥用的操作 |
第 08–19 讲 数据处理:一条链上的十二件事
全课主体,顺序就是真实分析的顺序:读进来 → 清洗 → 拼接 → 变形 → 分组 → 时序。
| 讲 | 标题 | 解决什么 |
|---|---|---|
| 08 | 数据加载与存储 | CSV / Excel / SQLite / Parquet。同一个文件同一个函数,加两个参数省 697 倍内存 |
| 09 | 缺失数据与排序 | 两个互补的条件加起来对不上——NaN 从两个桶里都漏了出去。以及排序、rank 与并列处理 |
| 10 | 数据转换与字符串处理 | 两张表按代码合并,一条都没对上:000001.SZ 和 000001 是两个值 |
| 11 | Categorical 分类数据 | 分档标签转成字符串后,排序变成”中、大、小、最大、最小”。以及分类列不能做算术 |
| 12 | MultiIndex 层次索引 | 时序视角和截面视角。平表上每次全表扫描,层次索引上快 30~73 倍 |
| 13 | 合并连接 |
how="left" 合并之后行数变多了。validate= 怎么把假设写进代码 |
| 14 | 重塑与透视 | 长表和宽表的取舍。同一个截面 z-score,宽表比长表快 55 倍 |
| 15 | 分组与聚合 |
groupby().agg():17 万行压成 300 行的股票画像表 |
| 16 | transform 与组内变换 | 行业中性化 agg 给不了——它把组的统计量广播回每一行,形状不变 |
| 17 | 透视表与交叉表 | 只看一个维度会骗你:动量单调递减的结论,加上市值维度就不成立了 |
| 18 | 时间序列(上):时间类型与索引 | 字符串日期能走多远,以及转换时那些不报错的坑 |
| 19 | 时间序列(下):重采样与移动窗口 | 面板上直接 rolling,茅台的第一条均线混进了五粮液的价格——5700 行是错的 |
第 20–22 讲 三个综合案例
| 讲 | 标题 | 走的是哪条链 |
|---|---|---|
| 20 | 案例一:单因子测试流水线 | 原始行情 → 去极值 → 标准化 → 中性化 → IC 与分档收益 |
| 21 | 案例二:财务因子与时间对齐 | 季频财报 → 按公告日贴到日频(merge_asof)→ 量化”按报告期对齐”错在哪 |
| 22 | 案例三:行业轮动策略完整回测 | 日线 → 月频 → 信号 → 权重 → 净值 → 绩效与换手成本 |

发表回复