Rust适不适合做量化工作?
一般地认为,目前大部分场景策略开发最佳是Python;策略交易和部署是C++。但还是有人会问,Rust呢?
这个问题不太靠谱!
适不适合做一件事情,本身就是一件主观的事。即使是一件确定的事呢,也会有不同的答案,因此不同的人,自然有不同的看法。
语言精通水平不同:有人出神入化,有人只懂皮毛,出活有快有慢,自然会得出不同的结论。
角色和场景不同:有人做策略开发,有人做策略部署,有人做全栈,有人做风控或绩效评估等;有人高频,有人低频;
有人只要日bar,有人必上tick,这又如何一样?
条件不同:有人机器要省之又省,有人机器带宽无限造。有人时间很宝贵,有人人力很便宜,因人而异结论自然不同。
因此,适不适合,本身就是一个伪命题,鞋子合不合脚,本身也不需要别人来评价。
尽管如此
尽管做适不适合的评价,有点不太靠谱的。但并不是说,做这样的评价完全没有价值。就象“黑神话:悟空”,你在设计之前,不同的技术选型,也一定是结合自身的特点和工具、平台自身的优劣来得出来的,可能有一些无奈,可能也有一些经验。
一、评价维度
评价一个语言,往往可能有几个维度:易用、成熟度、 性能、安全、生态。放在这里,也是不错的几个维度。
1、易用性
学习资料(官方文档、书籍、博客)、国内baidu、stackoverflow;
学习上手所需时间;
代码简洁性;
2、性能
这个通过各种排名可以看到。
3、资源占用及安全性
GC和非GC,内存管理方式;
内存安全等;
内存和CPU占用;
4、语言自身成熟度
github star; 语言各种排名;
是否1.0?
异步和多线程:(JS和python:单线程,但均支持异步)
类型丰富、表现力强;
宏、类lammda(匿名函数)、
泛型;
FFI:ABI;
行业知名库的影响:
国内还有一个,你到b站,每门语言(比如rust)最新更新视频的间隔,你也可以直观看到热度情况。
5、行业生态
使用普及性;
行业公司采用案例;
行业专业库广度和深度;
以上1-4仁者见仁,今天主要从第5项生态角度看,看看Rust在量化上是否有前景?
二、Rust行业量化生态评估
初步整理了Rust目前的生态,大家可以参考一下。参考时间是2024年9月初。
三、相关判断
Rust在机器学习库、基础库、文件IO上是比较强的;制图算不上强,但能满足正常需求。但有待提升;金融库和统计库相对较弱,但满足基本需求。
总体上,Rust在量化上的生态还是不错的。
回到最初的问题上:在策略开发上,是否适合,这个取决个人的水平,出活快就适合,出活快就算了;在策略交易和部署上,Rust其安全性、性能的保证可以成为除C++外的另外选择。如果从全栈开发角度,是一个不错的选项 。
仁者见仁,不争论。