C++在低延迟交易系统中的运用
在金融衍生品市场中,做市商(Market Maker)肩负着为期权期货产品报价(Quoting)的义务。“低延迟”对于这类公司而言至关重要,如果你的速度比别人快,同样的报价就可以优先成交,错误报价可以快速撤回,还可以抓市场上的错误定价进行套利。显然,人工下单肯定不可行,而且面对种类繁多的产品,人工报价容很易出现失误,所以我们需要开发交易系统来实现“低延迟”。
如今,大部分衍生品交易系统都是用C++实现,这固然与C++的一些优良特性密不可分,当然也有历史方面的原因。金融衍生品大约发展成熟于20世纪80年代,当时世界上主流的编程语言有C,C++,Fortran等。现在C++主要的竞争对手Java和C#都还没有出现。而C和Fortran并不太适合写大型程序,所以,C++在衍生品交易领域就成了主流的选择。
我们再来了解一下C++的历史。它发明于20世纪80年代,大约经历了三个发展阶段。第一阶段因为跟C有很好的兼容性,效率与C接近,而且还面向对象,在工业界中占据了相当大的份额。第二阶段由于标准模板库(STL)和Boost的出现,泛型程序设计占据了越来越多的比重。同一时期由于Java,C#等的兴起,抢走了C++的部分市场。第三阶段至今,模板元编程以及新特性的加入使得C++重新焕发活力,同时也变得更为复杂。
C++相比于虚拟机语言Java和C#,它直接把源程序编译为机器码,同时可以在编译及链接期间进行优化,以获得性能的提升。相比于动态语言Python和Lua,它减少了运行时的动态类型检测。因为C++没有垃圾回收(GarbageCollection)机制,所以不用担心延迟的不确定性。又因为它能直接编译成机器码,可以做底层优化,例如使用内部函数和嵌入汇编语言。
此外,C++做并行计算也相对比较容易,比如可以直接用CUDA。但是C++也存在诸多问题,比如编译链接速度慢且容易出错,缺乏其他语言常见功能的支持,开发效率低等等。但是C++也一直在发展,相信越来越多的问题会得到解决。所以,如果你想开发高性能的服务器程序,那么C++是一个很好的选择。
但是,低延迟与C++并不能划等号。有些公司用经过优化的JVM,用稍显小众的Ocaml, Haskell, Erlang等语言实现交易系统,也有不输C++的性能。与整体系统架构设计相比,编程语言的影响并没有那么大。交易公司也会租用交易所的机位,用光纤直连,以及把不需要经常变动的部分用硬件实现等等来降低延迟
综上所言,C++在交易系统中的广泛运用既有历史原因,也跟自身的特性密不可分。随着信息技术的发展,C++也将在金融交易市场中扮演着日益重要的角色。如果你想一起塑造衍生品交易市场的未来,欢迎加入我们。
【社招】中/高级C++ Developer-顶尖金融交易公司-Akuna Capital
Company: Akuna Capital
Website: www.akunacapital.com
#香港市场交易 #比特币#加密数字货币交易 # C++# 低延迟#Linux#量化交易
• 你对金融科技有兴趣吗?
• 你对期权,期货,股票交易有兴趣吗?
• 你对量化交易系统有兴趣吗?
• 你对自动化交易有兴趣吗?
• 你对高性能系统有极致追求吗?
【关键技术】 C++11 , C++,Linux, Python, multi-thread, template
【应聘方式】
• **邮箱: shanghaicareers@akunacapital.com ,请注明申请职位
• 微信号:akunacapital
• 网站:www.akunacapital.com
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。