啊啊啊啊啊吖

2018-11-09   阅读量: 1359

数据分析师 Python编程 Python数据分析 Java

关于vnpy的一些思考

扫码加入数据分析学习群

在远古时代,一个恐龙还没出现的时代,一群巨大蠕虫占据了地球大陆,因为出现早而没有天敌。

但要进化出高等生命,必须有结实的骨骼。

在量化领域,vnpy就是这只巨大的蠕虫,正变得越来越大,爬都爬不动了,还去捕食么,自己体重就把自己压死了。

111.png

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

这是3种语言的基本语句测试,JAVA是python 性能137倍

换句话说,补车胎橡胶强度是丁基胶水的100倍不奇怪,胶水就是胶水啊

可以说VNPY的架构完全曲解了python胶水的定位

因为整个系统不仅是下单速度慢一点这么简单,因为多账户多合约的情况下,这样的问题更明显, python只做量化策略最好,但不要做底层。

底层是cpp的事,说白了这样胶水搞底层的架构是阉割了一个程序员的省钱选择。

如果python是用来做策略开发,时间序列,数据分析,那应该得心应手的,但用来搭底层就是扯蛋了。

要知道VNPY是2015年之前VNPY作者所在公司,在为了节省一个C++程序员,用非职业程序员搞出来的东西,只是一个不成熟市场里的不成熟架构。

你能想象3年后的量化架构是什么样吗?

把精力放在策略上才是最保值的选择,而不是和那些不成熟架构一起被淘汰。

大家都知道基于CTP这类API开发策略,费时又费力。

很多时候,大家往往只是打算做做策略,却最后一入量化深似海,从此节操是路人

意思就是:在涉及该领域之前,节操尚可;但涉及该领域并陷入其中之后,节操每况愈下,直至与节操形同路人……

最终大家不知不觉中处理了之前未来预料到如此多的问题。甚至做着就做着偏离了做策略的初衷。本来只是想做量化,但在一遍又一遍的在造轮子的过程中,很多最终成为一个兼职程序员的归宿。

一句“人生苦短,我用python”道出了所有量化爱好者的心声。

可是用各种python框架性能很差,虽然python擅长做数据分析(例如回测),却又因为性能较差,不擅长处理多账户多策略情况下的实盘。

多数人反应用了python做底层,服务器 交易太慢甚至崩溃。

往往是适合做策略的语言框架,不适合搭建底层,适合搭建底层的语言又不是那么容易做数据分析。运行性能至崩溃。

有人安慰自己说:python只是慢一点,够用就好。

其实是:

pytho的定位是胶水,python从来就不适合做大项目。

python适合做策略,但并不适合搭建底层。

python做时间序列分析是调用C,C++开发的库,所以性能影响不大,但是如果把python当作主力做底层开发是不可想象的。

像if这样的基本语句,在一些测试种pyhton只有c++速度的1/70,很难想象你用了比别的语言慢几十倍的性能搭底层,这样的架构怎么能用于生产环境?

python不要搞底层驱动,做时间序列处理就可以了。

大家用python目的是为了调用库。简化开发。如果涉及底层的话和cpp一样麻烦

vnpy那个架构把python简单易用的优点搞得已经不存在了,但性能确不堪忍睹。

这不是java和cpp  15%的性能差距,在基本语句上,python和C++比起来是10-70倍的差距。

你认为只是慢一点的问题吗?

胶水是通过大面积粘合高强度材料补漏,胶水自身强度其实很低

这也是为什么python不适合做大型软件

做单一策略很适合

python做底层不是慢一点点这么简单,

以DDOS为例,能理解TCP协议是因为什么原因导致服务器崩溃吗?

你能想象TCP的网络通道缩窄到1/70是什么后果吗?若慢到原先的1/70,不需要DDOS进行攻击,估计正常使用就应该会崩溃啊。

对,python就比C++在基本语句上平均慢70倍。

系统问题正所谓牵一发而动全身,绝不是慢一点这么简单。低效到一定层度,一定是系统级的崩溃。

一个小型生物,比如一条蠕虫,可以没有肌肉,缓慢蠕动,它可以活的很好。

如果是一个3米高的怪兽,大型系统必须要有结实的骨骼和肌肉,否则自己就把自己压死了。软件系统架构也是一样

别试图用胶水搭建底层

不是简单快慢的问题,是适用场景的问题

还是刚才那个例子,一个3米高的怪兽必须有强壮的肌肉和骨骼,

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 2 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子