返回列表 发布新帖

QMT的Python升到3.12了,支持库清单重磅更新,速看

31 0

最近QMT的python版本更新,策略从3.6.8切换编译器到3.12,会发现提示有的库没有,我具体仔细去看了一下对比3.6.8少了不少的模块,没有的模块只能自己pip安装,主要注意里面模块的兼容,具体安装教程可以参考

重磅更新--QMT支持Tushare,数据源终于不用折腾了

下面是大概整理的目前支持的模块

1数据分析模块

6d5da1d6f9c94c6263db4462416518cd.png

2机器学习模块

d78513b844562f1eed80bbc22a81e3c4.png

3量化交易模块

81a157f6c492a47b254c74af11196b89.png

4算法优化模块

2dbc836ad03af29509d07655c518a556.png

5可视化模块

30c10594a32f110502ea230e1d00e27c.png

6文件操作模块

8a5c8ca1ce3af2ecc7296141deb465d2.png

7网络模块

a0d2cf4af1b862fdbd509620208006cd.png

b91662a7ca7043f7840dc93ec36c1f2b.png

8标准库模块

fff5e9ef80789f0898901eda090a49ad.png

a9a466bfa3a52064b6291d54a266c0ca.png

da1c58801bf56d1324ef4cbb12241733.png

重点安最新规定会被限制的模块我也整理了一下

三种策略会立刻断,两种没事,一种必须实测

会立刻断:① 靠 CSV / Excel / JSON / Pickle 读参数或存状态的;② 靠 requests / HTTP / Socket / Redis / ZMQ 取数或桥接的;③ 靠 joblib / pickle 落盘保存模型或跨日状态的。这些不是"可能有问题",是链路直接中断。

没事:① 用 xtdata 取行情、xttrader 下单、账户接口查持仓的,这个模块虽然有,但是我测试了没有用;② 纯内存计算——talib 算指标、numpy 算数组、pandas 做滚动统计,扫描确认它们完全不碰磁盘。技术指标库 <span leaf="">talib</span> 是全环境最干净的一个,一个危险调用都没有。

全部第三方库风险评级高风险的

注意里面使用的库,安新规定会被限制使用部分模块,涉及到io,网络的

78e2e84175fb9687e5627d9e7dab230a.png

88f6a46e5413257db105fb2bef629afa.png

3aebb224aa6b44fa841d82fd0a2f609f.png

2有条件的使用部分限制的模块

3b006add40296b5eb96616ddc0ecfb4d.png

86d90c3692b2ef690ddec3e1311db824.png

ec23a7f3460b561ce07f656d06101eaa.png

3安全的库主要是内置的模块

cbbfd3422d7a86d83dff26e2461f477f.png

1ab45d16aa7eab031b39601666a98423.png

4标准库里的受限与安全模块

标准库默认被当成"基础能力",但这次限制恰恰也覆盖它——open 本身就是内建函数,sqlite3、socket、subprocess 一样受限。好消息是计算类的标准库全部安全,回测的数学内核不受任何影响。

39ed5e27d056beca02ce42a89bec744b.png

28ff141081758e4baad132cf31eff6d8.png

没有影响的模块,不涉及到文件的操作

f740f91bc5f71f56f89b55dd84157a17.png

两个最容易误判的标准库

json 与 pickle 不是一刀切禁用:<span leaf="">json.loads(字符串)</span>、<span leaf="">json.dumps(对象)</span>、<span leaf="">pickle.loads(字节)</span> 是纯内存操作,完全没问题;只有带文件对象或路径的 <span leaf="">json.load(f)</span> / <span leaf="">pickle.dump(obj, f)</span> 才受限。这个区别决定了你还能不能用配置字符串初始化策略。

logging 也不算全禁:<span leaf="">logging.getLogger()</span> 加 <span leaf="">StreamHandler</span>(默认控制台输出)是安全的,走后套 QMT 日志体系;受限的是 <span leaf="">FileHandler</span> 以及自己用 open 写的自定义 handler。

需要修改的内容,主要是把外部改成内部

68c8a671c3afc48fb650ee6b44059a39.png

e7bff67115c77f6f2f0253152f8725b1.png

这次调整对策略的实质要求,不是"换一批库",而是把数据入口收到 QMT 内部。指标计算、因子运算、组合优化这些纯内存的活,现有库一个都不用换——talib、numpy、scipy、cvxpy 都安全;真正要改的是数据的进出口:参数从文件搬进代码

不懂的问我就可以,加我备注入群可以加入量化交流群,找我开qmt,ptrade都可以专业量化支持

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2026 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表