1.5 Binance_interface API 币本位合约行情

news/2024/7/7 14:23:49 标签: 区块链, Python, 量化交易, 实盘交易

Binance_interface API 币本位合约行情

1. API 币本位合约行情接口总览

方法解释Path
get_ping测试服务器连通性 PING/dapi/v1/ping
get_time获取服务器时间/dapi/v1/time
get_exchangeInfo获取交易规则和交易对/dapi/v1/exchangeInfo
get_depth深度信息/dapi/v1/depth
get_trades近期成交/dapi/v1/trades
get_historicalTrades查询历史成交 (MARKET_DATA)/dapi/v1/historicalTrades
get_aggTrades近期成交(归集)/dapi/v1/aggTrades
get_premiumIndex最新现货指数价格和Mark Price/dapi/v1/premiumIndex
get_fundingRate查询永续合约资金费率历史/dapi/v1/fundingRate
get_fundingInfo查询资金费率信息/dapi/v1/fundingInfo
get_klinesK线数据/dapi/v1/klines
get_continuousKlines连续合约K线数据/dapi/v1/continuousKlines
get_indexPriceKlines价格指数K线数据/dapi/v1/indexPriceKlines
get_markPriceKlines标记价格K线数据/dapi/v1/markPriceKlines
get_premiumIndexKlines溢价指数K线数据/dapi/v1/premiumIndexKlines
get_ticker_24hr24hr价格变动情况/dapi/v1/ticker/24hr
get_ticker_price最新价格/dapi/v1/ticker/price
get_ticker_bookTicker当前最优挂单/dapi/v1/ticker/bookTicker
get_constituents查询指数价格成分/dapi/v1/constituents
get_openInterest获取未平仓合约数/dapi/v1/openInterest
get_delivery_price季度合约历史结算价/futures/data/delivery-price
get_openInterestHist合约持仓量/futures/data/openInterestHist
get_topLongShortAccountRatio大户账户数多空比/futures/data/topLongShortAccountRatio
get_topLongShortPositionRatio大户持仓量多空比/futures/data/topLongShortPositionRatio
get_globalLongShortAccountRatio多空持仓人数比/futures/data/globalLongShortAccountRatio
get_takerBuySellVol合约主动买卖量/futures/data/takerBuySellVol
get_basis基差/futures/data/basis

2. 模型实例化

import datetime
from binance_interface.api import CM
from binance_interface.app.utils import eprint
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/binance_resender
proxy_host = None
cm = CM(
    proxy_host=proxy_host
)
market = cm.market

3. U本位合约实时行情

3.1 当前最优挂单 get_ticker_bookTicker

# 现货全部产品
bookTicker_result = market.get_ticker_bookTicker()
eprint(bookTicker_result, data_length=5)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'BTCUSD_PERP',
>>>            'pair': 'BTCUSD',
>>>            'bidPrice': '40148.0',
>>>            'bidQty': '620',
>>>            'askPrice': '40148.1',
>>>            '...': '......'},
>>>           {'symbol': 'ETHUSD_PERP',
>>>            'pair': 'ETHUSD',
>>>            'bidPrice': '2221.81',
>>>            'bidQty': '21727',
>>>            'askPrice': '2221.82',
>>>            '...': '......'},
>>>           {'symbol': 'LINKUSD_PERP',
>>>            'pair': 'LINKUSD',
>>>            'bidPrice': '13.817',
>>>            'bidQty': '35',
>>>            'askPrice': '13.819',
>>>            '...': '......'},
>>>           {'symbol': 'BNBUSD_PERP',
>>>            'pair': 'BNBUSD',
>>>            'bidPrice': '293.900',
>>>            'bidQty': '18',
>>>            'askPrice': '293.910',
>>>            '...': '......'},
>>>           {'symbol': 'TRXUSD_PERP',
>>>            'pair': 'TRXUSD',
>>>            'bidPrice': '0.11355',
>>>            'bidQty': '773',
>>>            'askPrice': '0.11356',
>>>            '...': '......'},
>>>           '......'],
>>>  'msg': ''}
# 现货单个交易对
bookTicker_result = market.get_ticker_bookTicker(symbol='BTCUSD_PERP')
eprint(bookTicker_result)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'BTCUSD_PERP',
>>>            'pair': 'BTCUSD',
>>>            'bidPrice': '40148.0',
>>>            'bidQty': '624',
>>>            'askPrice': '40148.1',
>>>            '...': '......'}],
>>>  'msg': ''}

3.2 最新价格 get_ticker_price

