方法公开

磐石量化交易数据研究方法:Basket、已实现盈亏与执行质量如何统计

公开磐石量化研究报告的基础统计口径,包括 Basket 生命周期、已实现盈亏、持仓浮盈亏、余额净值、点差滑点与匿名化原则。

磐石量化的数据研究坚持先公开口径、再发布结果。任何月度报告、版本对比或执行质量统计,都应说明数据区间、样本范围、账户类型、交易品种、EA版本和统计限制。

核心结论

一轮策略表现不能只看最后平仓时的持仓浮盈亏。完整分析至少要区分账户余额、账户净值、轮次内已实现盈亏、当前持仓浮盈亏和交易成本;执行质量还要逐笔记录请求价格、成交价格、点差与滑点。

Basket 生命周期怎样定义

Basket 是同一轮策略从启动到全部相关订单退出的生命周期。方向切换、分批平仓或同一品种多次加仓,不应自动被当作新的 Basket,除非策略明确结束上一轮并重新初始化。

每个 Basket 至少应保存以下字段:

字段 含义
Basket ID 一轮策略的唯一匿名标识
EA 名称与版本 例如飓风、飓风 Plus、麒麟及对应版本
品种 经纪商实际交易符号及标准化品种名称
账户计价类型 美元账户、美分账户或其他计价方式
开始与结束时间 统一时区后的轮次边界
期初与期末余额 用于核对轮次内已实现结果
最大持仓笔数与手数 衡量订单密度和保证金压力
最大浮动亏损 轮次运行期间的最不利浮动状态

Basket ID、账户号和授权记录在公开报告前必须匿名化,不能让统计数据指向具体客户。

已实现盈亏和浮动盈亏

已实现盈亏是已经平仓并进入账户历史的结果;浮动盈亏是当前仍持有订单按市场价格估值的结果。两者不能互相替代。

对于仍在运行的 Basket,可使用下面的观察口径:

当前轮次状态 = 轮次内已实现盈亏 + 当前相关持仓浮动盈亏

对于已经全部退出的 Basket,应优先使用经交易历史核对后的轮次净变化,并明确手续费、库存费和其他成本是否已包含。只记录“最后一次全部平仓前的浮盈亏”,会遗漏此前已经分批落袋的结果。

余额与净值

  • 余额主要反映已经结算的交易结果。
  • 净值通常等于余额加当前浮动盈亏,并可能受平台具体费用展示方式影响。
  • 日内盈利、账户累计盈利和单个 Basket 盈利属于不同统计层级,不应混用。

公开报告需要说明起始资金、入金出金处理方式以及美分账户是否已换算成基础货币单位。

点差与滑点怎样统计

点差是同一时刻 Ask 与 Bid 的差;滑点是交易请求参考价与实际成交价的偏差。两者都应使用品种的实际 point、报价位数和方向进行标准化。

逐笔记录至少包括:

  1. 交易品种和方向。
  2. 请求时间、请求价和实际成交时间、成交价。
  3. 请求时的 Bid、Ask、点差和报价位数。
  4. 订单类型、成交原因和交易服务器返回码。
  5. 以价格、点数和账户货币分别表示的偏差。

买单和卖单的有利滑点、无滑点和不利滑点必须采用一致符号规则,不能只统计对策略不利的样本。

美元账户与美分账户

美分账户的余额和盈亏数值通常按美分显示。跨账户合并前必须换算到统一基础单位,同时保留原始计价类型。否则 100 美分可能被错误解释成 100 美元。

报告应分别列出不同账户类型的样本量;样本不足时不做强行对比。

报告发布门槛

正式数据报告至少应包含:

  • 报告区间和生成日期。
  • 样本纳入与排除规则。
  • EA名称、版本与品种分布。
  • 账户计价单位和换算方式。
  • 核心指标定义与计算方法版本。
  • 异常数据、缺失数据和已知偏差。
  • 结论适用范围与风险提示。

如果数据仍在补录或口径发生变化,报告必须标记为“初步结果”并保留修订记录。

这套方法不能证明什么

历史交易统计只能描述已观察样本,不能证明策略未来盈利,也不能消除行情、杠杆、流动性、网络、授权或程序故障风险。不同经纪商、品种后缀、报价位数和执行环境可能产生显著差异。

口径问答

为什么 Basket 平仓时的浮动盈亏不等于整轮盈利?

因为一轮运行期间可能已经分批平仓并形成已实现盈亏。完整轮次结果应合并期初、期末账户变化以及轮次内已实现和未实现部分,不能只读取最后一刻的持仓浮盈亏。

滑点能否被当成固定值?

不能。滑点应按请求价与实际成交价的差值逐笔统计,并同时记录方向、品种、时间、点差和执行环境。历史均值只能用于估计,不能保证下一笔成交。