引入数学规划优化支付清算系统
人 民币国际化需要拓展跨境支付清算网络体系,参与银行越多,触达范围越广,清算越便利。但对银行而言,多参与一个清算系统,就多一分成本,主要为来自结算备付金造成的资金占用。实践中,降低结算备付金的主要方式是混合支付,人民币第二代支付系统和跨境人民币支付系统(CIPS)已经在一定程度上实现了混合支付。引入数学规划,或许是下一步支付清算系统值得研究的问题。
支付清算系统发展脉络与问题的产生
全球大多数主要货币的支付清算系统都经历了从延时净额结算到实时全额结算再到混合支付的过程,受制于流动性总量有限、清算账户不可透支等约束条件,期间系统的风险控制能力、流动性管理能力在相互消长中螺旋上升,但未达到最优。在完全消除风险的前提下,让流动性管理能力达到理论上可能的最高水平,需要解决大规模排队支付指令撮合问题,即“银行清算问题”,这也是本文研究讨论的核心。支付清算系统的发展经历了以下几个阶段。
第一阶段:“高流动性管理,低风险控制水平”的延时净额结算。延时净额结算流行于20 世纪 80年代,源于传统纸质票据交换的电子化。在日间,银行间实时收发支付指令、同步增减银行客户资金,但银行间没有实际资金结算,本质上是银行在没收到钱的情况下把钱提前给了客户。营业日结束后,全体银行一起轧差清算,算出各行全天应收应付金额后,由结算机构(一般是中央银行)完成最终结算。
该模式保证了流动性,忽视了结算风险。优势在于,银行只需满足日终结算,日间没有任何流动性压力;缺点也显而易见,一旦有银行无法完成结算,就会形成“三角债”,扩散为系统性风险。
第二阶段:“高风险控制水平,低流动性管理”的实时全额结算。20世纪 90年代起,实时全额结算逐步成为主流,日间逐笔、实时结算,付款银行一旦结算备付金不足,就根本无法发起支付指令,或者只能让支付指令进入“排队”状态,直至银行收款积累到足以发起新的对外支付。如此一来,在日间任意时点,结算备付金都要满足每一笔对外支付需要。这种方法彻底消除了结算风险,但忽视了流动性管理,导致结算备付金需求大幅提升。系统运营者不得不通过提供日间央行质押融资、日间同业拆借等方式满足银行需要,但借贷资金都有成本,这减少了商业银行利益。
产生问题的原因在于,“延时净额结算”向“实时全额结算”的转换过程中,虽然停止了事实上存在的且确有风险的银行间日间信贷,但也让原本可以相互抵消的支付指令不再被抵消,而后者有益无害,相当于“倒洗澡水连孩子也倒掉了”。要让后者在实时全额结算系统中发挥作用,需要实现日间排队支付指令多边撮合,古恩泽(1998)以数学规划模型把它刻画了出来,并将其命名为“银行清算问题”。然而,古恩泽并没有给出这一问题的求解方案,相反,他证明如果支付指令不可分割,该问题在“多项式时间内不可解”,即求最优解的时间没有上限,这在业务上不可接受。因此,在实践中,实时全额结算系统要么只做简单的“双边
撮合”,要么设计各种“启发式算法”,实际效果都极为有限,真正使用数学规划求最优解的基本没有。
第三阶段:“风险控制与流动性平衡兼顾”的混合支付系统。20世纪 90 年代中后期,混合支付系统开始出现并迅速得到推广,它融合了延时净额和实时全额两种结算模式,兼具两者的优点。时效性要求高的支付业务用实时全额结算模式;时效性要求低的支付业务用延时净额结算模式。美元清算所银行同业支付系统(CHIPS)、第二代泛欧实时全额自动清算(TARGET2)系统都属于此类,我国“大额+小额”的组合、CIPS“一期 +二期”也可以认为是混合支付系统。
混合支付系统中的实时全额结算模块和过去基本相同,但延时净额结算模块有了进步,从原来的每天日终一次轧差清算、一次结算,变成了全天多次轧差结算,结算周期缩短到数小时甚至1小时以内。有些系统通过把支付指令的转发时间延迟到与结算同步,消除了风险敞口;有些系统两者不同步,但通过设置净借记限额或者单笔支付金额上限,缩小了风险敞口;有些系统两种做法皆有。
但无论是哪种做法,结构性问题始终存在:第一,在结算时点上,如果有个别银行结算备付金不足,仍会造成全体银行结算失败;第二,如果转发支付指令和结算不同步,即使有净借记限额控制,仍存在风险敞口,并可能扩散;第三,延时净额结算模块的设计本意是节约流动性,但因为要从总的结算备付金中“切一块蛋糕”供其单独使用,如果分配方案不科学,或者业务规模上不去,反而会增加银行流
动性成本。
数学规划是解决结构性问题的关键,而混合支付系统延时净额结算模块的设计进步,也为引入数学规划孕育了土壤。
数学规划在混合支付系统中的应用
“银行清算问题”是一个以可结算支付指令金额最大化为目标函数,以结算备付金账户不可透支、支付指令不可分割为约束条件的整数规划问题,被证明多项式时间内不可解。后来,沙弗兰斯基(Shafransky)等人提出通过允许支付指令分割,可以使该问题变换成经典线性规划问题——“最小分割最大流”问题,该问题多项式时间内可解。净额结算模块中的单笔支付指令金额上限,可以被近似认为是支付指令可分割。有了这个前提,延时净额结算模块就可以解决“银行清算问题”,继而获得以下四种新能力。
第一,主动控制轧差结果。传统的净额结算可以通过轧差节约流动性,但是它没有能力挑选支付指令,也无法改变指令执行次序,因此不能控制轧差结果。如果有个别银行备付金不足以完成结算,全体银行“连坐”,等待前者筹措资金。这意味着,要么支付指令全部结算、要么全部不结算。通过求解“银行清算问题”,系统能在没有银行透支结算备付金情况下给出最优解:挑选一部分支付指令先执行,被剔除的支付指令可以撤销或留给下一结算周期处理。
第二,大幅缩短结算周期。由于每次轧差结果都没有透支的风险,也无需人工干预,那完全可以通过缩短结算周期,使支付指令尽快被执行,原本以小时计的结算周期也能以分钟甚至秒计,“延时净额结算”便成为了“实时净额结算”,从而大幅提高资金转账效率,且不产生风险敞口。
第三,合并清算“资金池”。为了防范净额结算导致的备付金透支,许多系统都会要求银行单独提供一笔净额结
算备付金。实时全额结算模块一般不能动用这笔资金。这就意味着银行的清算资金被分散存放,容易出现“一方缺钱,八方围观”的窘境。如果轧差结果没有透支风险,那就没有必要为净额结算预留资金,净额结算模块可以共享实时全额结算模块的清算资金,清算“资金池”的合并成为可能,这将大幅减轻银行流动性压力。
第四,最大化结算备付金利用效率。支付清算系统的正常运行需要结算备付金的支持。对于中央银行直接运行的支付系统,如美元美国联邦资金转账系统(Fedwire)、人民币大额支付系统,可以直接动用中央银行清算账户资金。对于由第三方运营的支付系统如CHIPS 和CIPS,则需要银行从各自的中央银行清算账户拿出一部分资金用于结算。为保障系统正常运行,系统运营方会对期初清算资金提出最低限额要求,该金额的设定一般会参考各行历史交易的平均值和峰值规模。实际上,只需要将清算资金看作是总规模有限的决策向量,“银行清算问题”的数学模型可以转换成求清算资金最优分配决策的模型。通过历史数据仿真模拟,可以获得过去每一天清算资金分配决策的最优解。这一数据,显然比简单利用支付总额平均值和支付金额峰值得到的数据更具参考价值。
关于人民币支付清算系统未来发展的思考
经过二十多年的建设,人民币支付清算系统在各方面已居世界前列,改进流动性管理的需求并不急迫。但我们的目标应着眼于未来十年国际金融体系的发展,谋求建立与金融强国相适应、与人民币国际化地位相匹配的金融服务基础设施。
数学规划只是工具,不是目的,但它提供了新的技术路径,为延时净额结算转换为实时净额结算提供了理论证据,为建立更高水平的流动性节约机制提供了方法论。但是要回答“用不用、怎么用、何时用、在哪用”这些问题,还需要以业务实践为基础,开展更充分的论证研究。
回到其工具属性本身,“银行清算问题”也有继续改进的可能,即引入动态的视角。经典的“银行清算问题”目标函数是让结算时点排队支付指令金额最小,但让全天平均排队支付指令金额最小是更好的选择。把时间维度纳入模型就能满足这一要求,据此可以刻画出“多阶段银行清算问题”,只要能够利用历史数据相对准确地预测每个结算周期的支付指令大致规模,就能对该问题求解,在理论上,其结果可能比用“银行清算问题”模型的最优决策更好。
在技术应用层面,“银行清算问题”需要用到数学规划求解器求解。近年来,国内优化算法产业链已经打破海外垄断,涌现出一批优秀的企业,并在金融科技、智慧零售、智能物流、工业4.0 与智能制造等行业发挥了重要的作用。可以考虑在系统设计中吸收和培养一批具备优化理论算法设计、实现的业务骨干,并与国内优化算法产业链协同配合,研究完善清算系统的相关设计。■