Skip to content

7.10 生成你的第一个研究报告

课前导读

本章目标

学完能解决什么困惑:为什么量化研究不能只留下代码和图表,以及如何写出第一份可复现的 A 股研究报告。

适合谁学习:已经知道收益、回撤、向量化和项目文件夹,准备把一次研究完整记录下来的读者。

难度:beginner

预计用时:约 40 分钟

研究报告不是给别人看的面子工程。

它首先是写给未来自己的说明书。

当你一个月后回头看某次研究时,最需要的不是漂亮口号。

你需要知道当时问了什么问题。

用了哪份数据。

规则怎么写。

结果如何。

风险在哪里。

下一步准备改什么。

如果这些都没有记录,代码跑出来的数字就很难被信任。

知识正文

1. 类比:研究报告像病例小结

医生看完体检报告后,不会只说“指标还行”。

他会写病例小结。

小结里会说明检查目的、检查项目、异常指标、可能风险和后续建议。

量化研究报告也类似。

收益曲线、回撤曲线和分布图只是检查结果。

报告要把这些结果放回问题背景里。

比如:这次研究是为了观察均线趋势条件,还是为了比较成交量过滤效果。

比如:数据来自哪段 A 股历史行情,是否包含交易成本假设。

比如:结果看起来不错,但最大回撤是否超出新手可承受范围。

报告的作用,是让研究从“我感觉还不错”变成“我能解释为什么”。

2. 第一份报告的六个模块

入门阶段的研究报告不需要复杂。

建议固定使用六个模块。

第一,问题。

你到底想检查什么投资观察。

第二,数据。

你用了什么数据,来自哪里,覆盖什么时间。

第三,规则。

你如何把观察想法写成可计算条件。

第四,结果。

你得到哪些核心数字和图表。

第五,风险。

哪些地方可能导致结论不可靠。

第六,下一步。

你准备继续检查什么,而不是立刻实盘。

这六个模块像研究的骨架。

只要骨架稳定,每次研究都能对齐比较。

mermaid
flowchart TD
    A[问题] --> B[数据]
    B --> C[规则]
    C --> D[结果]
    D --> E[风险]
    E --> F[下一步]

3. 问题:不要写得太大

新手常见问题是,一上来就写“我要找到赚钱策略”。

这个问题太大,也无法复现。

更好的写法是具体而克制。

例如:“观察 MA20 高于 MA60 的交易日,收益曲线是否更平稳。”

例如:“观察成交额过滤后,样本中的异常波动是否减少。”

例如:“比较扣除成本前后,某个简单规则的结果差异。”

问题越具体,数据和规则越容易对齐。

你也更容易判断报告是否回答了问题。

专业研究者不会从大口号开始。

他们会从可检查的小问题开始。

4. 数据:写清楚来源和口径

数据模块至少写四件事。

第一,数据来源。

例如来自行情软件导出的日线数据,或来自交易所公开资料整理。

第二,数据范围。

例如 2020-01-01 到 2025-12-31。

第三,字段。

例如日期、开盘价、最高价、最低价、收盘价、成交量、成交额。

第四,口径。

例如是否前复权,是否剔除停牌日,是否包含 ST 股票。

A 股研究特别需要写口径。

因为同一只股票,复权与不复权会影响均线和收益计算。

如果口径不写清楚,别人无法复现。

未来的你也无法判断结果是否可比。

5. 规则:用“如果……就……”表达

规则模块不要写成情绪判断。

不要写“走势不错时买入”。

要写“如果 MA20 高于 MA60,则记为趋势条件满足”。

不要写“成交量比较大”。

要写“如果当日成交量高于过去 5 日平均成交量,则记为放量”。

规则越像说明书,越容易用 Python 复现。

如果规则需要主观判断,也要写出主观判断的边界。

例如“异常公告日单独标记,不直接纳入普通样本结论”。

这不是让报告变僵硬。

这是让你的投资观察可以被复查。

6. 结果:指标少而清楚

第一份研究报告只需要少量指标。

累计收益:观察期结束时资金相对开始变化多少。

最大回撤:从历史高点到低点的最大下跌幅度。

交易次数:规则触发了多少次买卖或观察切换。

你也可以附上收益曲线、回撤曲线和分布图。

但不要把报告变成指标堆砌。

指标是为了回答问题,不是为了显得复杂。

如果问题是“过程是否平稳”,最大回撤就很重要。

如果问题是“是否过度频繁”,交易次数就很重要。

如果问题是“最终是否改善”,累计收益才有参考意义。

本章不展开完整评估体系。

更完整的回测评估会在第 9 章学习。

7. 风险:主动写出不确定性

好报告不是只展示好结果。

好报告会主动写风险。

数据可能有缺失。

复权口径可能影响均线。

成本和滑点可能被低估。

样本时间可能太短。

某段行情可能刚好适合规则。

T+1、涨跌停和流动性可能让信号无法按理想价格执行。

这些风险不是让你放弃研究。

它们让你知道结论的边界在哪里。

