Skip to main content
量化研究工作流:Jupyter Notebook 与特征工程
blog 高级 · ~1 min read

量化研究工作流:Jupyter Notebook 与特征工程

一套可重复的量化研究工作流,用 Jupyter notebook 覆盖特征工程、验证和 notebook 卫生,产出能上线的信号。

· Lead Editor · · ~1 min read
#algorithmic#quant-trading
本文为英文。需要查看中文翻译吗?

交互工具在翻译视图中可能无法使用。

量化研究工作流:Jupyter Notebook 与特征工程

量化研究的产出不是 notebook——是一个有文档化假设、可上线的信号。多数研究死在 Jupyter 里,因为 notebook 变成了无法阅读的废墟。纪律化的工作流把探索变成生产。

Notebook 结构

每个研究问题一个 notebook,固定章节按顺序:假设、数据加载、特征工程、信号、回测、验证、结论。开头没有假设陈述的 notebook 是观光,不是研究。

让 notebook 在 Kernel → Restart 后能从头到尾跑通。如果只能靠上一次运行的状态才跑得动,它就是坏的。提交前跑 nbstripout,让 diff 显示逻辑而不是输出。

特征工程原则

特征编码你的经济假设。没有陈述理由的特征是捞针。

  1. 先说机制。 "趋势持续性在低波动状态里更强"——然后构建一个结合斜率和实现波动率的特征。从目标反推特征本身就是过拟合。
  2. 平稳性检查。 算 ADF(Augmented Dickey-Fuller)统计量;拒绝非平稳特征或做差分。趋势性的特征会骗过任何线性模型。
  3. 未来函数审计。 每个特征写下它在哪个时间戳才可知。rolling(20).mean() 在时刻 t 上算收盘,只有用截至 t-1 的 K 线算才有效。差一个 index 是假优势的头号原因。
  4. 分布和离群值。 在 1% 和 99% 分位裁剪或缩尾。一次 20 sigma 的异常打印(拆股数据错误)会主导梯度提升。

回测前的验证

在任何盈亏曲线之前,算:特征自相关(目标不应只从滞后目标就可预测)、特征-目标互信息、跨不重叠窗口的稳定性。一个特征在 2018 vs 2022 对目标的关系符号翻转,它不是特征——是噪音。

回测诚实规则

  • 走向前:训练 2016–2019,测试 2020;然后训练 2016–2020,测试 2021。永远别只报单次样本内拟合。
  • 成本:假设最低往返 5 bps,即使你的券商收费更低。滑点是真实的。
  • 容量:如果策略需要日成交量的 10%,标为不可扩展。

从 notebook 到生产

信号验证后,从 notebook 移植到带单元测试的版本化模块。notebook 是实验室;模块是产品。如果生产信号和 notebook 分叉,notebook 是错的。

交付物

研究交付物是:假设、带机制的特征、带成本的走向前结果、失败条件(什么时候停止工作?)、生产移植。少任何一项都是永远不会交易的 notebook。

相关市场数据由 TradingView 提供。

分享:
𝕏 f in r/
·
📝

我的笔记

登录后可在本文保存笔记并与社区分享。

✓ 已核查事实 审阅人 Timi Chen, 编辑顾问 · 发布于: 2026-07-01 · 编辑政策
由 Marcus Cole 起草 · 由 Timi Chen 于 2026-07-01 审核 · 最后检查于 2026-07-01

教育内容 · 非财务建议 · 风险自担

下一篇推荐

algorithmicquant-trading 2026-07-01

Build a Python Trading Script With ccxt and vectorbt

A working Python trading script template combining ccxt for exchange data and vectorbt for fast vectorized backtests, with concrete code you can adapt.

阅读更多 →

Smart Recommendations