在远古时代,一个恐龙还没出现的时代,一群巨大蠕虫占据了地球大陆,因为出现早而没有天敌。
但要进化出高等生命,必须有结实的骨骼。
在量化领域,vnpy就是这只巨大的蠕虫,正变得越来越大,爬都爬不动了,还去捕食么,自己体重就把自己压死了。

-------------------------------------------------------
这是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米高的怪兽必须有强壮的肌肉和骨骼,








暂无数据