VeighNa量化社区
你的开源社区量化交易平台
xiaohe's Avatar
Member
离线
4300 帖子
声望: 268

可以自己对rohon_gateway进行个性化修改了

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

近几年Python社区的热点话题总离不开【性能优化】,在《2022年项目计划》开头期待过的Python官方性能优化计划"Shannon Plan",初步成果已经能看到(以下数据来自Python官方,仅供参考):

  • Python 3.11对比Python 3.10的平均性能提升25%
  • 不同基准测试下的提升范围在10-60%
  • 具体细节可以参考Python官方的这篇《Faster CPython》

description

大神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人(不算特别多,但应该比较有代表性了),结果如下:

description

刚看到这个数据的时候可以说是相当惊讶:

  • 主力使用Linux和Mac系统的用户加起来有53%,已经超越了使用Windows系统的用户(47%);
  • 使用云服务器、硬件服务器、工作站这些服务端硬件的用户,占比累计也有了41%(接近一半)。

随后的第一反应是:VeighNa社区用户的平均编程开发水平比起几年前已经显著提升,毕竟POSIX体系的操作系统(Linux、Mac)上做开发的门槛还是高于Windows不少,同时愿意花贵得多的成本购买服务器和工作站大概率还是交易方面确实有了刚性需求。

所以今年计划大幅优化VeighNa项目的跨平台支持,目前准备中的内容包括:

  • 提供Linux和Mac上的集成化环境(类似Windows系统上VeighNa Studio),例如:

    • Docker支持(上周论坛里已经有【eis】同学贡献了一套带UI界面的3.5.0镜像);
    • Poetry/PDM虚拟环境方案;
  • 完善交易接口封装部分的跨平台支持,例如:

    • Linux上的各类交易接口;
    • Mac上的CTP接口(目前上期技术已经提供了Mac API);
  • 围绕Linux和Mac上量化环境搭建和VeighNa使用相关的文章资料和社区活动。

由于团队精力有限,对Linux系统发行版的支持会限制在【Ubuntu 22.04 LTS】,使用其他发行版的同学可以参考后自行修改。

 

继续保持兼容性

 

description

随着VeighNa项目的整体架构趋于稳定,去年版本迭代的过程中比较好的保持了代码兼容性:使用2.9版本开发的策略代码基本可以$改直接迁移到3.0后续新版本上运行。

同样在今年开发工作中也会优先考虑保持兼容性,降低已经进入实盘交易环节的用户向新版迁移的成本。

 

组织更多社区活动

 

description

今年会投入更多精力在VeighNa社区活动组织上:策略研究分享、交易系统架构、量化编程开发等等。非常期待和一年多没见的朋友们重新相聚,明天就会开放首场活动的报名,名额有限,欢迎关注!

最后:2023,Enjoy Trading!!!

 

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

一个多月没更新了,先给大家拜个晚年,祝大家2023年兔步青云、前兔似锦、扬眉兔气、大展宏兔!新年公众号的头篇内容,老规矩还是对2022年来做个总结回顾。

 

整体数据

 

先来看一眼2022年VeighNa开源项目的整体数据(虽然统计日期是2023年1月25日):

  • 用户数量

    • Github Star:19.8k(+2.5k)
    • Github Fork:7.7k(+0.7k)
    • Gitee Star:1.7k(+0.7k)
    • Gitee Fork:755(+336)
  • 项目开发

    • 版本迭代:6次(3.0.0 -> 3.5.0)
    • 交易接口:27个(新增6个)
    • 策略应用:16个(不变)
    • 数据库适配器:10个(新增2个)
    • 数据服务:7个
  • 社区交流

    • 论坛用户数量:38218(+7185)
    • 论坛帖子数量:31024(+2539)
    • 线上分享:22场(1场社区活动)
    • 小班特训营:4场

 

用户数量

 

截至2023年1月25日,VeighNa在Github上累计收获了19806个Star,Fork数量达到7.7k,继续保持线性增长。下图来源于统计工具Star History

description

除了Github外,我们在国内代码托管平台Gitee上维护的VeighNa仓库也保持同步更新,累计已经收获1706个Star和755个Fork

 

项目开发

 

2022年初VeighNa启动了新的3.0大版本开发,核心支持的Python版本升级到了3.10(保持了3.7、3.8、3.9的兼容性),图形库方面则由于PyQt5到PyQt6的API变更太大选择替换为PySide6(提供了更为丰富的开发文档)。

description

得益于新的项目模块化设计,3.0版本终于恢复了基于pip的安装方式(之前2.0版本糟糕的源码安装体验被大家吐槽许久)。除了必备的核心框架外,用户可以根据自身的需求来灵活选择扩展模块,实现完整的个性化量化交易系统方案。

除了对已有交易接口的更新升级外,2022年新增了以下证券和期货方面的接口:

  • JeesGateway:杰宜斯资管系统交易接口;

  • EmtGateway:东方财富证券EMT柜台接口;

  • RqdataGateway:RQData跨市场实时数据接口;

  • GmGateway:掘金证券仿真交易接口;

  • UfGateway:恒生云证券仿真交易接口;

  • HxGateway:火象期货仿真交易接口;

数据库方面,部分NoSQL数据库由于尚未提供3.10版本支持导致暂时无法使用(DolphinDB、Arctic、LevelDB),新增两个时序类数据库支持:

  • TDengine:分布式、高性能、支持SQL的国产时序数据库;
  • TimescaleDB:基于PostgreSQL开发的开源时序数据库;

和社区交流的过程中,发现部分用户目前还停留在某些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之后再试试看

宁欢 wrote:

xiaohe wrote:

可以删除C:\veighna_studio然后重装试试看。重装的时候关掉360这类杀毒软件,新手建议卸掉其他python再重装。如果重装之后双击还是启动不了,可以在cmd输入veighna命令启动看看底层是否有报错信息输出
只删除文件夹无法重装 只有修改 修复 卸载三个选项。选择卸载后报错
只删除文件夹无法重装的意思是?

通过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接口是做穿透式测试的

滑点是下单交易点位与实际交易点位的差别,不是跳数

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】