統一的數字貨幣交易所接口


本文介紹統一的數字貨幣交易所接口。

 

一、介紹

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可以直接使用。

創建交易所對象如下

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM