关卡:数据工程毕业考——一条流水线的完整答辩
我的掌握程度:
先掌握这个答案
答辩十问:①你的股票池过滤了什么?(三件套:ST/新股/停牌,q-342/343)②复权怎么处理的、撮合用什么价?(q-358双口径)③财务数据按什么日期对齐的?(公告日+merge_asof,q-331/332)④停牌日数据怎么处理?(标记+ffill+禁交易,q-066回望)⑤幸存者偏差防了吗?(历史成分/含退市,q-067回望)⑥去极值用什么方法、为什么?(MAD vs 分位,q-346)⑦中性化回归里放了什么变量?(ln市值+行业,q-347)⑧你的因子函数经过截断检验吗?(q-357/393)⑨数据存在什么格式、怎么保证可复现?(parquet+快照+README,q-359/369)⑩给一个新因子,你多久能完成「入库前检验」?(目标:30分钟全流程)。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
本阶段实战方法 · 一条能复现的数据流水线
把接口返回的数据变成可用于因子研究的面板时,先处理时点、主键与单位。
- 建立数据字典:字段、单位、时区、交易日历、数据源、抓取时间、原始价与复权因子。
- 用(date, code)查重,区分停牌、未上市、窗口不足和真实缺失;不要用向后填充把未来值带回过去。
- 保存原始快照与清洗日志,固定随机种子和环境版本;接口字段变化时先核对官方文档。
使用边界
- 报告期不等于公告可用日,盘后公告通常不能用于当天收盘前决策。
- API输出名为“动态市盈率”时不能直接改名TTM;浏览器练习不支持任意原生库或行情抓取接口。
背景 · 从一个困惑说起
阶段4的毕业考与前三阶段不同:它不是问答,而是一次「流水线答辩」——你把整阶段的作品(数据管道)摆上桌,回答十个关于它的问题。答得出,说明代码真是你写的、每个坑真是你踩的;答不出,说明教程看完了但工程没发生。
由此产生的问题
流水线答辩的十问是什么?通过标准是什么?
核心概念
答辩十问:①你的股票池过滤了什么?(三件套:ST/新股/停牌,q-342/343)②复权怎么处理的、撮合用什么价?(q-358双口径)③财务数据按什么日期对齐的?(公告日+merge_asof,q-331/332)④停牌日数据怎么处理?(标记+ffill+禁交易,q-066回望)⑤幸存者偏差防了吗?(历史成分/含退市,q-067回望)⑥去极值用什么方法、为什么?(MAD vs 分位,q-346)⑦中性化回归里放了什么变量?(ln市值+行业,q-347)⑧你的因子函数经过截断检验吗?(q-357/393)⑨数据存在什么格式、怎么保证可复现?(parquet+快照+README,q-359/369)⑩给一个新因子,你多久能完成「入库前检验」?(目标:30分钟全流程)。
为什么需要它
①工程能力的真伪检验:十问全部关于「你的选择和理由」——抄来的代码答不出「为什么」;②面试预演:量化实习的技术面就是这种「项目深挖」的格式(q-902预告);③查漏地图:每问对应一个工程决策点,答不上的就是流水线上的裸奔段。
实际应用场景
答辩形式:对着同学/AI导师讲10分钟+接受追问;或写一份PIPELINE.md放进仓库(十问自答)——后者同时是GitHub项目的加分文档。
与之前知识的联系
阶段4收官:阶段1世界观+阶段2工具+阶段3数学+阶段4工程=研究者的四块地基。下一站阶段5(因子研究):数据管道的产出终于要变成「Alpha的原料」——四块地基上开始盖楼。
⚠ 常见误解
- 代码能跑就不用答辩:能跑≠每个决策有理由;答辩暴露的是「不知道自己不知道」
- 答辩过了工程能力就到顶:这是下限认证;上限在阶段5-8的实战中继续长
- 十问答案背下来:面试官会追问第二层(「为什么MAD不用3σ?」)——每个答案要能往下再讲一层
🛠 本题实践任务
完成两个动作:①口头答辩一次(10分钟十问,录音)②把PIPELINE.md写进你的GitHub仓库README。连续一轮自评≥16/20即通关阶段4。
💡 提示(先自己想5分钟再看)
答辩对象推荐AI导师(/ai页):让它扮演挑剔的面试官逐问追问。
✅ 验收标准
答辩录音+PIPELINE.md。你的GitHub从此有了第一份「工程素养证明」——这是简历上比代码本身更打动面试官的东西。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(全阶段:向量化/数据获取/清洗/工程/安检),再用案例、公式和代码帮助理解。此功能需要先启用服务。