我准备写一篇vnpy的入门文章,考虑到入门文章如果讲太多内部细节,就会显得特别累赘,所以将细节和用法单独分离出来,写在这里。本文主要介绍了vnpy中的EventEngine和MainEngine的用法。
VNPY仿真柜台的用法快速入门可以参考这篇文章 (来自VNPY知乎官方公众号) https://zhuanlan.zhihu.com/p/166244874
Want to know clearly what is a quantitative trading robot?First of all,we should clarify the basic
之前VNPY 1版本中,我的个人代码很多是直接在VNPY库代码直接修改或者增加的。每次VNPY升级就是非常头疼,要做代码对比,在一些可能被更新覆盖的地方再次维护测试。而且因为更新的地方很乱,造成后面生产版本一致停留在VNPY1.92。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
请先搭建好运行环境。 编程环境其实就是选一个IDE,Visual Studio或者PyCharm都可以。
离上一篇和vnpy有关的文章整整一年了。这一年似乎过得异常的快,快到让人觉得没有成长。可能是工作原因吧,时间一下子就会过去;亦或是自己懈怠了。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qtlyx/article/details/88981211
vnpy [1] 基于python的开源交易平台开发框架。项目的用户包括:私募基金,证券自营、资管,期货公司,高校的金融研究院系,个人投资者等,机构用户加起来至少20多家。 该项目拥有较为丰富的Py
作为一套被业界广泛应用的开源技术分析库(包含技术指标计算和K线模式识别等),TA-Lib自2001年发布以来已经有了十多年的历史。TA-Lib中一共包含大约125个技术指标的计算函数,同时提供了包括C/C++、Java、Perl、Python等多种语言的API。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qtlyx/article/details/89388356
前几天介绍了vn.py实盘部分的底层实现机制,这一篇将为大家介绍数据以及回测部分的底层实现机制。
本文用一个例子来介绍vnpy的用法。从项目创建开始,到一个简单策略的设计。 这个例子连接到CTP接口,每秒检查一下目标合约的价格,若低于指定价格则买入,若高于指定价格则卖出。
距离上次统计已经过去两个多月,新的一期排名中前十的成员并未发生变化,只是相对排名有所改变:
说到这个最重要的类了。这个类说白了就是策略的实现。和绝大部分回测框架一样,策略想法是一个类的抽象,一般会继承一个基础类模板,每一个真实运行的策略就是这个策略想法类的一个实例。好的,有点绕。我们来看代码吧。
vn.py在大家使用和维护下不断地在更新,论坛里sargas分享了一个cmd脚本,可在不安装各个版本vn.py的前提下,切换使用任意版本。小编亲测可用,如有问题,欢迎在论坛反馈!
本文主要介绍了一个‘如何利用多个账号同时进行交易’的思路。感谢‘图扬量化’在「维恩的派」论坛内的分享!(下为原贴)
2016年底为了一个活动PPT,做了这个Github上的量化交易开源项目Star数量排名TOP10,后续更新过几次。考虑到Github的受欢迎程度和用户数量,应该可以比较好的体现每个项目的流行程度,以及更重要的,开源社区的发展方向。
目前vn.py官方适用的python版本是2.7,有关python3的版本正在开发中,但鉴于最近大家对python3需求的呼声较高,论坛有两个帖子提供了适用于python3版本的交易接口,感谢阿杜和何先生的分享!
注:考虑到ChatGPT在回答英语问题时的速度明显快于回答中文问题的速度,所有的问题都使用英文提问。 近日,QIML分享了一篇关于ChatGPT撰写量化书籍的文章,引起了强烈反响:
vn.py的创始人‘用python的交易员’在周六举办了广州线下活动,在本次活动中主要分享了vn.py框架部署方案和数字货币量化交易两部分的内容。
基于Web前端的量化交易应用WebTrader终于开发完成,之前实在是跳票许久。在此首先要感谢下负责开发Web前端的社区成员cccbbbaaab(这名字,怎么说呢~)和他的团队,在短短两周的时间内就完成了后端服务的测试和前端页面的开发工作,效率和质量都杠杠的。 WebTrader WebTrader应用位于examples/WebTrader目录下,使用时需要分别启动: server.py:基于vnpy.rpc模块实现的交易服务器,包含CTP接口和CTA策略模块 run.py:基于Flask实现的Web服务
相比TA-Lib在技术分析领域的地位,QuantLib在金融工程领域的地位可以说有过之而无不及。
vn.py目前所使用的数据库是MongoDB,鉴于一些用户更加习惯使用mySql,论坛内desont提供了一个vn.py与mySql相结合管理数据的示例,感谢desont的分享!
摘要:如何优雅地夸一个程序员呢?vscode-rainbow-fart 作为一个彩虹屁的项目,深得程序员心,能在你编程时疯狂称赞你的除了你自己,还有它。除了鼓励之外,Super Linte 是官方出品的旨在保证代码和文档一致性的工具,有了它,你可以更优雅地进行编程。说完优雅编程,来说下优雅使用 k8s,那就不得不提 Lens,一个专业管理 k8s 工具。 以下内容摘录自微博@HelloGitHub 的 GitHub Trending,选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类
最近想扩展一下vnpy,优化一些功能和代码的性能。在看backtesting部分代码的时候,发现,vnpy其实回测功能挺弱的,可以自己扩展一下。随之而来的就是一个回测结果可视化的问题。vnpy原生的回测结果没有绘制k线,所以也就没有指标的可视化和开仓平仓的可视化,只有随后交易结果的可视化。笔者自己其实有点点不习惯,没有看到策略的可视化回测结果,有点点不开心,所以打算自己做一下。首先就是选择可视化的工具,pyecharts应该是一个首选了,而且现在发展的越来越好了。
2017年完成了大部分计划中的上层应用模块开发,剩余部分将在今年上半年加速推进,争取早日发布v2.0稳定版,为量化交易员提供一套完整成熟的交易系统解决方案。 Docker镜像 Docker技术日渐完善,多位vn.py社区用户也已经贡献了较为成熟的镜像代码(位于vnpy/docker目录下),实现的功能包括: 在Docker中运行基于vnpy.rpc的服务器,并在外部通过GUI客户端来实现监控操作(类似examples/ServerClient的架构) 在Docker中启动Ubuntu图
况且,我也不是学金融出身的,虽然凭运气在股市赚过一些小钱,但毕竟咱不是专业的,不敢乱指挥。
在Python量化领域,PyAlgoTrade和zipline是两大策略回测框架的先驱,其中PyAlgoTrade主要针对CTA策略(单一合约交易),而zipline主要针对统计套利策略(投资组合交易)。
上一篇文章讲了MainEngine中的初始化函数,重点是DataEngine的讲解。有了对行情数据的处理,还需要有行情数据的来源。在MainEngine的初始化函数后面的一个函数就是addGateway函数。vnpy的作者还是有很大格局的,希望自己的作品可以兼容很多数据交易接口,所以就比较通用,这里就把ctp这种接口叫做Gateway,而且后面写的也比较复杂,目的就是为了集大成,还是很佩服的。这里我们就来分析一下数据交易接口这边是怎么挂到MainEngine上,以及怎么工作的。
vn.py框架更加适合做CTA类的策略,而不是高频策略。moonnejs在「维恩的派」论坛里分享了自己如何对vn.py回测引擎进行改进,使其适合于高频交易。感谢moonnejs的分享!
本文主要介绍了一个‘如何利用vn.py记录指数行情?’的思路。感谢‘图扬量化’在「维恩的派」论坛内的分享!(下为原贴)
在上一篇文章中介绍了一个‘如何利用vn.py记录指数行情?’的思路,本文将介绍‘如何用vn.py动态选择某一品种的主力合约’。感谢‘图扬量化’在「维恩的派」论坛内的分享!
本文主要介绍了价差交易模块的事件触发机制。感谢‘次第花开’和‘用户名呀’在维恩的派论坛里的分享!
原本想开始讲策略类的编写,后来觉得,结合回测代码其实能够更好的理解,所以先解读一下vnpy回测的代码吧,后续自己也想把vnpy回测的部分优化一下,毕竟我觉得可视化和回测结果方提高还有很多空间。
目前vn.py所提供的示例代码都是按照固定数量下单,本文将介绍‘如何根据账户资金情况计算交易数量进而下单’。感谢‘爱茶语’以及‘王玥’在「维恩的派」论坛内的分享!
开发策略时,如何直观地检查自己的交易逻辑是否正确?代码所实现的和自己的策略逻辑是否一致?moonnejs在「维恩的派」论坛里分享了一个可以用于回测的交互K线工具。感谢moonnejs的分享!
vnpy有一个叫做主引擎的东西,在三里面也说过,个人觉得这个应该是一个运行框架的东西,不应该叫做引擎,不过没关系,名字而已嘛。这一篇呢主要就是分析一下主引擎的代码。
vn.py是一个基于事件驱动类型交易框架,整个系统中一共有9种事件类型,分别是:EVENT_TICK(行情事件)、EVENT_ORDER(委托单事件)、EVENT_TRADE(成交单事件)、EVENT_CONTRACT(合约事件)、EVENT_POSITION(持仓事件)、EVENT_TIMER(计时器事件)、EVENT_ACCOUNT(账户资金事件)、EVENT_LOG(日志事件)、EVENT_ERROR(错误事件)。接下来详细的介绍一下这几种事件的区别作用以及整个以事件驱动为基础的实盘运行机制。
本文提供了一个用vn.py来编写R-breaker交易策略的示例。只提供一个参考模板,并不能直接进入市场进行交易。感谢‘爱谁谁’在维恩的派论坛里的分享!
量化开发类笔试题目,开卷 48h。第一题倾向于逻辑题和算法题相结合的形式。第二题是项目题,考察候选人对C++编写项目和回测系统的理解和认识,可以看出系统设计能力和相关代码经验,区分度明显。
本文提供了一个每个交易日开盘前不用重连CTP的方法。如果不是特殊需求,强烈建议每天盘前重启程序。感谢viponedream在维恩的派论坛里的分享!
BigQuant – 你的人工智能量化平台 – 可以无门槛地使用机器学习、人工智能开发量化策略,基于python,提供策略自动生成器
由于有免费的CTP接口,期货程序化交易目前比较普遍,很多人都尝试过在文华财经、金字塔之类的软件上回测和编写实盘策略。
这里,我们来看一下MainEngine里面这个addApp函数的代码:
在ChatGPT引领的AI浪潮下,涌现了一大批AI应用,其背后其实蕴含着一个基本事实:AI能力得到了极大突破——大模型的能力有目共睹,未来只会变得更强。这世界唯一不变的就是变,适应变化、拥抱变化、喜欢变化,天行健君子以自强不息。我们相信未来会有越来越多的大模型出现,AI正在逐渐平民化,将来每个人都可以利用大模型轻松地做出自己的AI产品。
本文主要面向有C++基础,并且想用C++来做程序化交易的用户。 主要介绍了CTP的简单使用方式以及在使用过程中易遇到的‘坑’,并附上一些代码帮助学习。
领取专属 10元无门槛券
手把手带您无忧上云