可以自己对rohon_gateway进行个性化修改了
发布于veighna社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2023-01-30
近几年Python社区的热点话题总离不开【性能优化】,在《2022年项目计划》开头期待过的Python官方性能优化计划"Shannon Plan",初步成果已经能看到(以下数据来自Python官方,仅供参考):
大神Sam Gross去年已经通过nogil项目成功证明了移除GIL的可行性,但由于社区生态中诸多包和模块都深度融合使用了GIL(这里包括VeighNa的一系列C++交易接口封装),简单粗暴的一次性移除GIL可能会对社区生态造成负面影响(毕竟没人想再体会类似Python2->Python3升级的痛苦)。
就在2023年1月,Sam Gross创建了一个新的提案PEP 703,其中提出将GIL作为Python编译时的可选项(不想看太长英文的同学推荐OSChina的这篇)。如果该提案得到了通过,那么后续发布的Python将会分为两个版本:暂时无法升级或者依赖库较多的项目可以继续使用【包含GIL】的版本,而追求性能的项目则可以升级到【移除GIL】的版本上充分利用CPU多核算力(升级需要重新修改编译pyd扩展)。
PEP 703能否得到Python社区的接受,以及如果接受具体会在哪个版本中发布,暂时都还无法确定。基于上述情况,VeighNa项目在后续3.0大版本迭代周期中,核心支持会依旧保持在Python 3.10上,接下来对2023年主要工作方向做个梳理。
几年前做的一次调查投票里,VeighNa社区中主力使用Windows系统的用户占比大概是80%上下。得益于Python生态本身的跨平台优势,VeighNa项目中纯Python的部分(包括核心引擎、UI界面、投研回测等)从诞生之初就可以实现Windows、Linux和Mac系统上的运行,但涉及到C++封装的交易接口部分则由于用户数量的关系许多只提供了Windows支持。
去年12月的时候又组织了一次关于【大家主要用什么操作系统和电脑硬件运行VeighNa平台】的调查投票,投票人数共计637人(不算特别多,但应该比较有代表性了),结果如下:
刚看到这个数据的时候可以说是相当惊讶:
随后的第一反应是:VeighNa社区用户的平均编程开发水平比起几年前已经显著提升,毕竟POSIX体系的操作系统(Linux、Mac)上做开发的门槛还是高于Windows不少,同时愿意花贵得多的成本购买服务器和工作站大概率还是交易方面确实有了刚性需求。
所以今年计划大幅优化VeighNa项目的跨平台支持,目前准备中的内容包括:
提供Linux和Mac上的集成化环境(类似Windows系统上VeighNa Studio),例如:
完善交易接口封装部分的跨平台支持,例如:
围绕Linux和Mac上量化环境搭建和VeighNa使用相关的文章资料和社区活动。
由于团队精力有限,对Linux系统发行版的支持会限制在【Ubuntu 22.04 LTS】,使用其他发行版的同学可以参考后自行修改。
随着VeighNa项目的整体架构趋于稳定,去年版本迭代的过程中比较好的保持了代码兼容性:使用2.9版本开发的策略代码基本可以$改直接迁移到3.0后续新版本上运行。
同样在今年开发工作中也会优先考虑保持兼容性,降低已经进入实盘交易环节的用户向新版迁移的成本。
今年会投入更多精力在VeighNa社区活动组织上:策略研究分享、交易系统架构、量化编程开发等等。非常期待和一年多没见的朋友们重新相聚,明天就会开放首场活动的报名,名额有限,欢迎关注!
发布于veighna社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2023-01-28
一个多月没更新了,先给大家拜个晚年,祝大家2023年兔步青云、前兔似锦、扬眉兔气、大展宏兔!新年公众号的头篇内容,老规矩还是对2022年来做个总结回顾。
先来看一眼2022年VeighNa开源项目的整体数据(虽然统计日期是2023年1月25日):
用户数量
项目开发
社区交流
截至2023年1月25日,VeighNa在Github上累计收获了19806个Star,Fork数量达到7.7k,继续保持线性增长。下图来源于统计工具Star History:
除了Github外,我们在国内代码托管平台Gitee上维护的VeighNa仓库也保持同步更新,累计已经收获1706个Star和755个Fork。
2022年初VeighNa启动了新的3.0大版本开发,核心支持的Python版本升级到了3.10(保持了3.7、3.8、3.9的兼容性),图形库方面则由于PyQt5到PyQt6的API变更太大选择替换为PySide6(提供了更为丰富的开发文档)。
得益于新的项目模块化设计,3.0版本终于恢复了基于pip的安装方式(之前2.0版本糟糕的源码安装体验被大家吐槽许久)。除了必备的核心框架外,用户可以根据自身的需求来灵活选择扩展模块,实现完整的个性化量化交易系统方案。
除了对已有交易接口的更新升级外,2022年新增了以下证券和期货方面的接口:
JeesGateway:杰宜斯资管系统交易接口;
EmtGateway:东方财富证券EMT柜台接口;
RqdataGateway:RQData跨市场实时数据接口;
GmGateway:掘金证券仿真交易接口;
UfGateway:恒生云证券仿真交易接口;
HxGateway:火象期货仿真交易接口;
数据库方面,部分NoSQL数据库由于尚未提供3.10版本支持导致暂时无法使用(DolphinDB、Arctic、LevelDB),新增两个时序类数据库支持:
和社区交流的过程中,发现部分用户目前还停留在某些2.0的老版本,近几个月由于CTP柜台升级、广期所(GFEX)开市等原因遇到了各种问题。尽管对于已经上线实盘交易的量化系统通常建议是不要频繁升级,但当版本落后过多的时候往往不升级的反而风险更大。对比自行修改框架中零星分布的代码细节,定期升级到经过社区系统测试的主线新版本,长期来看可能是更为稳妥的方案(尤其对于金融机构用户)。
2022年由于疫情的反复影响,全年22场分享交流都是线上举办,其中社区活动只有4月的1场线上,创了这几年以来的新低,专题小班特训营也因为同样的原因只举办了4场。
2022年回顾完,接下来就是对2023年的计划了。如果你对VeighNa过去一年有什么想分享的吐槽的,或者对新的一年有什么建议和期望,都在文章下面欢迎留言告诉我们!
tts升级了,可以去openctp仓库下载最新代码替换同名dll,vnpy_tts下个版本会更新的
可以先在engine的process_tick_event函数里打印看看收到的tick是否有处理
可以删除.vntrader文件夹下的cta_strategy_data.json之后再试试看
通过check_trading_period函数控制
脚本里应该设置一下断开和重连的时间都靠近收市和开市的时间,非交易时段的时候不要连接了
看一下你vscode右下角python解释器是否选择了veighna的python吧
可以删除C:\veighna_studio然后重装试试看。重装的时候关掉360这类杀毒软件,新手建议卸掉其他python再重装。如果重装之后双击还是启动不了,可以在cmd输入veighna命令启动看看底层是否有报错信息输出
veighna_station版本是?
小数不影响的,可以自己在底层创建价差和接收行情的地方打印排查看看
可以自己对vnpy_ctastrategy.engine里的cross_stop_order做个性化修改
talib.SMA(你的array, n)
simnow就是连ctp接口,ctptest接口是做穿透式测试的
滑点是下单交易点位与实际交易点位的差别,不是跳数