Python在量化領域的現狀web
就跟Java在web領域無可撼動的地位同樣,Python也已經在金融量化投資領域佔據了重要位置,從各個業務鏈條都能找到相應的框架實現。算法
在量化投資(證券和比特幣)開源項目裏,全球star數排名前10位裏面,有7個是Python實現的。從數據獲取到策略回測再到交易,覆蓋了整個業務鏈。數組
而全球註冊用戶數最多的商業量化平臺Uqer優礦,也一樣是基於Python實現和提供服務的。國內後來的其餘量化平臺,例如RiceQuant和JoinQuant,也主推Python環境。可見Python在量化平臺應用的絕對佔有程度。框架
爲何是Python?機器學習
Python是一門比較全面與平衡的語言,既能知足包括web在內的系統應用的開發,又能知足數據統計分析等數學領域的計算需求,同時也能做爲膠水語言跟其它開發語言互通融合。函數
在數據分析方面,沒有其餘語言能像Python這樣既能精於計算又能保持性能,對於時間序列數據的處理展示了簡單便捷的優點。而如此適用的特色,主要得益於有以下框架和工具的支持:工具
Numpy:底層基於C實現的科學計算包性能
具備強大的N維數組對象;Array具備數據廣播功能的函數庫;具備完整的線性代數和隨機數生成函數學習
SciPy:開源算法和數學工具包優化
最優化線性代數、積分、插值、特殊函數;快速傅里葉變換;信號處理和圖像處理常微分方程求解;其餘科學與工程中經常使用的計算
其功能與Matlab和Scilab等相似
Pandas:起源於AQR的數據處理包,具備金融數據分析基因
基於Series、DataFrame和Pannel多維表結構數據;數據自動對齊功能;數據清洗和計算功能;時間序列數據快速處理功能
Matplotlib:基於Python的數據繪圖包,可以繪製出各種豐富的圖形和報表
另外,Python在機器學習領域的應用也愈來愈多,其中的開源項目包括了scikit-learn、Theano、Orange等
Python的特色
一、簡單易學Python是一門簡單而又簡約的語言。閱讀好的Python程序感受就像閱讀英語。Python很是容易上手,學習曲線比較平緩。
二、高級語言垃圾自動處理且面向對象的高級語言。Python 具有全部腳本語言的簡單和易用性,而且具備在編譯語言中才能找到的高級軟件工程工具。
三、擴展移植可與其餘語言無縫對接並能實現跨平臺。
四、開源項目只要能想到的,幾乎都有現成的包能找到。