QMT量化交易中的vba支持内置/原生python,并行计算速度提升10-100倍.
极速策略交易系统QMT,为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端,拥有高速行情、极速交易、策略交易、多维度风控等专业功能,面向专业投资者,支持高频及复杂策略。
●核心特点:
◆本地化运行:策略在用户电脑本地执行,数据保密性强;
◆高性能:单笔交易延迟毫秒级别,支持Tick级回测;
◆编程灵活:支持Python/VBA双语言,可调用本地文件及多方数据库;
◆交易品种:股票、基金(ETF、LOF)、债券、港股通、融资融券、期权、期货等全品种;
◆适用场景:策略编写、高频交易、跨市场策略开发,适合有编程经验的投资者。
Qmt中的vba是个好东西啊,他能支持内置/原生Py,并行计算速度提升10-100倍。
场景:
大家常常在问,有些函数 python 没有,但 vba 有(先建一个 vba 公式使用这个函数,再用 py 去调这个公式的变量),或者 py 单线程计算速度慢,怎么把计算机多核资源用满提升速度,那就用 python 实时调用 vba 指标,在投研软件里面,调用一个接口就能解决:
而这里的formula_name (指标名称)可以改成任何希望获取的指标,同样 start_time 和 end_time 的选择也取决于需求。
方法:
1、内置 Python
策略代码如下:
返回结果:
原生Python如何使用:
策略代码如下:
返回结果:
传递参数 extend_param:
更高阶的应用,就是我们给指标设置了相应的参数之后,如何在调用的时候,把我们想要的参数传进去呢?
我们需要分别做两个设置:
1、在指标的参数选项中,设置你要的变量和对应的值,比如我这里设置的参数名是 s,参数值是沪深300。
2、接下来,在你的call_formula 函数中,参数 extend_param 可以以字典的形式,一一对应设置你想要的参数,它就会把参数传入到指标对应参数名的地方。
3、这里你要确保指标名字写准确,同时stock_code 是你要跑的主图代码,比如计算板块涨跌幅,我们尽量用指数作为主图,确保时间长度足够。
Tips:
1.调用call_formula 接口前不要忘记先调用一次 subscribe_quote 接口订阅,这样可以获取到盘中动态的结果。
2. 在示例中,程序用了while 1 的死循环,需要在终端敲击 CTRL + C 或是手动终止程序。
QMT、miniQMT、PTrade量化交易软件,可以线上低门槛、免费开通、免费使用。
欢迎点赞、转发、留言!