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

3月7日的币安被黑事件,让许多人知道了API。具体经过是这样的:每个交易所都提供api,量化投资其实也就是通过这些api来才做账户的买卖的。这些api只能交易,不能提现,所以理论上安全。有的人把api提供给第三方的服务,比如一些搬砖机器人网站。这些网站收集到的api被黑客黑走了,然后黑客根据收集到的api进行了这次的黑客行动。

那么既然API这么有用,我们怎么能不去学习呢?(当然不是做黑客,而是去量化交易。)

量化交易的过程就是获取数据、处理数据、下单。其中获取数据需要交易所API接口。

登录Coinmarketcap.com,选择一个交易所。选择的标准首先是安全性,中心化的交易存在安全隐患,包括黑客和监守自盗。交易量越高人气越旺,深度越大。可以在24小时交易所成交量排名中,选前10的。

大多数主流交易所都有API接口可以获取数据,实施下单。由于最近一些大的交易所被墙,无法登录,我选择OTCBTC的API接口给大家演示。

在币币交易页面右下选择API文档,打开进入Github页面,如下:

使用交易所API接口量化交易(一)_第1张图片
API接口文档

先看Public API:

markets ——得到所有的币币交易品种名称

Tickers——得到所有币币交易品种过去24小时的报价

tickers{market}——得到指定币币交易品种过去24小时的报价

order_book——获取指定币币交易品种的订单。

Trades ——最新成交,记录每一笔成交数据,用于高频交易。

Kline——返回k线数据,可以做一些测略回测,趋势或者择时测略。

klines_with_pending_trades——返回待处理数据的K线,目测和Kline基本一致。

URL网址,就是API。打开一个新的网页,先输入OTCBTC的币币网址https://bb.otcbtc.com,再后面在输入你要带入的API接口URL。之后显示为一堆如下:

使用前

我们可以使用Chrome的浏览器插件JSONView让数据换行显示,会更加直观。

使用交易所API接口量化交易(一)_第2张图片
使用后


下面分别详细讲解各个接口:

markets:不用解释了。

tickers{market}:这个大括号里的参数market就是你要查询的交易品种。注意大括号不要输入。

At——当前时间,用Unix格式显示,可以在python中改为常用的时间格式。

buy——最后的主动买入价格

sell——最后的主动卖出价格

low——最低价

high——最高价

last——收盘价

vol——成交量

order_book:asks是主动卖,bids是主动买。

Trades:参数 limit——设定查询最近的成交笔数;

market——选取你要查询的币币交易品种

klines:参数 period——设定K线的时间,单位为分钟,可选1, 5, 15, 30, 60, 120, 240, 360, 720, 1440, 4320, 10080。

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