3. 交易数据基础

交易数据基础 学习卡片

滚动窗口交易聚合特征工程的第一步,不是写窗口函数,而是把交易流水这条“原始事实”读透。反洗钱模型最终能识别出什么风险,取决于原始数据里保留了哪些可解释、可追溯、可对齐的字段。如果字段语义不清、主体关系混乱、时间口径不统一,后续无论用多复杂的聚合逻辑,得到的特征都可能是噪声。本节围绕交易流水的最小核心数据要素展开,帮助你在建模前建立一张清晰的“数据要素地图”。

一、核心原理:交易流水是“主体—对手方—时间—金额—币种—类型”的六元事实

一笔交易本质上描述的是:某个账户主体在某个时间点,以某种交易类型,向某个对手方发生了某个币种的某个金额的资金流动。这六个要素构成了交易流水的最小事实单元,也是滚动窗口聚合的原子输入。

在特征工程视角下,这六个要素分别承担不同职责:

  • 账户主体:聚合的分组键(group key),决定“按谁做窗口”。
  • 对手方:决定交易的方向性与网络关系,是识别分散转入、集中转出、循环交易的关键。
  • 时间戳:决定窗口边界、排序与频率计算,是所有滚动特征的轴。
  • 金额:决定规模、均值、方差、分位数等统计量的基础。
  • 币种:决定是否需要折算、是否可跨币种直接聚合。
  • 交易类型:决定交易语义,如转账、消费、提现、充值、退款等,影响特征是否应分类型统计。

一句话记忆:主体定分组,时间定窗口,金额定强度,对手方定关系,币种定口径,类型定语义。六者缺一,聚合特征的可解释性都会下降。

二、方法流程:从原始流水到可聚合字段的标准化步骤

拿到一张交易流水表后,建议按以下流程完成字段梳理与标准化,再进入窗口聚合。

  1. 字段盘点:列出所有字段,标注其业务含义、数据类型、是否必填、是否存在空值。
  2. 主体识别:明确账户主体字段(如 account_id、customer_id),并确认是否存在一户多卡、多账户合并问题。
  3. 对手方识别:区分对手方账号、对手方名称、对手方开户行,判断是否可归并为统一对手方实体。
  4. 时间口径统一:确认时间戳是交易时间、记账时间还是清算时间,统一时区与精度。
  5. 金额与币种处理:区分交易金额、手续费、实际入账金额;标记币种,必要时按汇率折算为本位币。
  6. 交易类型映射:将原始交易码映射为统一类型字典,如转入、转出、消费、提现、退款等。
  7. 方向性标注:根据借贷标志或金额正负,生成 direction 字段,明确资金流入还是流出。

完成上述步骤后,交易流水才具备“可分组、可排序、可聚合、可解释”的特征工程基础。下面是一个标准化后的交易流水字段示例:

txn_id        : 交易唯一编号
account_id    : 账户主体ID
counterparty_id: 对手方ID
txn_time      : 交易时间戳(统一时区)
amount        : 交易金额(数值型)
currency      : 币种(CNY/USD/HKD...)
txn_type      : 交易类型(TRANSFER_IN/TRANSFER_OUT/CASH_OUT...)
direction     : 资金方向(IN/OUT)
channel       : 渠道(APP/ATM/COUNTER...)

三、案例/场景:同一笔流水在不同聚合口径下的差异

假设某账户在 10 分钟内发生三笔交易:一笔 5000 元转入,一笔 4800 元转出,一笔 200 元提现。如果只看“交易笔数”,窗口内是 3 笔;如果按方向拆分,则是 1 笔流入、2 笔流出;如果按交易类型拆分,则是 1 笔转账、1 笔提现。不同口径会直接改变特征含义。

聚合口径 窗口内结果 风险解释方向
总交易笔数 3 活跃度,但无法区分资金方向
流入笔数 / 流出笔数 1 / 2 识别快进快出、资金过渡
流入金额 / 流出金额 5000 / 5000 识别等额进出、过账嫌疑
对手方数量 2 识别分散转入或集中转出
币种数量 1 识别是否涉及多币种异常

这个例子说明:字段不是越多越好,而是要在聚合前明确每个字段将参与哪种口径。否则窗口函数写得再复杂,也只是在错误口径上叠加计算。

四、误区与复盘:交易数据基础中最常见的五个坑

误区一:把账户ID当成客户ID。一个客户可能拥有多个账户,若按账户聚合,会割裂同一客户的行为;若按客户聚合,又可能掩盖账户级异常。必须根据业务目标选择主体粒度。

误区二:忽略时间戳口径差异。交易时间、记账时间、清算时间可能相差数小时甚至跨日。滚动窗口若混用口径,会导致窗口边界漂移,频率类特征失真。

误区三:金额字段未区分本金与手续费。若将手续费混入交易金额,会高估交易强度;若忽略实际入账金额,又可能低估资金流动。

误区四:多币种直接相加。不同币种金额直接求和没有业务意义,必须先按汇率折算或分币种独立聚合。

误区五:交易类型未归一化。原始交易码可能有几十种,若不映射为统一类型字典,聚合结果会极度稀疏,模型难以学习。

复盘建议:在进入滚动窗口特征工程前,先产出一份“字段口径说明书”,明确每个字段的业务定义、取值域、空值处理方式、是否参与聚合、参与哪种聚合。这份说明书将成为后续所有窗口特征的可追溯依据。

交易数据基础决定了滚动窗口特征工程的上限。把主体、对手方、时间戳、金额、币种与交易类型这六个核心要素梳理清楚,后续的窗口划分、方向拆分、类型分桶和币种折算才有稳固的起点。字段口径越清晰,聚合特征越可信,模型的可解释性也越强。