返回列表 发布新帖

比纯 Py 快100倍?还能一种框架同时支持回测与实盘?—Python 调用因子公式(VBA)

5226 2
发表于 2024-3-24 23:33:18 | 显示全部楼层 阅读模式
有没有一种框架同时支持回测与实盘?

如果想写一个框架覆盖回测与实盘,完全用 Python 去编写,似乎无法找到一个简洁且复用性极高的框架,毕竟回测是回测,实盘是实盘。

我提供一个思路,把千百种组合的策略信号生成方式拆分出来,让每个人根据自己的思路去组合指标,约定好就生成一个买卖信号(signal)。而在信号之后,不管执行的是回测还是实盘,都交给Python,因为信号是标准的,执行的模型就近乎标准框架,复用性极高。

而在这种情况下,最重要的就是如何连接起 Python 和因子公式(VBA指标),这就要借助 QMT 的强大性能,尤其是投研特色函数,不管是回测还是实盘,都可以用 Python 调用因子公式(VBA 指标),语言不分高低,唯快不破,谁快用谁,兼备效率与灵活性,用复用性极高的框架来快速实现回测和实盘这两件事情。

新思路,新函数,新性能
01_Python调用VBA的方式.png
信号来自于因子公式(VBA 指标),可以通过自己选择的指标去叠加,生成买卖信号,分为历史信号和实时信号,根据获取到的信号,Python去做灵活的调度。

历史信号,一次性获取全部信号,Python 回测框架根据返回的时间与信号的关系,跑在对应的历史数据上,利用 handlebar 机制去回测历史。
实时信号,就根据实时订阅的数据计算最新的信号,在回调中触发函数,根据信号执行买卖。

更好的策略回测:call_formula () 一次性获取全部历史信号

把策略回测拆解成两个事情,一个是信号模型,一个是回测执行模型。

更清晰的架构
02_VBA信号模型.png
只擅长通达信、同花顺等指标的用户,完全可以只移植指标,就可以利用现有的策略回测执行器,完成回测。

移植方法参考教程:通达信指标移植QMT教程

更灵活的组合
image.png
信号编写,可以充分利用现有的数百个指标,根据自己的需求进行组合,而且是所见即所得的直观展示。

更快速的回测
03_call_formula用法及效果.png
因子公式(VBA指标)的底层是 C++运行,速度更快,一次性获取全部历史数据,秒级的结果返回。

更好的实盘交易:subscribe_formula () 一次性订阅全市场最新信号
03_盘中实时订阅.png
同样的信号模型,在这里无需修改,就可以继续使用,另一个则更改为实盘执行模型。

subscribe_formula () 具体教程请参考:实时订阅指标的教程

对这套框架感兴趣的,可以留言或添加小助理微信一起交流,后续还将带来更多教程。


不清楚的内容可添加下方助理微信咨询,有其他 QMT 小技巧想学习的吗?欢迎在下方留言,笔者将根据大家的留言持续更新哦!

欢迎和我一起加入迅投组建的 QMT 实战交流社群,交流群内有许多做量化交易的高手和大佬,具有良好的分享和互助氛围。且迅投官方会不定期为多次分享、乐于助人的群友申请送投研专业版的机会。

只需扫描下方的二维码,名额有限,限时加入。一起分享见解、交换信息、并共同进步,就像群友说的:“就算周末,晚上也有地方沟通交流!”
企业微信截图_17235220909173.png
添加投研助教_统一二维码.png

评论2

*******5330
发表于 2024-3-25 12:50:54 | 显示全部楼层
牛哇
*******0722
发表于 2024-12-15 10:57:19 | 显示全部楼层
:qiang:

回复

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

客服专线

400-080-8112

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