投资者需要边界感。

量化开发者也需要边界感。

没有边界的数字,很容易变成误导。

8. 下一步:从结论走向改进

报告最后不要只写“继续观察”。

这句话太空。

可以写更具体。

例如:“下一步检查不同年份结果是否一致。”

例如:“下一步加入基础交易成本后重算收益曲线。”

例如:“下一步比较有无成交额过滤的差异。”

例如:“下一步检查最大回撤发生期间的市场环境。”

下一步应该是可执行动作。

它连接本次研究和下一次研究。

这就是研究闭环。

9. 一个最小报告模板

你可以把下面模板保存到 reports 文件夹。

markdown
# 研究报告:MA20 与 MA60 趋势观察

## 1. 问题
本次研究想检查:MA20 高于 MA60 时,样本走势是否更平稳。

## 2. 数据
数据范围:2020-01-01 至 2025-12-31。
数据字段:日期、收盘价、成交量、成交额。
数据口径:前复权日线数据,成本假设另行记录。

## 3. 规则
如果 MA20 高于 MA60,则趋势条件满足。
信号在收盘后确认,最早用于下一个交易日观察。

## 4. 结果
累计收益:示例 8.4%,请替换为你的计算结果。
最大回撤:示例 -6.2%,请替换为你的计算结果。
交易次数:示例 12 次,请替换为你的统计结果。
核心图表:收益曲线、回撤曲线、收益分布图。

## 5. 风险
样本时间有限,结果可能依赖特定行情。
交易成本、滑点、涨跌停影响需要继续检查。

## 6. 下一步
加入成本假设,并按年度拆分结果。

模板里的示例数字只是格式演示,你研究时应替换成自己的计算结果。

最终提交报告前,应填写成具体数字或说明无法计算的原因。

10. 用 Python 输出核心指标

下面示例展示如何把指标整理成报告素材。

它不依赖真实联网数据。

python
metrics = {
    "累计收益": "8.4%",
    "最大回撤": "-6.2%",
    "交易次数": 12,
}

for name, value in metrics.items():
    print(f"- {name}: {value}")

这段代码的重点不是计算指标。

重点是把指标用统一格式输出。

如果每次报告都用同样字段,你就能比较不同研究。

当你以后学习第 9 章回测系统时,这种统一格式会非常有用。

但现在不需要提前展开完整系统。

先把一次研究讲清楚,比堆复杂代码更重要。

11. A 股案例:一份报告如何避免误导

假设你研究某个股票池的均线条件。

报告里显示累计收益为 12%。

如果只写这个数字,读者可能以为策略很好。

但你继续写:最大回撤为 -18%,交易次数为 46 次。

你还写:结果未加入完整滑点估计,且某一年贡献了大部分收益。

这时结论就更稳健。

它不再是“策略能赚钱”。

它变成:“在当前样本和假设下,规则有一定观察价值,但回撤较深,且结果可能依赖特定年份。”

这种表达更接近专业研究。

它不会给新手制造过度自信。

它也方便下一步继续检查。

关键心得

研究报告的价值,不是证明自己正确,而是让结论、证据和风险放在同一张桌面上。

交互实验室

练习 1:写出你的研究问题

请用一句话写出一个小问题。

格式可以是:“我想检查……是否……”

例如:“我想检查成交额过滤后,均线信号是否减少异常波动。”

注意,不要写“我要找到稳赚方法”。

量化研究从可检查问题开始。

练习 2:填写六模块报告

请在 reports 文件夹里创建一份研究报告。

按顺序写六个标题。

问题。

数据。

规则。

结果。

风险。

下一步。

每个标题下面先写两到三句话。

如果没有真实数据,就写模拟数据,并明确说明是练习样本。

不要把模拟结论当成投资结论。

练习 3:给指标写中文解释

请写下三个指标的中文解释。

累计收益:观察期结束时资金整体变化。

最大回撤:从历史高点往下掉得最深的幅度。

交易次数:规则触发交易或观察切换的次数。

然后写一句风险说明。

例如:“这些指标只描述历史样本,不能保证未来表现。”

练习 4:生成下一步动作

请从下面四个动作里选择一个。

按年度拆分结果。

加入基础交易成本。

检查最大回撤发生阶段。

对比是否加入成交额过滤。

把选择写进报告的“下一步”。

下一步必须具体到能执行。

核心复盘

知识清单

  • [ ] 我知道第一份研究报告应包含问题、数据、规则、结果、风险和下一步。
  • [ ] 我能把模糊投资想法改写成可检查研究问题。
  • [ ] 我知道数据模块要写清来源、范围、字段和口径。
  • [ ] 我理解累计收益、最大回撤、交易次数只是入门指标,不代表完整评估。
  • [ ] 我会主动写出样本、成本、滑点、涨跌停和流动性等风险边界。

金句总结

没有报告的研究,只是一次临时计算;有结构的报告,才是可复现的证据。

本文档仅供学习交流用途,不构成任何投资建议。股市有风险,入市需谨慎。