目前,通过地下钱庄“洗钱”已经成为金融违法犯罪分子的惯用伎俩,不法分子将资金在多个银行账户间,通过频繁、多层的转账交易,使资金与来源隔离,从而达到掩饰线索、隐藏身份和逃避追查的目的。如果没有找到资金的源头和最终去向,贸然进行账户查询和取证,往往很难取得最终审计效果。笔者在审计中利用交易大数据,构建“资金池”环境,通过计算机审计方法,穿透资金流迷雾,突破“洗钱”资金最终来源和去向的审计难点,取得了良好的审计效果。 穿透“资金池”方法原理 不法分子在获取资金后,会迅速将资金分散转移,并且这种资金流转往往伴随多股资金、多个账户,分散、转移、合并频繁往复操作,形成资金迷雾,审计人员如果单纯根据资金流分析很快就会迷失方向,难以获取资金去向线索。但是,根据动机导向原理,不管资金经过怎样复杂的转移操作,不法分子最终的目的都是要使资金流向其目标账户,也就是说,资金最后要流向固定的一个或几个账户。基于以上分析,如果将牵涉“洗钱”交易的多个账户交易数据合并成一个大的“资金池”,再通过计算机审计方法,过滤掉掩人耳目的交易记录数据,只观察资金最终流人流出线索,就可以快速定位“洗钱”目标账户,从而突破审计难点,如图所示。
穿透“资金池”审计方法 (一)采集、整理数据 目前,由于银行数量众多,各银行的数据标准不统一,为了进行后续的数据分析,采集银行账户的交易数据后首先要进行数据的标准化处理,根据最基本的必需数段,整理出交易数据标准表。笔者整理的标准表格式为带借贷标记的单字段交易金额格式,具体字段为:银行名称、客户名称、客户账号、交易日期、交易时间、借贷标记、交易金额、账户余额、对手账号、对手名称、对手银行、备注。 (二)转换、合并,生成“资金池”表 设计思路:穿透“资金池”的目的在于过滤掉掩人耳目的交易记录,显示资金最终的流入和流出。为实现这个目的,需要将整理好的标准数据表进行转换、合并,生成“资金池”审计表。转换数据的目的是将标准数据中带借贷标记的交易金额数据,转换成分别针对交易账户和对手账户的单列交易金额数据,并且用正数金额表示资金流入账户,用负数金额表示资金流出账户,最后将转换完成的数据合并成一个“资金池”审计表,为下一步的数据分析提供基础。 实现方法:先将标准数据转换成字段分别是客户名称、客户账号、交易金额、对手名称、对手账号、对手交易金额、交易日期等的统一格式数据,然后将转换完成的全部账户数据合并。 SQL语句:将银行标准表数据转换成统一格式的“资金池”审计数据,并进行合并生成“资金池”审计表。 SELECT客户名称,客户账号,CASE借贷标记WHEN‘C’THEN交易金额WHEN‘D’THEN交易金额*-1 END交易金额,对手名称,对手账号,CASE借贷标记WHEN‘C’THEN交易金额*-1WHEN‘D’THEN交易金额END对手交易金额,CAST(交易日期AS DATETIME)交易日期INTO资金池审计表FROM银行1标准数据 UNION ALL SELECT客户名称,客户账号,CASE借贷标记WHEN‘C’THEN交易金额WHEN‘D’THEN交易金额*-1 END交易金额,对手名称,对手账号,CASE借贷标记WHEN‘C’THEN交易金额*-1WHEN‘D’THEN交易金额END对手交易金额,CAST(交易日期AS DATETIME)交易日期FROM银行2标准数据 UNION ALL (三)“资金池”内资金流入流出审计 审计思路:在生成的“资金池”审计表中,账户交易金额正数表示资金流入,负数表示资金流出,将一定时间范围内的交易数据按账户名称分类汇总就可以过滤掉掩入耳目的交易数据,再将汇总数据按金额大小排序,显示的就是“资金池”中最终流入和流出的账户信息。 实现方法:根据交易对手名称和账号进行分组,汇总统计给定时间范围内客户交易金额和笔数,然后按交易金额排序,分析“资金池”中资金流入和流出线索。 SQL语句: SELECT对手名称,对手账号,SUM(对手交易金额),COUNT(*)交易笔数FROM资金池审计表WHERE交易日期BETWEEN‘2017-1-5’ AND ‘2017-1-13’GROUP BY对手名称,对手账号ORDER BY SUM(对手交易金额) (四)客户在不同账户资金转移审计 审计思路:对“资金池”审计表按交易对手名称筛选出给定时间范围内的客户交易情况,并按时间排序,分析客户在特定账户内资金转移情况。 SQL语句: SELECT客户名称,客户账号,交易金额,对手名称,对手账号FROM资金池审计表 WHERE交易日期BETWEEN ‘2017-1-1’AND‘2017-5-31’ AND(对手名称LIKE‘%特定客户%’)ORDER BY交易日期