數字貨幣交易所數據標准格式


本文介紹比特量化的SDK返回的數據貨幣交易所標准格式。

 

一、統一規范

1、貨幣對

  交易幣在前,計價幣在后,中間以下划線隔開,如“BTC_USDT”,全部大寫,傳參使用該格式。

  注:交易所接口調用交易對時,內部再使用_x_symbol接口轉為交易所的交易對格式。

2、時間規范

  K線接口返回為秒級時間戳(因為K線最小周期1分鍾)

  其他接口返回時間為毫秒級時間戳,如訂單相關接口。不是毫秒級的轉成毫秒級,秒級的加000

2、長度規范

  長短不一以短為准

  深度同時返回買賣單,但以短者為准。如買單長50,賣單長60,則總體返回50條記錄

4、數據類型

  交易對:string  

  價格:float

  數量:float

  時間:10位秒時間或13位毫秒時間戳

  訂單ID:string 或 int 注:大部分交易所為int,極少部分為string,此處兩種皆可

5、打印輸出精度

  幣量:8

  價格:10

  數量:4

6、命名 

  訂單ID:orderid  

  交易對:symbol

  價格:price

  數量:quantity

  交易方向:direction   取值:BUY / SELL

  交易類型:type     取值:MARKET / LIMIT

  交易狀態:status       取值:提交:SUBMITTED,部分成交:PARTIALLY_FILLED,成交:FILLED,取消:CANCELED

  訂單時間:time               取值毫秒時間戳

 7、K線時間周期

  分鍾級:1min, 3min, 5min, 10min, 15min, 30min,
  時間級:1hour, 2hour, 3hour, 4hour, 6hour, 8hour, 12hour,
  日周月:1day, 3day, 1week, 2week, 1month

 8、返回錯誤時參數定義

  result       結果,False
  errcode    錯誤代碼
  errmsg     錯誤原因

{
    'result': False,
    'errcode': 2022,
    'errmsg': 'order amount low min limit'
}

 9、接口定義

  api網址:https://api.bitcoinex.com   結尾不帶斜杠

  接口:/ticker?symbol=btc_usdt         開頭帶斜杠

 10、長度默認值

  depth: 30

  trades: 60

  kline: 120

 11、交易狀態定義

#  (0:已提交,1:已完成,2:已撤銷, 3:部分成交 其他部分未成交, 4:部分成交 其他部分取消
types = {
    0:"SUBMITTED",
    1:"FILLED",
    2:"CANCELED",
    3:"PARTIALLY_FILLED",
    4:"PARTIALLY_CANCELED",
}

 

 

二、參數列表

 

1、市場markets

由symbol,base,quote三部分組成,

  • symbol:交易對
  • base:交易幣
  • quote:計價幣

比特量化 地址:https://dcep.000webhostapp.com/api/v1/markets

格式如下

[
    {
        "symbol":"BTC_USDT",
        "base":"BTC",
        "quote":"USDT"
    },
    {
        "symbol":"ETH_USDT",
        "base":"ETH",
        "quote":"USDT"
    },
    {
        "symbol":"ETH_BTC",
        "base":"ETH",
        "quote":"BTC"
    }
]

格式化打印如下,第1為幣列,后續列表示支持的交易對

1       BTC     USDT    ---
2       BCH     USDT    BTC
3       ETH     USDT    BTC
4       ETC     USDT    BTC
5       LTC     USDT    BTC
6       ADA     USDT    BTC
7       EOS     USDT    BTC
8       XRP     USDT    BTC
9       XLM     USDT    BTC
10      XEM     USDT    BTC
11      DASH    USDT    BTC

 

2、精度precisions

返回字典,鍵為交易對,值為字典

  • price:價格精度
  • quantity:數量精度

比特量化 地址:https://dcep.000webhostapp.com/api/v1/precisions

{
    "BTC_USDT":{
        "price":2,
        "quantity":4
    },
    "ETH_USDT":{
        "price":2,
        "quantity":3
    },
    "ETH_BTC":{
        "price":8,
        "quantity":3
    }
}

格式化打印如下

      SYMBOL  PRICE  QUANTITY
    BTC_USDT    2    4
    BCH_USDT    2    3
    ETH_USDT    2    3
     ETH_BTC    8    3

 

