BitMEX 2025交易记录查询指南:如何高效导出历史数据?

BitMEX 历史交易查询方法

BitMEX 作为一家老牌的加密货币衍生品交易所,吸引了众多交易者。对于投资者来说,了解和查询历史交易数据至关重要,这有助于分析交易策略、复盘交易决策以及进行税务申报。本文将详细介绍如何在 BitMEX 上查询历史交易记录,并针对可能遇到的问题提供解决方案。

一、登录 BitMEX 账户

要开始在 BitMEX 上进行交易,您需要先登录您的 BitMEX 账户。请访问 BitMEX 官方网站 (bitmex.com)。在登录页面,输入您注册时设置的用户名和密码。如果您忘记了密码,请使用密码重置功能。 为了最大程度地保护您的资金和账户安全,强烈建议您启用双重验证 (2FA)。这将在您登录时要求您提供除密码之外的另一重验证码,例如来自 Google Authenticator 或 Authy 等应用程序的代码。启用 2FA 可以有效防止未经授权的访问,即使您的密码泄露。

二、进入交易历史页面

成功登录您的加密货币交易平台账户后,您可以轻松访问详细的交易历史记录,从而全面了解您的交易活动。以下是两种便捷的访问方式:

  1. 通过导航栏: 大多数交易平台都会在页面顶部提供一个全局导航栏,方便用户快速访问各个功能模块。寻找标有“账户 (Account)”或类似名称的选项,通常位于导航栏的显著位置。将鼠标悬停在该选项上,系统会弹出一个下拉菜单,其中包含多个与账户相关的子选项。在下拉菜单中,精确选择标有“交易历史 (Trade History)”的选项。点击后,您将被直接引导至交易历史页面,查看您的所有交易记录。
  2. 通过个人中心: 另一种访问交易历史页面的方法是通过个人中心。通常,页面右上角会显示您的账户图标或用户名。点击该图标或用户名,您将进入个人中心或账户设置页面。在该页面中,寻找一个明确标示为“交易历史 (Trade History)”或类似描述的选项。该选项可能位于账户信息、安全设置等其他账户管理选项的旁边。点击“交易历史”选项,即可进入您的交易历史记录页面,查看所有已完成的交易详情。

三、筛选和导出交易历史数据

进入 BitMEX 交易历史页面,您将看到详细的交易记录列表。BitMEX 平台提供强大的筛选功能,旨在帮助用户高效检索并导出特定交易数据,满足交易分析、税务申报等需求。

  • 时间范围: BitMEX 提供多种时间范围选择,包括预设选项如“过去 7 天”、“过去 30 天”、“本月”、“上月”等,方便快速选择常用时间段。用户也可选择“自定义时间范围”,精确指定起始日期和结束日期,满足更精细化的数据筛选需求。务必注意,BitMEX 交易记录默认以 UTC(协调世界时)显示。为了方便查阅和分析,请根据您所在的时区进行必要的转换,确保数据解读的准确性。时区调整可在个人账户设置中完成。
  • 合约类型: 允许根据交易的合约类型进行筛选,例如 XBTUSD(比特币/美元永续合约)、ETHUSD(以太坊/美元永续合约)等。此功能适用于专注于特定交易对的用户,可有效过滤掉不相关的交易信息,提高数据分析的效率。用户可同时选择多个合约类型进行筛选。
  • 交易类型: 可以按照交易执行的类型进行过滤,包括限价单 (Limit Order)、市价单 (Market Order)、止损单 (Stop Order)、止盈限价单 (Take Profit Limit Order)、冰山委托单 (Iceberg Order) 等。通过此筛选,用户能够区分不同策略类型的交易,例如分析市价单的滑点情况,或评估止损单的执行效果。
  • 订单状态: BitMEX 提供基于订单状态的筛选,例如已成交 (Filled)、已取消 (Cancelled)、部分成交 (Partially Filled)、挂单中 (Open)、已拒绝 (Rejected) 等。此功能便于用户跟踪订单的执行情况,分析订单未成交的原因,或审查被拒绝的订单。
  • 交易方向: 根据交易方向进行筛选,区分做多 (Long) 和做空 (Short) 交易。此筛选功能对于分析特定方向的交易表现至关重要,例如评估做多策略的盈利能力,或分析做空交易的风险控制效果。

完成筛选条件的设置后,点击 “应用筛选 (Apply Filter)” 按钮,交易历史页面将立即更新,仅显示符合所选条件的交易记录。筛选结果将影响后续的导出操作。

BitMEX 平台支持将筛选后的交易历史数据导出为 CSV (Comma Separated Values) 文件格式,方便用户进行本地存储、数据分析以及税务申报。在交易历史页面底部,找到 “导出 CSV (Export CSV)” 按钮并点击。系统将自动生成包含所有已筛选交易记录的 CSV 文件,您可以将其下载至本地计算机进行进一步处理。导出的 CSV 文件包含交易时间、合约类型、交易方向、成交价格、成交数量、手续费等详细信息。

四、深入理解交易历史数据

