如何评价最近vn.py作者和Quicklib作者关于Python量化交易系统在架构设计方面的争论?

论坛 期权论坛 期权     
White Hacker   2018-10-17 22:44   8658   5
这两天看到vn.py和Quicklib两个量化开源项目的作者在网上关于架构设计方面的争论:
* Quicklib作者指出vn.py使用的是多线程架构,在延时方面远比不上使用了异步IO设计的Quicklib;
* vn.py作者认为Quicklib的异步IO方案对于量化交易程序并无助益,反而降低程序的稳定性和导致更高的tick-to-trade延时;
两者都在各自的专栏中写了若干分析的文章,并在语言方面有所冲突。争论的重点之一是关于GIL锁对各自架构的量化交易程序在延时方面的影响。
想问问大家怎么看待两者?希望从技术的层面理性分析的回答!
分享到 :
0 人收藏

5 个回复

正序浏览
5#
据说他姓feng  3级会员 | 2018-10-17 22:44:37
又来就性能打嘴炮。。。
还是量化的。。。只要性能不影响交易频率,就不要紧。


========
我是回来修改答案的,QuickLib就是渣渣。
4#
爱新觉罗托尼  4级常客 | 2018-10-17 22:44:35
本来想两个都试试的,结果看了这几天quicklib的文章,果断放弃了试一试quicklib的念头,营销的太明显,每一篇撕逼的文章都像是在打广告。。。
3#
华宝-谭琪煜  3级会员 | 2018-10-17 22:44:34
基于python的开源交易平台开发框架。客户端,可以直接在上面编写股票交易策略,平台上有很多现成策略,重点是没有资金量要求,想试试可以联系我。


2#
量化林  3级会员 | 2018-10-17 22:44:31
这是我作为Quicklib以外开发的酷操盘手系列
已经更新到4.3版本





http://www.kucps.comQuicklib和酷操盘手系列是我心血的结晶,面对VNPY捏造谎言的攻击行为,无非是触碰了他的利益,
VNPY核心团队长达4篇合计万字的对Quicklib和我本人攻击文章,VNPY多次在各种场合攻击Quicklib和作者我本人,网上曾经又爆出VNPY和金融民工互通电话,并且VNPY作者后来主动转发对Quicklib和我本人攻击,并捏造7个谎言对Quicklib和我本人攻击和嘲笑。
以及上次2017年4月事件显然不是吃瓜群众不明就里、随风起哄的问题,是VNPY作者在内的VNPY核心团队真正有策划、有布置、动机极为恶劣的阴谋。
有朋友在知乎证明了,整个事件是VNPY的团队金融民工策划发文4篇对Quicklib和我人身攻击,并由VNPY作者转发,并恶意评论。
事情搞大了,却反过来赖Quicklib碰瓷,见过这么无耻的人吗?对,这就存在知乎上。
去看vnpy作者的几个谎言吧
量化林:严正申明!我对VNPY作者捏造的7个谎言保留追究法律责任的权利

还原事情真实的是证据,不是而已猜测,恶意猜测会被人利用。
Quicklib,未来不仅仅是Quicklib系列,这是我付出心血的产品,当然希望被更多人接受。平均一天工作14个小时就是为了开发出更好的产品被人接受。从最初群几十人到几个群合计2500人,也返应了Quicklib满足了一些量化爱好者的需求。
在早期群只有几十人的时候,我确实在一些群私聊过一些朋友,但这不是针对VNPY,在很多量化交易的群我都做过。后期由于开发产品,不再去做这个了。但这不应该成为VNPY捏造谎言攻击竞争对手理由,没想成为VNPY作者挑起事端的借口。
为什么仅仅是招致VNPY的用7个谎言来报复?在7个谎言之前VNPY作者就多次在群攻击Quicklib,捏造一些不存在的事说我本人的坏话,损坏我的个人形象。