3、行情ticker

由bid,ask,last組成

  • bid:買一價
  • ask:賣一價
  • last:最新價

比特量化 地址:https://dcep.000webhostapp.com/api/v1/ticker?symbol=BTC_USDT

{
    "bid":7206.02,
    "ask":7207.69,
    "last":7207.21
}

 

4、深度depth

bids在前,asks在后

bids:買單深度,列表為 [價格、數量],價格由大到小

asks:賣單深度,列表為 [價格、數量],價格由小到大

比特量化 地址:https://dcep.000webhostapp.com/api/v1/depth?symbol=BTC_USDT

{
    "bids":[
        [
            7206.02,
            3.1015
        ],
        [
            7198.1,
            5.9285
        ],
        [
            7188.98,
            5.8473
        ]
    ],
    "asks":[
        [
            7207.69,
            9.338
        ],
        [
            7211.71,
            3.8617
        ],
        [
            7217.11,
            5.7787
        ]
    ]
}

格式化打印

           BIDS-PRICE      BIDS-AMOUNT     SUM-BUY         ASKS-PRICE      ASKS-AMOUNT     SUM-SELL
1       7206.0200000000       3.1015      22349.4710    7207.6900000000       9.3380      67305.4092
2       7198.1000000000       5.9285      65023.4069    7211.7100000000       3.8617      95154.8697
3       7188.9800000000       5.8473     107059.5296    7217.1100000000       5.7787     136860.3833
4       7174.5700000000       3.1857     129915.5573    7218.9800000000       6.6727     185030.4711
5       7158.4400000000       4.7412     163855.1530    7224.4100000000       6.2684     230315.9628
6       7148.7800000000       6.6608     211471.7468    7226.5000000000       5.0172     266572.7586
7       7148.5600000000       6.3328     256742.1476    7235.1700000000       6.8392     316055.5332
8       7120.2500000000       6.6531     304113.8829    7245.1300000000       5.5874     356536.9726
9       7114.9500000000       3.0118     325542.6893    7253.4800000000       6.4741     403496.7275
10      7106.5000000000       5.9600     367897.4293    7262.0400000000       3.4438     428505.7408

 

5、交易記錄trades

  • orderid      訂單ID
  • time          交易時間
  • price         價格
  • quantity      數量
  • direction     交易方向

比特量化 地址:https://dcep.000webhostapp.com/api/v1/trades?symbol=BTC_USDT

[
    {
        "orderid":"1577343636",
        "time":1577343636000,
        "price":7207.21,
        "quantity":0.0212,
        "direction":"SELL"
    },
    {
        "orderid":"1577343617",
        "time":1577343617000,
        "price":7208.47,
        "quantity":0.9,
        "direction":"SELL"
    },
    {
        "orderid":"1577343605",
        "time":1577343605000,
        "price":7208.53,
        "quantity":0.0013,
        "direction":"SELL"
    }
]

格式化打印輸出

 ORDERID               TIME                PRICE       QUANTITY  DIERCTION
1577343636      2019-12-26 15:00:36      7207.21       0.0212    SELL
1577343617      2019-12-26 15:00:17      7208.47          0.9    SELL
1577343605      2019-12-26 15:00:05      7208.53       0.0013    SELL
1577343584      2019-12-26 14:59:44      7208.68          0.4     BUY
1577343573      2019-12-26 14:59:33      7208.64       0.1924    SELL
1577343560      2019-12-26 14:59:20      7208.74        0.016    SELL
1577343550      2019-12-26 14:59:10      7208.69          1.0    SELL
1577343549      2019-12-26 14:59:09      7208.72       3.9917     BUY
1577343534      2019-12-26 14:58:54      7210.87       0.0728    SELL

 

6、K線kline

numpy array格式

依次為 stamp, open, high, low, close, volume

比特量化 地址:https://dcep.000webhostapp.com/api/v1/kline?symbol=BTC_USDT

