国债逆回购自动下单:券商功能还是自己用 QMT?
先说结论:如果只是偶尔做国债逆回购,券商自带的自动下单功能很省心,值得用服务费换便利;但如果每天都用较大闲置资金做一天期逆回购,额外服务费会变成一笔持续的交易摩擦。
我看到的两个券商自动下单页面,费率分别是:
1 | 自动方案 A:0.003%,每 10 万元收费 3 元 |
而一天期国债逆回购常见的手动佣金示例是:
1 | 手动下单:0.001%,每 10 万元收费 1 元 |
如果每年按 240 个交易日估算,每天用 10 万元做一天期逆回购:
| 方式 | 每次费用 | 年费用 |
|---|---|---|
| 手动下单 | 1 元 | 240 元 |
| 自动方案 A | 3 元 | 720 元 |
| 自动方案 B | 3.5 元 | 840 元 |
也就是说,每 10 万元一年可能多付 480 到 600 元。如果资金是 100 万元,就对应 4,800 到 6,000 元。
这就是我没有直接打开券商自动下单,而是考虑用 QMT 和 Python 自己做一套自动化的主要原因。
本文只是记录我的计算和实现思路,不构成投资建议。不同券商、账户和逆回购期限的佣金可能不同,请以开户券商的最新收费说明和实际交割单为准。
券商自动下单贵在哪里?
券商自动下单解决的是“每天记得操作”的问题。它通常会在指定时间检查账户可用资金,扣除用户设置的预留金额,然后把剩余资金用于国债逆回购。部分功能还会判断收益是否覆盖手续费,或者自动撤销未成交委托。
这类功能最大的优点是省心:不用写代码,不用维护 QMT,不用担心程序断线。
但问题也在这里:它把“省心”做成了一项额外收费服务。
下面两张是我看到的券商页面截图。因为原图是很长的手机截图,这里只展示关键费率区域;点击图片可以查看完整截图。
单次多 2 元或 2.5 元,看起来不大。但一天期逆回购如果每天都做,频率会把小费用放大。
| 自动频率 | 年交易次数示例 | 方案 A 额外费用 / 10 万元 | 方案 B 额外费用 / 10 万元 |
|---|---|---|---|
| 每半年一次 | 2 次 | 4 元 | 5 元 |
| 每月一次 | 12 次 | 24 元 | 30 元 |
| 每周一次 | 52 次 | 104 元 | 130 元 |
| 每个交易日一次 | 240 次 | 480 元 | 600 元 |
所以关键不是“券商自动功能能不能用”,而是你的使用频率和资金规模是否值得为它付费。
低利率环境下,手续费会更显眼
假设用 10 万元做一天期逆回购,成交年化利率是 1.5%。按 365 天口径粗略计算:
1 | 毛收益 = 100000 × 1.5% ÷ 365 ≈ 4.11 元 |
扣除费用后:
| 下单方式 | 毛收益 | 手续费 | 净收益 |
|---|---|---|---|
| 手动下单 | 4.11 元 | 1 元 | 3.11 元 |
| 自动方案 A | 4.11 元 | 3 元 | 1.11 元 |
| 自动方案 B | 4.11 元 | 3.5 元 | 0.61 元 |
这就是我在意这件事的原因。
自动下单当然不是永远不划算。比如节假日前,一天期品种可能获得多个实际计息日,这时手续费占比会下降。但在大量普通交易日,尤其是利率偏低时,自动服务费会吃掉相当一部分净收益。
什么时候用券商功能,什么时候自己做?
我的判断很简单:
| 场景 | 更适合 |
|---|---|
| 低频操作,资金规模不大,只想省心 | 券商自动下单 |
| 不熟悉 Python,不愿维护 Windows / QMT | 券商自动下单 |
| 每天都有较大闲置资金 | QMT 自建程序 |
| 已经有 QMT、Python、日志和通知系统 | QMT 自建程序 |
| 想比较沪深利率、动态设置门槛、接入自定义通知 | QMT 自建程序 |
换句话说,券商功能卖的是便利;自建程序买的是控制权。
如果一个人平时不写程序,也没有长期运行的交易终端,为了每 10 万元每年省几百元去搭系统,可能并不划算。但如果已经有 QMT 和自动化环境,逆回购自动下单只是把已有能力再接上一段。
对我来说,它不只是省服务费,更重要的是让账户资金管理变得可观测、可追溯、可控制。
我的 QMT 实现思路
完整代码我放在这个 Gist 里,建议直接用 AI 帮你读一遍:
https://gist.github.com/corvofeng/5870cf0357600293e7ebee9d2237b182
程序核心目标只有一个:每天固定时间检查账户,如果条件合适,就把闲置资金拿去做一天期逆回购;如果条件不合适,就记录原因并跳过。
大致流程是:
1 | 启动策略 |
这里真正重要的不是“会调用下单接口”,而是这些保护:
- 不要把账户可用资金全部扫进去,要预留现金和安全缓冲;
- 下单金额要向下取整到合规交易单位;
- 先用最小金额实盘验证委托数量、买卖方向、价格字段和手续费;
- 用当日唯一备注、当日委托查询和内存状态一起防止重复下单;
- 区分“已触发”“已提交”“已成交”“已失败”,不要把提交请求当成成交结果;
- 接入通知,让资金不足、利率过低、委托失败、部分成交等情况都能被看见;
- 默认开启模拟模式,稳定后再逐步提高最大交易金额。
自动交易最怕的不是程序不会下单,而是程序太会下单。现金管理工具应该追求可靠,而不是聪明。
总结
券商自动逆回购功能并不是不好。它的本质是:用户用额外服务费,换取无需开发、无需维护、无需每天记得操作。
低频使用时,这个交换很合理。每 10 万元一年可能只多花几元到几十元。
但如果每天都做一天期逆回购,额外费用会持续发生。按 240 个交易日估算,每 10 万元一年可能比手动多付 480 到 600 元;100 万元则可能多付 4,800 到 6,000 元。
所以我的选择是:如果本来没有自动化环境,就用券商功能省心;如果已经有 QMT、Python 和通知系统,就自己做,把这笔交易摩擦降下来。
国债逆回购本身只是一个很小的功能,但它背后是同一个问题:交易收益不只来自判断,也来自减少不必要的摩擦。能省下来的服务费、能记录下来的执行链路、能提前拦住的异常,最后都会变成系统的一部分。
参考资料
迅投 QMT 内置 Python 知识库,
ContextInfo.run_time()定时器及 Python API 说明:
https://docs.thinktrader.net/vip/QMT/迅投系统函数文档,
ContextInfo.run_time():
https://dict.thinktrader.net/innerApi/system_function.html迅投 QMT 官方网站:
https://www.thinktrader.net/平安证券投资者教育页面,国债逆回购手续费示例:一天期每 10 万元收取 1 元:
https://m.stock.pingan.com/omm/mobile/zixun/m.html?adid=1000000000007387&id=1000016796&infid=1000016797证券时报关于国债逆回购费用和计息规则的报道:
https://stcn.com/article/detail/1504170.html上交所关于 2017 年 5 月 22 日开始实施债券质押式回购新规的说明,提到全年计息天数从 360 天改为 365 天,并按资金实际占款天数计息:
https://www.sse.com.cn/aboutus/mediacenter/hotandd/c/c_20170519_4313753.shtml深交所《债券交易实施细则》相关公式中,回购购回价按实际占款天数 / 365 计算:
https://docs.static.szse.cn/www/disclosure/notice/W020210512409004773670.pdf本文中的券商自动服务费率、自动撤单和最低委托利率说明,来自作者账户内券商功能页面截图。不同券商和账户可能不同。