- BackTrader量化交易案例圖解
- 何海群
- 554字
- 2020-11-24 13:23:51
2.5 數據預處理函數
數據讀取函數pools_get4fn用于數據的預處理工作,其作用主要包括:
● 讀取數據文件。
● 根據時間參數裁剪數據。
● 對交易數據按時間字段進行正序排序。
● 把數據轉換為BackTrader內部數據格式。
下面來看一看數據讀取函數pools_get4fn的接口定義,如下:

在函數接口定義中輸入的參數如下。
● fnam:數據文件名稱。
● tim0str:回測起始時間。
● tim9str:回測終止時間。
● fgSort:正序排序標志,默認為True,按正序排序。
● fgCov:數據轉換標志,默認為True,數據轉換為BackTrader內部格式。
輸出數據是data:BackTrader回測內部格式的數據包。
需要注意的是,在數據讀取函數pools_get4fn的接口定義中,

函數時間參數變量采用的是字符串格式,以便于用戶設置時間參數。在使用數據讀取函數pools_get4fn時,其內部代碼會把時間參數轉換為標準的datetime時間格式。
函數接口里面的tim0str、tim9str參數支持長格式和短格式兩種時間格式標準。如果采用短時間格式,則有關的時間尾數會自動轉換為零點零時零分。
大家在使用tick數據、五分鐘等分時數據時,要使用長時間格式,因為短時間格式中的數據尾數會自動歸零。
pools_get4fn數據讀取函數,源自TOP極寬量化工具函數庫,函數pools_get4fn代碼如下:


關于數據排序步驟,在pools_get4fn數據讀取函數代碼中有專門的排序語句:

BackTrader數據使用的是系統內部的格式,這個格式雖然也是OHLC格式,但與Pandas有所不同,即無法直接兼容。如果用戶不看源代碼,則很容易混亂,所以我們特意開發了這組數據讀取函數:pools_get4fn。