(
    array([1577329200, 1577332800, 1577336400, 1577340000, 1577343600, 1577347200]),
    array([7200.37, 7182.84, 7182.51, 7188.31, 7206.57, 7209.2 ]),
    array([7203.67, 7197. , 7195. , 7223.15, 7218.06, 7235.23]),
    array([7177.14, 7180. , 7176.8 , 7182.92, 7198. , 7206.27]),
    array([7183.01, 7182.26, 7188.31, 7207.34, 7209.2 , 7230.52]),
    array([ 583.251854, 494.59289 , 532.669462, 1002.302363, 874.400744, 549.985543])
)

格式化打印輸出(從小到大,正序排列,時間最近在最下面) [npa = npa[np.lexsort(npa[:,::-1].T)] ]

2019-12-26 11:00:00     O:7200.37000000        H:7203.67000000        L:7177.14000000        C:7183.01000000        V:583.25185400
2019-12-26 12:00:00     O:7182.84000000        H:7197.00000000        L:7180.00000000        C:7182.26000000        V:494.59289000
2019-12-26 13:00:00     O:7182.51000000        H:7195.00000000        L:7176.80000000        C:7188.31000000        V:532.66946200
2019-12-26 14:00:00     O:7188.31000000        H:7223.15000000        L:7182.92000000        C:7207.34000000        V:1002.30236300
2019-12-26 15:00:00     O:7206.57000000        H:7218.06000000        L:7198.00000000        C:7209.20000000        V:874.40074400

 

 以下為高級接口,一般需要api密鑰參數認證才能獲取

11、賬號account

幣種為鍵,幣量為值

  • free 可用
  • locked 凍結
  • total 總共
{
    "BTC":{
        "free":0.1,
        "locked":0.2,
        "total":0.3
    },
    "ETH":{
        "free":0,
        "locked":0,
        "total":0
    },
    "USDT":{
        "free":2786.636222,
        "locked":583.279809,
        "total":3369.916031
    }
}

格式化打印輸出

1       BTC           0.10000000              0.20000000              0.30000000
2       USDT       2786.63622200            583.27980900           3369.91603100

 

12、下單order
輸入參數

symbol      交易對,如BTC_USDT
side        交易方向,取值 "BUY", "SELL"
type        交易類型,取值 "LIMIT", "MARKET"
quantity    數量
price       價格
**kwargs    可變參數,用於交易所要求的其他參數

輸出參數

result     結果,取值  True, False
orderid    訂單ID,result為True時

 樣例

{
    'result': True,
    'orderid': 'E6618043078911565824'
}

 

13、訂單查詢 order_query
輸入參數

symbol      交易對,如BTC_USDT
orderid     訂單ID

輸出參數

symbol      交易對,如BTC_USDT
orderid     訂單ID
quantity    數量
price       價格
side        交易方向,取值 "BUY", "SELL"
type        交易類型,取值 "LIMIT", "MARKET" 
time        交易時間,毫秒級時間戳

返回樣例

{
    'symbol': 'BTC_USDT',
    'orderid': 'E6615092017452130304',
    'price': 0.001822,
    'quantity': 222.0,
    'status': 'FILLED',
    'side': 'SELL',
    'type': 'LIMIT',
    'time': 1577160839427
}

 

14、訂單取消 order_cancel
輸入參數

symbol      交易對,如BTC_USDT
orderid     訂單ID

輸出參數

result     結果,取值  True, False
orderid    訂單ID,result為True時

樣例

{
    'result': True
}

 

15、訂單未成交記錄 order_open

[
    {
        "orderid":"3785624934",
        "symbol":"DOGE_USDT",
        "time":1578639942000,
        "price":0.015,
        "quantity":400,
        "direction":"BUY"
    },
    {
        "orderid":"3785624829",
        "symbol":"DOGE_USDT",
        "time":1578639942000,
        "price":0.0452,
        "quantity":200,
        "direction":"SELL"
    }
]

 

16、訂單已成交記錄 order_history

格式同上

 

三、常用簽名方法

 

    # 簽名函數 def signature(self, params): params = sorted(params.items(), key=lambda d:d[0]) # 對字典按鍵排序,d[0]表示按鍵,d[1]表示按值 paramsurl = urllib.parse.urlencode(params) # 元組組成的列表轉字符串 sign = hmac.new(self._secret.encode("utf8"), paramsurl.encode("utf8"), hashlib.md5).hexdigest() # HMAC-MD5簽名值 return sign


免責聲明!

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



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