Binance_interface API U本位合约行情
Github地址PyTed量化交易研究院
1. API U本位合约行情接口总览
方法解释Pathget_ping测试服务器连通性 PING/fapi/v1/pingget_time获取服务器时间/fapi/v1/timeget_exchangeInfo获取交易规则和交易对/fapi/v1/exchangeInfoget_depth深度信息/fapi/v1/depthget_trades近期成交/fapi/v1/tradesget_historicalTrades查询历史成交(MARKET_DATA)/fapi/v1/historicalTradesget_aggTrades近期成交(归集)/fapi/v1/aggTradesget_klinesK线数据/fapi/v1/klinesget_continuousKlines连续合约K线数据/fapi/v1/continuousKlinesget_indexPriceKlines价格指数K线数据/fapi/v1/indexPriceKlinesget_markPriceKlines标记价格K线数据/fapi/v1/markPriceKlinesget_premiumIndexKlines溢价指数K线数据/fapi/v1/premiumIndexKlinesget_premiumIndex最新标记价格和资金费率/fapi/v1/premiumIndexget_fundingRate查询资金费率历史/fapi/v1/fundingRateget_fundingInfo查询资金费率信息/fapi/v1/fundingInfoget_ticker_24hr24hr价格变动情况/fapi/v1/ticker/24hrget_ticker_price_v1最新价格/fapi/v1/ticker/priceget_ticker_price最新价格V2/fapi/v2/ticker/priceget_ticker_bookTicker当前最优挂单/fapi/v1/ticker/bookTickerget_openInterest获取未平仓合约数/fapi/v1/openInterestget_delivery_price季度合约历史结算价/futures/data/delivery-priceget_openInterestHist合约持仓量/futures/data/openInterestHistget_topLongShortAccountRatio大户账户数多空比/futures/data/topLongShortAccountRatioget_topLongShortPositionRatio大户持仓量多空比/futures/data/topLongShortPositionRatioget_globalLongShortAccountRatio多空持仓人数比/futures/data/globalLongShortAccountRatioget_takerlongshortRatio合约主动买卖量/futures/data/takerlongshortRatioget_basis基差/futures/data/basisget_lvtKlines杠杆代币历史净值K线/fapi/v1/lvtKlinesget_indexInfo综合指数交易对信息/fapi/v1/indexInfoget_assetIndex多资产模式资产汇率指数/fapi/v1/assetIndexget_constituents查询指数价格成分/fapi/v1/constituents
2. 模型实例化
import datetime
from binance_interface.api import UM
from binance_interface.app.utils import eprint
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/binance_resender
proxy_host = None
um = UM(
proxy_host=proxy_host
)
market = um.market
3. U本位合约实时行情
3.1 当前最优挂单 get_ticker_bookTicker
# 现货全部产品
bookTicker_result = market.get_ticker_bookTicker()
eprint(bookTicker_result, data_length=5)
输出:
>>> {'code': 200,
>>> 'data': [{'symbol': 'BTCUSDT',
>>> 'bidPrice': '40158.10',
>>> 'bidQty': '1.750',
>>> 'askPrice': '40158.20',
>>> 'askQty': '7.586',
>>> '...': '......'},
>>> {'symbol': 'ETHUSDT',
>>> 'bidPrice': '2222.27',
>>> 'bidQty': '5.638',
>>> 'askPrice': '2222.28',
>>> 'askQty': '27.227',
>>> '...': '......'},
>>> {'symbol': 'BCHUSDT',
>>> 'bidPrice': '235.89',
>>> 'bidQty': '1.539',
>>> 'askPrice': '235.90',
>>> 'askQty': '4.531',
>>> '...': '......'},
>>> {'symbol': 'XRPUSDT',
>>> 'bidPrice': '0.5139',
>>> 'bidQty': '22041.0',
>>> 'askPrice': '0.5140',
>>> 'askQty': '101329.3',
>>> '...': '......'},
>>> {'symbol': 'EOSUSDT',
>>> 'bidPrice': '0.690',
>>> 'bidQty': '162800.4',
>>> 'askPrice': '0.691',
>>> 'askQty': '116329.8',
>>> '...': '......'},
>>> '......'],
>>> 'msg': ''}
# 现货单个交易对
bookTicker_result = market.get_ticker_bookTicker(symbol='BTCUSDT')
eprint(bookTicker_result)
输出:
>>> {'code': 200,
>>> 'data': {'symbol': 'BTCUSDT',
>>> 'bidPrice': '40148.30',
>>> 'bidQty': '0.808',
>>> 'askPrice': '40148.40',
>>> 'askQty': '5.244',
>>> 'time': 1706245394375,
>>> 'lastUpdateId': 3888877129825},
>>> 'msg': ''}
3.2 最新价格 get_ticker_price
# 现货全部产品
price_result = market.get_ticker_price()
eprint(price_result, data_length=5)
输出:
>>> {'code': 200,
>>> 'data': [{'symbol': 'NEARUSDT', 'price': '2.7580', 'time': 1706245389313},
>>> {'symbol': '1000SATSUSDT', 'price': '0.0004072', 'time': 1706245399913},
>>> {'symbol': 'UMAUSDT', 'price': '5.321000', 'time': 1706245400559},
>>> {'symbol': 'GALAUSDT', 'price': '0.02223', 'time': 1706245396551},
>>> {'symbol': 'MINAUSDT', 'price': '1.0101000', 'time': 1706245396476},
>>> '......'],
>>> 'msg': ''}
# 现货单个产品
price_result = market.get_ticker_price(symbol='BTCUSDT')
eprint(price_result)
输出:
>>> {'code': 200, 'data': {'symbol': 'BTCUSDT', 'price': '40146.70', 'time': 1706245405158}, 'msg': ''}
3.3 24hr价格变动情况 get_ticker_24hr
# 现货全部产品
hr24_result = market.get_ticker_24hr()
eprint(hr24_result, data_length=5)
输出:
>>> {'code': 200,
>>> 'data': [{'symbol': 'ATAUSDT',
>>> 'priceChange': '0.0020',
>>> 'priceChangePercent': '2.389',
>>> 'weightedAvgPrice': '0.0843',
>>> 'lastPrice': '0.0857',
>>> '...': '......'},
>>> {'symbol': 'XMRUSDT',
>>> 'priceChange': '6.70',
>>> 'priceChangePercent': '4.404',
>>> 'weightedAvgPrice': '156.27',
>>> 'lastPrice': '158.82',
>>> '...': '......'},
>>> {'symbol': 'BLUEBIRDUSDT',
>>> 'priceChange': '0.10800',
>>> 'priceChangePercent': '1.381',
>>> 'weightedAvgPrice': '7.88532',
>>> 'lastPrice': '7.92700',
>>> '...': '......'},
>>> {'symbol': 'POLYXUSDT',
>>> 'priceChange': '0.0028000',
>>> 'priceChangePercent': '1.808',
>>> 'weightedAvgPrice': '0.1557668',
>>> 'lastPrice': '0.1577000',
>>> '...': '......'},
>>> {'symbol': 'ATOMUSDT',
>>> 'priceChange': '0.142',
>>> 'priceChangePercent': '1.546',
>>> 'weightedAvgPrice': '9.205',
>>> 'lastPrice': '9.327',
>>> '...': '......'},
>>> '......'],
>>> 'msg': ''}
# 现货单个产品
hr24_result = market.get_ticker_24hr(symbol='BTCUSDT')
eprint(hr24_result)
输出:
>>> {'code': 200,
>>> 'data': {'symbol': 'BTCUSDT',
>>> 'priceChange': '253.80',
>>> 'priceChangePercent': '0.636',
>>> 'weightedAvgPrice': '39934.69',
>>> 'lastPrice': '40148.20',
>>> 'lastQty': '0.022',
>>> 'openPrice': '39894.40',
>>> 'highPrice': '40300.00',
>>> 'lowPrice': '39535.30',
>>> 'volume': '209588.044',
>>> 'quoteVolume': '8369834245.01',
>>> 'openTime': 1706158980000,
>>> 'closeTime': 1706245408978,
>>> 'firstId': 4527594884,
>>> 'lastId': 4530284646,
>>> 'count': 2689755},
>>> 'msg': ''}
4. 历史K线 get_klines
# 测试时间
startDatetime = '2023-01-01 00:00:00'
endDatetime = '2023-01-01 00:05:00'
startTime = int(datetime.datetime.strptime(startDatetime, '%Y-%m-%d %H:%M:%S').timestamp() * 1000)
endTime = int(datetime.datetime.strptime(endDatetime, '%Y-%m-%d %H:%M:%S').timestamp() * 1000)
print(startDatetime, startTime)
print(endDatetime, endTime)
输出:
>>> 2023-01-01 00:00:00 1672502400000
>>> 2023-01-01 00:05:00 1672502700000
# 仅给定终止时间
kline_result = market.get_klines(symbol='BTCUSDT', interval='1m', endTime=endTime, limit=2)
eprint(kline_result)
输出:
>>> {'code': 200,
>>> 'data': [[1672502640000, '16587.90', '16588.00', '16587.70', '16587.70', '......'],
>>> [1672502700000, '16587.70', '16587.70', '16586.90', '16587.00', '......']],
>>> 'msg': ''}
# 仅给定起始和终止时间
kline_result = market.get_klines(
symbol='BTCUSDT',
interval='1m',
startTime=startTime, # 包括startTime
endTime=endTime, # 包括endTime
)
eprint(kline_result)
输出:
>>> {'code': 200,
>>> 'data': [[1672502400000, '16586.10', '16591.20', '16586.00', '16591.10', '......'],
>>> [1672502460000, '16591.10', '16591.50', '16590.80', '16590.90', '......'],
>>> [1672502520000, '16590.80', '16591.70', '16590.80', '16591.70', '......'],
>>> [1672502580000, '16591.60', '16591.70', '16587.90', '16587.90', '......'],
>>> [1672502640000, '16587.90', '16588.00', '16587.70', '16587.70', '......'],
>>> [1672502700000, '16587.70', '16587.70', '16586.90', '16587.00', '......']],
>>> 'msg': ''}
5. 深度信息 get_depth
depth_result = market.get_depth(symbol='BTCUSDT', limit=5)
eprint(depth_result)
输出:
>>> {'code': 200,
>>> 'data': {'lastUpdateId': 3888878453883,
>>> 'E': 1706245426397,
>>> 'T': 1706245426390,
>>> 'bids': [['40152.50', '0.131'],
>>> ['40152.40', '0.008'],
>>> ['40152.20', '0.005'],
>>> ['40152.10', '0.013'],
>>> ['40151.90', '0.038']],
>>> 'asks': [['40152.60', '3.099'],
>>> ['40152.70', '0.008'],
>>> ['40152.80', '0.008'],
>>> ['40152.90', '0.005'],
>>> ['40153.00', '0.005']]},
>>> 'msg': ''}
6. 成交查询
6.1 近期成交列表 get_trades
trades_result = market.get_trades(symbol='BTCUSDT', limit=5)
eprint(trades_result)
输出:
>>> {'code': 200,
>>> 'data': [{'id': 4530285100,
>>> 'price': '40151.90',
>>> 'qty': '0.003',
>>> 'quoteQty': '120.45',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285101,
>>> 'price': '40151.70',
>>> 'qty': '0.003',
>>> 'quoteQty': '120.45',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285102,
>>> 'price': '40151.60',
>>> 'qty': '0.005',
>>> 'quoteQty': '200.75',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285103,
>>> 'price': '40151.50',
>>> 'qty': '0.002',
>>> 'quoteQty': '80.30',
>>> 'time': 1706245427482,
>>> '...': '......'},
>>> {'id': 4530285104,
>>> 'price': '40151.20',
>>> 'qty': '0.026',
>>> 'quoteQty': '1043.93',
>>> 'time': 1706245428266,
>>> '...': '......'}],
>>> 'msg': ''}
6.2 查询历史成交 get_historicalTrades
historicalTrades_result = market.get_historicalTrades(symbol='BTCUSDT', limit=5) # 这个接口需要key
eprint(historicalTrades_result)
输出:
>>> {'code': 200,
>>> 'data': [{'id': 4530285131,
>>> 'price': '40151.30',
>>> 'qty': '0.004',
>>> 'quoteQty': '160.60',
>>> 'time': 1706245430957,
>>> '...': '......'},
>>> {'id': 4530285132,
>>> 'price': '40151.30',
>>> 'qty': '0.003',
>>> 'quoteQty': '120.45',
>>> 'time': 1706245431264,
>>> '...': '......'},
>>> {'id': 4530285133,
>>> 'price': '40151.20',
>>> 'qty': '0.007',
>>> 'quoteQty': '281.05',
>>> 'time': 1706245431698,
>>> '...': '......'},
>>> {'id': 4530285134,
>>> 'price': '40151.20',
>>> 'qty': '0.006',
>>> 'quoteQty': '240.90',
>>> 'time': 1706245431698,
>>> '...': '......'},
>>> {'id': 4530285135,
>>> 'price': '40151.20',
>>> 'qty': '0.110',
>>> 'quoteQty': '4416.63',
>>> 'time': 1706245431698,
>>> '...': '......'}],
>>> 'msg': ''}
6.3 近期成交(归集) get_aggTrades
aggTrades_result = market.get_aggTrades(symbol='BTCUSDT', limit=5)
eprint(aggTrades_result)
输出:
>>> {'code': 200,
>>> 'data': [{'a': 2000008269, 'p': '40151.20', 'q': '0.003', 'f': 4530285152, 'l': 4530285152, '...': '......'},
>>> {'a': 2000008270, 'p': '40151.20', 'q': '0.422', 'f': 4530285153, 'l': 4530285176, '...': '......'},
>>> {'a': 2000008271, 'p': '40151.10', 'q': '0.008', 'f': 4530285177, 'l': 4530285178, '...': '......'},
>>> {'a': 2000008272, 'p': '40151.00', 'q': '0.005', 'f': 4530285179, 'l': 4530285179, '...': '......'},
>>> {'a': 2000008273, 'p': '40150.90', 'q': '0.005', 'f': 4530285180, 'l': 4530285180, '...': '......'}],
>>> 'msg': ''}
7. 交易规范信息 get_exchangeInfo
exchangeInfo_result = market.get_exchangeInfo()
eprint(exchangeInfo_result)
输出:
>>> {'code': 200,
>>> 'data': {'timezone': 'UTC',
>>> 'serverTime': 1706241611125,
>>> 'futuresType': 'U_MARGINED',
>>> 'rateLimits': [{'rateLimitType': 'REQUEST_WEIGHT', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 2400},
>>> {'rateLimitType': 'ORDERS', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 1200},
>>> {'rateLimitType': 'ORDERS', 'interval': 'SECOND', 'intervalNum': 10, 'limit': 300}],
>>> 'exchangeFilters': [],
>>> 'assets': [{'asset': 'USDT', 'marginAvailable': True, 'autoAssetExchange': '-10000'},
>>> {'asset': 'BTC', 'marginAvailable': True, 'autoAssetExchange': '-0.10000000'},
>>> {'asset': 'BNB', 'marginAvailable': True, 'autoAssetExchange': '-10'},
>>> {'asset': 'ETH', 'marginAvailable': True, 'autoAssetExchange': '-5'},
>>> {'asset': 'XRP', 'marginAvailable': True, 'autoAssetExchange': '0'},
>>> '......'],
>>> 'symbols': [{'symbol': 'BTCUSDT',
>>> 'pair': 'BTCUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'ETHUSDT',
>>> 'pair': 'ETHUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'BCHUSDT',
>>> 'pair': 'BCHUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'XRPUSDT',
>>> 'pair': 'XRPUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> {'symbol': 'EOSUSDT',
>>> 'pair': 'EOSUSDT',
>>> 'contractType': 'PERPETUAL',
>>> 'deliveryDate': 4133404800000,
>>> 'onboardDate': 1569398400000,
>>> '...': '......'},
>>> '......']},
>>> 'msg': ''}
推荐阅读
发表评论