利用图论和马尔可夫链探讨风险传染
作者:Ken Deeley, MathWorks
最近的金融危机和市场波动期提高了金融分析师对风险传染和系统性风险的意识。因此,金融专业人士经常承担构建和分析模型的任务,这些模型将深入了解风险对投资、投资组合和业务操作的潜在影响。
一些作者描述了使用先进的数学和统计技术来量化投资、外汇汇率、工业部门或地理区域[1]-[7]之间的依赖关系。对于分析人员来说,弥合形式化方法和工作代码实现之间的差距是一个关键挑战。
本文展示了MATLAB如何®可以使用各种数学工具来分析风险传染的各个方面。主题包括:
- 数据聚合、预处理和风险基准测试
- 量化财务变量之间的依赖关系
- 将产生的依赖关系网络与邻近信息可视化(图1)
- 利用隐马尔可夫模型分析风险传染的周期
下载本文的MATLAB实时脚本用于交互式访问所有图像,方程和代码。活动脚本包含本文中的所有代码、输出、方程和图像。您可以下载该脚本,在MATLAB中打开它,并探索本文中描述的分析步骤。
使用MATLAB Live Editor需要R2016a或以上版本。如果你没有R2016a,你可以下载免费试用版.
了解更多有关MATLAB实时编辑器。
数据聚合与预处理
我们首先收集了各国在2008年1月至2013年12月期间记录的中等市值证券价格。每种证券都有相关的元数据,如市值、行业部门和国家。在本文中,我们将分析不同部门之间的传染,但研究其他分组很容易——例如,原产国。我们使用标准化的市场资本来定义单个证券的权重,然后使用加权和来汇总每个部门的所有证券。结果是基准价格系列,如图2所示。
相关分析
研究变量之间依赖关系的最简单方法之一是计算数据的相关矩阵。使用MATLABplotmatrix
函数和统计和机器学习工具箱™相关系数
函数,我们可以创建信息可视化,以指示扇区返回序列数据中存在的成对关系。这些图表的示例如图3和图4所示。
图3中的非对角线元素显示了成对的联合分布,对角线显示了每个变量在直方图上的边际分布。图4通过说明工业部门回报之间的成对相关系数,量化了图3所示的成对线性关系的相对强度。为了研究变量之间更一般的单调关系,我们可以计算肯德尔τ斯皮尔曼的ρ系数使用相关系数
函数。
使用图论可视化依赖关系
直接从相关矩阵中洞察风险传染可能很困难。应用图论是量化和可视化变量接近性的一种有效技术。为了测量接近度,我们使用\(f(C) = 1 - C\)或\(f(C) = \√{2(1 - C)}\)等映射将相关系数转换为距离
将工业部门分配给网络的节点,然后通过相关距离给出的长度的边将节点连接起来。在[1]和[2]中,作者计算了最小生成树(MST)。MST是连接总边长最小的所有节点的子图。在这种情况下,我们可以将MST视为封装扇区之间依赖关系的“骨干”网络。在MATLAB中我们可以使用图
而且minspantree
函数直接计算MST:
G = graph(扇区,扇区);T = minspantree(G);
在这里,sectorDist
相关距离矩阵和行业
包含扇区名称的单元格数组。
有几个选项可以可视化生成的MST。最简单的方法是使用图表情节
直接在树上函数。提供2D表示[1]的另一种方法是通过Sammon映射在距离矩阵上使用非线性多维缩放:
坐标= mdscale(扇区,3,'标准','萨蒙');
为了创建一个2D可视化,我们传递得到的欧几里得坐标数组坐标
到图
类情节
方法:
情节(T, XData,坐标(:1),YData,坐标(2):,)
当结合一些简单的绘图设置时,这种方法允许我们创建如图1所示的可视化。我们通过创建Shepard图(图5)来评估图嵌入的质量。如果散点没有明显偏离参考线,那么我们就有了良好的嵌入质量。
利用图表中心性度量评估行业重要性
用图表形式表示数据有助于我们量化变量之间的关系。由于数学图形本质上提供了节点重要性的度量,我们可以通过计算这些量来评估扇区重要性。我们使用中心
与图
对象:
发生率=中心性(T,‘度’);贴近度=中心性(T, '贴近度','成本',edgeWeights);中间=中心性(T, 'betweenness', 'Cost', edgeWeights);
的发病率的值表示与该节点相邻的边数,而亲密是该节点到所有其他节点的距离之和的倒数。因此,紧密度值高意味着该节点是中心节点或重要节点。类似地,中间状态度量一个节点在图中其他两个节点之间的最短路径上出现的频率。中间值高意味着该节点很重要。
计算上述MST的这些度量将产生如图6所示的结果。我们发现,在各项指标中,服务业的价值最高。中央服务节点在图1中以红色突出显示。
通过滚动窗口可视化风险传染
前一节中描述的分析使用了2008-2013年的完整数据集。在风险模型中,通常在滚动窗口中进行分析,以评估感兴趣变量的动态变化。为了在连续六个月滚动窗口中实现前面的分析,我们使用了一个为
-loop增加每个窗口的开始日期。
方法可以在视频文件中捕获此过程中的图形VideoWriter
类,显示随着时间的推移,高度相关(> 0.80)扇区对的发生率(图7)。
图8显示了中央扇形随时间的变化。我们注意到,服务业、工业品和消费品部门在这一时期具有高度重要性。
用替代距离度量量化依赖关系
尽管相关性易于解释和计算,但它可能无法完全描述金融变量之间依赖关系的复杂本质。在[5]中,作者使用了基于熵和互信息理论的统计概念的度量。如果\(f_X\)是随机变量\(X\)的概率密度函数,则\(X\)的熵为
\[H_X = - \int f_X(x)\log f_X(x)\math {d}x\]
我们可以把熵看作是变量无序性或随机性的度量。高熵表示高度无序。同样,如果我们有两个随机变量\(X\)和\(Y\),它们的联合密度\(f_{X,Y}\),那么\(X\)和\(Y\)的相互熵为
\ [H_ {X, Y} = - f {X, Y} \ iint日志f (X, Y) \ {X, Y} (X, Y) \ mathrm X \ d {} mathrm {d} Y \]
的互信息含量\(X\)和\(Y\)的值定义为
\[i_ {x, y} = h_x + h_y - h_ {x, y}\]
互信息可以用公式转换成距离
\[d_{X,Y} = 1 - \√{1 - e^{2I_{X,Y}} \]
注意,最大距离为1。只有当\(X\)和\(Y\)的互信息量为零时,才会出现这种结果,而只有当\(X\)和\(Y\)是独立的[5]时才会出现互信息量为零。如果\(X\)和\(Y\)密切相关,则它们的互信息量较大,因此距离接近于零。
我们可以在MATLAB中使用统计和机器学习工具箱函数估计两个随机变量的联合密度ksdensity
.这种技术的优点是避免了对数据的任何分布假设。
假设\(X\)和\(Y\)是两个扇区的返回序列,计算\(H_{X,Y}\)的示例代码如下:
x = linspace(min(x), max(x), 250);y = linspace(min(y), max(y), 250);[Xgrid, Ygrid] = meshgrid(x, y);pts = [Xgrid(:), Ygrid(:)];fXY = ksdensity([X, Y], pts);fXY =重塑(fXY,大小(Xgrid));integrandXY = fXY .* log(fXY);integrandXY(isnan(integrandXY)) = 0;HXY = - trapz(y, trapz(x, integrandXY, 2));
这段代码估计了250x250晶格上\(X\)和\(Y\)的联合密度,然后计算定义\(H_{X,Y}\)的二重积分trapz
函数进行数值梯形积分。一些南
如果\(f_{X,Y}\)的估计值为零,则在被积函数中出现。我们在积分前将这些设为0。
图9显示了前两个部门(基本材料和消费品)的估计接头密度。
我们用类似的方法估计\(H_X\)和\(H_Y\),然后计算信息距离\(d_{X,Y}\)。估计精细晶格上的联合密度函数可能是一个耗时的过程,因此我们使用parfor
在并行计算工具箱™中并行估计成对距离矩阵,这需要nSector (nSectors-1) / 2
要计算的不同距离。图10显示了使用信息距离度量计算得到的MST。与前面的分析一致,中心部门是服务业,在图10中用红色突出显示。
利用隐马尔可夫模型建模风险传染
当从描述性分析转向建模时,一些作者使用了统计技术,例如隐马尔可夫模型(参见[6])。回到滚动窗口分析,我们将高度相关的行业对数量视为市场风险传染水平的基本指标。
为了简单起见,我们假设有三个潜在的、未观察到的风险传染水平,我们称之为“低”、“中”和“高”,它们构成了一个隐藏的马尔可夫链的状态。我们从马尔可夫链中观测到的排放序列是高度相关的扇区对的数量,其范围从0到28。
图11显示了2008-2013年期间的观测数据。我们看到有几个高度传染的时期,而且这种高度传染似乎以不同的速度消散。下面的图表显示了发射跃迁的顺序——也就是说,从一个窗口到下一个窗口的高度相关对的数量的差异。
统计和机器学习工具箱提供了一个构造隐马尔可夫模型的框架。为了估计状态和发射跃迁矩阵,我们使用hmmtrain
函数,提供初始猜测TR
而且新兴市场
对于未知矩阵:
[estr, estEM] =hmmtrain
(排放,TR, EM);
为了检查估计矩阵的鲁棒性,我们可以对发射向量的子集进行交叉验证,以确保算法收敛到相同的矩阵。图12显示了从图11中可视化的数据中获得的马尔可夫链。表1显示了保持相同状态的高概率,以及向上或向下一级转换的小但非平凡的概率。在一个步骤中向上或向下转换两个级别的可能性可以忽略不计。
状态 | 低 | 媒介 | 高 |
---|---|---|---|
低 | 0.964 | 0.036 | 0.000 |
媒介 | 0.107 | 0.833 | 0.060 |
高 | 0.000 | 0.035 | 0.965 |
表1。马尔可夫链转移概率计算hmmtrain
.
的hmmviterbi
函数回顾性地估计最可能的状态序列:
states = hmmviterbi(emissions, estr, estEM,…'Statenames', {'Low', 'Medium', 'High'}).';
我们还计算后验状态概率使用hmmdecode
:
pstates = hmmdecode(emission, estr, estEM).';
表格结果提供了对历史时期市场状况的洞察(图13)。第二列包含from的输出状态hmmviterbi
,列3-5包含的后验状态概率hmmdecode
.类似地,我们通过比较可能的状态和观察到的市场数据来洞察这个模型的有效性(图14)。
总结和下一步
理解系统性风险需要仔细的建模和分析。在本文中,我们实现了量化金融变量之间的接近性的技术,包括相关性和信息距离。我们已经了解了如何使用图论将接近信息可视化。量化和可视化变量之间的关系在数据分析的探索阶段是重要的。进入建模阶段,我们通过将隐马尔可夫模型拟合到观察到的数据,创建了一个简单的风险传染模型。
为了扩展本文中描述的技术,并在我们的分析中包括系统风险的其他方面,我们可以使用其他MATLAB工具箱中的高级模型,包括:
- 时间序列和状态空间模型(在计量经济学工具箱™)
- 市场和信用风险模型(在金融工具箱™)
- 工具定价功能(在金融工具工具箱™中)
发布2016年- 92983v00
参考文献
-
Resovsky, Marcel, Denis Horvath, Vladimir Gazda和Marianna Sinicakova,“货币市场中的最小生成树应用”,外汇市场, 7/2013https://www.nbs.sk/_img/documents/_publik_nbs_fsr/biatec/rok2013/07-2013/05_biatec13-7_resovsky_en.pdf
-
McDoland、Mark、Omer Suleman、Stacy Williams、Sam Howison和Neil F. Johnson,《用外汇网络树检测货币的支配或依赖》,https://arxiv.org/abs/cond-mat/0412411
-
欧阳,刘红兵,刘小东,基于网络分析的中国金融机构系统重要性及系统性风险传染机制[j] . CMS, 2015,V23(10): 30-37
-
Lori, Giulia, Giulia de Masi, Ovidiu V. Precup, Giampaolo Gabbi和Guido Caldarelli,“意大利隔夜货币市场的网络分析”,经济系讨论文件系列,第05/05号https://www.city.ac.uk/__data/assets/pdf_file/0017/90260/0505_iori-et-al.pdf
-
Kaya,Hakan,《资产管理中的怪癖》金融网络理论杂志,第1卷,第1号(https://www.jbs.cam.ac.uk/faculty-research/centres/risk/)
-
Staum、Jeremy C.和Ming Liu Staum,《传染网络模型中的系统风险成分》2012年1月。可在SSRN:https://ssrn.com/abstract=1726107
-
biisias, Dimitrios, Mark Flood, Andrew W. Lo和Stavros Valavanis,“系统性风险分析调查”,金融研究办公室,工作文件#0001,2012年1月5日https://financialresearch.gov/working-papers/files/OFRwp0001_BisiasFloodLoValavanis_ASurveyOfSystemicRiskAnalytics.pdf