QMT 内置策略被封掉文件读写和外部网络(前因后果见上一篇)之后,群里和后台问我最多的就是一句:“要不要转 PTrade?”
问这话的人,心里多半有个想法:PTrade 是”还没被管的 QMT”,趁现在没收紧,赶紧迁过去占个坑。
说实话,这个想法从根上就错了。
PTrade 不是”没被限制的 QMT”
先说说 PTrade 到底是个啥。它是恒生电子做的量化终端,券商采购回来给用户用,跟 QMT(迅投)是两家公司的两条产品线。
但它俩的关系,不是一个开放一个封闭。恰恰相反——PTrade 出厂那天起,就是监管想要的最终形态:
你的策略跑在券商机房的服务器上,不在你自己电脑里。好处显而易见:你电脑关机、家里断网,策略照样跑。代价呢?策略摸不到你本地的任何文件。注意,不是”被禁止”,是架构上压根就没有这回事——代码在别人机房,怎么读你家硬盘?
网络也一样。策略在券商内网里,连互联网都出不去。微信推送、调外部 API、爬数据?转过去一样干不了。如果你的策略就靠这些外部交互活着,换平台一分钱问题都解决不了。
第三方库是白名单制,还不能自己 pip 装,比 QMT 封得还死。Python 版本更离谱,多数券商还停在 3.5,只有少数升到了 3.11。代码还得上传到券商云端存着,保密性肯定不如在自己本地。
所以你看,10 月 23 日之后,QMT 内置策略其实是一路朝着 PTrade 的形态狂奔:封闭沙箱、标准接口、白名单库。**这俩平台的差别在缩小,不是在拉大。**想靠换平台”逃离监管”,方向就搞反了。
顺便澄清另一个常见误会。QMT 新增”禁止公有云虚拟机”,管的是策略运行环境——怕生成交易指令的地方不可追溯。PTrade 的客户端装在虚拟机里没事,因为那客户端就是个管理界面,真正生成指令的策略在券商机房跑着,本来就在人家眼皮底下,天然可审计。
区别到底有多少
话虽这么说,两个平台用起来差别还是实打实的。我列个表:
| 维度 | QMT(10·23 后) | PTrade |
|---|---|---|
| 策略跑在哪 | 本地客户端(且禁公有云虚拟机) | 券商机房,云端托管 |
| 电脑关机 | 策略停 | 照常运行 |
| Python | 3.6.8(新客户端 3.12) | 多数券商 3.5,少数 3.11 |
| 第三方库 | 白名单,可下载部分库 | 白名单,不能自装 |
| 文件读写 | 已禁止 | 架构上不存在 |
| 外部网络 | 已禁止 | 内网隔离 |
| API 体系 | ContextInfo / handlebar / passorder |
initialize / handle_data / order |
| 回测 | 本地,Tick 级、长历史、参数寻优 | 云端,日线+分钟为主,盘中回测多数券商已停 |
| 品种 | 股票/ETF/可转债/期权/期货/北交所/港股通 | 股票/ETF/可转债/债券为主,期权基本没有 |
| 源码 | 本地,可加密 | 上传券商云端 |
| 门槛 | 各券商不同 | 各券商不同,大致同级 |
这表里有两行我想单独拎出来说。
一行是 API 体系,这是迁移最贵的成本。两套接口完全不兼容,ContextInfo 换成 context,handlebar 换成 handle_data,下单、查持仓、取行情全都得重写。所谓”迁移”,不是把代码复制过去改改函数名,是整个策略连数据管道重做一遍。
另一行是电脑关机策略照跑。折腾过心跳、看门狗、UPS、远程开机那一整套的人(我之前还写过监控与心跳报警),都懂”托管”这俩字值多少钱——你费劲搭的那套运维体系,人家 PTrade 天生自带。
什么人该转,什么人别折腾
先说可以认真考虑的:
做网格、轮动、定投、可转债 T+0 这类中低频策略的,用不到 tick 回测,也不依赖外部数据,迁移损失最小;家里没有(或者不想再伺候)一台 24 小时开机的主机,被断电断网看门狗折腾累了的;还有就是想分散一下平台风险的——万一迅投哪天再来一份新通知呢?最后就是在意合规确定性的:PTrade 现在这个样子就是监管画的终点线,往后能收紧的空间不大了。
再说不建议转的:
策略靠外部数据、消息推送、桥接外部程序活着的,别转了,PTrade 内网隔离,转过去问题原封不动还在那;离不开 tick 级回测、十年以上历史数据、参数寻优的,回测是 PTrade 明显的短板;做期货期权的,PTrade 基本不支持;最后一种——策略本来就是纯内置、无外部交互,在 QMT 上跑得好好的,那换平台就更没有意义。
还有一类人卡在中间:策略确实需要外部交互,但不是不能改。比如推送改成盘后自己看导出文件,外部数据改成内置行情凑合。这类人该做的不是换平台,是先做沙箱化改造,改完再数数需求还剩几个。
真想试的话,花一个月,别花一年
最忌讳的就是看完一篇文章(包括这篇),热血上头开始重写策略。
低成本的做法是这样的:先找一家两个平台都支持的券商,很多券商资产达标可以同时开 QMT 和 PTrade 权限,不用销户折腾。然后挑一个最简单的策略迁到 PTrade 仿真环境——千万别拿核心策略练手。迁移的过程会逼你搞清楚一堆事:白名单里到底有哪些库、Python 到底是几点几、数据接口的质量和覆盖怎么样、下单链路有哪些坑。
然后仿真跑满一个月。重点看三件事:策略行为跟预期一不一致、数据有没有坑、你能不能忍它的开发体验。
一个月之后,你手里拿的就是自己环境的实测结论,不是网上抄来抄去的对比表。各家营销文章里关于品种、门槛、行情档位的说法出入很大,只有你开户券商的仿真环境不骗你。
写在最后
10·23 之后,QMT 和 PTrade 正在变成同一个物种的两个档位:QMT 是”本地跑的高配版”,PTrade 是”托管跑的省心版”。
所以该不该换,取决于你要不要”托管”,而不是要不要”逃”。封的是通道,不是工具本身。先想清楚你的策略到底依赖什么,再决定换不换——这个顺序,别反。
相关文章:券商限制 QMT 文件读写与网络连接解读、写个探针测你的客户端封了什么、QMT 自动导出交易记录与持仓、QMT 从入门到实盘。
⚠️ 免责声明
- 本文两平台的功能描述来自公开资料与第三方文档,各券商的版本、白名单、门槛与执行尺度不同,请以开户券商官方说明与实测为准
- 本文不构成任何投资建议,平台选择与策略迁移的决策及后果由读者自行承担
- 请勿将任何平台的功能用于绕过券商或监管的限制