4. 金融网络构建:资产负债表法、支付结算网络、银行间拆借网络、数据来源与处理
好,咱们进入第四章。这一章我打算聊聊金融网络到底怎么搭起来。说实话,很多人在做风险传染建模时,模型选得挺漂亮,参数调得也挺顺,但最后结果一塌糊涂——为什么?因为网络结构本身就没搭对。你想想看,地基歪了,上面盖多高的楼都没用。
我个人习惯把金融网络构建分成三条路:资产负债表法、支付结算网络、银行间拆借网络。每条路都有自己的脾气,咱们一条条说。
4.1 资产负债表法:最基础,也最容易被低估
资产负债表法,说白了就是拿每家机构的资产负债表,把里面的「同业资产」和「同业负债」拎出来,直接当成网络里的边。我在项目中遇到过好几次,有人觉得这方法太简单,不屑一用。但我要说,简单不等于没用。
具体怎么做?我给你拆开看:
- 节点定义:每个金融机构就是一个节点。银行、券商、保险公司,都算。
- 边的定义:如果机构A持有机构B的债权,那就从A到B画一条有向边。权重就是债权金额。
- 方向问题:注意了,资产方是「别人欠我」,负债方是「我欠别人」。方向别搞反了。
举个例子,假设有三家银行:
银行A:同业资产 100亿(其中对B 60亿,对C 40亿)
同业负债 80亿(其中来自B 30亿,来自C 50亿)
银行B:同业资产 70亿(其中对A 30亿,对C 40亿)
同业负债 90亿(其中来自A 60亿,来自C 30亿)
银行C:同业资产 80亿(其中对A 50亿,对B 30亿)
同业负债 70亿(其中来自A 40亿,来自B 30亿)
嗯,这里要注意:资产负债表法只能告诉你「谁欠谁多少钱」,但没法告诉你具体的合约期限、抵押品情况。所以它适合做宏观层面的压力测试,不适合做精细化的流动性风险分析。
4.2 支付结算网络:实时、高频、但数据难拿
支付结算网络,我建议你把它理解成「金融系统的毛细血管」。每一笔支付指令,都是一次资金流动。把这些流动汇总起来,就能看到资金在机构之间怎么转。
我记得有一次做项目,客户非要我用支付结算数据建网。我当时就提醒他:这玩意儿数据量巨大,一天几百万笔交易,处理起来很头疼。但他坚持要做。结果呢?数据清洗就花了两周。
支付结算网络的特点:
- 时效性极强:可以做到T+0甚至实时
- 粒度极细:每一笔交易都是边
- 噪声很大:很多小额交易其实没有系统性风险意义
我个人习惯的做法是:先做聚合处理。比如按天、按周,把同一对机构之间的所有交易净额算出来。这样网络就干净多了。
4.3 银行间拆借网络:最经典,也最讲究
银行间拆借网络,这是做风险传染建模的标配。说白了就是银行之间互相借钱的那个市场。我刚开始做这个方向时,总觉得拆借网络就是简单的「谁借给谁多少钱」。后来发现,远没那么简单。
拆借网络有几个关键特征:
- 有向加权:方向代表资金流向,权重代表金额
- 稀疏性:不是所有银行都互相借钱,网络很稀疏
- 时变性:今天的网络和明天的可能完全不一样
我曾经踩过一个坑:直接用央行公布的银行间拆借数据建网,结果发现网络密度高得离谱。后来一查,原来是数据里包含了「隔夜回购」和「同业存单」,这些其实不应该算在传统的拆借网络里。嗯,从那以后我每次建网前都会先问清楚:数据口径是什么?
4.4 数据来源与处理:没有好数据,一切都是空谈
数据问题,我放在最后说,但它的重要性排第一。你模型再漂亮,数据是垃圾,结果就是垃圾。这是我在无数次教训中总结出来的。
常见的数据来源:
| 数据类型 | 常见来源 | 注意事项 |
|---|---|---|
| 资产负债表 | 年报、季报、监管报送 | 注意会计口径差异,不同国家不一样 |
| 支付结算 | 央行支付系统、清算所 | 数据量大,需要预处理 |
| 银行间拆借 | 交易商协会、央行 | 注意区分期限和抵押品 |
| 衍生品敞口 | CCP、交易报告库 | 数据最全,但获取难度最大 |
数据处理这块,我建议你记住三个原则:
- 去重:同一笔交易别重复计算
- 对齐:不同来源的数据,时间口径要对齐
- 补全:缺失数据用合理方法补,别瞎猜
我个人习惯用Python做数据处理,pandas加networkx,基本够用。遇到特别大的网络,我会用igraph,性能好很多。
4.5 知识体系总览
下面这张图,是我自己总结的金融网络构建知识体系。你看一眼,心里就有数了。
这张图把咱们这章的核心逻辑串起来了。三种方法各有侧重,但最终都汇聚到数据这个环节。数据处理好,网络就建得牢;数据处理不好,后面全是白费功夫。
好了,这一章就到这里。记住:建网不是目的,建对网才是。下次你拿到一堆数据,先别急着跑模型,花点时间把网络结构理清楚。这个时间花得值。