2017年4月以来整个事件的受害者是Quicklib和作为Quicklib作者的我。
而策划者是VNPY包括作者在内的几个核心人员,这已经被知乎的多个朋友证明了(如果花时间可追溯整个事件发生的过程)。
再次请大家重证据,而非而已猜测,恶意猜测会被小人利用。
我从来没攻击过vnpy作者本人,但我必须对vnpy利用谎言攻击我的事实做阐述和回应。这是维护一个人的尊严。
有人喜欢反向推理,vnpy 作者做开源,人一定很不错,所以他说的就是真的。
大错特错!
要是大家认为vnpy作者开源是为了无私的话,问问他知乎live为啥收350元?
若如他所说管理那些资金,活的那么高大上,还要做LIVE 收着350元?
俗话说得好:不开源是为了利益,开源也是为了利益。
更何况有一种观点认为vnpy 这种框架就是为培训而生的,因为vnpy采用python干了太多不该它干的事情。
作为350元利益既得者的VNPY作者,利用几千字不实文章,误导和丑化Quicklib和我本人,无非是Quicklib妨碍了他的利益,他利用误导粉丝方式,所谓人言可畏,事件搞大了只有他又觉得Quicklib被引起了关注,于是他有反过来赖Quicklib碰瓷!


各位注意以下几点:
1.VNPY首先对Quicklib攻击在先,VNPY作者除了采用谎言对产品进行误导性攻击,还对Quciklib作者本人进行了人身攻击。
我们看看2017年4月份左右VN.PY作者为攻击比自己性能更好QUICKLIB说出了6个谎言

https://zhuanlan.zhihu.com/p/27243838


2.长久以来,Quicklib大量发文也只是阐述事情经过的事实。
3.基于VN.PY作者所说,Quicklib蹭VNPY热度的说法,我想说的是目前Quicklib几个群达到2500人,根本不需要蹭任何产品的热度;
4.既然VN.PY认为Quicklib不足为惧,蹭了它的热度,那VNPY为何要首先用谎言攻击Quicklib在先?不仅是对产品,还对作者本人做了人身攻击!粉丝多就该欺负人吗?
5.还有粉丝多,不代表什么,用筷子的人还多呢,筷子能做量化吗?粉丝多只能证明你做的早,还没更好的而已,也许比你好的正在出现,也许将来很快会出现,但是你VNPY如果是强者为何捏造事实攻击在先!!??
6.既然VNPY能谎言攻击,混淆视听,我就能说事实,说VNPY架构的缺陷的道理,对VNPY是害处还是好处,取决于VNPY对缺陷的处理态度。如果VNPY是正视,那么我就是在帮VNPY,如果VNPY不正视,那是它自己不负责任
7.目前国内量化系统还不成熟,和国外的系统还差很远,国内目前还处于大刀长矛时代,人家国外都用激光武器了,目前国内无论什么平台都不代表量化系统的最终形态,只是有先有后的问题,先做的粉丝多很正常,不代表就架构合理,国内的平台还有很大提升空间,如果都像 VNPY那样用谎言低于新的东西被攻击和封杀,那样有悖于开源精神。那不是创新,是创新的反动,是阻碍国内量化发展的。
你VNPY不搞海风,但你的评测从来就是无视海风,是因为你觉得海风有历史,又是C#主打,对你没威胁,你搞Quicklib是因为同属PYTHON ,性能对你有明显优势,扩展性也会比你好,对你有威胁;你捧TUSHARE等,是因为你暂时做不了全部环节,你还要沾别的产品的光。你的文章从来就不是公道的,这个可以理解。
但无论如何,你不该用下三滥手段用7个谎言攻击Quicklib和作者本人。
刚看到,原来是VNPY的阴谋,我刚刚明白为什么有人说Quicklib是VNPY炒作的影子,炒完了,再说Quicklib在碰瓷?



圈里人都知道金融民工和VNPY作者关系很熟,VNPY作者也多次在自己群攻击Quicklib和我本人, 我虽然在项目开始之初,有和朋友们说过Quicklib的异步IO方式会比现在的VNPY这类架构性能上要好,但并没有对VNPY作者进行人身攻击。
记住,我只仅限于技术的探讨,并且没有捏造技术上的谎言。中关村在线对各类评测多了去了,仅限于真实的表述产品的特点。




事实上VNPY作者根本无需在意这点,因为VNPY做的早,基于单PYTHON语言的平台,有较大的基数。
如果我是VNPY作者,那么我会有2个选择:
1.无视Quicklib的说法
2.做一个详细的评测,既然对方说性能好,你只要在性能上去推翻就可以了。
可是VNPY作者做的是在自己的群,多次攻击Quicklib和我本人,话说的很难听。
并且在VNPY作者和金融民工策划下,在自己社区用6个谎言攻击Quicklib产品和侮辱诽谤我本人的帖子放在了自己的社区,并最后在VNPY作者在知乎上转发和原创发不实的文章。


