文件名里没有日期的 Databento 文件不会被 Senzoukria 导入
Senzoukria 是靠 Databento 文件名里的日期来核对一次导出覆盖了哪些天的。一个被改过名、名字里没有日期的文件没法核对,因此不会被导入;请保留 glbx-mdp3-20250910.trades.csv 这样的名字。
Senzoukria · 故障排除 · 更新于 2026 年 9 月
概要
- 消息
- “{n} 个文件的名称中没有日期:无法核实其覆盖的日期,因此不导入。”
- 文件名示例
- glbx-mdp3-20250910.trades.csv
- 相关的一行
- “有 {n} 个工作日没有文件(含节假日)。”
- 位置
- 回放 → 准备 → “导入 Databento 导出文件夹”
你会看到什么
清点报告里写着:“{n} 个文件的名称中没有日期:无法核实其覆盖的日期,因此不导入。请保留 Databento 带日期的文件名(glbx-mdp3-20250910.trades.csv)。”它还会按 schema 分别打印出范围“{schema}:{first} → {last},文件名共标注 {days} 天。”,以及有多少个工作日一个文件都没有。
为什么会这样
一个 CME 交易日是从前一天傍晚的芝加哥时间 17:00 走到 16:00 的,所以它横跨两个按 UTC 日期命名的 Databento 文件。只有当这两个文件都被完整读过之后,一个时段才会被写出来。文件名里的日期宣告了一个文件覆盖哪些天;随后导入器会去核对文件里的成交确实落在那些天之内,在午夜前后留五分钟的容差。一笔落在所宣告日期之外的成交,会把它所在的文件置为错误。而没有日期,上面这些核对一项都做不了。
报告还补充说,文件名只是一种宣告:“文件名只是标注日期。只有当一个交易时段跨越的两个每日文件都被完整读取后,该时段才会被导入。”
所以文件名在这里不是装饰,而是核对的依据:导入器先从名字里读出这个文件宣告覆盖哪些天,再拿文件里成交的时间戳去对照。两边一致,这一天才算被覆盖;名字里什么都没有,这一步就无从开始。
如何解决
- 把 Databento 原来的文件名恢复回去,或者把这次导出重新下载一遍。
- 按 Databento 交付的样子保持一天一个文件;命名为 YYYYMMDD-YYYYMMDD 的区间文件也是接受的,但它的最后一天只有在文件里确实有那一天的成交时才算。
- 把你第一个时段的前一天也包含进来:它的文件里装着那个时段的开盘。
- 清点之后请看一下按 schema 打印出来的那一行范围,确认它宣告的首末日期正是你想导入的那一段。
它并不意味着什么
- 不是内容的问题:这个文件完全可能是好的。
- 也不是节假日造成的缺口:没有文件的工作日会被单独报告出来,而且其中包含节假日。
何时联系技术支持
如果这些都不管用,请通过 菜单 → 问题反馈 或者在 Senzoukria 的 Discord 上联系技术支持。请附上一个文件名的样例(不是内容)和 schema。
相关页面
同一栏目
- 下单格被禁用(价格)
- 热力图空白,数据流却在跑
- Databento 订单簿被拒
- Tradier token 检查失败
- 热力图图形上下文丢失
- 网关没有应答
- 免费 Rithmic 演示账户被拒
- 气泡重建被拒(rp_code 13)
其他语言版本
常见问题
- 为什么我这次导出的第一天没有变成一个时段?
- 它的时段是在前一天傍晚开盘的,那部分在上一个 UTC 文件里。缺了那个文件,这一天会被报告为“前一天的文件缺失或无法读取(时段开盘)”。
- 我能把文件改成好读一点的名字吗?
- 请把日期留在名字里。导入器要靠它来核对一个文件覆盖了哪些天。
- 为什么要把前一天也下载下来?
- 因为一个 CME 交易日是从前一天傍晚芝加哥时间 17:00 开始的,那一段成交在前一天的 UTC 文件里。没有它,这一天的时段就缺了开盘。