当前位置:首页 > 知识 >

行情收集器新版发布,支持CSV文件导入和自定义数据源

最近,有一个用户想要将自己的CSV格式文件供发明者量化交易平台的回测系统使用。发明者量化交易平台的回测系统功能很多,使用简洁高效。这样一来,只要用户有自己的数据,就可以进行回测了,不再局限于平台数据中心支持的交易所和品种。

为了实现这个功能,我们可以在之前的行情收集器基础上进行改动。我们可以为行情收集器增加一个参数isOnlySupportCSV,用来控制是否只使用CSV文件还可以增加一个参数filePathForCSV,用于设置行情收集器机器人运行的服务器上存放CSV数据文件的路径。最后,根据isOnlySupportCSV参数是否为True来决定使用哪种数据源(1、自己收集的数据,2、CSV文件中的数据)。这个改动主要在Provider类的do_GET函数中进行。

CSV文件是逗号分隔值(Comma-SeparatedValues)的缩写,有时也称为字符分隔值。它以纯文本形式存储表格数据,包括数字和文本。纯文本意味着该文件是一个字符序列,不包含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录之间以某种换行符分隔,每条记录由字段组成,字段之间的分隔符可以是逗号或其他字符。通常,所有记录都有相同的字段序列,并且通常是纯文本文件。建议使用Wordpad或记事本来打开CSV文件,或者先另存为新文件再使用Excel打开。

CSV文件没有通用的格式标准,但是有一定的规律。一般情况下,每一条记录都占据一行,第一行是表头。每行中的数据由逗号间隔。例如,我们用记事本打开一个用于测试的CSV文件时,它的样式如下:

[CSV文件截图]

我们需要解析和整理这样的数据,并将其构造成回测系统所需的自定义数据源格式。我们之前的文章中的代码已经处理了这个问题,只需要稍作修改即可。

在修改后的代码上进行测试:

首先,我们启动行情收集器机器人,并为机器人添加一个交易所,让它开始运行。

参数配置:

然后,我们创建一个测试策略,这个策略很简单,只获取并打印三次K线数据。

接下来,我们进入回测页面,将回测系统的数据源设置为自定义数据源,并填写行情收集器机器人运行的服务器地址。由于我们的CSV文件中的数据为1分钟K线,所以在回测时,我们将K线周期设置为1分钟。

点击开始回测后,行情收集器机器人接收到了数据请求:

在回测系统执行完策略后,根据数据源中的K线数据生成K线图表。

最后,我们可以对比文件中的数据:

[对比数据截图]

这是一个抛砖引玉的例子,欢迎留言提出建议。

猜你喜欢

微信二维码

微信