整个这个过程就是一场VNPY的阴谋!!!!!反过来却说Quicklib在碰瓷?这个说法本身就是谎言。
对VNPY作者我像说的是,一边不声不响的用谎言黑产品,黑作者,一边说不理会了,VNPY作者的行为让我想起了 岳不群这个角色 ,大家都以为是好人。



VNPY优点可能是有,这个用不着我说,我作为反击,只需要说VNPY的缺点,具体大家自己分析。但不会去对VNPY代码的评测用如同VNPY的捏造谎言的方式。
据知情人说,VNPY名气大适合培训教学,因为坑太多了。




原来4月份事件,市场阴谋,怪不得有人说是Quicklib是VNPY的影子,都是VNPY的人策划的
今VNPY文章还在放在网上
我在几年前自学了mba和营销课程,却被vnpy在公众网络多次用暗示成营销骗子,我看了都恨自己了,人言可畏,自古大奸大恶之人都擅长引导人心所向,而让人忽视事情的本质。


你们所关注到的明星人物由于利益和表现欲演戏功力不凡 。为了增加说服力,不免掺杂各种谎言,而谎言又是他们维护利益的需要。
对戏子来说成功与否一大半靠演戏。
我所作所为是被VNPY的谎言被迫的。只要vnpy作者能捏造谎言,我就要揭露VNPY作者的行为。只有揭露了,才能把VNPY作者用谎言捏造、暗示攻击我的事情说清楚。
我最多是针锋相对的对产品进行评测说自己的理论,或是现在对整个事件做阐述说明,从未像VNPY做捏造谎言和人工攻击。
vnpy作者很擅长利用这些,我确是很无聊的在说事实。
这个世界没有你想的那么简单,尤其是靠一半做的早,一半演戏的vnpy作者。
我不是抱怨,而是针锋相对。
围绕着谎言和拳头,上海滩没有新鲜事。
要我说,现在发挥的能力仅有10%。
未来2年,各位会看到Quicklib开足马力,衍生产品会有更大发展。




-------------------------------------------------




以下是后做的说明:


VNPY 量化交易上的性能对比分析(原创)
VNPY作者的6大谎言
承载金融科技人的梦想,追求量化速度效率的极致
期货CTP TICK历史行情FTP数据服务器开通了


《刚才测试了一下 Node.js 与 python 的计算性能,震惊了,node.js居然比python快了70多倍。。比php快了16倍,c语言也比node.js慢了一点点》
https://www.v2ex.com/t/113887?p=1


《循环测试:C性能是PYTHON的 62倍,VNPY你拿PYTHON做什么事件驱动?》
http://www.iteye.com/topic/699462


《 Python 比 C++ 慢 22 倍》
https://www.juhe.cn/news/index/id/843


本事事件都是因在VNPY社区发表了抨击Quicklib是骗子为开端,后续的论述都是我对此做了说明而已。
VNPY作者在本次事件中不惜说出6大谎言来攻击Quicklib产品甚至是Quicklib本人,你说是为什么?
Quicklib群里的人都说,威胁到VNPY的利益了。
VNPY作者也发文口口贬低我附带的居间业务,他是不会做居间业务的,他也看不起居间业务,VNPY作者估计也看不起期货公司的人吧,这个我承认有点“LOW”,但我是真心希望为大家节省交易成本  。
我自信的说Quicklib性能远远超过VNPY。很多资深C++程序员用过VNPY都说了不适合生产环境,包括Bxxxxx作者本人在私下和我交流过程中也这么说过“VNPY就是个玩具”。
作为Quicklib原始作者的我,除了Quicklib 以外,我确实在开发一款很重要的产品,这个产品在未来会比Quicklib重要的多。 当你不知道的时候,你凭什么可以妄自评论?
以下是我除了Quicklib以外开发的酷操盘手系列
http://www.kucps.com
              
                                              https://www.zhihu.com/video/983079433858715648                          
            

