发布于veighna社区公众号【vnpy-community】
 
原文作者:用Python的交易员 | 发布时间:2024-01-31
 

2023年10月发布的Python 3.12增加了对于【解释器级别GIL】的支持(PEP 684),简单来说就是每个线程中可以启动一个拥有独立GIL的解释器,各个解释器能够同时并行互不干扰,从而终于实现了在Python单进程的程序中充分调用CPU多核心算力。

description

可能由于开发时间比较仓促,3.12版本中该功能必须通过C API的方式来运行,而且没有提供更加高效的跨解释器数据交换功能,整体上对比之前已有的多进程方案没有太大优势。社区预期2024年底将要发布的Python 3.13版本中会迎来多解释器支持的标准库(PEP 734),从而让该功能真正拥有实际项目中使用的价值。

就在几周前突然传出Python核心开发者Brandt Bucher提交了一份JIT功能(Just-In-Time Compilation,即时编译)的合并请求到Python 3.13开发分支,具体细节可以参考这篇文章《Python 3.13 gets a JIT》。尽管初期基准测试反映的性能提升并不明显(大约2-9%),但这可能更多意味着Python官方团队终于确立了JIT方面的研究迭代方向。

基于上述情况,VeighNa项目在2024年的大部分时间里都将继续保持在3.0大版本上继续迭代,核心支持依旧是Python 3.10,接下来对2024年主要工作方向做个梳理。

 

机器学习量化投研

 

description

机器学习技术在量化投研领域的应用,已经从许多年前的营销宣传变成了今天的广泛落地。尽管不是科班出身,2023年我们团队在这块的技术积累上也完成了一定的突破:

传统机器学习算法在量化投研流程方面的应用落地,属于典型的渐进式优化,只要找对了需求痛点往往就能有所产出,我们在2024年会持续投入研究。

而在更为复杂的截面多因子类策略开发方面,由于VeighNa平台的核心定位是量化交易,所以结合社区建议选择了微软推出的Qlib量化投研平台作为主要研究方向。

计划通过5场系列社区活动和大家一起学习弄明白Qlib平台的核心工作原理,并掌握基础的策略开发能力。活动已经举办了2场,第3场将在元宵节后的3月2日举办,相关信息可以参考活动报名公告

整个系列活动结束后,将会根据大家交流的结果确定后续VeighNa和Qlib在交易执行上的技术对接方案,目前主要考虑的有两种:

  • Qlib中嵌入VeighNa:Qlib运行完输出目标仓位(CSV文件或者JSON书),由VeighNa加载后实现交易执行;
  • VeighNa中嵌入Qlib:VeighNa将收到的行情数据对齐整理好后推送给Qlib,并接收Qlib中策略返回的交易指令来执行委托下单。

 

优先保持兼容性

 

在Python 3.13正式发布之前,VeighNa项目预计将不会引入重大的框架级别功能修改,主要迭代工作会集中在交易API升级、应用功能扩展、用户体验优化等方向上。

3.0版本开发已经进入第三个年头,过去一年中核心部分的函数接口始终保持稳定,几乎没有引入破坏兼容性的变化,还在使用老版本的用户可以放心升级。

 

更多线下社区活动

 

description

根据社区反馈的建议,去年四季度开始将社区活动主要改为了纯线下模式,更多希望各个城市VeighNa社区的用户能够有机会线下聚在一起认识和交流,截止当前已经在上海、北京、深圳、成都、重庆举办过,确实这一圈活动下来的效果不错。

今年会再接再厉,已经在考虑中的城市包括:杭州、南京、厦门、广州等,其他城市的同学如果有一定组织能力也欢迎联系我们(目前评估是有30人参加就能覆盖场地成本)。

同时线上活动方面,我们也在计划推出更加轻量一些的主题分享直播,采用【45分钟讲解 + 15分钟交流】的形式,避免之前3小时的社区活动许多线上参加同学很难坚持听完的情况。

最后:2024,Enjoy Trading!!!