BackTrader量化交易案例图解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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。