我的原创文章
1.《承载金融科技人的梦想,追求量化速度效率的极致
2.《VNPY 量化交易上的性能对比分析
3.《越来越红火的量化行业,未来职业生涯该如何把握?
4.《期货CTP TICK历史行情FTP数据服务器开通了
5.《期货 tick历史行情FTP数据服务器开通了(原创)
6.  2个 多月前,我在知乎发表了
很多人问我,quicklib程序化交易框架适合做高频吗? - 知乎专栏》足以证明VNPY作者口出谎言,这个针对攻击Quicklib的问题只是VNPY作者6个谎言中的1个
请看此文 VNPY作者的6大谎言
请大家谅解。我也承认有很多不足的地方,因为我的时间有限,分配到每一个子项目资源的精力都非常有限。随着越来越多的人融入Quicklib,我也会继续跟进不断更新。
以下恢复 卜一 的评论:


看这个时间就知道我根本就从来没说过,Quicklib做高频的事,完全是VNPY作者的误导。
我看了你的回答说高频,就是因为VNPY作者发了一篇不实的帖子,说Quicklib号称可以做高频。
我只是在帖子中说,发布了一个资金曲线分时图工具,用来调试高频的资金曲线。
其实大部分人认知的东西有限,匆匆忙忙看一眼,往往产生一些误解并发表错误的观点。导致一些误会。
如你所描述的情况,不建议交易员用C++做开发的,Python是更好的选择。必经不是所有公司都能把交易员当做程序员招聘的。高频除外,几个月前我早先发过帖子,针对高频的问题做了说明。
以下回前面网友 潇湘风夜 的评论:
我从来没说过PYTHON只能单线程,还有多进程库可用, 通过异步IO提交给多进程库更高效的处理,避免GIL锁影响效率的问题。我说的是GIL锁,不是GIL。对基本语句来说Python效率比C++差异1个数量级,你却认为在Python应用层做事件驱动,底层还加GIL全局锁没有影响?Quicklib的底层基于C++的细粒度更低的锁不是更好,当然Quicklib甚至可以改成无锁队列。
例如无锁队列是以后优化的事,很多事情是循序渐进的。
回 匿名用户
还有在天涯论坛上我帮过很多想创业的朋友解答过问题,就是交朋友,不要臆想,这个是那一段时间的经历,没什么可说的。如果你非要知道我更多经历的话,我还可以告诉你,我上过小学,戳通过别人家车轮胎,带过家教,做过兼职,端过盘子,拿过全国挑战杯奖项,获得过专利,失过恋,结过婚,人生的路太长,也不平坦。你这样说缺乏理性,有点太多极端了,在网上留个QQ要份资料都能变成被抨击的对象,自己缩在后面用匿名账户不敢现身,可以无条件的去爱和恨,极端,作为男人来说有点幼稚,极端,不成熟哈。
还有聊天截图是大家对2个库比较的的评价,大部分人可能是比较带着强烈个人偏见的,因为从心理上说,必须选择一个正营,无论哪一方对对方是Quicklib或VNPY可能都是有强烈偏见的,但无论如何而不是像VNPY官方论坛上对Quicklib的人身攻击。这个是底线,这个也是引发的整个事件源头。相互学习,共同进步才是最重要的。
作为VNPY方论坛和BLOG的客观评价并不能反映Quicklib,这就是我要说的。
(1)最简单的高频问题,VNPY在知乎发帖Quicklib实现高频,表示怀疑,当然事后VNPY作者已经承认是误解。但VNPY在知乎的文章还在,仍然有误导嫌疑,不是所有人都会看后面的解释的
(2)关于抨击Quicklib使用Sleep太low的问题也是非常不客观,Quicklib提供了2种方式取得价格,
第1种是事件驱动,  python代码种根本没有sleep的,速度非常快,底层的事件驱动性能比PYTHON  应用层快的多,例如基础的for语句,c++比python快一个数量级,传统的应用层python事件驱动能不慢吗?  Quicklib采用底层C++实现事件驱动,效率高很多。
第2种是可以随时取价格,在部分非事件驱动的demo为了简化,没有采用事件驱动,为了简化代码,在ptyhon代码采用给了轮训方式,只是做取得价格的示例,当然必须有sleep,这部分代码是提供给大家参考的。
这是可选项,为了满足用户的部分需求而设的,而不是可以抨击的缺点。
这是加分项,不是减分项!
(3)VNPY论坛似乎到今天还没有将如果quicklib是骗子的帖子删除,这并不是一个客观的态度。
(4) 关于VNPY抨击冗余AES,CRC32库的问题,这是临时开发用的,没有用到相关函数,编译后并不会产生二进制代码,已经被优化掉了,留着是因为了将来使用方便。
对大部分人而言,直接用应用层代码就可以了。
(5) VNPY作者甚至转帖,捏造事实,误导粉丝等各种攻击QUICKLIB的不完全是事实的文章。
我们的本意都是为了让大家知道有更好更多的选择。难道VNPY做这些是为了啥?是为了阻碍技术发展吗?
确实Quicklib有很多不足的地方,我也在尽可能的增加新的API功能,忽视了一些注释代码的整理,这个是在现有精力时间资源下无法做到100分,但这个我已经在整理了,添加更多注释和整理底层代码。
我关注知乎比较晚,来到这里,有很多非利益相关朋友比较客观,说到有些中肯的地方, 也有的表示对我非常理解。包括VNPY作者也有很多说的不实的地方 ,误解可能也是源于处于竞争对手的角度吧 。


