统一的数字货币交易所接口

本文介绍统一的数字货币交易所接口。

一、介绍

btcquant是一个统一的数字货币交易所接口库,目前支持binance,huobi,okex,bitfinex,zb,bittrex,gateio等国内外主流的交易所。

二、安装

btcquant目前支持python3。

使用pip命令安装如下。

pip install btcquant

安装返回如下

E:\bitcoin\quant\8>pip install btcquant
Collecting btcquant
  Downloading https://files.pythonhosted.org/packages/3f/ba/61cd9a3bf010bd828138b101af97e04db98c84bf13fffa626b333338b1de/btcquant-1.0.0-py2.py3-none-any.whl
Requirement already satisfied: numpy in d:\python36\lib\site-packages (from btcquant) (1.14.0)
Installing collected packages: btcquant
Successfully installed btcquant-1.0.0

E:\bitcoin\quant\8>

三、使用

1、引入库

from btcquant import EXCHANGES

2、创建交易所对象

交易所目前支持 有的

  • binance
  • huobi
  • okex
  • bitfinex
  • zb
  • bittrex
  • gateio

注意:有的交易所需要科学上网才能使用,当前有zb、bittrex不需要FQ。

创建交易所对象如下

client = EXCHANGES("zb")

3、获取币币交易对

markets = client.markets()

返回部分示例如下(所有的都列出来就太长了,精简一下)

[
    {
        "symbol":"btc_usdt",
        "quote":"USDT"
    },
    {
        "symbol":"ltc_usdt",
        "quote":"USDT"
    },
    {
        "symbol":"eth_usdt",
        "quote":"USDT"
    },
    {
        "symbol":"etc_usdt",
        "quote":"USDT"
    },
    {
        "symbol":"eth_btc",
        "quote":"BTC"
    }
]

 4、获取行情

传入交易对,返回当前币对的买一、卖一及最新成交价

交易对格式统一为 交易币种在前,计价币种在后,中间用下划线格开,字母全部大写

symbol = "BTC_USDT"
ticker = client.ticker(symbol)

返回数据如下

{
    "bid":3695.4996,
    "ask":3695.9053,
    "last":3695.4996
}

5、获取深度

传入交易对,返回交易对的深度

depth = client.depth(symbol)

返回如下(数据有精简):

{
    "asks":[
        [
            3697.4242,
            0.547
        ],
        [
            3697.388,
            0.001
        ],
        [
            3697.1243,
            0.27048049
        ],
        [
            3696.6658,
            0.03167168
        ]
    ],
    "bids":[
        [
            3695.4997,
            0.03311724
        ],
        [
            3695.3995,
            0.00137
        ],
        [
            3695.3993,
            0.081
        ],
        [
            3695.2113,
            0.081
        ]
    ]
}

6、获取K线

传入交易对及时间周期,返回K线数据并打印

时间周期支持如下:

  • 1min
  • 3min
  • 5min
  • 10min
  • 15min
  • 30min
  • 1hour
  • 2hour
  • 3hour
  • 4hour
  • 6hour
  • 8hour
  • 12hour
  • 1day
  • 3day
  • 1week
  • 2week
  • 1month

注:如果交易所本身不支持该周期,则无法获取该周期的数据。基本上所有的交易所都支持1hour和1day。

调用方式如下

kline = client.kline(symbol, interval = '1hour')

返回数据如下

(
    array([1.5501060e+09, 1.5501096e+09, 1.5501132e+09, 1.5501168e+09]), 
    array([3619.92, 3617.76, 3613.65, 3612.32]), 
    array([3623.66, 3622.39, 3614.22, 3620.89]), 
    array([3614.64, 3607.98, 3601.26, 3612.32]), 
    array([3617.91, 3614.91, 3612.33, 3620.59]), 
    array([167.2525, 278.5334, 295.7641, 199.5341])
)

上述数据依次数stamp, open, high, low, close, volume的数据。

同时支持格式化输出打印,默认返回120条记录

2019-02-13 11:00:00 开:3637.3929 高:3643.9904 低:3633.1014 收:3641.9604 量: 888.6055
2019-02-13 12:00:00 开:3641.9711 高:3644.9274 低:3631.9939 收:3639.2368 量:1014.8132
- - - - - -                                                                 
2019-02-18 08:00:00 开:3667.8997 高:3709.2059 低:3657.2737 收:3701.0000 量:2675.3753
2019-02-18 09:00:00 开:3701.0000 高:3782.4734 低:3668.9484 收:3693.3995 量:4431.8632
2019-02-18 10:00:00 开:3693.1074 高:3695.1995 低:3689.0791 收:3695.1995 量: 121.3112

四、下载

下载本文中各接口的使用源码,请搜索关注公众号 比特量化,在聊天窗口中回复 1297

下载btcquant该python库的源码,请搜索关注公众号 比特量化,在聊天窗口中回复 1298

猜你喜欢

转载自www.cnblogs.com/fangbei/p/btcquant.html