Dentro de los grandes bancos de inversión existe un ecosistema de Python prácticamente desconocido fuera de sus muros, que el autor denomina "Bank Python". Se trata de forks propietarios del lenguaje y de sus librerías, mantenidos por miles de ingenieros, que poco tienen que ver con el Python público. Para ilustrarlo, el artículo recorre un sistema ficticio llamado Minerva.
El núcleo de Minerva es Barbara, un almacén clave-valor jerárquico construido sobre pickle y zlib. Funciona como una base de datos global de objetos Python: desde ella se obtienen instrumentos financieros, operaciones, datos de mercado y hasta el estado interno de las aplicaciones, ya que los scripts apenas disponen de sistema de ficheros. Barbara se organiza en anillos (rings) con consistencia fuerte dentro de un mismo nodo y replicación eventual entre nodos, replicando un esquema inspirado en Dynamo y BigTable. Incorpora además una función de "overlay" que permite apilar anillos y resolver claves por orden de prioridad. Presenta un límite blando de unos 16 MB por objeto y, aunque soporta índices secundarios, datasets muy grandes suelen derivarse a SQL o a kdb+.
Sobre Barbara opera Dagger, un grafo acíclico dirigido que modela las dependencias entre instrumentos financieros derivados y sus subyacentes. Dagger permite definir clases como CreditDefaultSwap, Position o Book, y revaloriza automáticamente todos los productos afectados cuando cambia el valor de un instrumento, por ejemplo tras una rebaja de calificación crediticia. El resultado es un entorno donde el código, los datos y los modelos de valoración viven en un mismo espacio de objetos compartidos, radicalmente distinto al Python convencional.
