【核心技术】功夫量化交易系统2.0 – 铁汉柔情,硬派美人

董可人/CEO

2017年11月15日我们发布了功夫 1.0,当时年轻的我没有想到需要再花掉两年的时间才能提笔写下 2.0 的发布文字。初代功夫系统的目标是让更多人都能用上业界最好的低延迟交易系统架构,软件质量是我们的吃饭家伙,不必多说,而若要对更多做个量化,我希望是千千万万。但从发布之后的情况来看,因为项目比较硬核 —— C++/Python混编,仅支持 Linux Centos,纯命令行式交互,Docker + RPM 式部署,每一条都足以让一大批用户望而却步。因此,我们把功夫 2.0 的重心定在用户体验,既要核够硬,也要很好用,我们希望 2.0 能具备如下特性:

  • 完整保持易筋经内核,低延迟不妥协
  • 下载后一键绿色安装,零依赖不啰嗦
  • 图形化操作界面,操作流畅,交易进程无干扰
  • Windows/Linux/Mac 主流三平台皆可运行
  • 核心系统闭环,扩展功能插件化

理想性感,实现难度却极大,要把一个企业级内核塞进一个绿色客户端 App,需要的不仅仅是写码能力,还要一些想象力和执着。在迭代和内测阶段,总会有人问,为何要费力气做这些,我用 XXX + YYY + ZZZ 不就好了吗?常见组合例如:

  • 为何要写易筋经,我是真 IT 用 ZeroMQ/Redis/Influxdb/… 无惧额外安装和延迟
  • 为何要做图形化界面,看我用 SSH 命令行十指划屏
  • 为何要跨平台,我是 Linux 铁粉从不用其他操作系统
  • 为何要做插件化,我每种策略拷贝一份新代码硬改无伤
  • 为何要支持 C++,Python大法好
  • 为何要支持 Python,我爱 C++
  • 为何要 C++/Python 混编,竟然还有 Node.js ?!我觉得 Excel 就够用

问题太多不能一一列举。在此只能回答,世界很大,人生苦短,每一点额外操作都会让你的人生损失掉一点点快乐的时光。我们就是要在技术上坚持多那么一点点挖掘,让你的生活能多那么一点点自由。也有人会问,做了这么多工作,最后全开源,你们(投资人)的内心不会痛吗?我想说,我们就是这样的无私,一切努力只为做出一个好产品。因为在这个满是残缺的世界,只有好的产品才能蕴含无限希望。

量化交易在国内一直算是小众行业,在这个小小领域坚持做一个辅助型的业务,夜深人静的时候,我也常会接受灵魂拷问:

  • 有没有一款产品能让我无差别地交易股票、期货、期权乃至数字货币?
  • 有没有一款产品能让我无差别地跑在任何我需要的地方,笔记本,桌面电脑,云机,乃至托管服务器?
  • 有没有一款产品能无差别地支持从个人交易到专业机构,从几十万资金到百亿规模,从算法调仓到低延迟交易都能稳如老狗?
  • 有没有一款产品能让我不需要绞尽脑汁地用各种胶水,黑科技,天生自带打通量化交易的所有环节,集数据,分析,开发,调试,执行于一身?
  • 有没有一款产品能让我自由地修改,扩展,然后仍然不失一个强大社区的支持?

很遗憾,经过无数的夜与日,这个世界仍然还是那么的支离破碎,不尽人意,我始终没有见过一款哪怕有些许希望接近这些目标的产品。或许你会说,都是伪需求啦,交易赚钱最重要,搞这些有毛用?对此我只想说,世间出现汽车之前,人们只想要一匹更快的马,又可知飞机是何物?而身为工程师,如果令你满意的产品不存在,就要自己动手造出来。因此,我和我的小伙伴们仍然坚信使命依然在,在没有光的地方,生一把火。