Rust在高频量化交易领域有什么优势?

论坛 期权论坛 期权     
期权匿名问答   2021-12-21 09:31   17316   7
今年,国内量化私募迎来了高光时刻。据私募排排网数据显示,截至目前,国内百亿私募扩容至95家,其中百亿量化私募由去年10家增至24家。
据中国证券投资基金业协会的数据显示,截至2021年8月,国内私募基金管理规模高达5.5万亿元,相较2020年底增幅达46.56%;其中,量化基金规模已突破1万亿元,成交额占比约为12%-15%。
在国内百亿私募阵营不断扩大的过程中,量化私募做出了巨大贡献。但相较欧美国家,国内量化策略的发展仍处于初级阶段,上升空间还很大。
一、Rust或将成为量化领域的新趋势
量化交易在中国的蓬勃发展,人工智能在投资领域的应用,以及交易工具的丰富,使得程序化交易在证券市场越来越受欢迎。程序化交易能够更快地、更有纪律性地执行策略,从而减少冲击成本、降低情绪影响。规模较大的私募,由于具有交易策略多样性、交易市场广泛性、交易品种复杂性等特点,对程序化交易的需求显得尤为迫切。
历史上曾发生过因软件Bug导致的亏损及个股闪崩等事件,这些风险事件大多是在程序化交易过程的关键点上没做好检查和风险控制所致。如果能从系统构建开始就有意识的做好防范,使用正确的编程方式,就可以在很大程度上避免风险事件的发生。
当前,国内量化交易领域已开始布局Rust方向的人才招聘,这是否意味着:在国内高频量化交易领域的应用,Rust将成为一种新趋势?先来看看他们怎么说的吧。
小王:就高频量化交易系统而言,Rust作为主要面向安全的高性能计算编程语言,比C++强,原因是Rust没有历史包袱,虽然追求性能,但没有C++用起来复杂,也不容易造成内存泄漏。
小张:Rust起步晚,应用到高频量化交易领域还需一个逐步完善生态的过程;不敢说Rust成为该领域的趋势,但至少会有部分场景的应用。
小刘:绝大部分的交易接口在未来很长时间里仍会以C++方式显现,用Rust调用C++写的接口可能比较麻烦,性能上是否有质的飞跃,还待考察。
小房:Rust很适合用在量化的交易或生产阶段,因为Rust可以很好地降低交易代码中潜在的Bug,也容易进行生产调试。
对于Rust在高频量化交易领域的应用,大家的看法各有不同,在未来既是机遇也是挑战。现阶段,非凸科技正基于Rust生态打造高效率、低延迟、高可靠全内存高频交易平台,持续为券商、量化私募等众多大型金融机构提供优质的算法服务。
二、Rust VS C,在编程效能上的优势
Rust是一门赋予每个人构建可靠且高效软件能力的语言。集表达力、高性能、内存安全于一身的Rust,在很多场景里都能大施拳脚,高频量化交易领域也不例外。
Rust足够底层,它可以像C一样进行优化,以实现最高性能。抽象层次越高,内存管理越方便,可用库越丰富,Rust程序代码就越多,做的事情也就越多。
除此之外,Rust程序的优化也很好,有时候比C还好,C适合在逐个字节、逐个指针的级别上编写最小的代码,而Rust具有强大的功能,能够有效地将多个函数甚至整个库组合在一起。
然而,最大的潜力是可以无畏地并行化大多数Rust 代码,即使等价的C代码并行化的风险非常高。在这方面,Rust是比C更为成熟的语言。
不如看一下,Rust与C在编程效能方面有什么不同?


代码行数
Rust的优势在于,作为一种具有高级语言的一些特征的语言,它既是函数式的,也是面向对象的,它可以开发出比C语言更紧凑、更容易解释的代码。代码量少的情况下,还有更强的可维护性。在优化过程中:
1. C需要不断改变解决方案的逻辑才能更好地利用数据位置的优势,而Rust则更有效地管理了内存,优化过程中不需要对解决方案进行修改。
2. Rust的迭代器可以通过更简单的方式生成并行代码,而C则需要对不同的OpenMP选项来实现适当并行化。
3. Rust中添加外部库非常方便,比如数学优化库或rayon库,C则比较麻烦。
分享到 :
0 人收藏

7 个回复

倒序浏览
2#
期权匿名回答  16级独孤 | 2021-12-21 09:32:20 发帖IP地址来自 中国
今年,国内量化私募迎来了高光时刻。据私募排排网数据显示,截至目前,国内百亿私募扩容至95家,其中百亿量化私募由去年10家增至24家。
据中国证券投资基金业协会的数据显示,截至2021年8月,国内私募基金管理规模高达5.5万亿元,相较2020年底增幅达46.56%;其中,量化基金规模已突破1万亿元,成交额占比约为12%-15%。
在国内百亿私募阵营不断扩大的过程中,量化私募做出了巨大贡献。但相较欧美国家,国内量化策略的发展仍处于初级阶段,上升空间还很大。
一、Rust或将成为量化领域的新趋势
量化交易在中国的蓬勃发展,人工智能在投资领域的应用,以及交易工具的丰富,使得程序化交易在证券市场越来越受欢迎。程序化交易能够更快地、更有纪律性地执行策略,从而减少冲击成本、降低情绪影响。规模较大的私募,由于具有交易策略多样性、交易市场广泛性、交易品种复杂性等特点,对程序化交易的需求显得尤为迫切。
历史上曾发生过因软件Bug导致的亏损及个股闪崩等事件,这些风险事件大多是在程序化交易过程的关键点上没做好检查和风险控制所致。如果能从系统构建开始就有意识的做好防范,使用正确的编程方式,就可以在很大程度上避免风险事件的发生。
当前,国内量化交易领域已开始布局Rust方向的人才招聘,这是否意味着:在国内高频量化交易领域的应用,Rust将成为一种新趋势?先来看看他们怎么说的吧。
小王:就高频量化交易系统而言,Rust作为主要面向安全的高性能计算编程语言,比C++强,原因是Rust没有历史包袱,虽然追求性能,但没有C++用起来复杂,也不容易造成内存泄漏。
小张:Rust起步晚,应用到高频量化交易领域还需一个逐步完善生态的过程;不敢说Rust成为该领域的趋势,但至少会有部分场景的应用。
小刘:绝大部分的交易接口在未来很长时间里仍会以C++方式显现,用Rust调用C++写的接口可能比较麻烦,性能上是否有质的飞跃,还待考察。
小房:Rust很适合用在量化的交易或生产阶段,因为Rust可以很好地降低交易代码中潜在的Bug,也容易进行生产调试。
对于Rust在高频量化交易领域的应用,大家的看法各有不同,在未来既是机遇也是挑战。现阶段,非凸科技正基于Rust生态打造高效率、低延迟、高可靠全内存高频交易平台,持续为券商、量化私募等众多大型金融机构提供优质的算法服务。
二、Rust VS C,在编程效能上的优势
Rust是一门赋予每个人构建可靠且高效软件能力的语言。集表达力、高性能、内存安全于一身的Rust,在很多场景里都能大施拳脚,高频量化交易领域也不例外。
Rust足够底层,它可以像C一样进行优化,以实现最高性能。抽象层次越高,内存管理越方便,可用库越丰富,Rust程序代码就越多,做的事情也就越多。
除此之外,Rust程序的优化也很好,有时候比C还好,C适合在逐个字节、逐个指针的级别上编写最小的代码,而Rust具有强大的功能,能够有效地将多个函数甚至整个库组合在一起。
然而,最大的潜力是可以无畏地并行化大多数Rust 代码,即使等价的C代码并行化的风险非常高。在这方面,Rust是比C更为成熟的语言。
不如看一下,Rust与C在编程效能方面有什么不同?


代码行数
Rust的优势在于,作为一种具有高级语言的一些特征的语言,它既是函数式的,也是面向对象的,它可以开发出比C语言更紧凑、更容易解释的代码。代码量少的情况下,还有更强的可维护性。在优化过程中:
1. C需要不断改变解决方案的逻辑才能更好地利用数据位置的优势,而Rust则更有效地管理了内存,优化过程中不需要对解决方案进行修改。
2. Rust的迭代器可以通过更简单的方式生成并行代码,而C则需要对不同的OpenMP选项来实现适当并行化。
3. Rust中添加外部库非常方便,比如数学优化库或rayon库,C则比较麻烦。
3#
期权匿名回答  16级独孤 | 2021-12-21 09:33:02 发帖IP地址来自 北京大兴
怎么说呢,Rust的速度快,稳定性强,高频交易越快越稳定越好,Rust可以满足这些条件
4#
期权匿名回答  16级独孤 | 2021-12-21 09:33:32 发帖IP地址来自 中国
从业人员告诉你,没有任何优势
5#
期权匿名回答  16级独孤 | 2021-12-21 09:33:45 发帖IP地址来自 中国
据说:快速,稳定,安全。
海外已经不少量化hedge fund 在使用了,但是国内的环境似乎受到一定限制,目前来看只有少数量化私募在小试牛刀,至于未来会不会大范围使用,这个目前谁也不好说。
6#
期权匿名回答  16级独孤 | 2021-12-21 09:34:32 发帖IP地址来自 北京
就高频交易系统的代码规模和复杂度而言,rust没有任何优势,直接使用c++更方便。
7#
期权匿名回答  16级独孤 | 2021-12-21 09:35:29 发帖IP地址来自 北京
如果不用考虑对C++成熟库依赖的存量优势,rust花式吊打c++;
最最坏的情况rust我开unsafe,瞬间到了c位置,c++不得叫声爹;
8#
期权匿名回答  16级独孤 | 2021-12-21 09:36:04 发帖IP地址来自 北京
比较与cpp在并发编程方面的优势还是很多的,可以避免很多坑。参考我之前写的文章。
在Rust中无畏并发(对比c++)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

下载期权论坛手机APP