VNPY作者用Python 的程序员说到:“哈哈,猜到你会这么说。发现你把Github仓库里和vnpy相关的代码删除后,还想夸一句终于像个男人了,没想到官网上下载的文件里还放着“
Quiclib量化林:
请你自重,有话可以说清楚。咱们都是搞技术,应该知道开源涉及的问题。 你说的很多不切合实际,架构完全不同,你的代码我看都不用看。你说的那个GUI 吧和CTP API一点关系都没有。就是一个PYTHON   对话框独立的例子,这个是开源项目,之前有支持Quicklib朋友贡献的,你提到这个GUI和交易,行情一毛钱关系都没有,网上随便找个 PYTHON   QT的例子都比这个更详尽,我一直觉得没啥用。就是一个啥都不做的对话框,0价值,我都准备删除了,    跟异步IO架构和CTP等交易的API一毛钱关系都没有。 对整个Quicklib提供的功能和代码占比可以忽略,如果你认为这个是类似的,    我删除便是。 但请你自重。 ,不需要靠侮辱别人来证明自己。
截止今天,VNPY用python的程序员,你的6大谎言, 请看此文 《VNPY作者的6大谎言
继续回复前面的朋友
针对高性能的事,请问什么是高性能?请告知一个高性能标准,如果没有,那么我表达的就是横向比较。
仁者见仁,智者见智,非要和C++比,那还有什么说的,早在几个月前,我就在知乎说了做高频不要用Python,直接用C++的意思。非要乱套标准,那就是曲解我的意思。
关于华宝踢出群事我要说明一下,第一,华宝的那部分业务是承包给老吴个人的,华宝每个月给老吴100万,老吴承包了华宝LTS接口,老吴权利很大,需要开华宝A股lts交易接口可以找华宝上海虹口区东大名路营业部老吴,老吴所以经常在华宝群里把客户骂的狗血淋头(全天下券商都不敢开A股交易接口,就华宝东大名路老吴敢开A股交易接口,牛掰的人脾气坏也是正常),其实华宝老吴就是个体户嘛,他知道我封装了其它券商的A股行情,这个有利润上的冲突也比较激进, 与华宝有利益冲突有什么好说的。但是踢我出群后华宝的人马上电话给我,要给我介绍工作,去华宝也可以,这是华宝一个独立部门的负责人,但不隶属华宝群的营业部。我是说了没时间去哈。 如果谁需要接华宝lts行情,我可以提供解决方案。
我也经常踢群里配资的,踢做邮币卡的。
大家可以有自己的观点,不服也正常的心态,可能幻想对方是骗子是一种内心保护,保护的就是自尊心。你把对方当作假想敌了。 你搜集几年的记录就几句玩笑不过吧?
不过做金融的有赚几十亿也是正常的吧?6度人脉理论,6个好友路径,你在QQ上可以遇到马化腾,都是理工科的,你到我,我到几百亿身价的朋友,已经好几级了,做金融也是所有行业中比较有利润的行业,如果你在金融行业20年没遇到1个百亿身价的,只能说见识太LOW了。再说了几百亿也不是我的,你不也认识好几个千亿身价的马云,马化腾吗?
我只是告知我知道的事实,而有人对不知道超出自己的经验就大叫骗子。
请不要乱说,这是一种厚道。

