← 上一课程:用 Python 量化收益与风险下一课程:因子入门 →

第 4 课:第一个策略——定投 vs 动量

上一课程回顾(含自测参考答案)

课程 3 的四个自测题,参考答案如下:

1. AI 生成的 510300 近 5 年体检表,四个数字各是什么含义(示例数字,以你实际算的为准)

示例:年化收益 ≈ 1.8%(意思是按复利折算,这 5 年每年平均赚 1.8%,符合"5 年整体几乎没涨"的印象);波动率 ≈ 18%(每天涨跌的颠簸程度,落在宽基 15%~25% 的正常区间);最大回撤 ≈ −33%(从 2021 年高点跌到 2024 年低点最惨亏三分之一);夏普 ≈ (1.8% − 1.5%) / 18% ≈ 0.02(每承担 1 份风险几乎没换到超额收益,性价比很差——冒着波动还没怎么跑赢存款)。关键是每个数字你能用自己的话说出含义,数字本身不用背。

2. 网站数字 vs AI 数字,差在哪(至少说两个来源)

① 区间不同:网站可能用"近 3 年"而你算"近 5 年",数字自然不同;② 复权口径不同:前复权 vs 不复权,历史价格基准不同;③ 是否扣费:基金页面通常是扣管理费后的净值,指数数据不扣费;④ 无风险利率假设不同:用 1.5% 还是 2.5%,夏普分子差 1 个点,数字就差一截。只要"方向一致"(正负、量级),就没问题。

3. 观察笔记 vs 体检表,验证结果

逻辑:你说"整体是涨/跌的" → 看年化收益率的正负;你说"某段跌得最惨" → 看最大回撤发生的时间段;你的疑问"现在算高算低" → 体检表只描述过去,回答不了,等第 5 课估值百分位。如果直觉和数字矛盾,恭喜你——这正是"用数据纠偏直觉"的第一次实践。

4. 加餐:近 3 年 vs 近 10 年,为什么差这么多

① 不同区间覆盖的市场环境不同:近 10 年包含 2015 牛、2018 熊、2021 牛、2024 熊,近 3 年可能只覆盖一段单边下跌;② 起点终点不同:年化是"首尾比",尾一样、头不同,年化就完全不同;③ 样本越长,年化越接近"长期中枢",越短越容易被一两年的极端行情带偏。这为第 4 课埋了个伏笔:不同策略的对比,必须用同一区间。


学习目标

前置要求

正文

4.1 什么是"策略":一句话说清规则

课程 1 讲过,量化 = 数据 + 模型 + 纪律。模型落到投资上就是策略,而策略就是一条"规则"。规则长什么样?拆成三块:

部分 回答的问题 例子
信号 什么时候动手? "每月 1 号" / "涨了 5% 就买"
动作 动手做什么? 买入 / 卖出 / 不动
纪律 无条件执行吗? "不许中途改主意"

任何一个策略,都能用"当【信号】发生时,执行【动作】"一句话说清楚。说不清规则的"策略"(比如"感觉要涨就买")不是策略,是心情。

这也是为什么课程 1 说"定投是最朴素的量化策略":定投的规则清晰到一句话——每个月固定日期,买入固定金额,无论涨跌。

4.2 定投(DCA):最朴素也最难坚持的规则

规则:每月固定日期(如每月 1 号)买入固定金额(如 1000 元),不管当时价格高低,长期坚持。

赚钱逻辑:价格高时同样的钱买得少,价格低时同样的钱买得多——自动"多买便宜、少买贵",摊平买入成本。5 年下来,你的平均成本大概率低于"一次性买入"的成本。

它解决什么问题:人最大的毛病是择时——跌了不敢买、涨了追进去。定投用规则消灭择时,让你"在高点不贪婪、在低点不恐惧"。

它的弱点(一定要知道,别神化):

4.3 动量(Momentum):追涨的学问

规则(简单版):涨了才买、跌了不碰——比如"价格高于 60 天均线就持有,跌破就卖出"(AI 会帮你写,你只需理解逻辑)。

赚钱逻辑:金融市场的"强者恒强"效应——短期(数月内)涨得好的资产,往往继续涨(趋势延续)。动量策略是顺着趋势走,而不是预测拐点。

和定投的本质区别:

定投 动量
核心思想 摊平成本,不怕跌 顺势而为,不接飞刀
什么时候买 固定日期,与价格无关 价格/趋势信号触发
最怕什么 长期阴跌(熬得住吗) 假突破、震荡市反复打脸
赚什么钱 长期均值回归的钱 趋势延续的钱

它的弱点:

4.4 信号:策略的"触发器"

两个策略的关键差异其实在信号上:

理解"信号"是理解所有策略的钥匙:信号可以是日历、价格、估值、财报数据、新闻情绪……第 5 课的价值因子(估值百分位)、第 6 课的分散化,本质都是在定义不同的"信号"。策略之争,很大程度是信号之争。

4.5 让 AI 对比两种策略(AI 加餐)

把下面这段话发给 AI(可直接复制):

"用 Python(yfinance)拉取沪深300 ETF(510300.SS)近 5 年日线,回测两个策略并对比:① 每月 1 号定投 1000 元;② 动量策略:收盘价高于 60 日均线时满仓持有,跌破时清仓。输出:两条资金曲线对比图、各自的年化收益率/波动率/最大回撤/夏普比率,并解释为什么某个策略赢了(或输了)。"

跑完后重点看三件事:

  1. 两条曲线谁在上面:记住,曲线对比必须同区间、同起点资金,否则没有可比性(第 3 课自测 4 的伏笔)。
  2. 四件套分别怎么说:动量可能收益高但回撤也大、交易次数多;定投可能收益平但体验稳。没有"完美策略",只有"用什么换什么"。
  3. 问 AI 一个追问:"如果近 5 年是震荡市,结果会反过来吗?"——让 AI 换个区间(如近 3 年)再跑一次,体会"策略的胜负取决于市场环境"。

4.6 主路径动手:纸面模拟两周(本课实战)

不碰代码,用纸笔或表格做下面的事(至少做两周,每天 1 分钟):

  1. 选定一个基准日,初始资金 10000 元,标的就用 510300(价格每天查 App)。
  2. 按定投规则:每月固定日期(如每月 1 号,若已过就等下月)买入 1000 元,其余日子什么都不做。记录:日期、价格、买入份额、累计份额、总市值。
  3. 在旁边记一行"心情日记":今天跌了,你想不想暂停/加仓?——这就是规则和情绪打架的地方。
  4. 两周后,用一句话总结:"按规则执行"和"凭感觉操作"的区别是什么?

💡 两周纸面模拟的目的不是赚钱,是让你第一次亲身体验"纪律"这两个字的分量——课程 1 的三要素,在这里落地。

自测练习

  1. 用一句话分别说出定投和动量的规则(信号 + 动作),并各说一个弱点。
  2. 看 AI 跑出的对比结果:这一区间谁赢了?赢在收益、回撤、还是夏普?输的一方输在哪?
  3. 追问 AI"换近 3 年区间结果会怎样",比较两个区间的胜负差异,用一句话解释为什么。
  4. 主路径:完成两周纸面模拟,写出你的心情日记摘录和一句总结。
  5. 加餐(可选):让 AI 加一个"定投 + 动量结合"的变体(如:只在高于均线时定投),对比它和纯定投、纯动量的四件套。

答案不需要现在核对;第 5 课开头会回顾。到时候你会发现:信号的选择,直接决定了策略的生死。

学习要点小结

答疑记录

Q1(2026-08-08):怎么定义震荡市

引用的内容: 无

答: 震荡市没有唯一标准定义,关键是"概念要可操作化"——这本身就是量化思维的核心。从直觉到可计算,有四种定义法:

  1. 直觉定义:价格在一个区间里来回走、没有明确方向,长期不创新高也不创新低;用课程 3 体检表的语言说:区间年化收益接近 0,但波动率不小——白颠簸、不赚钱。
  2. 均线法(最贴合本课):60 日均线走平(斜率≈0),且价格反复穿越均线(上穿又下穿)→ 震荡市。对比:单边上涨 = 均线向上、价格长期在均线上方;单边下跌 = 均线向下、价格在下方。动量"反复打脸"说的就是这个。
  3. 区间法:取区间最高价和最低价,价格大部分时间在 20%~80% 的中间地带来回 → 震荡;频繁触及新高偏上涨、频繁触及新低偏下跌。
  4. 进阶(了解即可):ADX 趋势强度指标 < 20~25 视为无趋势(震荡)。

两个重要提醒:① "震荡"的边界(均线多平算平、区间多窄算窄)是人为设定的参数,不同定义结论可能不同——概念必须变成可计算、可复现的规则;② "是不是震荡市"本身也是一种信号(市场状态过滤器),很多策略把它挂在前面:震荡市只定投、趋势市才用动量。对照课程 3 体检表:近 5 年年化≈1.8%、最大回撤 −33%(几乎零收益 + 不小回撤)= 典型的震荡偏弱市,这也解释了为什么两种策略在该区间都难大赚。

由此暴露的薄弱点: 无

← 上一课程:用 Python 量化收益与风险下一课程:因子入门 →