機器學習在量化投資中的應用(二):那些年我犯過的錯誤
這篇文章本來無人問津,很奇怪,最近一個月突然增加了500贊。我個人認為這篇文章是專欄里比較差的一篇,將近700贊已經完全超過了文章本身的價值。懇請讀者們不再點贊,可以移步專欄的其他文章讀一讀。說實話,我很懷疑最近增加的粉絲大多數是殭屍粉,因為大部分人都是0關注,寫上這部分前言,正好做個測試。
-------------------------------------------------
上一周去筆試了一家期貨公司,把專欄耽誤了,這一周繼續。在專欄的第一章,我們展示一下如何YY出一個「看起來像樣」機器學習投資策略,而在這一篇文章里,我將撇開具體的方法,講一講在這兩年里,我自己在相關的論文閱讀和研究中,曾經犯過的一些錯誤。當然,這些錯誤,在身經百戰的行家看來可能是too young too simple,但是我自己花了很久才有所體悟,寫出來,供大家一笑。如果能對有些人有所幫助,則善莫大焉:)
對累積收益的誤讀
機器學習的論文裡面通常會有一張這樣關於準確率的圖:所有被比較的方法的準確率圖線,都在文章提出的論文的方法的準確率圖線之下。看到這張圖,我們大概會覺得這個方法蠻不錯的,可以一讀。
如果還是抱著類似的想法去讀機器學習在量化投資領域裡的某些論文,那麼你得當心了。讓我們以文獻[1]作為一個例子。在文獻[1]裡面,畫出了』Total wealth achieved』的圖線,我們截取其中的一幅,如下:
所謂的totalnwealth achieved,其實就是累計的收益。假設有一個人,第一天投資了1塊錢,他在第t天的收益為r_t,那麼到了第T天,他的累計收益就是(1+r_t)的連乘(直到T)。在這篇文章里,非常漂亮,所有既有的方法在累計收益的圖線,被該文提出的方法(CWMR)完美壓制,而且隨著時間的變大,差距越來越大了。我一開始讀這篇文章的時候,感覺該文提出的方法效果實在是太牛逼了。
下面我們將說明,累計收益圖線是一條比較「然並卵」的圖線。我們假設,有兩個基金經理A和B,他們都從一塊錢(這只是一個例子。。)開始起步。第一天,A表現出色,全線漲停,怒取10%的收益。B呢,押錯了寶,本指望靠跟著國家隊混口飯吃,結果被擺了一道,買的股票全跌停,損失10%。作為B的好基友,A看不下去了,他知道B不怎麼會投資,於是跟B說,以後你每天就跟我混吧,我幹嘛你幹嘛。於是,從第二天開始,兩人的每天的收益一模一樣。假設從第二天起,他倆的收益在0.5% 到1%之間隨機波動。那麼投資了一千天之後,他倆的累計收益曲線是什麼樣子的呢?請看下圖:
很明顯,這兩條曲線之間的差距也變的越來越大了,而我們知道,他倆其實只在第一天收益有所不同而已,而在其他的999天完全一樣!
所以你看,累計收益的曲線,並不是一條很好表示演算法表現的曲線。評價一個演算法,我們還得綜合很多其他的評價指標,如夏普比率,最大回撤等等。那累計收益曲線是不是一點用也沒有呢?不是的,雖然它的絕對數值本身的意義有限,但是我們可以通過它清晰地看到策略的漲跌。
對使用範圍的誤解
使用機器學習做量化投資的論文,大體上有兩類思路。第一類如我在上一篇文章中所講,是設計個股的投資策略。另外一類就是類似文獻[1],考察的如何設計合理的投資組合。其實這兩種方法的目的是一致的,也就是大家常說的「尋找alpha」。
但是,投資的世界是如此複雜,並非所有的任務都是跟「尋找alpha」直接相關的。比如,如果你是一個交易員,你的老大告訴你,現在我有XX公司的一千萬股必須要賣掉,你看著辦吧。考慮到這是一個比較大的交易量,如果你按照平常的交易方式,在限價訂單簿上掛這麼大的賣單,那麼那些買家立馬就知道:這小子肯定有很大的賣出壓力,那咱們果斷要壓價啊,壓得再低這貨都會賣的!為了防止在大單交易的時候出現這樣的情況,有一種新的交易場所叫「暗池」。在暗池這個交易場所里,你不再關心能賣多少錢了(我的理解里,價格是由暗池的提供者以一種比較合理的、大家都可以接受的方式給出),你現在只想盡量多的把股票給賣出去(我們只討論賣的情況,當然也有人買)。而且,在暗池裡,你所能看到的,也就是你自己賣了多少股,其他信息都看不到了。由於暗池交易的參與者交易量都非常大,大家又沒法看到其他人的單,所以,往往成交量有限。你掛了一個賣單,最後可能只有15%的股票給賣出去了。當然,市場上有不止一個暗池可供你操作。那麼問題來了,你將如何把你的訂單分配到這些暗池中呢?
好了,現在讓我們來把這個問題具體化。這裡我們只考慮賣股票的情況。假設,你在每個時間點t,都有這麼多的XXX公司的股票要賣出,而有K個暗池可以供你交易。你的目的就是,在每個時間點t,把拆分成K份,分別放入不同的暗池,使得最多的股票可以被賣出。這就是Michael Kearns在[2]中所講述的故事。這篇文章做了一個非常強的假設,如下圖
它假設:每一個暗池所能吸納該股票數的上限,服從某個概率分布。在這樣一個假設下,我們就大有可為了。比如,某個時間點t,我給第k個暗池提交數量的訂單,然後我觀察到,數量的訂單成交了。這個問題的難點在於,如果小於,我當然知道,是來自第k個暗池所對應的概率分布的一個樣本。而如果等於,這件事就比較麻煩,因為我只能知道,這個樣本的值應該是大於等於的,而不知道其真實值。這對我估計第k個暗池的概率分布造成了麻煩。不過沒關係,[2]給出了一個非常漂亮的解法,主要利用了統計學中一個叫做Kaplan-Meier的估計演算法,這裡不展開多說。我對暗池的描述和了解主要來源於這篇論文以及相關資料,水平有限,如果有錯,還望指出。
這篇文章給我最大的啟示在於,它告訴我,機器學習演算法不止可以被用來「尋找alpha」,它也可以在一些其他的投資環節中起作用。它可以優化某些投資過程,把一些手動、半自動的投資方式變成自動化。即使這樣的改變不能直接帶來alpha,也一樣大有用途。
對實證研究的漠視
我剛開始接觸機器學習在演算法交易中的應用的時候,以為這件事是很簡單的:我只需要根據歷史數據,用一個機器學習演算法預測下一個時間點股價不就得了么。顯然,這樣的想法又too young too simple了,被我的導師無情批判過。
那麼,究竟應該從什麼樣的一個出發點來設計一個演算法呢?我的導師認為,應該是從股票數據上觀察得到的某個性質出發。比如,我在上一篇文章里提到的方法,其實就是基於「某些股票數據呈現出趨勢」這樣一個性質入手,來開發一個交易策略的。而我們提到的文獻[1],則是從「股票收益存在均值回歸」這樣一個性質入手的。
我應該從哪裡得到這樣的性質的?我相信業界的人應該有觀察到一些數據的性質,但是他們不會去說出來,所以,對於一個普通人來說,可能就得依靠閱讀實證性的文章了。有一些實證性的文章會去研究股票數據具有哪些固有的性質。比如說均值回歸、動量,其實都是有實證研究的支持的。
對於一個想用機器學習來進行量化投資的研究者來說,閱讀實證文章更是大有裨益。試想,如果一個研究者只知道股票有可能有趨勢這一個性質,那麼他設計的演算法很可能就跟我在上一篇文章里設計出來的差不多。而這樣的研究者是無論如何也設計不出基於「均值回歸」這個數據性質的演算法的。因此,我總結了一點,想發論文,最好從那些被別人忽略的數據性質入手。
對模型假設的忽視
關於這一點,這裡只做一個簡單的闡述。我希望在自己了解更深之後,針對這個問題寫一篇專門的文章。
剛開始來中大的時候,我的導師問我:你如何判斷一個模型能否work?我一時語塞,說不知道。然後老闆就對我說,你得看,這個模型的假設與真實的數據是否是一致的。一個非常典型的例子,略懂投資組合的人都會知道Mean-Variance model [3]這個拿到諾貝爾獎、被稱為現代投資組合研究開山之作的工作。但是,雖然這篇文章有著巨大的影響力,其實實際上並沒有被太多人使用(至少是它的原始版本沒有太多人用),究其原因,就是這個model中的諸多假設,與真實的股票數據根本就不相符,因此,當我們進行真實投資的時候,必然不會使用它。有朋友提醒我,說Mean-variance model並不屬於機器學習的範疇。確實如此,但是也有些機器學習的研究者研究這個模型,提出了改進的模型,比如ICML11上的文章[4]。
總結
在這篇文章里,我總結了這兩年中我曾經犯過的一些錯誤。我個人認為這些錯誤是可以幫助一些後來人少走一些彎路的,因為在與一些人的交談中,我發現他們都或多或少的有跟我類似的錯誤認識。就寫這麼多,能拋磚引玉則足矣。
參考文獻
[1] Li, Bin, et al. "Confidencenweighted mean reversion strategy for online portfolio selection." ACMnTransactions on Knowledge Discovery from Data (TKDD) 7.1 (2013): 4.
[2] Ganchev, Kuzman, et al. "Censorednexploration and the dark pool problem."Communicationsnof the ACM 53.5 (2010): 99-107.
[3] Markowitz,nHarry. "Portfolio selection*." The journal of finance 7.1 (1952): 77-91.
[4] Nock, Richard, et al. "On tracking portfolios with certainty equivalents on a generalization of markowitz model: the fool, the wise and the adaptive."Proceedings of the 28th International Conference on Machine Learning (ICML-11). 2011.
推薦閱讀:
※成長股的奧秘,PEG選股策略研究丨礦友必讀
※【數學課堂】為什麼學線性代數
※2017 年你眼中最好的券商量化策略研報是哪篇?有哪些亮點?
TAG:量化 |