为速度而生的开源量化交易系统来了!

针对这种数据形式,常见的关系型数据,NoSQL数据库都显得不合用,最终那些追求极致速度的人们大多需要舍弃实时数据存储的功能。

为速度而生的开源量化交易系统来了!一直以来,交易速度优化都是一门小众而高深的技艺,追求低延迟的量化交易者们就像在一片黑暗的荒野上独自前行,资料奇缺且讨论匮乏,除了在浩渺的互联网上搜索蛛丝马迹,在代码和机器喧嚣中寻找突破线索外,我们并没有更多可以参考求助的渠道或工具。在其中寻求到了独门秘籍的高手们,往往又视若珍宝不肯外传,只空留一些只言片语引大家遐想,这是一个传说远远多于实证的江湖。作为一个(用生命)热爱代码的工程师,我始终认为科技的进步应该始于开放探索的科学精神,基于这个理念,我和我在 Taurus.ai 的小伙伴们,精心提炼出我们过去多年在低延迟量化交易执行系统上的经验,打造了一个开源项目功夫,希望可以帮助到在延迟优化之路上苦闷前行的朋友们。

我们为这个项目起名叫做“功夫”,取为成宗师必内外兼修之意。功夫想要解决两个核心问题:交易数据实时存储 - 为了追求交易速度,很多情况下交易者不得不放弃存储功能以换取更高的执行速度,这给盘后分析带来很大困难,使分析缺乏必要的数据支持。

易筋经 - 金融交易其实是一种很特殊的应用,不同于大多数互联网应用,它要处理的是流式的时间序列数据,特别是对于低延迟交易来说,任何读写上的开销都让人十分痛苦。针对这种数据形式,常见的关系型数据,NoSQL数据库都显得不合用,最终那些追求极致速度的人们大多需要舍弃

实时数据存储的功能。而我们相信,在交易策略上若要百尺竿头更进一步,完备的数据存储是必不可缺的,就像习武者要精进,必要修炼顶级内功。我们希望易筋经可以成为大家在交易数据存储上的标配,替代掉 MySQL、CSV文件、甚至MongoDB/Redis 之类的低效存储方法。

易筋经 - 金融交易其实是一种很特殊的应用,不同于大多数互联网应用,它要处理的是流式的时间序列数据,特别是对于低延迟交易来说,任何读写上的开销都让人十分痛苦。针对这种数据形式,常见的关系型数据,NoSQL数据库都显得不合用,最终那些追求极致速度的人们大多需要舍弃

咏春 - 策略执行引擎,提供 C++ 及 Python (2.7) 开发接口,利用易筋经特性,咏春还提供一系列交易数据分析工具。纵然内功深厚,交手仍需招式,咏春定位在解决策略执行时的各种需求,在设计上,咏春封装了所有和内存、线程、状态机有关的操作,都由 C++ 代码执行,确保执行效率和速度;交易逻辑相关的代码则通过接口的形式暴露给使用者们,对于不熟悉 C++ 开发的策略师们可以选用 Python 接口,一方面相当程度上仍然保证执行速度,另一方面以后如果想切换到更高速的 C++ 方式,过度会变得很容易。长拳 - 交易数据标准化定义及转换器,支持灵活对接不同交易柜台。国内的量化从业者们应该都懂,十几种风格迥异的交易柜台,给大家在策略开发上造成很多额外负担;同样的交易逻辑,在切换到不同柜台上时,往往面临要重新开发的问题,使用的柜台多了以后,很容易造成管理混乱,更新困难的局面。长拳是功夫用来切割柜台和交易逻辑的利器,我们希望长拳可以成为在柜台接口之上的数据标准,就像武者的基本功,搭好了架子再练任何功夫都可循序渐进。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181030A0QJ4600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券