导出的 CSV 文件是您交易行为的宝贵记录,包含了丰富的交易信息,可以用于深入分析您的交易策略和风险管理。以下是一些关键字段的详细说明,助您充分理解这些数据:

  • timestamp: 交易发生的时间戳,精确到毫秒甚至微秒级别,通常以 UTC 时间表示。UTC 时间是一种国际标准时间,可以避免因时区差异带来的分析误差。您可以将此时间戳转换为您所在的时区,以便更好地理解交易发生的具体时刻。
  • symbol: 交易的合约代码,代表您交易的具体标的物。例如,XBTUSD 代表比特币兑美元的永续合约,ETHUSD 代表以太坊兑美元的永续合约。不同的交易所可能使用不同的合约代码,请注意区分。
  • side: 交易方向,指示您是买入 (Buy/做多) 还是卖出 (Sell/做空)。买入表示您预期价格上涨,卖出表示您预期价格下跌。了解交易方向是理解您的交易策略的基础。
  • orderID: 订单的唯一 ID,由交易所生成,用于唯一标识一个订单。通过 orderID,您可以追踪订单的整个生命周期,从下单到成交或取消。
  • clOrdID: 客户端订单的唯一 ID,由您在下单时指定(如果使用)。这是一个可选字段,允许您为订单添加自定义标识符,方便您在自己的系统中进行管理和追踪。例如,您可以将 clOrdID 与您的策略编号关联,以便分析特定策略的绩效。
  • execID: 交易执行的唯一 ID,代表一笔具体的成交记录。一个订单可能被拆分成多次成交,每次成交都有一个唯一的 execID。通过 execID,您可以追踪每笔成交的细节,例如成交价格和数量。
  • orderQty: 订单数量,代表您下单时的数量。请注意,订单数量可能与最终成交数量不同,因为订单可能部分成交或被取消。
  • price: 成交价格,代表交易发生的实际价格。这是评估交易盈亏的关键数据。
  • leavesQty: 剩余未成交的数量,代表订单中尚未成交的部分。如果 leavesQty 为 0,则表示订单已完全成交。如果 leavesQty 大于 0,则表示订单仍有部分未成交。
  • cumQty: 累计成交的数量,代表订单已成交的总数量。这是了解订单成交进度的重要指标。
  • avgPx: 平均成交价格,代表订单的平均成交价格。如果订单被拆分成多次成交,avgPx 将是所有成交价格的加权平均值。
  • commission: 交易手续费,代表交易所收取的费用。手续费会影响您的最终盈亏,务必注意手续费的计算方式。
  • text: 交易相关的文本信息,例如订单类型(市价单、限价单等)、触发条件(止损单、止盈单等)、取消原因等。Text 字段包含了丰富的交易信息,可以帮助您了解订单的具体执行情况。

通过仔细分析这些字段,并结合您的交易策略和市场分析,您可以全面了解您的交易行为,发现潜在的风险和机会,从而不断优化您的交易策略。

五、使用 API 查询历史交易数据

对于需要进行自动化交易数据分析、构建交易机器人或进行算法交易策略回测的用户,BitMEX 提供了功能强大的 API 接口,允许您通过编程方式访问和查询历史交易数据。通过 API,您可以获取tick数据、订单簿快照、成交记录等信息,从而进行更深入的市场分析。

  1. 获取 API 密钥: 您需要在 BitMEX 账户中生成 API 密钥,用于身份验证和授权。登录 BitMEX 账户,进入个人中心,通常可以在账户设置或安全设置中找到 “API 密钥 (API Keys)” 选项卡。点击 “创建 API 密钥 (Create API Key)” 按钮,并仔细设置相应的权限。API 权限包括但不限于 “Order”(允许下单和管理订单)、 “Position”(允许访问仓位信息)、“Withdraw”(允许提币,请谨慎授予)等。根据您的实际需求,选择合适的权限组合。强烈建议您只授予API密钥执行所需操作的最低权限,以降低潜在的安全风险。请务必妥善保管您的 API 密钥,包括 API Key 和 API Secret,不要将其泄露给他人。API Secret 泄露可能导致您的账户资金损失。
  2. 使用 API 请求: 您可以使用各种编程语言 (例如 Python、Java、Node.js、Go 等) 和 HTTP 客户端库(例如 Python 的 requests 库、Java 的 HttpClient 、Node.js 的 axios 等)来发送 API 请求。BitMEX 提供了详细且全面的 API 文档,您可以在其官方网站上找到。API 文档通常包括每个端点的详细说明、请求参数、响应格式、错误代码等信息。请务必仔细阅读 API 文档,了解每个端点的具体用法。

以下是一个使用 Python 和 requests 库查询交易历史数据的示例,该示例演示了如何生成API签名以进行身份验证:

import requests import hmac import hashlib import time import base64

def generate_signature(api_secret, verb, url, expires, data=''): """Generates an API signature.""" nonce = expires message = verb + url + str(nonce) + data signature = hmac.new(api_secret.encode('utf-8'), message.encode('utf-8'), digestmod=hashlib.sha256).hexdigest() return signature

