HBInvest

Posted on Jul 01, 2022Read on Mirror.xyz

利用Python第三方API获取任意周期K线

如果在我们的策略中,如果要用到比小时K线更精确的数据颗粒,我们就需要调用API来开发数据接收程序了。我们先来看一个强大的Python第三方API:CCXT。CCXT是一个支持全球120余家主流数字货币交易所的jsp、python、php的三方库。在github搜索CCXT,即可查看、下载该三方库的源代码以及说明文档。

CCXT的安装,我们以技术宅大部分粉丝熟悉的Python为例,只需要在控制台或Anaconda中输入pip install ccxt(必要时更换更快速的安装源)即可完成安装。

安装后import ccxt,并print(ccxt.exchanges),如果控制台打印出了一系列ccxt支持的交易所的名称,说明此时ccxt已经成功安装。

我们使用ccxt,能够获取到三种类型的行情数据:OrderBook、PriceTicker、KLine。ccxt接口对于这三类数据,都采用Rest的获取方式,即请求1次、返回1条最新数据信息。

以Kline(K线)的数据获取为例。通过CCXT的帮助文档http://cw.hubwiz.com/card/c/ccxt-dev-manual/,我们可以查到应该调用API中的fetch_ohlcv的方法来获取Kline。该方法传入两个参数,分别是所要获取数据的数字货币品种,以及获取数据所对应的K线周期。在获取到K线数据后,我们将其转换为pandas的DataFrame标准数据格式,并将最终的结果存入excel文件。后续的回测模块只需要读取该数据即可。

如果不存储excel文件,我们同样可以将所返回的数据打印出来,以此来验证我们使用接口的方法,是正确的。