# 现货全部产品
price_result = market.get_ticker_price()
eprint(price_result, data_length=5)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'ETHUSD_240329', 'ps': 'ETHUSD', 'price': '2258.71', 'time': 1706245526966},
>>>           {'symbol': 'BCHUSD_PERP', 'ps': 'BCHUSD', 'price': '235.76', 'time': 1706245508581},
>>>           {'symbol': 'GMTUSD_PERP', 'ps': 'GMTUSD', 'price': '0.25760', 'time': 1706245403885},
>>>           {'symbol': 'LTCUSD_240329', 'ps': 'LTCUSD', 'price': '67.13', 'time': 1706244859254},
>>>           {'symbol': 'RUNEUSD_PERP', 'ps': 'RUNEUSD', 'price': '4.1050', 'time': 1706245387936},
>>>           '......'],
>>>  'msg': ''}
# 现货单个产品
price_result = market.get_ticker_price(symbol='BTCUSD_PERP')
eprint(price_result)

输出:

>>> {'code': 200, 'data': [{'symbol': 'BTCUSD_PERP', 'ps': 'BTCUSD', 'price': '40148.1', 'time': 1706245538962}], 'msg': ''}

3.3 24hr价格变动情况 get_ticker_24hr

# 现货全部产品
hr24_result = market.get_ticker_24hr()
eprint(hr24_result, data_length=5)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'UNIUSD_PERP',
>>>            'pair': 'UNIUSD',
>>>            'priceChange': '-0.002',
>>>            'priceChangePercent': '-0.035',
>>>            'weightedAvgPrice': '5.75000879',
>>>            '...': '......'},
>>>           {'symbol': 'THETAUSD_PERP',
>>>            'pair': 'THETAUSD',
>>>            'priceChange': '-0.009',
>>>            'priceChangePercent': '-0.939',
>>>            'weightedAvgPrice': '0.94889503',
>>>            '...': '......'},
>>>           {'symbol': 'SOLUSD_PERP',
>>>            'pair': 'SOLUSD',
>>>            'priceChange': '0.582',
>>>            'priceChangePercent': '0.668',
>>>            'weightedAvgPrice': '87.18539016',
>>>            '...': '......'},
>>>           {'symbol': 'AAVEUSD_PERP',
>>>            'pair': 'AAVEUSD',
>>>            'priceChange': '0.470',
>>>            'priceChangePercent': '0.533',
>>>            'weightedAvgPrice': '88.24177045',
>>>            '...': '......'},
>>>           {'symbol': 'GMTUSD_PERP',
>>>            'pair': 'GMTUSD',
>>>            'priceChange': '0.00240',
>>>            'priceChangePercent': '0.940',
>>>            'weightedAvgPrice': '0.25543639',
>>>            '...': '......'},
>>>           '......'],
>>>  'msg': ''}
# 现货单个产品
hr24_result = market.get_ticker_24hr(symbol='BTCUSD_PERP')
eprint(hr24_result)

输出:

>>> {'code': 200,
>>>  'data': [{'symbol': 'BTCUSD_PERP',
>>>            'pair': 'BTCUSD',
>>>            'priceChange': '279.5',
>>>            'priceChangePercent': '0.701',
>>>            'weightedAvgPrice': '39927.54529431',
>>>            '...': '......'}],
>>>  '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='BTCUSD_PERP', interval='1m', endTime=endTime, limit=2)
eprint(kline_result)

输出:

>>> {'code': 200,
>>>  'data': [[1672502640000, '16580.3', '16580.3', '16580.3', '16580.3', '......'],
>>>           [1672502700000, '16580.3', '16580.3', '16580.3', '16580.3', '......']],
>>>  'msg': ''}
# 仅给定起始和终止时间
kline_result = market.get_klines(
    symbol='BTCUSD_PERP',
    interval='1m',
    startTime=startTime,  # 包括startTime
    endTime=endTime,  # 包括endTime
)
eprint(kline_result)

输出:

>>> {'code': 200,
>>>  'data': [[1672502400000, '16578.1', '16580.3', '16578.0', '16580.3', '......'],
>>>           [1672502460000, '16580.3', '16580.3', '16580.3', '16580.3', '......'],
>>>           [1672502520000, '16580.4', '16580.4', '16580.4', '16580.4', '......'],
>>>           [1672502580000, '16580.3', '16580.3', '16580.3', '16580.3', '......'],
>>>           [1672502640000, '16580.3', '16580.3', '16580.3', '16580.3', '......'],
>>>           [1672502700000, '16580.3', '16580.3', '16580.3', '16580.3', '......']],
>>>  'msg': ''}

5. 深度信息 get_depth

depth_result = market.get_depth(symbol='BTCUSD_PERP', limit=5)
eprint(depth_result)

输出:

>>> {'code': 200,
>>>  'data': {'lastUpdateId': 844374293002,
>>>           'E': 1706245546602,
>>>           'T': 1706245546590,
>>>           'symbol': 'BTCUSD_PERP',
>>>           'pair': 'BTCUSD',
>>>           'bids': [['40148.0', '655'], ['40147.9', '1'], ['40147.8', '228'], ['40146.8', '1'], ['40146.7', '1']],
>>>           'asks': [['40148.1', '14131'], ['40148.2', '17'], ['40148.3', '4'], ['40148.5', '234'], ['40148.6', '54']]},
>>>  'msg': ''}

6. 成交查询

6.1 近期成交列表 get_trades

trades_result = market.get_trades(symbol='BTCUSD_PERP', limit=5)
eprint(trades_result)

输出:

>>> {'code': 200,
>>>  'data': [{'id': 720241178,
>>>            'price': '40148.0',
>>>            'qty': '26',
>>>            'baseQty': '0.06476039',
>>>            'time': 1706245546325,
>>>            '...': '......'},
>>>           {'id': 720241179,
>>>            'price': '40148.0',
>>>            'qty': '116',
>>>            'baseQty': '0.28893096',
>>>            'time': 1706245546763,
>>>            '...': '......'},
>>>           {'id': 720241180,
>>>            'price': '40148.0',
>>>            'qty': '5',
>>>            'baseQty': '0.01245392',
>>>            'time': 1706245546763,
>>>            '...': '......'},
>>>           {'id': 720241181,
>>>            'price': '40148.1',
>>>            'qty': '1',
>>>            'baseQty': '0.00249078',
>>>            'time': 1706245546963,
>>>            '...': '......'},
>>>           {'id': 720241182,
>>>            'price': '40148.1',
>>>            'qty': '11',
>>>            'baseQty': '0.02739856',
>>>            'time': 1706245546964,
>>>            '...': '......'}],
>>>  'msg': ''}

6.2 查询历史成交 get_historicalTrades

historicalTrades_result = market.get_historicalTrades(symbol='BTCUSD_PERP', limit=5)  # 这个接口需要key
eprint(historicalTrades_result)

输出:

>>> {'code': 200,
>>>  'data': [{'id': 720241182,
>>>            'price': '40148.1',
>>>            'qty': '11',
>>>            'baseQty': '0.02739856',
>>>            'time': 1706245546964,
>>>            '...': '......'},
>>>           {'id': 720241183,
>>>            'price': '40148.0',
>>>            'qty': '1',
>>>            'baseQty': '0.00249078',
>>>            'time': 1706245548286,
>>>            '...': '......'},
>>>           {'id': 720241184,
>>>            'price': '40148.0',
>>>            'qty': '1',
>>>            'baseQty': '0.00249078',
>>>            'time': 1706245548286,
>>>            '...': '......'},
>>>           {'id': 720241185,
>>>            'price': '40148.1',
>>>            'qty': '1',
>>>            'baseQty': '0.00249078',
>>>            'time': 1706245548962,
>>>            '...': '......'},
>>>           {'id': 720241186,
>>>            'price': '40148.1',
>>>            'qty': '11',
>>>            'baseQty': '0.02739856',
>>>            'time': 1706245548962,
>>>            '...': '......'}],
>>>  'msg': ''}

6.3 近期成交(归集) get_aggTrades

aggTrades_result = market.get_aggTrades(symbol='BTCUSD_PERP', limit=5)
eprint(aggTrades_result)

输出:

>>> {'code': 200,
>>>  'data': [{'a': 293255475, 'p': '40148.0', 'q': '44', 'f': 720241176, 'l': 720241178, '...': '......'},
>>>           {'a': 293255476, 'p': '40148.0', 'q': '121', 'f': 720241179, 'l': 720241180, '...': '......'},
>>>           {'a': 293255477, 'p': '40148.1', 'q': '12', 'f': 720241181, 'l': 720241182, '...': '......'},
>>>           {'a': 293255478, 'p': '40148.0', 'q': '2', 'f': 720241183, 'l': 720241184, '...': '......'},
>>>           {'a': 293255479, 'p': '40148.1', 'q': '12', 'f': 720241185, 'l': 720241186, '...': '......'}],
>>>  'msg': ''}

7. 交易规范信息 get_exchangeInfo

exchangeInfo_result = market.get_exchangeInfo()
eprint(exchangeInfo_result)

输出:

>>> {'code': 200,
>>>  'data': {'timezone': 'UTC',
>>>           'serverTime': 1706241611122,
>>>           'rateLimits': [{'rateLimitType': 'REQUEST_WEIGHT', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 2400},
>>>                          {'rateLimitType': 'ORDERS', 'interval': 'MINUTE', 'intervalNum': 1, 'limit': 1200}],
>>>           'exchangeFilters': [],
>>>           'symbols': [{'symbol': 'BTCUSD_PERP',
>>>                        'pair': 'BTCUSD',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1597042800000,
>>>                        '...': '......'},
>>>                       {'symbol': 'BTCUSD_240329',
>>>                        'pair': 'BTCUSD',
>>>                        'contractType': 'CURRENT_QUARTER',
>>>                        'deliveryDate': 1711699200000,
>>>                        'onboardDate': 1695974400000,
>>>                        '...': '......'},
>>>                       {'symbol': 'BTCUSD_240628',
>>>                        'pair': 'BTCUSD',
>>>                        'contractType': 'NEXT_QUARTER',
>>>                        'deliveryDate': 1719561600000,
>>>                        'onboardDate': 1703836800000,
>>>                        '...': '......'},
>>>                       {'symbol': 'ETHUSD_PERP',
>>>                        'pair': 'ETHUSD',
>>>                        'contractType': 'PERPETUAL',
>>>                        'deliveryDate': 4133404800000,
>>>                        'onboardDate': 1597734000000,
>>>                        '...': '......'},
>>>                       {'symbol': 'ETHUSD_240329',
>>>                        'pair': 'ETHUSD',
>>>                        'contractType': 'CURRENT_QUARTER',
>>>                        'deliveryDate': 1711699200000,
>>>                        'onboardDate': 1695974400000,
>>>                        '...': '......'},
>>>                       '......']},
>>>  'msg': ''}

http://www.niftyadmin.cn/n/5374331.html

相关文章

RibbonBar RibbonPage切换事件

在开发的过程中,我们会用到点击切换page,来响应对应的事件,例如以下事件: 头文件中: void ribboncurrentPageIndexChanged(int index); 实现文件中: connect(ribbonBar(), SIGNAL(currentPageIndexChang…

Rust猜数字游戏

Rust进阶:猜数字游戏 Rust是一门现代的系统级编程语言,注重内存安全、并发性能以及表达力。在这篇博客中,我们将深入介绍一个更加复杂的猜数字游戏代码,展示Rust语言的一些高级特性。 代码示例 以下是一个升级版的Rust猜数字游…

PyTorch深度学习实战(26)——多对象实例分割

PyTorch深度学习实战(26)——多对象实例分割 0. 前言1. 获取并准备数据2. 使用 Detectron2 训练实例分割模型3. 对新图像进行推断小结系列链接 0. 前言 我们已经学习了多种图像分割算法,在本节中,我们将学习如何使用 Detectron2 …

MySQL数据库应用实验报告——实验2 表数据插入、修改和删除

实验2 表数据插入、修改和删除 目的要求: (1)学会在控制台中对数据库表进行插入、修改和删除数据操作 (2)了解各种数据类型的取值范围 (3)理解数据完整性约束的作用 (4)了解SQL语…

​​​​​​​C#系列-C#EF框架的优缺点+针对大数据处理的优化(19)

C#EF框架的优缺点 C# EF(Entity Framework)框架的优缺点如下: 优点: 简单易用:EF框架提供了丰富的API和工具,使得开发者可以轻松地实现数据库的增删改查等操作,无需编写繁琐的SQL语句。对象化…

海纳思NAS盒子设置网卡静态IP

TV机顶盒刷了海纳思NAS系统之后,就可以跑路由了,系统默认得网卡是DHCP配置,它这个东西很麻烦,如果是物理硬件路由器,可以到后台去设置MAC跟IP地址相互绑定。 但如果是直接插在移动光猫上面,用户管理员是没…

Shell - 学习笔记 - 2.10 - Shell字符串截取

Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。 从指定位置开始截取 这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串。 既然需要…

C++ Qt框架开发| 基于Qt框架开发实时成绩显示排序系统(1)

目标:旨在开发一个用户友好的软件工具,用于协助用户基于输入对象的成绩数据进行排序。该工具的特色在于,新输入的数据将以红色高亮显示,从而直观地展现出排序过程中数据变化的每一个步骤。 结果展示: 本程序是一个基于…