使用交易所API接口量化交易(二)

这次讲怎么把API接口的数据导入到Python里。

一、tickers接口 爬取单个品种

首先导入库,urllib是爬取网页数据的库,urlopen是爬取数据的意思。json是一种转换数据格式的库,就像上一讲在网页上转换为json格式一样,在python里转换而已。pandas是经典的数据处理库。

使用交易所API接口量化交易(二)_第1张图片
Python轮子就是多,有问题找轮子。

构建URL

使用交易所API接口量化交易(二)_第2张图片
将交易对的symbol用“%s”符号拼接到url上。

爬取数据

将网页数据用urlopen爬取到变量content上,持续时间timeout为15秒,超时报错。然后将content用decode转化为字符串,采用编码方式为utf-8。

使用交易所API接口量化交易(二)_第3张图片
有了这个轮子,及不用学爬虫了?

将数据转化为dataframe

先用json将数据转变成字典格式,然后将其变成dataframe的浮点数格式。

使用交易所API接口量化交易(二)_第4张图片
一种类似excel表格的行列格式

对df进行处理

将数据中的“at”列删除,只显示“ticker”。之后用“.T”对其进行转置,这就是线性代数里的那个意思。

转置会把数据变成一行显示

二、 tickers接口 爬取多个品种

第一步还是带入库,最后一行的意思是数据长了的话不换行。

使用交易所API接口量化交易(二)_第5张图片
False不换行,True换行。

然后我们来做一个模块,这个模块起到和urlopen同样的作用,但是当尝试失败超过定义次数后,会出相应的提示,最后给出一个空值。

使用交易所API接口量化交易(二)_第6张图片
更加严格的爬取方式

创建一个模块,用来获取ticker数据。在中括号里输入要爬取的品种列表。

构建url,然后用上面的模块爬取这个url,当为空值时,跳过这个循环。

将数据转为DateFrame格式,去掉‘at’列,加上‘symbol’列。之后用append语句合并数据。

最后,整理列,按你想要的顺序排好。

使用交易所API接口量化交易(二)_第7张图片
这样就直观了。

三、klines接口

OTC的klines接口有三个参数,分别是:market——设定品种;limit——设定读取多少根k线;period——设定k线周期,单位是分钟,包括1, 5, 15, 30, 60, 120, 240, 360, 720, 1440, 4320, 10080。

然后就是1、构建URL;2、将数据转为DF格式;3、整理。

整理时用rename将序列号重命名为需要的,然后用pd.to_datetime将unit时间转换成格林威治时间,注意后面的unit单位可能是秒s,也可能是毫秒ms,视你用的交易所而定。

最后将格林威治时间通过pd.Timedelta加8个小时,转为北京时间。注意k线时间是k线的开始时间

使用交易所API接口量化交易(二)_第8张图片
candle是蜡烛图的意思

ps:本文所有版权来自邢不行老师的“数字货币量化课程”,如有需要随时删除。

你可能感兴趣的:(使用交易所API接口量化交易(二))