天天看点

量化界狠人,离职前埋了700处bug,公司惨亏近千万

作者:散文随风想

最近看了一部大火的台湾电影《周处除三害》,快结尾的时候有这么一个片段,就是陈桂林在灵修礼堂里面,将执迷不悔的邪教信徒们一个个爆头干掉,让人看得热血沸腾,直呼过瘾,着实一狠人也。

这不禁也让我联想起之前看到过的一宗与量化相关的台湾刑事案件,有两个宽客不满公司未按承诺发奖金,于是就在离职前,在公司的量化系统里面埋了700多处bug,导致公司短时间里亏损了140w美元,按当时的汇率换算,接近1000w人民币。

我之所以印象深刻,那是因为他俩在量化界算是妥妥的狠人了,一般咱听到的离职Quant与前公司的爱恨纠葛,不是公司不当人变态压榨员工,或背信弃义不按承诺发奖金,要么是Quant偷公司的核心机密/代码,或是不遵守竞业/保密协议加入友商,双方基本都是靠对簿公堂走民事诉讼解决,像这种将公司核心量化系统“爆头”,上升到刑事案件的,至少我是头一回听说。

整个事情到底是怎么样的呢?咱今天得空唠唠~

这次故事的两个主角,一个是陈某圣,另一个是许某轩,他俩在2018年9~10月先后入职了一家名为Kronos Research的公司,Kronos Research是台湾省的一家量化交易公司,中文名称是“麒点科技”,在上海和波兰都有分公司,主要活跃在数字货币领域,除了有自营盘外,还是某B圈交易所最大的流通性提供者(做市商),在全球范围内也是数得上号的。

量化界狠人,离职前埋了700处bug,公司惨亏近千万

他俩入职后,就加入到了Kronos公司代号为『Zeus』的量化交易系统的开发小组当中,Zeus(宙斯)是古希腊神话中的第三代神王、统治世间万物至高无上的天神、奥林匹斯十二主神之首,从这代号当中就看出了这个量化系统的重要性,陈担任软件工程师和量化交易员,负责软件开发和自动化交易,许担任系统工程师,负责软件开发和系统安全维护。

Zeus系统开发好后,就部署到了Kronos开曼公司(Kronos Holdings)的服务器进行数字货币自动化交易,期间相安无事,直到2020年的5月份,根据台北地方法院的判决书显示,陈许两人是因为Kronos公司未依承诺发放奖金而心生不满,然后对Zeus系统下狠手了,只用了两招,都打在了七寸上。

Zeus系统在做投资决策时,有两个核心模块,一个是reconciliation模块,负责根据喂进去的数据,选择出当前时间点最优的投资组合,另一个是improve模块,负责Zeus系统的自我进化,如果近期的投资组合出现了亏损,那就自动删除本次的交易模式,然后从历史备份库当中选择之前盈利较好的交易模式进行自学习,提升自己的投资决策能力。

陈许两人的作案手法就是针对这两个模块,对于reconciliation模块,将原程序当中的x:x[1]改为x:-x[1],就加了一个负号,本意是选得分最高的投资组合,现在就刚好反过来了,选的是得分最低的投资组合,直接是最优变最差了。

量化界狠人,离职前埋了700处bug,公司惨亏近千万

对于improve模块,手法也是类似的,只不过是在历史备份库当中,随机给那些历史样本随机改动正负号,大概影响了700多个历史样本文件,这样一来,正常的数据样本受到污染,Zeus系统学习一番过后,投资决策能力反而下降了,大概只有原来的90%。

量化界狠人,离职前埋了700处bug,公司惨亏近千万

为了隐藏自己的行踪,埋下这些bug后,立即删除了生成这些bug的源文件,并且盗用其他同组同事的账号将这些改动推送到服务器里面生效。

可想而知,潜藏着700多处bug的Zeus系统接连出现亏损,但亏损并不是导致他俩落网的直接原因,实际的原因却是他俩的自我满足感。

2020年5月1日开始埋bug,5月12日陈许两人离职,但他们跟很多犯罪分子一样,喜欢在作案之后重返犯罪现场,5月26日~28日期间,陈许分别又以公司法人Jack和另一名同事的公司账号登录Kronos服务器,浏览投资策略的盈亏资料,判断自己的改动手法生效没有。

量化界狠人,离职前埋了700处bug,公司惨亏近千万

这次没那么好运,那天晚上公司的另一名合伙人发现本应休假的Jack的公司账号远程登录了公司服务器,便感觉可能有黑客入侵,便开始调查。

于是乎,就发现了一批奇怪的文件,明明这些文件都是不同交易日期生成的,但却有着相同的时间戳,没错,这就是那improve模块当中受随机正负号影响的700多个历史样本文件,接着他们从别的电脑里面找到了其中一些文件的原始备份拷贝,经过对比,确认当中有37个历史样本文件一定是经过人为修改的,进而顺藤摸瓜,定位到了陈许两人。

如果不是他俩重返作案现场,公司都可能没有这么快能找到他俩,因为Zeus系统开始亏损的时候,Kronos公司还可能以为是行情不好,还在等着improve模块进行自我学习自我纠偏,要不是他俩登入公司系统被发现,Kronos公司不会那么快意识到系统被动了手脚,这期间,Zeus系统已经累计亏损140w美元,接近1000w人民币。

2020年6月24日,当地警察拘捕了这两人,在搜查住所的时候,在手机和笔记本电脑当中看到了陈许二人报复公司的全部聊天记录,至此真相大白、水落石出。他俩还在聊天中开玩笑说道,“看到公司亏钱,太爽了”,“放进的错误参数不够低,太仁慈了”。

最终以妨害电脑使用罪等罪名,陈被判有期徒刑1年4个月,许被判有期徒刑10个月,可以通过缴纳罚金减少坐牢时间(易科罚金),但不得缓刑。陈桂林式爆头狠人,也迎来了陈桂林式结局,故事说完了,下期见~