“對 Quant 而言 Python 的需求高嗎,除 C++ 外還有哪些流行的編程語言?”
1. 高
2. 還有:Python, Java, Matlab, R, Q和一些公司內部自有語言(如高盛的自有語言)
但是我不希望敷衍了事,說說我心中重要的五類語言。這不僅僅是對于一個Quant必須的,而是一個豐滿的程序員所必備的。在藝術中,藝永遠比術重要;在Quant相關知識中,Intuition永遠比純Technique更加重要。
有五類語言構建了一個豐滿的編程能力強的Quant的一切,它們分別是:
效率類語言(C、C++、Java等)
膠水類語言(Python、Ruby等)
科學類語言(Matlab、R、S等)
Alpha演算類語言(Lisp、Clojure等)
查詢類語言(SQL、Q等)
這是基于我理解淺薄的分類,完全與計算機科學的規(guī)范化分類(如面對對象語言、函數(shù)類語言)不相容。持不同意見者大可付之一笑。
.png)
效率類語言
C、C++、Java等
老派的Quant很多都是C++高手,特別是80年代涌入華爾街的那幫MIT的高能物理博士們。在那個年代,可以選擇的語言不多。要么就Fortan,要么就C/C++了。所以在當時基本上這些語言同時充當著基礎架構(infrastructure)和數(shù)值計算(比如Monte Carlo)的雙重目的。
現(xiàn)在各種膠水類語言、科學類語言多了起來,而且由于單機性能越發(fā)強悍,效率再也不是的訴求了,因此目前C++、Java大量應用于金融系統(tǒng)級的開發(fā),和對于效率要求極高的實時定價等領域。
從一個Quant的角度來看,這類語言的特點是快,編程復雜度高,維護難,同時原生語言普遍不支持向量運算。
膠水類語言
Python、Ruby等
我必須承認,這些語言是新世代Quant的福音。在國內工作的時候我目睹并參與了一個將原有的C++框架全部用Python重寫的項目,而現(xiàn)在JPMorgan這邊利率類產品的定價軟件也在從Java像Python轉移。實現(xiàn)同樣的代碼,Python、Ruby的實現(xiàn)速度比效率類語言快很多。
這些語言的特點是比較快,編程復雜度高,維護相對簡單,同時大量的包(比如Numpy+Scipy)可以輕松實現(xiàn)向量運算。
科學類語言
Matlab、R、S等
一般而言,科學類語言的特點是支持向量運算,同時各種附加數(shù)學、統(tǒng)計包極其豐富,但運算速度無法與前兩類相比。在一個具體的投資/交易策略、模型投入實際使用前,你需要快速的去實現(xiàn)(Implement)和驗證(Back-testing)你的想法。這個時候,科學類語言就有的優(yōu)勢。驗證思路有效后,再用效率類語言或膠水類語言開發(fā)成系統(tǒng)級組件。你可以理解為科學類語言是用來造概念車的,而前兩類語言是用來量產的。而在具體的職業(yè)角度,造概念車的這幫人一般是Pure Quant,而實現(xiàn)量產的很多是Quant Developer。當然也有兩者合一的集大成者。
.jpg)
Alpha演算類語言
Lisp、Clojure等
我第一次對這類語言感興趣,是12年冬天接觸硅谷一家科技公司時(Prismatic,人工智能新聞App),發(fā)現(xiàn)他們在用Clojure,也極力向我推薦Clojure。Clojure是基于Java封裝的語言,可以用Java虛擬機執(zhí)行。但歸根結底,Clojure是Lisp這類語言。 我個人感覺目前Quant界用這種語言偏少,但是不排除以后流行的可能。
查詢類語言
SQL、Q等
SQL就不必說了,金融公司很多時候都是使用Oracle等關系型數(shù)據(jù)庫,SQL是基礎。而我之前幾次面試也遇到了SQL的問題。Q是Morgan Stanley為了應對金融中的海量數(shù)據(jù)而采用的一種非關系型查詢語言,特點是極快,有SQL的基礎可以很快掌握。
全面的說:
如果你是做Pure Quant,整天與交易策略和模型睡覺,那么2、3是必須的;
如果你是開發(fā)為主,或者是Quant Developer,那么1、2、5是必須的;
如果你立志讓編程不成為你做Quant的障礙,那么1-5全都是必須掌握或至少了解其思想的。
不管是作為Quant還是Coder,都不可拘泥于語言。語言只是其背后設計哲學的體現(xiàn)。這就等同一個數(shù)量金融從業(yè)者不可拘泥于產品一樣。數(shù)量金融的根基永遠是供給需求、金錢時間價值這些基本的經(jīng)濟學理論以及現(xiàn)金流的相關概率這些基本的統(tǒng)計學思想。如果拘泥于術而非藝,那路就會越走越窄。
.png)
.jpg)
相關推薦:CFA是什么 特許金融分析師 cfa注冊 CFA協(xié)會
一次通過CFA! 9群 271938907。CFA資料&資訊隨時分享,與眾多CFA持證人交流考試經(jīng)驗。
▎來源金程CFA,更多內容請關注微信號金程CFA。原創(chuàng)文章,歡迎分享,若需引用或轉載請保留此處信息。





