累计成交量不能直接相加:跨午休和重置点怎样还原增量
累计成交量必须先按来源声明的重置边界还原增量,再汇总。本例上午末累计二百五十股,下午末累计一百八十股,净差分合计四百三十股;但下午存在负差,四百三十只能作为勾稽候选,尚不能确认为真实日量。直接把七个累计读数相加会得到九百零五股,重复计入已经出现的成交。
会话重置先于差分
本篇构造两个会话M与A,时间显示为同一教学日的本地钟点,不对应某交易所制度。字段单位全为股,M首条和A首条均由来源契约声明从零开始累计,不是程序看到午休就自行猜测重置。原始输入按事件顺序排列,首条前本会话累计基数为零。
完整构造输入如下。时间和状态按本篇约定解释,JSON中的null代表未知而非零:
{
"confirmed_correction": [
100,
160,
250,
40,
90,
125,
180
],
"confirmed_day_cumulative": [
100,
160,
250,
290,
340,
375,
430
],
"rows": [
[
"M",
"09:30",
100
],
[
"M",
"09:31",
160
],
[
"M",
"11:30",
250
],
[
"A",
"13:00",
40
],
[
"A",
"13:01",
90
],
[
"A",
"13:02",
85
],
[
"A",
"15:00",
180
]
],
"session_reset": true,
"unit": "股"
}
如果供应商的下午读数延续上午,全日只重置一次,就必须改用全日分组。本篇把这两种契约作为对照,不能因下午第一笔比上午末笔小,就倒推任何数据源都在午休归零。缺少字段说明时,应记录“累计范围未知”并停止确定性日总量,而不是试着挑出一个最平滑的结果。
区间成交量本来就是每段新增,通常可以相加;累计成交量是状态,连续读数包含前面读数。这个区分与手股单位不同:即使全部已换为股,直接相加累计仍然错。重复观察频率越高,直接和往往越大,这说明它主要反映你采了多少次,不一定反映市场成交了多少。
逐笔差分和异常负差怎样并列
对同会话非首条,增量等于本次累计减前次累计;首条直接减声明基数零。以下“暂可用”只表示该处差分不负,整日尚需完成异常核实:
| 会话 | 原始差分 | 时刻 | 状态 | 累计股 | 重置 |
|---|---|---|---|---|---|
| M | 100 | 09:30 | 暂可用 | 100 | 是 |
| M | 60 | 09:31 | 暂可用 | 160 | 否 |
| M | 90 | 11:30 | 暂可用 | 250 | 否 |
| A | 40 | 13:00 | 暂可用 | 40 | 是 |
| A | 50 | 13:01 | 暂可用 | 90 | 否 |
| A | -5 | 13:02 | 负差待核 | 85 | 否 |
| A | 95 | 15:00 | 暂可用 | 180 | 否 |
上午依次一百、六十、九十,合计二百五十。下午第一笔四十,随后五十,再出现负五,最后九十五。负五可能来自更正、断序、字段回退或未声明重置;单凭数值无法选定成因。不要把负五取绝对值,也不要悄悄截成零,后面的九十五是相对八十五计算,修改一处却不改相邻处会把同一段量算两次。
负差传播可用13:02说明。若该读数其实应为一百二十五,13:01到13:02应新增三十五,13:02到末笔应新增五十五,两段合计仍为九十。原始负五与九十五也合计九十,末端勾稽一致,但路径语义完全不同。因此日总数闭合不能证明每个分钟增量可用,尤其不能据此做流动性或分钟量指标。
会话末值和日量怎样相互核对
| 会话 | 差分净和 | 末累计 |
|---|---|---|
| M | 250 | 250 |
| A | 180 | 180 |
每个会话的差分净和等于末累计减起始基数,这是望远镜消去的代数关系,不是外部准确性证明。本例上午二百五十、下午一百八十,净和四百三十。只要差分按同一输入相邻相减,这条等式即使含错行也成立。所以必须在旁边报告负差数、起始基数依据和重置状态,不能只给一个绿色的“日合计一致”。
若第一条不是会话开始时取得,而且没有明确知道此前累计基数,把首条整个计为新增只适合重建会话总量,不能宣称它全发生于第一条显示的那个短区间。历史样本里首条一百可能涵盖更早未采到的交易,归属到09:30只是本例人为区间约定。真实应用应保留采样区间而不是只留单个时间标签。
三个条件怎样改变可确认结论
| 可确认日量 | 差分净和 | 条件 | 正差相加 | 直接和 | 负差数 |
|---|---|---|---|---|---|
| — | 430 | 基线待核 | 435 | 905 | 1 |
| 430 | 430 | 源方确认13:02应为125 | 430 | 945 | 0 |
| 430 | 430 | 源方确认下午沿用全日累计 | 430 | 1945 | 0 |
基线直接和九百零五,正差相加四百三十五,比净和多五。这个额外五来自抹掉负差却仍保留之后回升的差分,是错误清洗带来的人工成交量。负差未解释时,表里“可确认日量”为空,不能把空误解为成交为零或只少五股。
第二行加入一项明确的构造更正证据:源方确认13:02应为一百二十五。重算后直接和九百四十五,差分均非负,可确认日量四百三十。直接和反而变大四十,真实候选日量没变,进一步显示累计状态和不具备日成交量含义。更正只影响邻接两个增量,不能让整天其他数据随意变化。
第三行假设另一份契约明确下午沿用全日累计,下午读数改为二百九十、三百四十、三百七十五、四百三十,以同一全日分组计算,仍得到四百三十。这里是另一个完整输入情景,不是把原始下午四十硬解释为全日累计。若对原始值跨午休直接做全日差分,会出现负二百一十,程序应拒绝将它解释成正常卖出量。
实际执行该留下什么记录
按证券、交易日、来源以及已声明会话键排序,检查累计语义和起始基数,再生成重置标志、原始差分和异常原因。保留负差原值,不在检查层自动修补。确认更正后同时重建前后相邻区间,并核对会话末值、日总量和进入特征的逐分钟量。若来源发布了多次修订,还应冻结所用版本。
异常是按数据字段语义判断的。某些累计字段可能允许事后撤销,更正后净量下降并非机械错误;此时需要单列撤销事件与重放规则,不能复用本篇“普通成交累加非负”的解释。缺事件序号、乱序或缺首条也会影响差分,本文输入顺序完整,未模拟网络重传与并发。
来源支持与计算边界
pandas Series.diff定义与示例支持相邻观察相减,首条在普通差分中没有前值。本文为每个已声明会话额外给零基数,才可计算首条增量;这个基数来自构造契约,不是差分函数自动知道真实会话起量。
pandas resample原始文档的Parameters区分重采样边界与标签,本文读取该参数区及示例。它不定义任何行情接口的累计字段或午休重置,本篇会话、基数和更正都是构造假设,核对日为2026年10月24日。本文用标准库按状态差分,不把来源中的聚合示例当作实际市场累计规则。
只有累计范围已知、排序可靠、重置可解释时,这张表才能进入后续汇总。缺少其中一项,仍可交付原始差分和待核台账,但不能承诺完整的分钟成交量。比起给出一个看似漂亮的日合计,说明哪些区间尚无法确认更有助于防止错误流入下游。
数据六项自查母文用于检查总体数据健康。样本分割基础工具只辅助理解训练与检验样本的划分;本篇专门的逐行审计由教学表和标准库脚本完成,工具没有内置这些检查。相关核对可继续阅读OHLC数据质量逻辑校验、分钟K线重采样边界。
道积君编辑组,AI辅助编写与核算。本文为构造教学样本,公开脚本只使用Python标准库,默认在脚本同目录生成UTF-8、LF换行的JSON;不依赖pandas、网络或仓库。没有实测第三方框架或实际交易系统,不据此推断真实收益、成交或数据源可靠性。
复算资料
本篇编号DJ4-046。下载Python复算脚本(文本)与构造输入输出JSON,按编号核对本篇。脚本改存为.py后可用Python标准库运行,数据不是实际用户记录。