本文將會講解量化投資過程中的基本流程,量化投資無非這幾個流程,資料輸入------策略書寫------回測輸出
其中策略書寫部分還涉及到程式語言的選擇,如果不想苦惱資料輸入和回測輸出的話,還要選擇回測平臺。
一、資料
首先,必須是資料,資料是量化投資的基礎
如何得到資料?
預測者網:不經意間發現,一個免費提供股票資料網站 預測者網,下載的是CSV格式
TB交易開拓者:Tradeblazer,感謝@孫存浩提供資料來源
TuShare:TuShare -財經資料介面包,基於Python的財經資料包,利用Python進行摘取
如何儲存資料?
Mysql
如何預處理資料?
空值處理:利用DataFrame的fill.na()函式,將空值(Nan)替換成列的平均數、中位數或者眾數
資料標準化
資料如何分類?
行情資料
財務資料
宏觀資料
二、計算語言&軟體
已經有很多人在網上詢問過該選擇什麼語言?筆者一開始用的是matlab,但最終選擇了python
python:庫很多,只有你找不到的,沒有你想不到,和量化這塊結合比較緊密的有:
Numpy&Scipy:科學計算庫,矩陣計算
Pandas:金融資料分析神器,原AQR資本員工寫的一個庫,處理時間序列的標配
Matplotlib:畫相簿
scikit-learn:機器學習庫
statsmodels:統計分析模組
TuShare:免費、開源的python財經資料介面包
Zipline:回測系統
TaLib:技術指標庫
matlab:主要是矩陣運算、科學運算這一塊很強大,主要有優點是WorkSpace變數視覺化
python的Numpy+Scipy兩個庫完全可以替代Matlab的矩陣運算
Matplotlib完克Matlab的畫圖功能
python還有很多其他的功能
pycharm(python的一款IDE)有很棒的除錯功能,能代替Matlab的WorkSpace變數視覺化
推薦的python學習文件和書籍
關於python的基礎,建議廖雪峰Python 2.7教程,適合於沒有程式基礎的人來先看,涉及到python的基本資料型別、迴圈語句、條件語句、函式、類與物件、檔案讀寫等很重要的基礎知識。
涉及到資料運算的話,其實基礎教程沒什麼應用,python各類包都幫你寫好了,最好的學習資料還是它的官方文件,文件中的不僅有API,還會有寫例項教程
pandas文件
statsmodels文件
scipy和numpy文件
matplotlib文件
TuShare文件
第二,推薦《利用Python進行資料分析》,pandas的開發初衷就是用來處理金融資料的
三、回測框架和網站
兩個開源的回測框架
PyAlgoTrade - Algorithmic Trading
Zipline, a Pythonic Algorithmic Trading Library
本文將會講解量化投資過程中的基本流程,量化投資無非這幾個流程,資料輸入------策略書寫------回測輸出
其中策略書寫部分還涉及到程式語言的選擇,如果不想苦惱資料輸入和回測輸出的話,還要選擇回測平臺。
一、資料
首先,必須是資料,資料是量化投資的基礎
如何得到資料?
預測者網:不經意間發現,一個免費提供股票資料網站 預測者網,下載的是CSV格式
TB交易開拓者:Tradeblazer,感謝@孫存浩提供資料來源
TuShare:TuShare -財經資料介面包,基於Python的財經資料包,利用Python進行摘取
如何儲存資料?
Mysql
如何預處理資料?
空值處理:利用DataFrame的fill.na()函式,將空值(Nan)替換成列的平均數、中位數或者眾數
資料標準化
資料如何分類?
行情資料
財務資料
宏觀資料
二、計算語言&軟體
已經有很多人在網上詢問過該選擇什麼語言?筆者一開始用的是matlab,但最終選擇了python
python:庫很多,只有你找不到的,沒有你想不到,和量化這塊結合比較緊密的有:
Numpy&Scipy:科學計算庫,矩陣計算
Pandas:金融資料分析神器,原AQR資本員工寫的一個庫,處理時間序列的標配
Matplotlib:畫相簿
scikit-learn:機器學習庫
statsmodels:統計分析模組
TuShare:免費、開源的python財經資料介面包
Zipline:回測系統
TaLib:技術指標庫
matlab:主要是矩陣運算、科學運算這一塊很強大,主要有優點是WorkSpace變數視覺化
python的Numpy+Scipy兩個庫完全可以替代Matlab的矩陣運算
Matplotlib完克Matlab的畫圖功能
python還有很多其他的功能
pycharm(python的一款IDE)有很棒的除錯功能,能代替Matlab的WorkSpace變數視覺化
推薦的python學習文件和書籍
關於python的基礎,建議廖雪峰Python 2.7教程,適合於沒有程式基礎的人來先看,涉及到python的基本資料型別、迴圈語句、條件語句、函式、類與物件、檔案讀寫等很重要的基礎知識。
涉及到資料運算的話,其實基礎教程沒什麼應用,python各類包都幫你寫好了,最好的學習資料還是它的官方文件,文件中的不僅有API,還會有寫例項教程
pandas文件
statsmodels文件
scipy和numpy文件
matplotlib文件
TuShare文件
第二,推薦《利用Python進行資料分析》,pandas的開發初衷就是用來處理金融資料的
三、回測框架和網站
兩個開源的回測框架
PyAlgoTrade - Algorithmic Trading
Zipline, a Pythonic Algorithmic Trading Library