Databento 导入:Senzoukria 里的“{n} 个交易时段未写入”及其原因

只有当一个导入进来的回放时段既完整又没有歧义时,Senzoukria 才会把它写出来。如果前一天的文件缺失、当天自己的文件缺失、两个文件带着同一个合约、它超出了回放的上限,或者磁盘写入失败,这个时段就不会被写出来。

Senzoukria · 故障排除 · 更新于 2026 年 9 月


概要

消息
“{n} 个交易时段未写入:”,每一天各给一个原因
各种原因
时段开盘的文件缺失 · 当天文件缺失 · 冲突 · 成交过多 · 磁盘写入
回放上限
每个时段 5 000 000 笔成交
结果那一行
“已写入 {n} 个交易时段({contracts}),{first} → {last}。”

你会看到什么

导入结束之后,“{n} 个交易时段未写入:”会把那些日期列出来,每一天带上下面原因之一:“前一天的文件缺失或无法读取(时段开盘)”、“当天的文件缺失或无法读取”、“两个不同文件包含同一合约”、“成交过多,超出 Replay 的上限”、“无法写入磁盘”。如果什么都写不出来:“未能写入任何完整的交易时段。”

为什么会这样

一个 CME 交易日横跨前一个 UTC 文件的末尾和当天自己的文件。只有在这两个文件都被无错读完、而且没有任何宣告过这两天的来源出错时,导入器才会把它写出来;一个缺了开盘或者缺了收盘的日期会被报告出来,绝不会被截断之后拿去回放。同一个合约、同一天有两个不同来源时,它会被拒绝,而不是相加(成交量翻倍)或者随便挑一个。一个超过 5 000 000 笔成交的时段则超出了回放的内存上限。时段是整体重建、原子写入的,所以一次被打断的导入只会留下完整的日期。

如何解决

  • 把缺的那个每日文件补上(常常就是你第一个时段的前一天),然后重新导入一次;重新导入写出来的是同样的字节,永远不会重复计数。
  • 同一个合约、同一天只保留一个来源:不要同时放一个 trades 文件和一个 tbbo 文件。
  • 对一个因为太大而被拒的日期来说,在回放里没有绕过去的办法;请换一天。
  • 碰到磁盘错误时,请在应用的数据文件夹所在盘上腾出空间,然后重试。

它并不意味着什么

  • 不是一个不完整的时段:被拒的日期根本不会被写出来。
  • 也不是由没有主动方的成交造成的:那些成交会被搁置,并在单独的一行里被统计出来。

何时联系技术支持

如果做完这些之后消息又回来了,请通过 菜单 → 问题反馈 或者在 Senzoukria 的 Discord 上报告。请把“交易时段未写入”那份清单,以及那几天对应的文件清单一起粘贴过来。

同一栏目

其他语言版本

常见问题

重新跑一次导入会产生重复的时段吗?
不会。每个时段都是完全从它的来源重建、并且原子写入的,所以第二次跑出来的是同一个文件。
没有主动方的成交会怎么处理?
它们会被搁置并统计出来,绝不会被归成买方成交,因此它们不在这些时段的成交量里;报告会说明这相当于多少手合约。

继续阅读