人工智能投资机器:第一部分
- Claude Paugh

- 1月6日
- 讀畢需時 4 分鐘
几年前,我萌生了创建一个关于共同基金、其持仓以及支持这些持仓的法律实体的知识图谱的想法。于是,我开始在 Neo4j 中构建这个图谱,其基础是我存储在 Couchbase 数据仓库中的美国证券交易委员会(SEC)备案文件。
我积累了数年的共同基金和ETF持仓申报文件,但从2021年开始,这些文件的质量显著提高。大约在2023年,我拥有了足够的申报文件来构建知识图谱,但我的用例并不完全适合知识图谱。
为什么?除了最初的使用场景之外,我还想保留一些历史数据用于机器学习。为了遵循KISS原则(Keep It Simple, Stupid),我决定无论如何都要把所有数据都存储在Neo4J中。由于Neo4J会尝试将大部分操作加载到内存中,因此在节点数量较多的情况下可能会遇到一些问题。

最初规划从美国证券交易委员会 (SEC) 加载文件(主要是 N-PORT 表格)时,我希望将它们从 XML 格式重构为 JSON 格式,以减少 Couchbase 的内存和存储空间占用。这意味着我需要建立一个键值列表,用于在 JSON 中搜索这些键值,这些键值也会导入到 Neo4J 的节点结构中。文件包含提交日期、SEC 提供的 CIK(中央索引键)以及常见的证券/工具标识符:ISIN、CUSIP、SEDOL 和交易内部标识符。但 SEC 还添加了一个最重要的新键值:LEI,即法人实体识别码。
现在有了一个可以解析不同持有工具之间的关系以及支撑它们的法律结构的信息来源。所以我决定从唯一真正的公共来源获取 LEI 信息: https://www.gleif.org/en 。
展示知识图谱的节点、关系和属性的图像
该知识图谱由以下节点类型和关系构建而成,旨在回答特定问题。以下并非完整的节点或关系列表,仅供参考。
节点
普通股 | 浮动利率债务 | 期货 | 资金 |
优先股 | 担保债务 | 交换 | 基金母公司 |
公司债务 | 资产支持债务 | 互换期权 | 基金借款人 |
抵押贷款支持债务 | 逮捕令 | 国家 | 法人实体 |
市政债务 | 选项 | 货币 | 法人实体 LEI ISIN 参考 |
可转换债券 | 前锋 | 地区 | 法律实体关系 |
人际关系
资产类型 -> 基金持仓 | 资产类型 -> 法人实体 | 资产类型 -> 法律管辖权 | 基金系列 -> 基金系列类别 |
资产类型 -> 国家/地区 | 基金 -> 法人实体 | 资产类型 -> 总部所在国家/地区 | 基金 -> 资金流动 |
资产类型 -> 货币 | 基金母公司 -> 法人实体 | 资产类型 -> 所在地国家/地区 | 基金 -> 基金业绩 |
国家 -> 地区 | 基金 -> 子基金 | 资产类型 -> 指数成员 | 普通股 -> 公司简介 |
还有其他一些关系可以解决多对多的法律实体关系,这些关系也都有明确的定义。
最初整合这些数据的应用目标是:
货币风险敞口风险计量
机构和市场面临的风险
跨国公司法人实体追踪
资产购买的影响链是什么?
为了演示其中的一部分,我首先在 Neo4J Bloom 中扩展了一个基金。该基金的资产持有量为贷款和互换期权:


其次,SWAPtion 所包装的基础 SWAP 资产的法律实体 (LE) 是 SWAP 的交易对手方,可追溯到一家名为 Citigroup Global Markets 的公司:

而这家公司本身又隶属于另一家花旗集团旗下的LE公司,名为花旗金融产品公司:

然后,对上述花旗集团公司进行了扩展,结果显示它是多个回购协议的法律实体和非集中清算(NCC)交易对手方,以及浮动利率债务的法律实体:

进一步查看回购协议,它们最终与资产持有者相关联,在本例中是两只共同基金——图中带有银行图标的浅绿色物体。我们还可以看到回购协议的货币/抵押品货币,即欧元。
这意味着这家与花旗集团有关联的公司持有欧元资产,并可能受到欧元汇率大幅波动的影响。两只共同基金也面临同样的欧元风险敞口。许多共同基金和ETF通过购买远期外汇合约来对冲汇率风险。如果我扩大这些基金的规模,并且它们总部位于美国,那么我们很可能会看到这些远期合约被计入基金持有的资产中。

沿着花旗金融产品公司这条法律实体的另一条路径,我们可以找到另一家控股公司旗下在其他国家运营的其他公司。第一个橙色圆圈代表一家基金公司,该公司与其关联着多家其他基金(右侧的四个橙色圆圈)。

最后,我们追溯负责上述资产和资金的 Citigroup Financial Products LE,直至位于层级顶端的 Citigroup Inc. LE。

正如您所见,将不同组织及其底层结构之间的法人实体识别编码 (LEI) 进行映射的能力,对我们识别、评估、追踪和理解那些不易发现的风险至关重要。我以此为基础构建了我的人工智能应用程序,因为它提供了强大的功能,可以量化跨组织和金融系统的影响。接下来,我将深入研究应用程序的架构,并扩展其功能范围,以涵盖我所需要的更多特性。














