数据日期、交易日与自然日怎么区分
周六打开页面,看到的「数据日期」多半还是周五。这不是没更新,而是那天根本没有新的交易数据。把三种日期分清,记录就不会错位。
三种常见的日期标签
数据日期:这份数据对应的交易日。交易日:交易所开市、有成交记录的日子。自然日:日历上的每一天,包含周末与节假日。此外有的页面还会标「生成时间」,指这份页面或缓存被产出的时刻,与数据日期不是一回事。
举例:某周五为交易日,周六、周日为自然日但不是交易日。周六页面上「数据日期」仍显示周五,同时「生成时间」可能是周六上午。两个日期各说各的,都正确。
跨周末时记录怎么写
规范做法是每行只记一个交易日编号,不因为周末没有数据就补两行空记录。举例:某周交易日依次为周一至周五,共 5 个;自然日周一至周日共 7 天。若按自然日补空行,表就会多出 7 − 5 = 2 行,做 5 日滚动窗口时会把空行算进去。
节假日同理:若某周有一天休市,交易日为 4 个,近 5 个交易日窗口就要往前跨到上一周,而不是只取本周 4 天。
区间按交易日计数
「近 5 个交易日」不是「过去 5 天」。举例:从周三往前数 5 个交易日,依次是周三、周二、周一、上周五、上周四,中间跨过一个周末,实际横跨 7 个自然日。校验:7 − 5 = 2 天,正好是周末两天。
若误按自然日取数,会把周末两天当成 0 值塞进窗口,累计结果随之失真。所以窗口定义里必须写「交易日」,并在表头注明。
时区与截止时刻
涉及跨日记录时,还要确认页面按哪个时区判定日期,以及当日数据何时定稿。稳妥做法是把「交易日」和「截止时刻」分成两列,而不是用一个时间戳代替。
举例:同样是「周五数据」,一份标注截止 15:00(收盘定稿),另一份标注截止 11:30(盘中快照),虽然数据日期相同,数值却不能直接比较。
| 标签 | 含义 | 周六示例 |
|---|---|---|
| 数据日期 | 数据对应的交易日 | 显示上周五 |
| 生成时间 | 页面或缓存产出时刻 | 显示周六上午 |
| 自然日 | 日历上的日期 | 周六 |
| 交易日 | 有成交记录的日子 | 无 |
常见误区
- 周末没有新数据就补空行,污染滚动窗口。
- 把「近 5 个交易日」当成「过去 5 个自然日」。
- 把生成时间当成数据日期。
- 同一数据日期下混用盘中快照与收盘定稿。
常见问题
周六页面上的日期还是周五,是没更新吗?
通常不是。数据日期指对应的交易日,周末没有新的交易数据,日期保持不变是正常的。
近 5 个交易日可能横跨几天自然日?
含一个周末时通常横跨 7 个自然日,遇节假日会更长。
同一个数据日期为什么两处数值不同?
可能一处是盘中快照、一处是收盘定稿,截止时刻不同。记录时把截止时刻单独列出来。