当然Quicklib还有一系列工具,比如资金曲线分时图工具,按每10秒取样一次,绘制资金曲线分时图,可以很方便来进行交易策略的调整,还有全市场行情采集工具,以及回播行情API,接入分布式计算可以实现TICK基本的高效回测,并支持实盘的数据和历史数据的结合。
1是可以用来尽心基于TICK的回测,2是可以用来进行降低交易系统的初始化时间,本地局域网维护行情历史数据,非常简单便利。
CTP账户资金曲线工具使用说明   一、本工具用于绘制资金曲线分时图。    每10s查询一次账户的动态权益,可用资金,静态权益(前一天结算权益,当天不会变化)   盈亏比例计算公式为:  盈亏比例 = 100*(动态权益-静态权益)/静态权益)%  二、  通过修改配置文件setting.ini信息,运行后自动按配置文件中的账户登录,并保持资金变化信息到Data\日期\账户.csv  文件中;   双击列表中的账户,可以打开当天资金曲线分时图。   三、设置您的CTP账户,可支持模拟和实盘账户,目前只支持1个账户,未来会支持多账户资金曲线数据存储和绘制。
以下是Quicklib资金曲线工具,对高频交易的资金曲线进行测试https://pic4.zhimg.com/v2-ae0a0dfb1892d17b4fb6bfc250f71e97_b.jpg
CTP账户资金曲线工具 下载  http://www.quicklib.cn/download/Quicklib_AcountCurve_windows.rar
Quicklib CTP   期货行情库交易库下载  http://www.quicklib.cn/download/Quicklib_ctp_furure_windows.rar
Quicklib CTP2  A股行情库  http://www.quicklib.cn/download/Quicklib_ctp2_Ashare_windows.rar
Quicklib MOM模式  博易资管交易库  http://www.quicklib.cn/download/Quicklib_BoyiMom_furure_windows.rar
(用于接入资管投顾系统,MOM模式可实现私募进行投顾的选拔考核,并通过自己的风控系统接入实盘)  
期货全品种行情收集工具下载  http://www.quicklib.cn/download/Quicklib_DataCollect_Windows.rar  期货行情重播API作为回测客户端(对应本地的期货全品种行情收集工具作为服务器)
https://pic3.zhimg.com/v2-d3c7328a598a68c4100a2d18c02d6952_b.jpg
分布式计算例子,可用于回测  http://www.quicklib.cn/download/DistributedComputing
Quicklib 监控器库(预警、监控、交易信号数据复制、跟单)  http://www.quicklib.cn/download/Quicklib_Monitor&CtpExample_windows
http://www.quicklib.cn/download/Quicklib_Monitor_windows.rar


这是我作为Quicklib作者开发的产品
http://www.kucps.com
程序主界面,基于C++开发的,并封装了子账户API接口



可以对每一个账户进行资金曲线分时图绘制











我们看看2017年4月份左右VN.PY作者为攻击比自己性能更好QUICKLIB说出了6个谎言 https://zhuanlan.zhihu.com/p/27243838
记得实盘一定要改成期货公司的IP地址,SIMNOW的行情是测试环境,不是生产环境。
据说CTP提供了最新的稳定,对新手更加友好了,不过还是建议使用Quicklib已经封装好的库,因为很多生态工具已经完成了,例如资金曲线分时图工具和历史行情采集和回播工具
安心使用python的相关库做策略开发,例如pandas的dataframe是非常好的 选择。
以下是事件发生后的后话 :
《为什么说VNPY性能和架构不适合生产环境》
目前国内量化系统还不成熟,和国外的系统还差很远,国内的平台还有很大提升空间,如果都像某NPY那样,用谎言低于新的东西被攻击和封杀,那样有悖于开源精神, 如果整个量化行业都是这个风气,大家也就别希望有更好的产品出现了。
没有争论,就没有提高,但是争论的前提不能像之前vnpy那样那样做人身攻击,也不能而已误导和诽谤。
我们看看2017年4月份左右VN.PY作者为攻击比自己性能更好QUICKLIB说出了6个谎言 https://zhuanlan.zhihu.com/p/27243838
既然VNPY能捏造6个谎言攻击Quicklib 的产品和恶意诽谤Quicklib作者 ,那么Quicklib就能说清楚事实,说VNPY架构的缺陷的道理,对VNPY是害处还是好处,取决于VNPY对缺陷的处理态度。如果VNPY是正视,那么我就是在帮VNPY,如果VNPY不正视,那是它自己不负责任。
下面只看架构理论上的道理,不用关注VNPY原始作者个人对错


