淘新聞

觀點 | 量化投資遭遇IT瓶頸,軟體開源是新趨勢

雷鋒網AI金融評論消息,由開源社、TopGeek、匯智Tek聯合主辦的中國區塊鏈和金融創新科技峰會(FTCon2017)日前

在上海舉行,現任上海均直資產管理有限公司投資經理的陳曉優進行了“擁抱開源,量化投資行業新趨勢”主題演講,指出在當前的金融市場中,商務軟體和機構自研已經較難滿足量化投資機構需求,而作為新趨勢的開源量化軟體能夠解決機構痛點,但也表示開源技術並不是盡善盡美,還有發展空間。

據雷鋒網AI金融評論瞭解,陳曉優是倫敦卡斯商學院金融工程學碩士,開發並維護了針對國內市場的量化交易系統框架vn.py,目前是國內用戶最多的金融投資開源專案之一(Github Star 2486),據不完全統計,已有數十家金融機構在實盤投資中使用。

以下是經過陳曉優確認的演講實錄,雷鋒網AI金融評論做了不改變原意的編輯。

今天我的主題是量化投資與新趨勢開源。量化投資在我國、世界的歷史都不是很長,美國八十年代出現使用電腦來炒股和炒期貨。接近2010年,國內才出現了比較正規的量化交易機構,而國內民間用電腦程式來量化分析行情走勢可能更早一些。當時的形式主要是面向個人和小型機構的商務軟體,早年投資者憑藉這些軟體可以就可以在市場上取得相當豐厚的收益,但到今天已經變得難以為繼,當前國內的量化投資領域正是開源項目大放光彩的時候。

先說說量化投資的幾個特點:

與傳統拍腦袋投資不同,量化投資使用數量分析方法尋找能夠實現穩定盈利的規律,通過採集歷史資料的時間序列並建模,尋找預測未來價格變動的方法。

量化投資一般由電腦驅動。尤其在今天市場上,股票數量眾多,行情以“秒”級變化,這種情況下不可能依靠人力繪製K線,分析開盤價、收盤價等資訊,必須依靠電腦。理想狀態是在建好策略、模型後,電腦可以在輸入資料的基礎上自動處理後作出該買還是賣的決策,這有利於避免人帶來的不確定性。

量化交易通過高性能演算法實現超高速的交易決策。美國最高可以達到納秒級別的回應速度。

關於量化投資行業現狀,我們從公募基金來看(因為私募基金不太願意公佈數字,也無法統計),截止2016年11月,股票量化產品規模超過858億。截止2017年1月,公募主動量化產品三年平均回報超過了105%。

而經過2015年的股災之後,到今天能回本的投資者都算是高手。大部分人的基金回報只有50%,而用電腦管理的收益率至少是它的一倍。值得注意的是,這種產品還只是公募,比較高端的私募量化產品的收益可能會更高。

此外,量化FOF產品、智慧投顧正在逐漸成為資產配置的新寵兒。目前大型金融機構如銀行、信託等機構等使用較多。更多理性的投資機構開始擁抱電腦,電腦能夠摒棄人的感情,以完全理性的決策態度幫助投資者獲益。

商務軟體與自主研發的痛點

國內量化投資是從商務軟體起步,初期可以滿足大家的需求,而在今天的市場中,完全使用商務軟體會有各種各樣的痛點。

首先是安全性方面的顧慮,一方面是模型的不安全,量化交易的核心模型或者說是交易策略必然存儲在某個平臺上,不論是某個商業平臺還是某個開源平臺、或者matlab裡的一些文件。這些檔可能只有幾K,但是帶來的價值可能是上千萬甚至上億。另一方面是資料的不安全性,有一些重要的商業機密例如持倉、管道、客戶、資金來源如果放在商業平臺上,完全達不到足夠的安全性。

第二,不相容。這是國內一些金融軟體服務商的缺點,想做大而全,吃下全部的業務,囊括資料、策略、交易等,但是每個公司精力有限,總有些並不擅長的業務。對於終端使用者來說,想要各個業務都獲得最好的解決方案,但是很多軟體要用就得用一套,用戶沒得選。

第三,反覆運算慢。這是一些大公司的弊病,對於新業務的支援反應速度比較慢,等大家都做了它才做。

商務軟體有諸多不適用的地方,那麼有一些量化機構就選擇完全自主研發,但這種模式也有不少痛點。

一,週期長,需要經過資料、回測、實盤階段。首先需要搞定資料,對於金融機構而言資料收集、維護成本很高;再者研發過程中需要不斷的測試,例如購買一些外面的解決方案。還有一個大問題是試錯,尤其在國內,軟體業務更新速度很快,誰能在開發過程中領先就能在競爭中佔據優勢地位。

