Máquina de inversión con inteligencia artificial: Parte I
- Claude Paugh

- hace 7 horas
- 4 Min. de lectura
Hace varios años, se me ocurrió crear un gráfico de conocimiento sobre fondos mutuos, sus tenencias y las entidades legales que las respaldaban. Así que empecé a crear un gráfico en Neo4J basado en lo que almacenaba para las presentaciones ante la SEC en mi almacén de Couchbase .
Había acumulado varios años de presentaciones de tenencias de fondos mutuos y ETF, pero su calidad mejoró significativamente a partir de 2021. Aproximadamente en 2023, tenía suficientes presentaciones como para poder crear un gráfico de conocimiento, pero mi caso de uso no era exactamente compatible con gráficos de conocimiento.
¿Por qué? Tenía datos históricos que quería conservar para casos de aprendizaje automático, además de mi caso de uso inicial. Decidí almacenarlos todos en Neo4J de todas formas para seguir el protocolo KISS en mi configuración inicial. Dado que Neo4J intentaba cargar gran parte de su trabajo en memoria, puede ser un desafío con un gran número de nodos.

Cuando evalué inicialmente la carga de los archivos de la SEC, principalmente formularios N-PORT, quise reestructurarlos de XML a JSON para reducir el consumo de memoria y almacenamiento en Couchbase. Esto implicó un inventario de claves que buscaría en el JSON, el cual también se integró en las estructuras de nodos de Neo4J. Los archivos incluyen las fechas de presentación, la clave de índice central (CIK) de respaldo de la SEC y los identificadores típicos de valores/instrumentos: ISIN, CUSIP, SEDOL e identificadores internos de las operaciones. Sin embargo, la SEC añadió la clave nueva más importante: el LEI (Identificador de Entidad Legal).
Ahora existía una fuente para resolver las relaciones entre los distintos instrumentos y la estructura legal que los respaldaba. Así que decidí obtener la información LEI de la única fuente pública real: https://www.gleif.org/en .
Imágenes que muestran los nodos, las relaciones y los atributos del Gráfico de conocimiento
El grafo de conocimiento se construyó con los siguientes tipos de nodos y relaciones para responder preguntas específicas. Esta no es una lista completa de nodos o relaciones, sino una idea del alcance.
Nodos
Capital común | Deuda a tipo de interés flotante | Futuros | Fondos |
Capital preferente | Deuda colateralizada | Swaps | Empresa matriz del fondo |
Deuda corporativa | Deuda respaldada por activos | INTERCAMBIO DE ACTIVIDADES | Prestatarios de fondos |
Deuda respaldada por hipotecas | Órdenes de arresto | País | Entidad legal |
Deuda municipal | Opciones | Divisa | Referencia LEI ISIN de entidad legal |
Deuda convertible | Hacia adelante | Región | Relaciones entre entidades jurídicas |
Relaciones
Tipo de activo -> Tenencias del fondo | Tipo de activo -> Entidad legal | Tipo de activo -> Jurisdicción legal | Series de fondos -> Clases de series de fondos |
Tipo de activo -> País | Fondo -> Entidad Legal | Tipo de activo -> País de la sede | Fondo -> Flujos de fondos |
Tipo de activo -> Moneda | Fondo matriz -> Entidad legal | Tipo de activo -> País de ubicación | Fondo -> Rendimiento del fondo |
País -> Región | Fondo -> Subfondos | Tipo de activo -> Miembro del índice | Capital Común -> Perfil de la Empresa |
Existen otras relaciones que resuelven entidades legales de muchos a muchos que también están definidas explícitamente.
El objetivo del caso de uso para la combinación de estos datos inicialmente fue:
medición del riesgo de exposición a divisas
riesgo de posición para las instituciones y los mercados
Rastreo de entidades legales para corporaciones multinacionales
¿Cuál es la cadena de impacto de las compras de activos?
Para demostrar parte de esto, comencé expandiendo un fondo en Neo4J Bloom. El fondo tiene préstamos y swaps como activos:


A continuación, la entidad legal (LE) del activo SWAP subyacente envuelto por la SWAPción, era una contraparte del SWAP rastreada hasta una empresa llamada Citigroup Global Markets:

Que a su vez estaba bajo otra LE de Citigroup, llamada Citigroup Financial Products:

Luego se amplió la empresa Citigroup mencionada anteriormente, lo que la reveló como la Entidad Legal y Contraparte No Compensada Centralmente (NCC) para varios acuerdos de Recompra, y la Entidad Legal para la Deuda a Tasa Flotante:

Al analizar los acuerdos de recompra con más detalle, se observa que finalmente se vinculan con el titular del activo, que en este caso específico son dos fondos mutuos (los objetos verde claro con iconos bancarios). También vemos la moneda del acuerdo de recompra/moneda de la garantía, que es el euro.
Esto significa que la empresa vinculada a Citigroup tiene exposición al euro y podría verse afectada por fluctuaciones significativas en los tipos de cambio de estos activos. La situación es similar con los dos fondos mutuos en cuanto a la exposición al euro. Muchos fondos mutuos y ETF compensan sus riesgos cambiarios mediante la compra de contratos a plazo de divisas. Si hubiera ampliado los fondos en este caso y estuvieran radicados en Estados Unidos, probablemente consideraríamos esos contratos a plazo como activos mantenidos por el/los fondo(s).

Siguiendo otra ruta desde la Entidad Legal de Citigroup Financial Products, llegamos a otras empresas que operan en otros países, dentro de otro holding. El primer círculo naranja es una compañía de fondos con varios otros fondos vinculados (cuatro círculos naranjas a la derecha).

Finalmente, rastreamos a Citigroup Financial Products LE, que es responsable de los activos y fondos antes mencionados, hasta Citigroup Inc. LE, que está en la cima de la jerarquía.

Como pueden ver, la capacidad de mapear los Identificadores de Entidades Legales (LEI) entre diferentes organizaciones y sus estructuras subyacentes puede tener un impacto significativo en nuestra capacidad para gestionar, evaluar, rastrear y comprender riesgos que no son fáciles de detectar. Partí de esto como la piedra angular para desarrollar mi aplicación de IA, ya que ofrece potentes capacidades para cuantificar los impactos en organizaciones y sistemas financieros. A continuación, profundizaré en la arquitectura de la aplicación y ampliaré su alcance para incorporar más funciones que buscaba.