选VNPY的逻辑, python较为容易学习嘛,python初学者一看,原来python也可以搞底层 这门选修课成了加分项?完全可以用 C++搞底层 吧?是不是有点违背选python的初衷呢?
在这个行业,相信大家不止一个人也不止一次的说过类似的话:"一个成熟的系统不会是由一门语言去包打天下的”。
python不适合开发大项目,C++可以开发大项目。你拿PYTHON做什么大型交易系统嘛。
VNPY 是把python缺点美化成了优点。
为什么说纯python框架搞底层性能不行?


VNPY 量化交易上的性能对比分析关于python的性能问题,可以参考下面3篇文章
《测试  Node.js 与 python 的计算性能,震惊了,node.js和C居然比python快了70多倍》
https://www.v2ex.com/t/113887?p=1
[h1]《循环测试:C性能是PYTHON的 62倍,VNPY你居然用PYTHON做事件驱动?》 http://www.iteye.com/topic/699462[/h1]《 Python 比 C++ 慢 22 倍》
https://www.juhe.cn/news/index/id/843
[h1]当然简单的说python比C++慢22倍,比node.js慢70倍,比C慢62倍并不公平,[/h1]事实上,当python作为胶水调用一些库进行计算的时候,甚至比C++本身做计算还要快,得益于CPU基于硬件对PYTHON调用的类库(例如numpy)做了硬件上的优化
当然如果python只是作为胶水,如果只是粘合各种C++开发的类库,那么性能差异并不明显,就好像用胶水补车胎,只要胶水都抹均匀了,强度取决于贴上去的那块橡胶。
不可能像VNPY那样全部用胶水糊弄一下。
用python搞什么底层嘛?对于一些基本的语句,例如for语句,python性能不足C++
的1/10;VNPY利用python做事件驱动,性能非常之差,而且无法避免GIL全局锁,更重要的是,你逼着PYTHON程序员搞底层啊。既然那么费脑子为什么不直接选择C++?
对刚学习python的初学者来说,一看VN.py可以搞底层,觉得非常棒,“哇,python还可以搞底层”。但他并不知道付出的代价是什么。
用python搞底层是比较讨好而已,但只搞python的人,并不知道性能为何物。
有几个做底层的资深程序员,用过VN.PY后都和我述说,VN.PY根本不适合生产环境。
python的优势不在于做底层,而是做数据分析和调用各种类库。
选择一门语言不在于他的缺点,而在于它的优点
选择是因为优点,但也要规避缺点
VNPY作者自诩某是私募基金的首席即便是事实,但就我在私募作为CTO从业经历,因为现阶段的私募一般大多在10个人以内,做IT的一般就1个人,做python研究员的有2-3个人居多,其他是财务,前台,基金经理等的。
就目前小的私募规模上,人员配备都不整齐,如果私募想从节省成本考虑,省一个C++的话,就很容易让一个python程序员(例如VNPY作者)替代底层C++程序干了不恰当的事。
据国外的朋友都知道,国外量化基金的量化系统是多么完善。就国内而言还在太过于原始的阶段。特别是拿PYTHON做底层的架构更是简陋不堪。
当然有VNPY的粉丝会不服,但我想说的是,可能是人们只愿意相信他愿意相信的。
1.VNPY首先对Quicklib攻击在先,VNPY作者除了采用谎言对产品进行误导性攻击,还对Quciklib作者本人进行了人身攻击。
我们看看2017年4月份左右VN.PY作者为攻击比自己性能更好QUICKLIB说出了6个谎言

