在 `binance_client` 中新增多个公开行情接口,包括深度信息、资金费率和未平仓合约数的获取,优化了 REST API 的调用逻辑。更新 `market_scanner` 以并行请求主周期和确认周期的 K线数据,提升了数据获取效率并引入超时处理。`position_manager` 中增加了从深度信息获取当前价格的逻辑,确保在多种情况下都能准确获取价格,增强了系统的稳定性和可追溯性。
4.4 KiB
4.4 KiB
行情接口可用性说明
基于「行情 WS 接口」「行情接口REST.txt」与当前交易系统实现,对各类接口的是否已用、是否建议用做简要说明。
已接入 REST:深度、最新标记价格与资金费率、资金费率历史、未平仓合约数、持仓量历史、大户/全局多空比、主动买卖量(见 binance_client.py)。
一、当前系统已在用的
| 文档名称 | 在系统中的用法 |
|---|---|
| 24hr 价格变动情况 | ticker_24h_stream WS + REST get_ticker_24h / get_all_tickers_24h,用于扫描涨跌幅、当前价、成交量。 |
| K 线数据 | kline_stream WS + REST get_klines,用于技术指标(RSI/MACD/ATR/EMA 等)与多周期分析。 |
| 当前最优挂单 | book_ticker_stream WS(!bookTicker)+ 兜底 REST,用于当前价、滑点估算、挂保护单前价格校验。 |
| 最新价格(含 V2) | 功能被 24h ticker 与 book 覆盖,未单独接;需要“仅最新价”时可用 ticker.price 做轻量兜底。 |
二、建议接入、能明显改善的
| 文档名称 | 建议用途 | 说明 |
|---|---|---|
| 深度信息 (depth) | 滑点估算、限价挂单参考、大单/盘口结构 | 目前只有最优买卖一档(book);接入 depth 后可做更准的市价冲击成本、或简单 order book 策略。可用 WS depth 流维护本地盘口,减少 REST 权重。 |
| 最新标记价格和资金费率 | 强平/风险展示、资金费成本 | 当前 markPrice 来自持仓接口;若要做「全市场标记价」或单独展示资金费率,可接此接口。资金费可用于过滤高费率时开仓。 |
| 标记价格 K 线数据 | 以标记价做技术分析 | 若希望指标更贴近强平价、减少插针影响,可部分替代「K 线数据」用于计算。 |
| 查询资金费率历史 / 资金费率信息 | 资金费择时、多空成本 | 避免在资金费极高时开仓,或作为多空情绪/结构的辅助。 |
| 获取未平仓合约数 / 合约持仓量历史 | 量价、趋势过滤 | 与价格/成交量结合,做趋势确认或过滤(如持仓量骤增+价格突破)。 |
| 大户持仓量多空比 / 大户账户数多空比 / 多空持仓人数比 | 情绪/反向指标 | 可作为过滤条件或信号权重(例如极端多空比时谨慎同向开仓)。 |
| 合约主动买卖量 | 买卖压力、入场时机 | 辅助判断多空力量,用于入场/出场或过滤。 |
三、可选、按策略需要再接
| 文档名称 | 可选用途 |
|---|---|
| 近期成交 / 近期成交(归集) / 查询历史成交 | 微观结构、大单检测、成交分布统计;当前策略未用。 |
| 连续合约 K 线数据 | 跨期或连续合约分析时用。 |
| 价格指数 K 线 / 溢价指数 K 线 | 套利、基差、溢价策略。 |
| 基差 / 综合指数 / 多资产模式资产汇率指数 / 查询指数价格成分 | 指数、多腿或套利类策略。 |
| 查询保险基金余额 / 自动减仓风险评级 | 风控展示、极端行情监控。 |
| 一周交易时段 | 若要做「仅在某交易时段内交易」的规则时可接。 |
| RPI 深度信息 | 文档注明响应不包含 RPI 订单;若不涉及 RPI 订单可忽略。 |
| 季度合约历史结算价 | 仅做季度合约或结算相关逻辑时需要。 |
四、落地优先级建议(结合当前项目)
-
优先
- 深度 (depth):用 WS depth 做本地盘口,提升滑点估算与限价参考,减少对单一 book 的依赖。
- 最新标记价格和资金费率:若前端/风控要展示「标记价、资金费率」或按资金费过滤开仓,再接即可。
-
其次
- 资金费率历史/信息、未平仓合约数/持仓量历史:用于过滤或信号增强。
- 大户多空比 / 主动买卖量:作为可选过滤或权重,不改变主流程。
-
按需
- 标记价格 K 线、连续合约 K 线、溢价/指数类、保险基金/自动减仓、交易时段等,在明确产品需求(如套利、风控大屏、时段规则)后再接。
如果你愿意,我可以按「深度 + 标记价/资金费率」先给出具体接入方案(WS 订阅方式、数据结构、在现有 binance_client / position_manager 里怎么用)。