10.1 图的基本概念
图论是网络分析的数学语言。在现代量化金融中,从银行间支付网络到区块链交易图谱,图论建模正变得越来越重要。
图的定义
一个图 由顶点集 和边集 组成。
图的类型
| 类型 | 边的方向 | 边是否有权重 | 示例 |
|---|---|---|---|
| 无向无权图 | 无方向 | 无 | 股票相关性网络(阈值化) |
| 有向无权图 | 有方向 | 无 | Twitter 关注关系 |
| 无向加权图 | 无方向 | 有 | 银行间借贷金额网络 |
| 有向加权图 | 有方向 | 有 | 外汇兑换网络(含汇率,有向) |
相关概念
- 度(Degree):无向图中节点的邻居数
- 入度/出度:有向图中指向/离开节点的边数
- 路径(Path):顶点序列,相邻顶点间有边连接
- 环(Cycle):起点和终点相同的路径
- 连通图:任意两个顶点之间都有路径相连
邻接矩阵(Adjacency Matrix)
对于有 个顶点的图,邻接矩阵 :
- 无权图: 若边 存在,否则
- 加权图:(边权重),若无边则 或
手算实例:5 节点图的邻接矩阵
考虑如下加权无向图:
2
(1)────(2)
| \ / |
| \/ |
| /\ |
| / \ |
(3)────(4)──(5)
1边权重:, , , , ,
邻接矩阵 ():
从邻接矩阵可以读出:
- 节点 1 连接了 2、3、4(度 = 3)
- 节点 4 连接了 1、2、3、5(度 = 4,图中最大)
- 节点 5 只连接了 4(度 = 1,图中最小)
Python 示例
python
import networkx as nx
import numpy as np
# 构建加权无向图
G = nx.Graph()
edges = [
(1, 2, 2),
(1, 3, 4),
(1, 4, 3),
(2, 4, 1),
(3, 4, 1),
(4, 5, 5)
]
G.add_weighted_edges_from(edges)
# 邻接矩阵
adj_matrix = nx.to_numpy_array(G)
print("邻接矩阵:")
print(adj_matrix)
# 节点度数
for node in G.nodes():
print(f"节点 {node}: 度 = {G.degree(node)}")Quant Link:金融网络与系统性风险
在系统性风险建模中,银行间市场的网络可以表示为加权有向图——顶点是银行,边是借贷关系,权重是敞口金额。
邻接矩阵的谱半径(最大特征值)被用作系统性风险的早期预警指标(Markose, 2012)。若谱半径突然增大,意味着银行间网络的互联程度快速上升——风险传播路径更多,系统性危机概率更高。
| 网络特征 | 金融含义 |
|---|---|
| 高密度(边多) | 银行间高度互联,风险扩散快 |
| 幂律度分布 | 少数"核心银行"控制大部分交易 |
| 高聚类系数(Clustering Coefficient——衡量节点邻居之间相互连接程度的指标:"朋友的朋友也是朋友"的比例,范围 0~1) | 存在紧密的小圈子,可能隐藏风险集中 |
| 大谱半径 | 放大效应显著,小冲击可能级联放大 |
| \n> 下一步:继续学习 10.2 最短路径 |