天天看點

量化界狠人,離職前埋了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個月,可以通過繳納罰金減少坐牢時間(易科罰金),但不得緩刑。陳桂林式爆頭狠人,也迎來了陳桂林式結局,故事說完了,下期見~