以父代码(MNQ.FUT)请求的 Databento DBN 文件不会被导入
Senzoukria 不导入那些以父代码(例如 MNQ.FUT)、或者只以合约 ID 请求出来的 DBN 文件:没有合约定义,里面的合约就没法和价差区分开。请改用合约代码、连续代码,或者带代码的 CSV 重新导出一次。
Senzoukria · 故障排除 · 更新于 2026 年 9 月
概要
- 消息
- “{n} 个 DBN 文件是以父代码(如 MNQ.FUT)或仅以合约 ID 请求的……”
- 可以接受的
- 合约代码(MNQZ5、MNQH6…)、连续代码(MNQ.v.0),或者带代码的 CSV
- 原因
- 一个父代码的映射里包含价差,而在没有合约定义时,它和一个单腿合约分不开
- 位置
- 回放 → 准备 → “导入 Databento 导出文件夹”
你会看到什么
清点报告里写着:“{n} 个 DBN 文件是以父代码(如 MNQ.FUT)或仅以合约 ID 请求的。没有合约定义,文件中的合约无法与价差区分,因此不导入。请用合约代码(MNQZ5、MNQH6…)、连续代码(MNQ.v.0)或带代码的 CSV 重新导出。”
为什么会这样
导入器是靠文件里存着的代码映射(symbol mapping),一个合约一个合约地给它们命名的。像 MNQU6 这样一个原始合约代码,就是目录里的一个合约。像 MNQ.v.0 这样一条连续序列并不指名具体合约,它会变成 MNQ 这个根下面的一条序列。而一个父代码会映射到这个产品的每一个合约,价差也在里面;把一个跨月价差的价格混进一个单腿合约,会把整个时段弄脏,而单靠这个文件本身是分不开它们的。
一条连续序列或者一个原始代码只包含它自己的那些合约,所以这样的文件只为那些合约覆盖它所包含的日期。这样做可以避免把移仓那一天写两遍、每个合约各写一半。
如何解决
- 在你的 Databento 请求里,把你想要的合约代码逐个列出来(例如 MNQZ5 和 MNQH6),或者用一个连续代码,例如 MNQ.v.0。
- 也可以换成带代码的 CSV 导出。
- 请保留 Databento 生成的文件名;里面的日期会被用来核对覆盖范围。
- 重新清点一次这个文件夹,确认这些文件现在出现在已识别的成交文件里。
它并不意味着什么
- 不是 DBN 文件坏了:这个文件能解码,卡住它的是代码体系(symbology)。
- 也不是许可的问题:这件事说的是这次导出是怎么请求出来的。
何时联系技术支持
经过这些检查之后还是卡住?请用 菜单 → 问题反馈,或者发到 Senzoukria 的 Discord 上。请说明你在 Databento 的请求里选的是哪一种代码体系(父代码、合约 ID、原始代码,还是连续代码)。
相关页面
同一栏目
- Tradier token 检查失败
- 下单格被禁用(价格)
- 网关没有应答
- 气泡重建被拒(rp_code 13)
- 热力图空白,数据流却在跑
- AI 模型无法连通
- Databento 订单簿被拒
- Big Trades 不显示
其他语言版本
常见问题
- 价差会被导入吗?
- 不会。价差上的成交、以及目录之外的合约上的成交,都只会被统计和报告出来,不会被导入。
- 做回放的话,原始代码和 MNQ.v.0 哪个更好?
- 原始代码给出的时段是按真实合约命名的。连续代码同样可用,而且每一天都会保留那条序列当时指向的那个合约。