← 返回文章库

累计成交量不能直接相加:跨午休和重置点怎样还原增量

2026-10-24 · L5

累计成交量必须先按来源声明的重置边界还原增量,再汇总。本例上午末累计二百五十股,下午末累计一百八十股,净差分合计四百三十股;但下午存在负差,四百三十只能作为勾稽候选,尚不能确认为真实日量。直接把七个累计读数相加会得到九百零五股,重复计入已经出现的成交。

会话重置先于差分

本篇构造两个会话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": "股"
}

如果供应商的下午读数延续上午,全日只重置一次,就必须改用全日分组。本篇把这两种契约作为对照,不能因下午第一笔比上午末笔小,就倒推任何数据源都在午休归零。缺少字段说明时,应记录“累计范围未知”并停止确定性日总量,而不是试着挑出一个最平滑的结果。

区间成交量本来就是每段新增,通常可以相加;累计成交量是状态,连续读数包含前面读数。这个区分与手股单位不同:即使全部已换为股,直接相加累计仍然错。重复观察频率越高,直接和往往越大,这说明它主要反映你采了多少次,不一定反映市场成交了多少。

逐笔差分和异常负差怎样并列

对同会话非首条,增量等于本次累计减前次累计;首条直接减声明基数零。以下“暂可用”只表示该处差分不负,整日尚需完成异常核实:

会话原始差分时刻状态累计股重置
M10009:30暂可用100是
M6009:31暂可用160否
M9011:30暂可用250否
A4013:00暂可用40是
A5013:01暂可用90否
A-513:02负差待核85否
A9515:00暂可用180否

上午依次一百、六十、九十,合计二百五十。下午第一笔四十,随后五十,再出现负五,最后九十五。负五可能来自更正、断序、字段回退或未声明重置;单凭数值无法选定成因。不要把负五取绝对值,也不要悄悄截成零,后面的九十五是相对八十五计算,修改一处却不改相邻处会把同一段量算两次。

负差传播可用13:02说明。若该读数其实应为一百二十五,13:01到13:02应新增三十五,13:02到末笔应新增五十五,两段合计仍为九十。原始负五与九十五也合计九十,末端勾稽一致,但路径语义完全不同。因此日总数闭合不能证明每个分钟增量可用,尤其不能据此做流动性或分钟量指标。

会话末值和日量怎样相互核对

会话差分净和末累计
M250250
A180180

每个会话的差分净和等于末累计减起始基数,这是望远镜消去的代数关系,不是外部准确性证明。本例上午二百五十、下午一百八十,净和四百三十。只要差分按同一输入相邻相减,这条等式即使含错行也成立。所以必须在旁边报告负差数、起始基数依据和重置状态,不能只给一个绿色的“日合计一致”。

若第一条不是会话开始时取得,而且没有明确知道此前累计基数,把首条整个计为新增只适合重建会话总量,不能宣称它全发生于第一条显示的那个短区间。历史样本里首条一百可能涵盖更早未采到的交易,归属到09:30只是本例人为区间约定。真实应用应保留采样区间而不是只留单个时间标签。

三个条件怎样改变可确认结论

可确认日量差分净和条件正差相加直接和负差数
—430基线待核4359051
430430源方确认13:02应为1254309450
430430源方确认下午沿用全日累计43019450

基线直接和九百零五,正差相加四百三十五,比净和多五。这个额外五来自抹掉负差却仍保留之后回升的差分,是错误清洗带来的人工成交量。负差未解释时,表里“可确认日量”为空,不能把空误解为成交为零或只少五股。

第二行加入一项明确的构造更正证据:源方确认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标准库运行,数据不是实际用户记录。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。