https://zhuanlan.zhihu.com/p/27243838
2.长久以来,Quicklib大量发文也只是阐述事情经过的事实。
3.基于VN.PY作者所说,Quicklib蹭VNPY热度的说法,我想说的是目前Quicklib几个群达到2500人,根本不需要蹭任何产品的热度;
4.既然VN.PY认为Quicklib不足为惧,蹭了它的热度,那VNPY为何要首先攻击Quicklib在先?
5.本次只是从理论的高度去阐述VNPY不适合生产环境,并非对VNPY作者进行人身攻击
因为合理的技术探讨会促使开发出更好的产品。
和VNPY比起来,为什么有其它的程序化交易框架架构可以做到了底层C++驱动的性能,不仅可以实现绕过GIL全局锁,甚至在底层还可以实现C++无锁队列,并在python应用层调用较为简单,性能更好很多。
这不是PYTHON本身的问题,而是VNPY的python框架架构的问题!
Quicklib秉承的是底层用C++驱动,采用C++封装好方法,并提供给python调用,采用异步IO,  通过底层驱动,用较短的代码路径迅速进入数据高效处理环节。

http://www.quicklib.cn
Quicklib作者开发的酷操盘手CTP期货跟单软件
http://www.kucps.com
下一篇《承载科技金融人的梦想,追求量化速度效率的极致
http://www.lhjie.net
http://www.pythonpai.com


期货,A股等API程序化量化开发技术交流python派量化交易、python、程序化交易、私募基金、基金销售、资源导航站期货,A股低佣金开户和量化交易技术交流





农夫由于付不起养骡子的成本,于是决定用狗拉磨,于是狗变成了神狗,不仅要看家,还要拉磨

农夫由于付不起养骡子的成本,于是决定用狗拉磨,于是狗变成了神狗,不仅要看家,还要拉磨。
农夫于是对对周围的邻居们夸耀说自己养了一条神狗。有邻居l前来询问如何培养神狗,于是农夫写了一本厚厚的小册子,教学各种培训神狗的方法。甚至开了LIVE讲座,收取350元培训费用。
有人开始用这小册子开班授课教大家如何培育,既可以看门,又可以拉磨的神狗。





由于大家都在讲如何培育神狗,渐渐的趋之若鹜。
很多做神狗培育课程的培训师还赚了一笔小钱,这样大家都赚了小钱。
但大家都没有用神狗拉磨提高正常的生产效率而赚钱!
突然有人问农夫:你为什么不养一头骡子?
这真是狗的悲哀。




在量化行业,这几年的风向在vnpy的引领下都是去养“神狗”,既要搞底层,还要搞策略。运行效率降低10倍以上,导致大家花了大量时间最后发现根本不适合生产环境。
有人安慰自己,本来python效率就不高嘛。 这说法只是横向对比,狗和骡子比起来确实不适合拉磨。
但请注意,因为这个神狗长期疲惫,积劳成疾,既不能拉磨也不能看门了。连普通狗都不如了 (纵向对比)





这是python的悲哀,也是量化人的悲哀!
当然python做策略开发部分是非常适合的,调用各种C++开发的库做i数据分析和数据处理,一点也不低效,但做底层那就效率低效了。
所以最好的方式是: 用python做策略,用C++开发底层。

养一头骡子拉磨,养一条狗看门。对测量师来说,不用把职业生涯精力浪费在底层处理上。
****把量化交易中最后一环(策略开发)交给python,这需要C++的异步驱动支持python的策略开发。
关于C++开发底层异步IO驱动python


量化林:Quicklib采用的异步IO架构的特点当然也有人说, 某NPY至少在开源和推动python量化做了贡献啊!
开源和不开源都是为了利益,开源可能是因为为了普及,也可能是为了向赚培训的钱和LIVE的钱。
需求引导技术,需求的出现是必然的,而用哪一种技术,哪一种语言,哪一种框架实现量化确实不确定的。
没有python,也会有xython出现,zython出现。
没有ANPY,也会有BNPY,也会有CNPY出现。
你认为某NPY贡献就是普及了python还是普及了量化?
可能有一点用,但最重要的原因是因为你为了学习量化付出了时间,无论是你看视频,还是看书,都会有收获的,而不是因为任何语言或者任何框架。
为什么说VNPY性能和架构不适合生产环境 - Hadoop论坛 - 经管之家(原人大经济论坛)

1#
矿工  3级会员 | 2018-10-17 22:44:30
金融民工先发了几篇文章说vnpy设计不够好,流量太低了;然后跑到vnpy的论坛说quicklib烂成渣。最后静静看着两方表现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP