受邀出席Rust 开发者大会|Rust 如何助力量化高频交易

 

受邀出席Rust开发者大会|Rust如何助力量化高频交易?

 

工欲善其事必先利其器面对时代变革技术迭代开发者们是如何使用Rust构建各场景应用的呢受疫情影响延期一年的“第二届中国Rust开发者大会731日在线上顺利举行Rust爱好者带来了前沿的技术交流和实践成果Copy作为能够影响编译器行为的Trait,对于理解Rust基础有着重要作用,而Clone是开发者能够自定义复制行为的Trait。对此,陆一洲就“Clone与Copy”以及“GPU分配小工具”做了代码讲解。


非凸科技量化策略负责人陆一洲受邀出席分论坛“Rust商业实践”带来了“Rust如何助力量化高频交易”的主题演讲为大家揭晓答案

 

非凸科技以算法交易执行切入到量化交易领域,为券商、量化私募等众多大型金融机构提供优质的算法服务。公司基于Rust生态,打造了高效率、低延迟、高可靠、全内存高频交易平台,相较于C++等其他语言,在安全性与稳定性上可以得到更好的保障,且随着量化交易规模的增大,优势也会更加突出。

 

一、量化交易

近年来量化行业发展迅速量化私募管理规模预计已突破1.6万亿元在量化的竞技场中技术的持续迭代才是量化机构长期保持行业竞争力的保障

 

量化私募简而言之是为市场提供流动性的同时寻找机会低买高卖陆一洲表示在创收过程中有两大重点一是期望收益二是回撤整体而言期望回撤与收益主要取决于量化机构的综合水平包括人才商务服务器等而非凸科技作为一家精益求精的企业致力于优化每一个细节

 

在量化交易中有一部分回撤是在策略意料之外的比如进程闪退上下游出问题等针对这些问题,Rust相对于传统的C++就是一个优秀的解决方案。那么,Rust对回撤有何影响首先Rust自身系统稳定,常见的各种线程调度、内存管理等问题,几乎在编译阶段就搞定;其次Rust可以高效应对风险,量化实盘交易中由于系统的复杂性,难免会出现各种问题,那么应对各种风险时的速度是重要考量点陆一洲进一步解释道

 

二、量化策略

量化世界千变万化,其相应的策略也星罗棋布,策略本身也随着市场起起落落。“如果要找到优秀的策略,要么拼运气,要么拼迭代策略的速度。显然,前者无可改变,后者才是我们的着力点。”陆一洲说道。

 

传统量化方案“Python研究员+ C++转写员策略迭代需要2-3天完成陆一洲表示现实情况是,很多策略看似很厉害,模拟盘无敌,但上了实盘,表现一般。可能存在各种问题,比如策略本身有误、转写有误、回测代码有误

 

那么能否一人全链路搞定?Python会存在速度太慢而无法上实盘的问题C++存在实验速度过慢、测试环境较宽松、优化细节较大等问题相较之下,Rust其方便的包管理、高稳定性以及相对较浅的细节深度等优势获得青睐陆一洲表示非凸科技内部设计了一套基于Rust的策略标准库,封装了大量的常用算法与工具,使得所有的策略都可以在百行内实现,并可同时上回测、模拟盘与实盘。


全链路使用Rust不仅可以在30分钟内完成一轮迭代还可以耗时缩短50%,数据多训练300%。相较传统量化方案,非凸科技可以在一天内完成10+轮迭代配合强大的算力,我们正迅速赶超前者。陆一洲补充道。非凸智能算法6月的绩效,相对Twap收益率为7-8bp,而对比2021年10月C++框架平均收益率1-2bp,提升约400%。

 

Copy作为能够影响编译器行为的Trait对于理解Rust基础有着重要作用,而Clone是开发者能够自定义复制行为的Trait对此陆一洲就“Clone与Copy”以及GPU分配小工具”做了代码讲解

 

三、人才招聘


技术要迭代策略要提升百亿规模并非是量化私募的天花板未来量化的竞争离不开人才的较量如果说设备是硬件的地基那么人才就是软件的核心要点,量化行业聚集了一批最聪明的人

 

非凸科技在上海、北京、成都、新加坡、美国均设置了办公室,以及开放了社招/校招岗位陆一洲表示“为了招到优秀的人才,我们在保证客户业绩稳定软硬件持续投入的同时也给出了同行业最好的个体成长和发展路径,匹配了舒适的工作与创新环境,还有和天才同事一起工作的快乐。除此之外我们的激励和分配机制也非常合理,更多核心岗位向长期想和公司共同成长的奋斗者开放!

 

“从笔试到面试的过程中要满足三个前提条件一是对入职有较强意愿二是对新事物有热情三是有较强的学习能力这样再通过笔试中的算法/工程细节,我们就能更精准地筛选出与之相匹配的候选人了。陆一洲补充道

 

在人才培养方面绕不开Review代码。陆一洲说道相较C++Rust完美的编译器各种风格类Warning以及Formatter插件可以帮你做好代码规范于是,策略研究员有机会直接上实盘验证代码,清晰地感受自己写的每一行代码对实盘造成的影响,从而高效地完成自我迭代。

 

本次技术分享会圆满结束,期间收获很多点赞和讨论。在QA环节,陆一洲针对大家的提问,一一做出了解答。

 

欢迎大家加入非凸科技,基于高效稳健的Rust,创造出更高的价值!

 

 

#量化##量化交易##私募量化#
全部评论
找工作的都对入职有强烈的意愿
点赞 回复 分享
发布于 2022-08-04 10:41

相关推荐

10-29 11:50
东北大学 C++
分布式缓存,你的分布式key是怎么分桶的?分桶规则是什么?节点的增减会不会影响你的数据分布?有没有主节点?没有主节点来管理整个数据的一个分布规则,如果有一个节点挂了,客户端怎么感知的?假设正在请求中,down了一个节点,比如原来5个down之后变成4个,那这个时候你请求的有部分数据,它的数据分布就变了,你的客户端怎么知道这个事情?怎么会路由到其他节点上去呢?你这个数据可能正在迁移,你数据正在迁移,假设你的第五个节点宕机了,那么你的第五个节点的数据从哪里取出来?你这个节点宕机了,其他节点怎么拿到他这个宕机的数据?相当于你存的节点的数据在数据库都有?缓存有副本吗?平时都建议把C++模板类的实现,放到头文件中,基于什么考虑?C++一个虚函数可以定义成模板函数吗?如果我在一个头文件中定义一个函数,这里会有什么问题吗?一个类的大小有什么有关?如果一个类本身有一个虚函数,再加一个虚函数它的大小怎么变化?unordered_map和map的区别有unordered_map查找时间复杂度是O(1),既然有基于哈希表的map,为什么还要有基于红黑树的map?解决哈希冲突的一些方法C++三种智能指针unique_ptr怎么做到的单独拥有一块内存,而不是和别人共享一块内存?手撕:字符串相乘,没撕出来,挂
腾讯一面1582人在聊 查看17道真题和解析
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务