api_key = "YOUR_API_KEY" # 替换为你的 API Key api_secret = "YOUR_API_SECRET" # 替换为你的 API Secret base_url = "https://www.bitmex.com" # BitMEX API Base URL endpoint = "/api/v1/execution/tradeHistory"

verb = "GET" url = endpoint

expires = int(time.time()) + 60 # 60 seconds from now

signature = generate_signature(api_secret, verb, url, expires)

headers = { "Content-Type": "application/", "api-key": api_key, "api-signature": signature, "api-expires": str(expires) }

params = { "symbol": "XBTUSD", # 选择需要查询的合约 "count": 100 # 每次返回的最大记录数 }

try: response = requests.get(base_url + url, headers=headers, params=params) response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx)

trades = response.()

for trade in trades:
    print(trade)

except requests.exceptions.RequestException as e: print(f"Error: {e}")

请注意,您需要将 YOUR_API_KEY YOUR_API_SECRET 替换为您自己的 API 密钥和密钥。您可以通过修改 params 参数来筛选交易记录。常用的参数包括:

  • symbol : 指定需要查询的合约代码,例如 "XBTUSD", "ETHUSD" 等。
  • count : 每次返回的最大记录数,最大值为 500。
  • startTime endTime : 指定查询的时间范围,格式为 ISO8601 时间戳,例如 "2023-10-26T00:00:00.000Z"。
  • start : 指定从第几条记录开始返回,用于分页查询。
  • reverse : 布尔值,指定是否按时间倒序排列,默认为 false (正序)。设置为 true 将按时间倒序排列。
  • filter : 允许使用 JSON 格式的过滤器来筛选交易记录,例如 {"side": "Buy"} 可以只查询买入的交易记录。

您还可以根据 BitMEX API 文档中的其他参数来定制您的查询。务必处理API返回的错误信息,并根据速率限制调整您的请求频率,以避免被API封禁。

六、常见问题与解决方案

  • 无法登录 BitMEX 账户: 登录问题通常源于几个常见原因。请仔细核对您输入的用户名和密码,确保大小写正确。如果确定密码错误,立即使用BitMEX提供的“忘记密码 (Forgot Password)”功能进行密码重置。如果已启用双重验证 (2FA),请确认您使用的身份验证器应用程序(例如Google Authenticator、Authy等)的时间同步是准确的,并正确输入当前的验证码。检查您的浏览器是否禁用了Cookie,因为BitMEX使用Cookie来维持登录状态。如果问题依然存在,尝试清除浏览器缓存和Cookie,或更换浏览器进行登录。
  • 交易历史数据缺失: BitMEX平台可能会因例行系统维护、升级或其他技术性问题,导致部分或全部交易历史数据暂时无法访问。请耐心等待,稍后再尝试查询。如果长时间无法获取数据,建议直接联系BitMEX官方客服,提供您的账户信息和问题描述,他们可能会提供更详细的故障排除步骤或告知数据恢复的预计时间。一些第三方交易工具或API服务也可能因自身问题导致数据同步失败,需单独检查其连接状态。
  • 导出的 CSV 文件乱码: 当从BitMEX下载的CSV文件出现乱码时,通常是由于文件编码与您的文本编辑器默认编码不匹配所致。解决此问题的最佳方法是使用专业的文本编辑器,例如Notepad++(Windows)或Sublime Text(跨平台)。打开CSV文件后,找到“编码”菜单,选择“使用UTF-8编码”选项,然后保存文件。UTF-8是一种通用的字符编码标准,能够正确显示包括中文在内的各种字符。如果问题仍然存在,尝试选择其他常见的编码格式,如GB2312或GBK。
  • API 请求失败: API请求失败可能有多种原因。确认您的API密钥(API Key)和密钥(Secret Key)已正确配置,并且没有过期或被禁用。检查您是否拥有足够的权限,例如,如果您只需要读取数据,确保您只启用了“读取”权限,而不是“交易”权限。仔细阅读BitMEX的API文档,确保您的API请求符合其规范,包括请求的URL、参数格式和请求头等。另外,检查您的网络连接是否稳定,并确保您的防火墙没有阻止对BitMEX API服务器的访问。
  • API 频率限制: BitMEX为了维护系统稳定性和公平性,对API请求频率设置了限制(Rate Limiting)。当您的应用程序在短时间内发送过多请求时,可能会触发频率限制,导致请求失败并收到错误信息。要解决此问题,您可以采取以下措施:一是减少请求频率,在代码中添加适当的延迟或间隔,避免瞬间发送大量请求。二是使用更高效的API调用方式,例如批量请求或WebSocket实时数据流,以减少总体请求次数。三是查看BitMEX API文档,了解具体的频率限制规则,并根据规则进行优化。四是考虑使用BitMEX提供的更高级别的API服务,如市场数据订阅服务,以获取实时数据,而无需频繁轮询API。

通过以上方法,您可以更有效地诊断和解决在使用BitMEX平台时遇到的常见问题,进而更流畅地查询和管理您的历史交易数据,这对于进行深入的交易分析、制定合理的交易策略和进行有效的风险管理至关重要。务必记住,API密钥的安全存储和管理是至关重要的,避免泄露给他人,并定期更换密钥,以保护您的账户安全。