6.4 时间序列基础:日线、分钟线、复权
课前导读
本章目标
学完能解决什么困惑:知道为什么量化数据必须按时间顺序排列,理解日线、分钟线、交易日、复权和时间对齐的直觉含义,避免把停牌、分红送转和公告时间处理错。 难度:beginner 用时:约 35 分钟 本章产出:完成一张“时间序列校对表”,能发现日期缺口、停牌、复权口径不一致和信号时间错位。
知识正文
如果第 6.3 节的数据像食材清单,那么时间序列就像一本按日期排好的日记。
日记最怕什么?
不是字写得不好看,而是日期乱了。
3 月 5 日的心情写到 3 月 1 日前面,今天发生的事写成昨天已经知道,整本日记就会让人误会。
投资数据也是这样。
价格、成交量、公告、财务数据,只有放回正确的时间位置,才有分析意义。
这就是本节要学的核心:量化先尊重时间顺序。
第 5 章做纸面回测时,我们强调“从左往右验证”。
时间序列就是把这个原则落实到数据表里。
1. 时间序列是什么
时间序列,就是按时间先后排列的一串数据。
它可以是一只股票每天的收盘价。
也可以是一只股票每分钟的成交量。
还可以是一个指数每个交易日的涨跌幅。
通俗地说,时间序列就是:
每一行都有一个时间戳,每一行都不能随便换位置。
例如一只 A 股的日线数据可以长这样:
| 日期 | 开盘价 | 最高价 | 最低价 | 收盘价 | 成交量 |
|---|---|---|---|---|---|
| 2026-05-06 | 10.00 | 10.35 | 9.92 | 10.28 | 80万手 |
| 2026-05-07 | 10.25 | 10.40 | 10.10 | 10.18 | 62万手 |
| 2026-05-08 | 10.20 | 10.55 | 10.15 | 10.48 | 95万手 |
这三行的顺序不能调换。
如果调换,均线、收益率、突破判断都会变错。
关键心得
时间序列不是普通表格,它的第一规则是“先后顺序不能乱”。
2. 日线:每天写一篇交易日记
日线可以理解为“每天收盘后写一篇日记”。
这一篇日记记录当天的开盘价、最高价、最低价、收盘价和成交量。
第 2 章学过的 K 线,大多数新手首先接触的就是日线。
日线适合观察较慢的策略。
比如第 5 章的均线趋势跟随、突破确认、回撤低吸,都可以先用日线练习。
日线的优点是噪声相对少,适合新手建立规则感。
但日线也有局限。
它只告诉你一天的总结,不告诉你盘中每一刻发生了什么。
如果某只股票盘中先跌停又打开,日线最后可能只留下一个收盘价。
所以用日线做纸面验证时,要谨慎假设成交价格。
3. 分钟线:把一天切成很多小日记
分钟线可以理解为“把一天日记拆成很多小段”。
比如 1 分钟线、5 分钟线、15 分钟线。
每一小段也可以有开盘价、最高价、最低价、收盘价和成交量。
分钟线能看到更细的盘中变化。
但对零基础投资者来说,它也更容易制造紧张感。
价格每分钟跳动,情绪也容易跟着跳动。
本章只讲直觉,不要求你用分钟线设计策略。
你只需要知道:日线和分钟线的区别,是记录频率不同。
频率越高,细节越多,噪声也越多。
在没有稳定规则前,新手更适合先从日线理解时间序列。
4. 交易日:股市的日历不是普通日历
普通日历里,周六周日也有日期。
但 A 股不开市的日子,不会产生正常交易日线。
交易日通常是周一到周五,法定节假日除外。
这意味着时间序列里的日期可能不是连续自然日。
例如周五之后,下一行可能直接是下周一。
春节、国庆长假后,日期间隔会更长。
这不是数据缺失,而是市场没有开门。
但另一种情况要分清:如果市场开门,而某只股票停牌,它可能没有当天交易数据。
这就不是普通周末,而是该股票自己的特殊状态。
常见误区
看到日期中间少了几天,不要立刻判断数据坏了。先确认那几天是不是非交易日,再看是否存在停牌。
5. 停牌:日记里有一天“没写交易内容”
A 股公司可能因为重大事项、风险提示、重组等原因停牌。
停牌时,股票不能像正常交易日一样买卖。
这对策略验证影响很大。
如果你的策略在停牌期间给出“卖出信号”,纸面上写得再漂亮,现实中也可能无法成交。
停牌还会造成时间序列不连续。
比如指数照常走了五天,某只股票却停了五天。
等它复牌时,价格可能一次性反映停牌期间积累的信息。
所以时间序列不能只看价格,还要记录特殊交易状态。
新手做手工练习时,可以在表格里加一列“备注”。
遇到停牌、涨停、跌停、重大公告,就写进去。
6. 复权:分红送转后,要把日记口径调一致
复权是很多新手第一次听会觉得抽象的词。
我们用一个生活类比。
假设你有一盒 10 块钱的蛋糕。
店家第二天把蛋糕切成两盒,每盒标价 5 块钱。
你不能说“蛋糕价值暴跌了 50%”。
因为总量和权益发生了调整。
股票分红、送股、转增后,也可能出现类似情况。
股价表面下降,并不一定代表投资者真的亏了那么多。
第 3 章学过除权除息,本节只补一个量化直觉:
如果不处理分红送转,历史价格序列可能出现“假摔”。
前复权和后复权都是为了把不同时期的价格放到同一口径下比较。
前复权更常用于看图和观察历史走势。
后复权更像把早期价格按后来的权益变化往后调整。
这里不展开复杂算法。
你只要记住:同一个策略验证里,复权口径必须一致。
不能前半段用不复权,后半段用前复权。
风险提醒
分红送转导致的价格调整,不等于市场突然崩盘。没有统一复权口径,均线、涨跌幅和突破信号都可能被误判。
7. 时间对齐:不同日记要翻到同一天
时间对齐,是量化数据里非常重要但容易被忽略的动作。
想象你有两本日记。
一本记录股价,另一本记录公告。
如果股价翻到 5 月 8 日,公告却翻到 5 月 10 日,你就可能把未来信息提前用了。
时间对齐就是让不同数据都站在同一个时间点上说话。
例如:
| 数据类型 | 应该和谁对齐 | 关键问题 |
|---|---|---|
| 收盘价 | 交易日 | 当天收盘后才确定 |
| 成交量 | 交易日 | 与当天价格同属一根 K 线 |
| 财务报表 | 披露日期 | 不是报告期结束日就能使用 |
| 公告事件 | 发布时间 | 盘后公告不能用于盘中决策 |
| 行业分类 | 生效日期或来源日期 | 分类口径可能调整 |
对齐不是为了表格好看。
它是为了保证策略没有偷看未来。
8. A 股时间序列的几个特殊提醒
A 股市场有一些制度,会影响时间序列的解释。
第一,涨跌停会限制价格移动。
某天收盘涨停,不代表第二天一定能按你想要的价格买入。
第二,T+1 会影响卖出节奏。
今天买入的股票,通常不能当天卖出。
第三,午间休市会让分钟线中间有间隔。
如果你以后看到盘中数据,不要把午休当作数据断裂。
第四,公告经常在盘后披露。
盘后才知道的信息,不能放回当天盘中使用。
第五,指数和个股的交易状态可能不同。
指数有数据,不代表某只停牌股票也有正常交易数据。
这些细节不会改变入门原则,但会提醒你不要把市场想得过于平滑。
9. 一个策略如何被时间序列改变
假设你用第 5 章的突破策略。
规则写着:收盘价突破前期压力位,第二天观察买入。
如果你把“当天收盘价”拿来当“当天上午买入”的依据,就提前知道了结果。
如果你没有处理分红送转,压力位可能被复权前后的价格扭曲。
如果突破日成交量缺失,你就无法判断是否放量。
如果第二天开盘直接涨停,你的纸面买入价可能根本无法成交。
这说明,时间序列不是背景板。
它会改变策略信号能否成立,也会改变执行是否现实。
下面的流程可以帮助你检查时间顺序。
flowchart TD
A["确定策略观察日期"] --> B["只读取当时已知数据"]
B --> C["检查是否为交易日"]
C --> D["检查个股是否停牌"]
D --> E["确认复权口径一致"]
E --> F["把信号放到可执行的下一步"]
F --> G["记录无法成交的特殊情况"]10. 量化开发者的时间观
专业量化开发者看一张数据表时,第一反应不是“涨没涨”。
他们会先问:时间列对吗?
有没有重复日期?
有没有缺失交易日?
有没有把未来公告提前放进来?
有没有把复权口径混在一起?
这些问题看似枯燥,却决定策略验证是不是干净。
投资者关心收益,老师关心理解,开发者关心可复现。
三者交汇在一个原则上:
时间顺序不可信,策略结论就不可信。
交互实验室
本节的交互产物是一张“时间序列校对表”。
请把下面表格当作一段手工纸面回测数据,逐行检查。
练习 A:找出时间问题
| 行号 | 日期 | 收盘价 | 成交量 | 备注 | 你发现的问题 |
|---|---|---|---|---|---|
| 1 | 2026-05-06 | 10.28 | 80万手 | 正常交易 | |
| 2 | 2026-05-07 | 10.18 | 62万手 | 正常交易 | |
| 3 | 2026-05-09 | 10.48 | 95万手 | 周六 | |
| 4 | 2026-05-12 | 10.90 | 0 | 停牌 | |
| 5 | 2026-05-13 | 9.60 | 120万手 | 除权除息 | |
| 6 | 2026-05-14 | 9.85 | 130万手 | 盘后公告利好 |
请你检查:
- 哪一行可能不是交易日。
- 哪一行不能假设正常成交。
- 哪一行需要确认复权口径。
- 哪一行的事件不能提前用于白天交易。
练习 B:写出校对结论
请按下面格式写一句话:
“这段时间序列中,我需要先处理________,再确认________,最后才能把它用于策略信号。”
示例答案:
“这段时间序列中,我需要先处理非交易日和停牌,再确认复权口径,最后才能把它用于策略信号。”
练习 C:给自己的策略加一列备注
回到你第 5 章的纸面回测表。
请新增一列“时间备注”。
遇到以下情况就写入:
- 非交易日后第一天。
- 个股停牌或复牌。
- 分红、送股、转增、除权除息。
- 涨停或跌停。
- 重大公告发布在盘后。
这列备注不会直接告诉你买卖点。
它的作用是提醒你:策略信号必须站在真实时间里接受检查。
核心复盘
知识清单:
- [ ] 时间序列是按时间先后排列的数据,顺序不能随便调换。
- [ ] 日线像每天一篇交易日记,分钟线像把一天拆成很多小日记。
- [ ] A 股交易日不是自然日,周末和节假日没有正常交易日线。
- [ ] 停牌会让个股时间序列中断,也会影响策略能否成交。
- [ ] 分红送转会影响价格口径,复权是为了让历史价格更可比。
- [ ] 时间对齐的核心,是只使用当时已经能看到的数据。
- [ ] 策略信号要放到真实可执行的时间点,不能把收盘后信息提前使用。
金句总结
量化不是把表格排整齐,而是把每一条数据放回它真正出现的那一天。