二,成本高,包括人力、物力、試錯費用。首先你需要很厲害的CTO,但是能不能找到也是一個問題。再者是金錢,不論是人力成本,還是研發過程中的測試、或者半成品解決方案,都需要不少費用。此外還有最大的成本機會成本。國內量化行業發展非常快,如果你開發一個產品成功了那麼可以躺著賺錢。但是如果東西做不出來,不僅沉沒成本沒了,還只能推倒重來,再投入一遍成本。不過中國的市場競爭很激烈,賺錢機會越來越少,市場越來越有效,試錯成本也不斷攀上新高峰。

三,不穩定,一方面因為用戶少,另一方面,檢驗量化模型有沒有問題主要看實盤賺不賺錢,不上實盤無法檢驗某些BUG。而實盤檢驗出錯可能又踩入試錯的坑,需要推到再來。

作為新趨勢的開源軟體能夠解決機構痛點

所以這兩三年,量化投資領域湧現出很多開源軟體,開源有五點好處:

第一是開放的原始程式碼。大家可以看到程式對於資料的處理流程,不用擔心別人偷偷把我的投資策略上傳到他的伺服器上,從而削減我的獲益能力。開源後你做出來的東西就屬於你,除非內部人員管理出現問題,員工偷走了你的模型,否則能夠杜絕核心機密洩漏的風險。

第二,開源有著良好的架構,絕大部分開源項目在發起時都不是為了賺錢,主要追求之一是為了獲得更多的用戶,通常來說擴展性設計就會比較好,開源在擴展性與應用性的平衡會做得比很多商務軟體更好。很多商務軟體要麼就追求速度,要麼就追求應用,這兩個都會導致拓展性變差。而開放的架構有利於新業務的快速開發。

第三,開源意味著開放的設計。作為一個開源專案,我們總是假設用戶已經買過各種解決方案了,而開源專案也不會做全所有業務,那麼會預留需要跟其它系統對接的介面,開源專案可以有機整合此前的系統,提供易用、擴展性的產品,能促成效益最大化。

第四,許多開源量化軟體使用通用性較強的語言,比如Python、R等,這種開源項目有一個大的好處,就是一個平滑的學習曲線,而很多商務軟體要麼使用C++、Java等語言要麼自己設計一套語言,總之一旦用了該平臺,轉換成本就會很高。從它們角度來說,這是商業利益最大化,但是從用戶角度來說,長期成本太高了。目前商務軟體方案越來越被量化巨頭機構所拋棄。

第五,開源容易形成成熟的社區。開源提供交流、測試的場景,越多人參與其中測試、改進,系統也會越穩定。群策群力也能最快找到正確的發展方向。

上圖是開源軟體構建的一條量化交易工具鏈,分為幾個步驟:

首先是資料收集,國內比較有名的是tushare、windpy,後者是大型商務軟體公司萬得做出來的一個開源介面

接著到了資料分析階段,NumPy用來存儲和處理大型矩陣;

pandas解決時間序列;用Matplotlib來實現資料視覺化。

第三階段是策略研究,IPython是一個互動式計算系統;Jupyter是最方便的策略研究工具之一;Zipline是一個策略回測框架,可以基於歷史資料對策略進行回測檢驗;RQalpha是國內公司開發的策略回測框架 。

實盤交易是整個生態鏈最後一環,vn.py 是基於python的開源交易平臺開發框架,easytrader適合個人投資者,是一個開源的股票量化交易元件,只要你有一個炒股軟體,就能用它直接做量化交易,at.py則是一位在開源領域耕耘多年的大神的作品。

這是一個Github前十名的量化開源統計,統計時間是2017.3.22。從這個榜單中可以發現,python語言占了8位元,此外,我們看到有很多策略回測框架,資料下載工具,還有比特幣策略模型。如果大家瞭解量化交易後想試試,可以看這些項目的原始程式碼,品質更高,用戶也更多。

開源的短板與解決方案

開源專案也存在短板,他們是被攻擊最多的地方,可以用一句話來概括——

免費的才是最貴的,這意味著缺乏專業服務。

不過解決方案也很簡單:

積極參與開源社區,培養技術團隊。從vn.py社區的一些經驗來說,絕大部分用戶是私募、券商等專業金融機構,這些機構希望自己的投資團隊並不只是擁有寫策略、做交易的能力,也希望在一定程度上擁有擴展平臺、開發新功能能力,那麼他們通常會加入到開源社區,先把自己的業務需求在框架上跑起來,後續再改進並使原來沒有跑起來的業務也能順利運行。此外,還會多多與社區眾人交流,看看這是否是最優解決方案。長期來看,對整個團隊戰鬥力會有非常大的提升。

獲取開源技術諮詢和培訓服務,可參考知名的開源解決方案供應商Redhat和Wordpress,這可能會成為國內一個趨勢。