tushare:
http://tushare.waditu.com/index.html
為什么是Python?
就跟javascript在web領域無可撼動的地位一樣,Python也已經在金融量化投資領域占據了重要位置,從各個業務鏈條都能找到相應的框架實現。
我們拿上一篇文章的圖再來看看,在量化投資(證券和比特幣)開源項目里,全球star數排名前10位里面,有7個是Python實現的。從數據獲取到策略回測再到交易,覆蓋了整個業務鏈。
而全球注冊用戶數最多的商業量化平台Uqer優礦,也同樣是基於Python實現和提供服務的。國內后來的其他量化平台,例如ricequant和joinquant,也主推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 for Data Analysis》
《Python for Finance》
《Mastering Python for Finance》
《Maching Learning in Action》