3. 坏账率基础概念:坏账的定义、坏账率计算公式、行业标准与阈值设定

在 Tick 级回放验证中,坏账率是衡量哨兵模型有效性的核心指标。它直接反映了模型在识别和拦截高风险交易后,剩余未拦截交易中实际发生资金损失的占比。理解坏账的定义、计算公式以及行业标准,是构建和调优哨兵模型的前提。

3.1 坏账的定义

在量化风控场景下,坏账(Bad Debt)特指因交易对手违约、欺诈、系统故障或市场剧烈波动等原因,导致资金无法收回或收回成本超过本金的部分。在 Tick 数据回放中,我们通常将以下情况标记为坏账:

  • 交易违约:买方或卖方在交割日无法履行支付或交付义务。
  • 欺诈交易:经事后核实为盗用账户、虚假身份或恶意套现的交易。
  • 清算失败:因流动性不足或技术故障导致最终结算未完成。
  • 强制平仓损失:在杠杆交易中,因保证金不足被强制平仓后产生的净亏损。
回放验证中的坏账标记规则: 在回放流程中,我们通常以“交易最终结算状态”为基准。若一笔交易在回放时间窗口(如 T+3 日)内未完成正常结算,且损失金额超过预设的容忍阈值(如 0 元),则标记为坏账。

3.2 坏账率计算公式

坏账率是坏账金额与总交易金额的比值,通常以百分比表示。在哨兵模型回放中,我们关注的是模型拦截后的坏账率,即模型放过(未拦截)的交易中产生的坏账比例。

核心公式:

坏账率(%) = (坏账总金额 / 总交易金额) × 100%

哨兵模型回放专用公式(拦截后坏账率):

拦截后坏账率(%) = (模型未拦截交易中的坏账总金额 / 模型未拦截交易的总金额) × 100%

变量说明:

变量 定义 数据来源(回放环境)
坏账总金额 所有被判定为坏账的交易的本金损失之和 回放数据库中的坏账标记表
总交易金额 回放时间窗口内所有交易的总成交金额 Tick 数据流中的成交记录
模型未拦截交易总金额 哨兵模型判定为“正常”并放行的交易总金额 模型决策日志 + 成交记录
注意: 在回放验证中,切勿将“模型拦截掉的交易金额”计入分母。哨兵模型的目标是降低实际发生的坏账率,因此分母应始终为模型放行(即真实进入清算环节)的交易金额。

3.3 行业标准与阈值设定

坏账率的行业标准因业务类型(如股票、期货、加密货币)和交易规模而异。以下为量化风控领域常用的参考阈值:

业务类型 行业平均坏账率 哨兵模型目标阈值 预警阈值(需人工介入)
高频股票交易 0.01% - 0.05% < 0.01% > 0.03%
期货/期权 0.05% - 0.15% < 0.05% > 0.10%
加密货币现货 0.10% - 0.50% < 0.10% > 0.30%
P2P/场外交易 0.50% - 2.00% < 0.50% > 1.00%

阈值设定原则:

  • 风险偏好对齐:阈值应与机构的风险承受能力挂钩。保守型机构应设定更低的坏账率目标。
  • 业务成本平衡:过低的坏账率阈值可能导致模型过度拦截,误伤正常交易,造成流动性损失。
  • 动态调整:在回放验证中,应基于历史数据(如过去 30 天的 Tick 数据)滚动计算坏账率,并动态调整阈值。
坏账率计算与阈值判定流程 Tick 数据流 哨兵模型拦截 拦截? 拦截池 放行交易池 坏账判定 计算拦截后坏账率 超阈值? 模型达标 触发预警 分母:放行交易总金额

3.4 坏账率与模型评价的关系

坏账率并非孤立指标,它需要与拦截率、误杀率结合分析。一个优秀的哨兵模型应在保持低坏账率的同时,维持合理的拦截率和较低的误杀率。

关键结论: 在回放验证中,若拦截后坏账率低于行业目标阈值(如 0.01%),且误杀率低于 5%,则可认为哨兵模型通过验证,具备上线条件。