天生量化將才?理工科程式設計師 做量化投資優劣勢分析
作者:Kenny Li
在近幾年與行業內優秀的量化交易者接觸後,發現他們來自各個領域,帶有不同且有趣的學習和從業經歷,其中部分人之前從事的IT開發工作讓他們更適合量化投資這條道路,他們多擁有深厚的工科背景,在業績方面比傳統金融人更勝一籌。
在國外量化投資領域也存在這一問題,較早出名的量化基金經理——愛德華•索普(Edward Thorp)是加州大學洛杉磯分校的一名物理系研究生,他最感興趣的是數學。再到後來的傳奇高頻交易人物德邵(David.E.Shaw),這位計算機領域的頂級專家在科學研究上碩果累累,利用超級計算機實現了可觀的盈利。後來就是我們熟悉的活躍至今的世界級數學家詹姆斯·西蒙斯(James Simons),也是在數學和工科領域有卓越貢獻,後來活躍於量化投資領域併成為偉大的對衝基金經理。
圖片:可以被認為是行業鼻祖的愛德華•索普(Edward Thorp)
在職業投資這條長期道路上,有人贏在開頭,有人輸在途中,有人贏在最後。從我們對量化模型的認知,再到對於近幾年市場的變化,再到建模環節必要的技能分析,我們發現目前龐大的程式設計師群體做數量化投資有優勢,是有跡可循的。本文簡單整理以下幾個觀點供大家參考討論。
一、無語言門檻,入門速度快
從最直觀的角度講,建立量化模型離不開程式碼編寫,目前我們熟知的程式碼主要有python和matlab等直觀的解釋性語言,但是早年需要用Pascal、Fortran、C等語言開發模型,首先必須掌握開發語言,才能談得上進入這個門檻。
目前國內有大量的程式設計師群體,無論是web開發還是資料分析,亦或是其他計算機軟硬體系統開發,他們在語言方面不成問題,在模型開發的第一個環節就沒有障礙。
圖片:python作為解釋性語言效率較高
因為獲得一段戰勝市場的資金曲線,並非易事,同時國內金融市場的資料缺乏和不成熟等原因,導致市場風格變化較快,所以量化學習者往往進入這個門檻後,也有較高的流失率。而掌握自己熟練的程式語言,比如python這種方便的語言,會幫助投資者快速應對不同挑戰,反覆迭代修改策略,在入門快的基礎上,更容易隨市場變化而變化開發新策略。相信程式設計師這個群體的抗壓能力和入門速度,都比其他群體要快很多。
二、數學知識體系完整
程式設計師的理工科背景,基本無需擔心。大部分專業擁有完整的數學知識體系。如果你只是想“開發”能夠執行的程式, 可能並不需要太多數學,但是要是想成為電腦科學者或工程師, 恐怕還是要學數學的,尤其是構建先對完整的知識體系。
圖片:數學知識圖譜
計算機本身的工具屬性決定了計算機的發展必須和具體行業或者學科結合起來,最後利用計算機完成人工手工無法完成的工作,比如超大運算量,尤其在理工科用的最多,大部分理工科都是以數學為基礎的,那麼計算機上處理最多的就是各種數學模型與運算,而這些都離不開各種數學知識。
在果殼網上,有一段評論我覺得適合與各位讀者分享:Google的page rank演算法是線性代數特徵值理論的一個重要應用,很多問題最終都能化為求解線性方程組問題例如,用有限差分法或有限元法解偏微分方程,用最小二乘法求最佳逼近等等)。線性代數知識還常在機器學習或資料探勘中被用來降低資料的維度,還有很多其他的應用。
概率論、數理統計、隨機過程在最近的人工智慧的各個領域則是非常重要的基礎,很多機器學習演算法都是基於統計模型的,像Bayes統計應用極為廣泛,例如垃圾郵件過濾。
離散數學和數值分析和計算機的關係就比較容易看出來了,離散數學不同的書選取的內容不大一樣,不過一般都有邏輯、圖論、自動機等等,一看就和計算機關係緊密。數學理論大多是抽象的,想在計算機上用就離不開數值分析;用數值方法解一些無法求出解析解的方程也很有實用價值。
三、思維不受傳統金融規則束縛
我們不得不承認,傳統的金融市場規則,和金融學經濟學知識,完成了基本的市場定價支撐,也讓交易制度和二級市場定價得以出現在大眾面前。但是經典定價理論,也影響了我們的思維定式,讓我們難以跳出傳統框架思考問題。所以我覺得不受傳統經典金融模型的束縛反倒是程式設計師的一個優勢。
投資標的方面,做傳統基本面分析的交易者很少有人能跨幾個市場、多個品種,基本上是對有限幾個品種進行深入研究。而量化它是某種程度上用機器代替人,可以全市場、多品種、分散化。因為量化的優勢是資訊的廣度和計算的速度,而人的優勢是小樣本的泛化理解能力。
圖片:在聚寬平臺開發多因子分析機器學習股票模型(因子相關性與最終整合結果)
從資料頻度上看,傳統金融規則更多分析供求,分析貨幣,分析企業基本面估值模型,而量化投資更多從數學統計學入手,分析較為高頻的因子,比如市場交易特徵、交易者行為和心理偏差、多種巨集觀微觀因素的高緯度疊加決策。在此基礎上,我們看到很多模型,以股票模型為例,已經遠遠超出了傳統估值定價模型,而是沿著資本資產定價模型(CAPM)和套利定價理論(APT),試圖用資料解釋收益率。
圖片:通過GPU來極大程度上提升計算速度
這種適合數量化金融處理的模型理論,可以使我們在處理大量證券定價的便捷性以及考慮風險收益特徵的優越性上,提供了以往我們從傳統投資所不能夠達到的東西。再加上計算機處理效率高,計算效率隨著CPU快速迭代和GPU平行計算的加入而提升。
四、能夠執行完整交易流程,特別是底層資料獲取和交易介面開發
我們見到很多交易者能夠基於已有IT平臺開發交易策略,甚至分析評價自己的交易策略穩健性,做引數檢驗等數值分析。但是在對接期貨CTP介面,在接收資料、清洗資料、儲存資料、回測引擎的構建方面,顯得實力不足。
這種實力不足在短期內是可以通過第三方軟體彌補的,比如使用文華財經或者交易開拓者等軟體做期貨,使用聚寬等平臺做股票。但是仔細想來,平臺幫助你完成了除構建策略外的所有工作,也讓你對於回測框架,回測效能,策略執行原理,函式效率等細節不再關注。
圖片:某量化交易平臺架構圖
所以我們看到,很多優秀的交易者在成長到中後期時,基本上都擁有獨立構建IT系統的能力,這裡所說的IT系統包括了多維度多因子資料的抓取、非結構化資料的獲取和整理、部分使用NLP自然語言識別方法進行因子合成等前端工作。在後端,則是對接交易所介面完成下單、倉位檢查、市場監控、風險控制等邏輯。
總結:補充知識,揚長避短,方可持續進步
雖然存在很多優點,但是對於新手理工科程式設計師直接進行量化投資模型的構建,我們也有幾點小提示,這些知識點往往會成為限制你前進的阻力。
比如說對於金融經典理論體系需要再次構建,因為對於很多量化因子資料的經濟學含義不清晰,導致了程式設計師群體對於中低頻中長期財務因子對市場的影響力敏感性低,實際上中低頻財務因子在國內股票市場越來越有效的情況下,能夠發揮更大的收益解釋能力。
近幾年反而是隨著流動性的衰退,交易行為類因子的效用下降,市場估值因子因為上市發審制度的變化,從alpha風格因子變化為風險因子,不能再隨意使用。分析師類因子隨著賣方投研體系的完善也變得更有效,研報注水和低質量等問題得到改善。反應企業內在價值的ROE、現金流等因子開始呈現出越來越顯著的好壞股票區分能力,所以補充自己所缺乏的知識,找到因子內在經濟金融邏輯,而不是上手後直接採用機器學習對海量因子做分析,更有利於長期發展。
再比如說,有數學功底和IT程式設計知識,並不意味著掌握演算法級別的知識。應對高維度資料(股票模型通常有幾十個上百個因子,需要調整其中關係,剔除異常資料和相關性影響),你不僅需要基礎的線性迴歸,還需要掌握機器學習,而在校和工作階段,學習機器學習類模型只能通過自學,大部分教程也僅是講解案例和模型呼叫方式,鮮有講解模型內部數學結構,這要求我們在持續補充知識,自學能力就顯得格外重要。
最後希望交易者瞭解市場微觀結構的同時,將目光放在更多金融產品上,瞭解金融機構的運作流程,瞭解貨幣對於金融市場升跌和關鍵經濟指標的傳導,瞭解我們目前處於什麼樣的經濟週期,在合適的時間做合適的事。
注:本文作者在公募基金從業5年,中山大學數學學士,中央財經大學金融學碩士,長期從事數量化模型開發(以股票多因子為主),管理資產規模超10億元。作者也是聚寬平臺忠實使用者,在社群內分享了眾多高質量模型。