gpt4 book ai didi

python - 金融传染(疫情蔓延)模型遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:07 25 4
gpt4 key购买 nike

最近想重建论文中的金融传染模型:Contagion in Financial Networks作者:普拉萨纳·盖。现在我陷入了第一张图:

first figure (实际上是图3)。

我做了什么

我使用了 Python 和 networkx

  • 首先,构建具有 1000 个节点的 ER 网络,概率取决于我要模拟的平均度。例如,如果我想模拟平均度数为3,则生成ER网络的概率为3/(1000-1),其中1000是网络大小。

  • 然后,对于每个节点,我找到有多少节点指向它并进行计数,以计算 AiIB(权重)。如果节点 1 有 3 个节点指向它,则这些边上的权重为 AiIB(论文中为 0.2)/3(邻居数量)。

  • 为了模拟传染,首先随机选择一个节点来删除其所有 Assets 。那么如果负债超过资本缓冲(Ki,论文中的0.04),它就无法向其邻国偿还负债。对于那些接受了多家银行负债的银行,即使每个环节的权重小于Ki,如果这些负债之和超过Ki,仍被视为破产。这个模型就像疫情蔓延一样,新破产的银行会影响新一批银行,最终系统中不再有银行破产。

  • 传染的定义是该网络中超过 5% 的银行破产(本例中为 50 家)。

  • 为了绘制图形,每个平均度需要测试 100 次:

    • 概率=发生传染的次数/模拟乘以100

    • 程度=【发生传染的情况下】破产银行比例之和/发生传染的数量。

原始代码可在GitHub上获取。通过运行 er_100.py 你可以得到我的数据,如下所示:

figure 2

如果您对代码有任何疑问,请告诉我。 (代码在具有 8 个 vCPU 的 GCP 上运行至少需要 1 小时...)

我还尝试了 60 个节点的网络,它看起来像:60 nodes

它的形状与图1有点相似。但这仍然不好,而且小网络也不是我想要的。

我不知道我的代码有什么问题。在我看来,我到处都考虑过,应该会得到类似的结果。我什至开始质疑这篇论文的权威性……

如果您有任何想法,请帮助我。

最佳答案

这是一个“很难”回答的问题。

我仍然没有找到任何有关代码的线索。然后我用 R 重写代码并运行它,这是我得到的草稿图:

raw figure

正如您现在所看到的,该图只是论文中的图。但算法和结构与我用Python编写的完全一样

也许这个案例表明Python 无法做到。如果有人对这个问题感兴趣,想进一步了解Python和R之间的区别,这是一个很好的例子。我很乐意提供任何帮助。

顺便说一句,R 中的模型代码可在 GitHub 中找到。并且仍在更新中。

感谢那些花时间阅读我的描述的人。

更新:

我也不敢相信这一点,因为在我看来,代码正在执行计数和计算,这很简单。我每一步都打印出来并检查每个节点,从10个节点的小型网络到1000个节点的网络,日志文件达到了50G以上。一切看起来都很正常,而且数量(破产的)只是没有达到阈值。与 R 不同,结构完全相同,结果与论文相同

我真的不知道为什么,也不知道。

关于python - 金融传染(疫情蔓延)模型遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56969062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com