上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。