type
status
date
slug
summary
tags
category
icon
password
市场(公共)数据:
公共数据是指市场中所有交易者都可以访问的数据,这些数据反映了交易所的市场状态。
1. K线数据(Candlestick Data / Bar Data)
- 定义:K线数据表示某个时间周期内市场的价格波动信息,包括开盘价、最高价、最低价、收盘价以及成交量。
- 内容:
- Open: 周期内的开盘价。
- High: 周期内的最高价。
- Low: 周期内的最低价。
- Close: 周期内的收盘价。
- Volume: 周期内的成交量。
- 用途:
- 技术分析:趋势判断、形态分析、指标计算。
- 回测策略:使用历史 K 线数据评估策略表现。
- 获取方式:
- 交易所直接提供。
- 或者通过历史成交数据(Trades 数据)自行计算。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/klines
- 参数:
symbol
: 交易对,例如BTCUSDT
interval
: K 线时间间隔,例如1m
、1h
limit
: 返回的最大记录数,默认500
,最大1000
Python 使用 CCXT
2. Ticker 数据
- 定义:Ticker 数据是市场当前状态的实时摘要,通常包含市场的核心指标。
- 内容:
- 最新成交价(Last Price)。
- 买一价(Bid Price)和买一量(Bid Volume)。
- 卖一价(Ask Price)和卖一量(Ask Volume)。
- 24小时最高价、最低价(24h High/Low)。
- 24小时成交量和成交额(24h Volume/Turnover)。
- 用途:
- 市场监控:快速查看当前市场状态。
- 策略输入:趋势跟踪、量化交易模型的基础数据。
- 获取方式:通过交易所的 API 获取实时更新。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/ticker/24hr
- 参数:
symbol
: 交易对,例如BTCUSDT
- Python 使用 CCXT
3. Order Book 数据(深度数据)
- 定义:订单簿数据记录了市场当前所有未成交的挂单(买卖双方的需求深度)。
- 内容:
- 买盘(Bid):
- 买方愿意购买的价格和挂单量。
- 通常按价格从高到低排序。
- 卖盘(Ask):
- 卖方愿意出售的价格和挂单量。
- 通常按价格从低到高排序。
- 用途:
- 流动性分析:评估市场深度和交易滑点。
- 短期策略:捕捉盘口的变化、挂单套利。
- 获取方式:交易所 API 提供深度数据,分为全量(Snapshot)和增量更新(Delta Update)。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/depth
- 参数:
symbol
: 交易对,例如BTCUSDT
limit
: 订单簿深度,默认100
- Python 使用 CCXT
4. Trades 数据(成交列表)
- 定义:成交数据记录了市场中每一笔实际成交的交易信息。
- 内容:
- 成交价格(Price)。
- 成交量(Volume)。
- 成交时间(Timestamp)。
- 方向信息(Buy/Sell 或 Maker/Taker)。
- 用途:
- 高频交易:分析成交流向和趋势。
- 历史数据分析:构建 K 线数据、计算波动率。
- 获取方式:通过交易所 API 获取实时或历史成交记录。
5. 市场状态数据(Market Status)
- 定义:市场状态信息提供有关交易所或特定交易对的运行状态。
- 内容:
- 当前市场是否开放交易(Open/Closed)。
- 是否处于维护或暂停状态。
- 最小和最大订单数量、价格步长等交易限制。
- 用途:
- 风险控制:避免在市场关闭或异常时交易。
- 策略参数设置:调整订单参数以符合交易规则。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/trades
- 参数:
symbol
: 交易对,例如BTCUSDT
limit
: 返回的最大记录数,默认500
- Python 使用 CCXT
- 市场交易规则(Market Info)
- 定义:交易所提供的关于每个交易对的规则和限制信息。
- 内容:
- 交易对名称(如 BTC/USDT)。
- 最小下单量和下单精度(数量精度、价格精度)。
- 杠杆倍数(如果支持期货)。
- 手续费率。
- 用途:
- 确保订单符合交易所规则。
- 策略优化:根据交易成本计算收益。
- 币安 API 接口
- URL:
GET /fapi/v1/exchangeInfo
- 功能:
- 返回期货市场的交易规则,包括杠杆、最小交易量等信息。
- 参数:
- 无(可选查询
symbol
来过滤具体交易对)
- 使用 CCXT 获取交易规则
关键解释
1. 精度和限制
limits
:price
: 最小和最大价格限制。amount
: 最小和最大交易量限制。cost
: 最小订单金额(计价货币)。
precision
:price
: 价格小数位精度。amount
: 交易量小数位精度。
7. 资金费率数据(Funding Rate)
- 定义:资金费率(Funding Rate)是永续合约交易中特有的费用机制,用于保持合约市场价格与现货市场价格的平衡。资金费率会在多头(持多仓)与空头(持空仓)之间进行支付:
- 正资金费率:多头支付给空头,表明市场处于多头主导。
- 负资金费率:空头支付给多头,表明市场处于空头主导。
- 内容:
- 当前资金费率。
- 下一期资金费率预估。
- 用途:
- 期货策略优化。
- 套利策略:通过资金费率收益进行套利。
资金费率补充说明
作用
- 确保永续合约价格接近现货市场价格。
- 反映市场对未来走势的预期(高资金费率往往预示极端市场情绪)。
资金费率相关数据
- 当前资金费率:当前交易对的资金费率(下一次资金费率支付的值)。
- 历史资金费率:过去一段时间内的资金费率记录,分析市场情绪变化。
- 资金费率支付时间:
- 通常每 8 小时支付一次(例如币安)。
- 支付时间:UTC 时间 00:00、08:00、16:00。
币安资金费率接口
1. 获取当前资金费率
- 接口:
GET /fapi/v1/premiumIndex
- 功能: 获取某个交易对的当前资金费率。
- 参数:
symbol
(可选):交易对(如BTCUSDT
)。
2. 获取历史资金费率
- 接口:
GET /fapi/v1/fundingRate
- 功能: 获取历史资金费率数据。
- 参数:
symbol
(可选):交易对。startTime
和endTime
:查询时间范围(可选)。limit
:返回记录条数,最大值为 1000。
使用 CCXT 获取资金费率数据
获取当前资金费率
资金费率与策略
如何利用资金费率
- 市场情绪分析:
- 高资金费率(正值):市场情绪偏多,可能过热,需警惕回调。
- 低资金费率(负值):市场情绪偏空,可能反弹。
- 套利策略:
- 如果资金费率为正,可以通过 持空永续合约 + 买入现货 实现套利。
- 如果资金费率为负,可以通过 持多永续合约 + 卖出现货 实现套利。
8. 指数价格和标记价格(Index Price & Mark Price)
- 定义:
- 指数价格(Index Price):基于多个现货交易所的加权价格,反映标的物的合理价格。
- 标记价格(Mark Price):用于计算未实现盈亏和强平价格,防止市场操纵。
- 用途:
- 风险管理:避免因市场剧烈波动导致错误的强平。
- 策略基准:根据合理价格调整交易逻辑。
9. 历史数据(Historical Data)
- 定义:交易所提供的过去的 K 线、成交记录等历史数据。
- 用途:
- 策略回测:验证策略的历史表现。
- 市场研究:分析长期趋势。
总结
市场公共数据通常包括以下关键类型:
- 实时数据:Ticker 数据、Order Book 数据、Trades 数据。
- 历史数据:K 线数据、历史成交记录。
- 规则数据:市场状态、交易规则。
- 期货特有数据:资金费率、指数价格、标记价格。
这些数据是构建量化交易策略的核心基础,可以被用于趋势跟踪、套利、市场微观结构分析等各种策略中。如果需要具体的应用场景或代码示例,随时告诉我
Tick 数据 和 Ticker 数据
不是同一个意思,尽管它们在概念上有一些联系。以下是对两者的详细区分和解释:
- Tick数据
- 高频:每次市场状态的变化(如成交、挂单更新)都会产生一个 Tick 数据。
- 精细:每个 Tick 只记录一次具体事件,例如:
- 成交:包含成交价格、成交量、时间戳等。
- 每次撮合成交都会产生一个新的 Tick 数据,包括成交价格、成交量、时间等。
- 订单簿变化:包含买卖价格、挂单量的增删改。
- 每当订单簿中买价、卖价、买量或卖量发生变化(新增、删除、更新),也会生成一个与订单簿相关的事件,这可以被称为 Level 2 数据 的更新。
- 为什么订单簿变化会导致 Tick 数据产生?
- 新增订单:
- 买单或卖单被加入订单簿,可能改变买一价、卖一价。
- 删除订单:
- 挂单被撤销,订单簿相应价格层的数量减少或价格层消失。
- 更新订单:
- 已存在的挂单数量变化,例如部分成交或修改订单量。
- 撮合成交:
- 买单和卖单匹配成交,导致最新成交价和成交量发生变化。
- 描述每笔成交,包括价格、数量、时间戳等。
- 这些数据直接来源于撮合引擎的成交事件。
- 描述订单簿中买卖挂单的变化。
- 包括新增、删除、修改订单,以及订单簿的买一价、卖一价、买量和卖量的变化。
- 用于分析微观市场结构(如订单流、滑点、盘口深度)。
- 用于构建更高层级的数据,例如 Bar 数据 或 Ticker 数据。
定义
Tick 数据是最底层的市场事件数据,记录了市场中每一次成交或订单簿的变动。它是市场活动的最小单位,通常用于高频交易或深度分析。Tick 数据也是交易所对定单薄 (order book) 中进行增加、删除、更新和成交四个操作产生的数据。换句话说,只要在定单薄中买价、买量、卖价和卖量发生变化,那么就产生一个 tick。
主要特点
订单簿是市场的供需关系的反映,每次操作都会直接影响市场的状态:
每一次订单簿的变动都会生成数据事件,记录市场的即时状态。
Tick 数据可以分为以下两类:
1. 成交 Tick 数据 (Trade Tick)
2. 订单簿变化 Tick 数据 (Order Book Tick)
用途
示例:
每条 Tick 数据可能包含以下内容:
或
- ticker数据
- 聚合数据:Ticker 数据包含了市场的核心状态指标,例如:
- 最新成交价(Last Price)。
- 最优买价(Bid)和卖价(Ask)。
- 24小时高价、低价、成交量等。
- 实时更新:随着市场活动(例如 Tick 数据)发生变化,Ticker 数据也会更新。
- 用于监控市场状态(价格、波动性等)。
- 为量化策略提供直接输入,例如趋势跟踪或均线策略。
Ticker 数据是对市场活动的实时摘要,提供了当前市场的关键状态。它是经过聚合的高层数据,通常直接供交易者使用。
主要特点
用途
示例:
Ticker 数据通常类似以下格式:
属性 | Tick 数据 | Ticker 数据 |
层次 | 底层(最小单位) | 高层(聚合数据) |
更新频率 | 更新频率 | 更新频率 |
内容 | 单个市场事件(成交、挂单更新、订单簿变化等) | 市场摘要(价格、成交量、最高价等) |
用途 | 高频交易、深度市场分析 | 技术分析、趋势跟踪、交易监控 |
生成方式 | 直接由交易所的撮合系统产生 | 基于Tick 数据或订单簿的聚合结果 |
市场用户(私有)数据:
市场私有数据是指与特定用户账户相关的交易数据或账户信息,这些数据通常需要用户身份验证(如 API 密钥或 OAuth 授权)才能访问。以下是市场私有数据的典型类型及其详细描述:
1. 账户数据(Account Data)
- 定义:账户内的资产及余额信息,展示用户持有的资金数量。比如持有的比特币数量,usdt数量等等,如果是期货账户就是类似保证金数量等等
- 内容:
- 现货账户:
- 可用余额:用户可以用于交易或提现的金额。
- 冻结余额:因挂单等原因暂时锁定的金额。
- 期货账户:
- 保证金余额:用于维持期货合约的资金。
- 可用保证金:可以新增仓位的资金。
- 已实现盈亏和未实现盈亏:反映当前交易的收益情况。
- 用途:
- 账户管理:了解资产分布。
- 风险控制:确定是否需要调整资金配置。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/account
- Python 使用 CCXT
2. 仓位数据(Position Data) (适用于期货或杠杆交易)
- 定义:反映用户在期货市场上的当前仓位及其相关信息。
- 内容:
- 仓位方向:多头(Long)或空头(Short)。
- 仓位数量:当前合约的持仓量。
- 开仓均价:开仓时的平均价格。
- 未实现盈亏:基于标记价格计算的浮动收益或损失。
- 强平价格:仓位可能被强制平仓的价格。
- 用途:
- 策略调整:根据仓位状态优化交易。
- 风险管理:监控强平风险。
- 币安 API 接口
- URL:
https://fapi.binance.com/fapi/v2/positionRisk
- Python 使用 CCXT
3. 当前挂单数据(Open Orders Data)
- 定义:用户当前在市场上的未成交挂单。
- 内容:
- 挂单 ID(Order ID)。
- 交易对(如 BTC/USDT)。
- 挂单类型:限价单、市价单、止损单等。
- 挂单方向:买入(Buy)或卖出(Sell)。
- 挂单价格和数量。
- 挂单状态:未成交、部分成交等。
- 用途:
- 挂单管理:取消未执行的订单或调整价格。
- 市场策略:实时跟踪未成交挂单的状态。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/openOrders
- 参数:
symbol
: 交易对,例如BTCUSDT
- Python 使用 CCXT
4. 历史订单数据(Order History Data)
- 定义:用户过去的所有挂单记录,包括已成交和已取消的订单。
- 内容:
- 挂单 ID(Order ID)。
- 交易对、挂单类型、方向。
- 成交价格和数量(若已成交)。
- 挂单状态:已成交、已取消、过期等。
- 时间戳:挂单创建时间和完成时间。
- 用途:
- 交易记录分析:审查历史交易表现。
- 税务申报:核算交易收入。
5. 成交数据(Fills Data / Trade Data)
- 定义:用户挂单部分或全部成交后的交易明细。
- 内容:
- 成交 ID(Trade ID)。
- 关联挂单 ID。
- 成交价格、数量。
- 成交方向:买入(Buy)或卖出(Sell)。
- 手续费及费用资产类型。
- 时间戳。
- 用途:
- 盈亏计算:分析单笔交易的收益。
- 策略优化:评估策略执行效果。
- 币安 API 接口
- URL:
https://api.binance.com/api/v3/myTrades
- 参数:
symbol
: 交易对,例如BTCUSDT
- Python 使用 CCXT
6. 提现和充值记录(Withdrawals and Deposits Data)
- 定义:用户账户资金的进出记录,包括充值和提现。
- 内容:
- 交易类型:充值(Deposit)或提现(Withdraw)。
- 数量、币种(如 BTC、USDT)。
- 交易状态:处理中、完成、失败等。
- 时间戳。
- 用途:
- 资金管理:审查账户现金流。
- 确认交易成功:跟踪提现或充值是否到账。
7. 风险参数与杠杆设置(Risk Parameters & Leverage Settings)
- 定义:用户在杠杆或期货交易中的风险偏好和杠杆倍数设定。
- 内容:
- 当前杠杆倍数。
- 账户风险等级(如爆仓风险率)。
- 可用保证金率。
- 用途:
- 风险管理:避免因杠杆过高导致的强平风险。
- 策略调整:根据杠杆倍数优化头寸。
总结
市场私有数据通常包括以下几大类:
- 账户数据:反映用户资产状态。
- 仓位数据:期货账户特有的持仓信息。
- 挂单与订单历史数据:跟踪和管理交易行为。
- 成交数据:详细记录用户的实际交易。
- 提现与充值记录:账户的资金流动。
- 风险管理设置:杠杆与风险参数。
这些数据的获取需要通过交易所提供的私有 API,并使用授权的 API 密钥进行访问。它们是量化策略的重要基础,尤其在账户管理、风控以及自动化交易中不可或缺。
- 作者:coderma4k
- 链接:https://coderma4k.com//article/fdb7ba32-be47-4b4e-81d2-d2e7074f3d5a
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。