Hace cinco años, se me ocurrió una idea. Decidí simular tanto como la economía global para saber exactamente qué dinámica esperar de las acciones, bonos, tipos de cambio, etc. Solo había un pequeño problema, el modelo de todo esto no existe. Y lo que es peor, los economistas han discutido durante décadas cuál de sus modelos econométricos más largos describe estos procesos complejos al menos aproximadamente de manera correcta. Por lo tanto, en lugar de tratar de tirar de un modelo ficticio (y, por supuesto, increíblemente simplificado) en una realidad multifacética, me embarqué en un camino conceptualmente diferente: agentes de modelado a nivel micro para que en la lucha agotadora por la supervivencia, a través del ensayo y el error, llegaran a un estado de equilibrio, que a nivel macro se expresa en la dinámica de precios, tarifas, etc.
El resultado de mi investigación se describe a continuación. Para la visualización, grabé el movimiento de los agentes y cada píxel en este video oculta una red neuronal, es decir. el cerebro de un agente que lucha por sobrevivir en competencia con su propia especie en el cruel mundo de la ganancia y la limpieza.
¿Por qué debería entenderse esto fácilmente, por ejemplo, en las disputas actuales que rodean las "guerras comerciales"? Algunos (en su mayoría economistas profesionales) dicen que los aranceles finalmente perjudican a la economía en su conjunto. Otros piensan que el país se beneficiará.
No hay nada que verificar y probar sobre los hechos, porque nadie puede poner un experimento, todo lo demás es igual, en la misma economía. Mientras que el método descrito a continuación le permite controlar las condiciones y obtener evidencia de la presencia o ausencia de los beneficios de una solución.
Contenido:
- Descripción general del concepto.
- Descripción de la implementación del prototipo (PoC)
- Dirección de desarrollo
1. Descripción general del concepto.
A pesar de que se ha logrado una comprensión bastante buena de los principios básicos del funcionamiento de la economía, existen grandes dificultades para aplicar el conocimiento en la práctica.
Por ejemplo, existen los siguientes modelos (teorías) con respecto a los principios de la formación del tipo de cambio:
- Modelo Obstfeld-Rogoff
- Modelo Dornbusch
- Modelo monetario Frenkel-Mousse
Y esta no es una lista completa. Además, los mismos factores, por ejemplo, el déficit creciente en diferentes modelos, dan la dirección opuesta en términos de su impacto en el tipo de cambio. ¿Parecería que podría ser más fácil que mirar la dinámica del déficit presupuestario y compararlo con el tipo de cambio?
En la práctica, las dificultades de este enfoque están asociadas con el problema de la "explosión combinatoria", cuando existen cientos de factores multidireccionales, y aunque el efecto de cada uno de ellos individualmente todavía se puede entender de alguna manera, su resultante es casi imposible de calcular. La situación se complica por el hecho de que en la vida real es imposible realizar un experimento controlado, arreglando todos los parámetros excepto uno.
Puede pensar que el tipo de cambio es algo muy complicado, pero se refiere a los conceptos más básicos y clave, como la inflación. Este es el parámetro principal, que casi todos los bancos centrales del mundo están llamados a regular. Parece que miles de científicos teóricos y practicantes tuvieron que entender el mecanismo de este fenómeno hace mucho tiempo. Sin embargo, un miembro de la junta directiva del Sistema de la Reserva Federal (Banco Central de EE. UU.), Daniel Tanullo, escribe en 2017: "
Todavía no tenemos una teoría de la dinámica inflacionaria que sea efectiva en tiempo real ".
Mientras tanto, la inflación es uno de los principales motivos de las decisiones de la Fed de subir o bajar la tasa clave, lo que tiene un poderoso efecto en los muchos mercados de acciones y bonos de billones de dólares en todo el mundo.
Por lo tanto, la comprensión de los principios del funcionamiento macroeconómico permite aplicar los modelos correctos y, como resultado, predecir efectivamente el desarrollo de la situación.
Para lograr esta comprensión, es necesario implementar un modelo a gran escala de la economía, que incluya todos los factores e industrias principales que existen en la vida real. La principal diferencia entre este modelo y los existentes está en abandonar los intentos de hacer predicciones de resultados obviamente "correctos". En cambio, en este documento, usamos el enfoque de la lucha evolutiva de los agentes a nivel micro, cuando las decisiones incorrectas conducen a la eliminación de agentes del acervo genético, y esas decisiones que conducen a un resultado financiero positivo se guardan y distribuyen con éxito utilizando el algoritmo genético.
En otras palabras, al igual que se desarrolla una economía de mercado real, el método propuesto implementa los principios de competencia y desarrollo continuo, rechaza a quienes toman decisiones ineficaces. Y ya observando a qué agentes han llegado en esta lucha, podremos juzgar qué es un estado de equilibrio en determinadas condiciones.
2. Descripción del prototipo disponible.
Para probar la operabilidad del concepto, es decir Evidencia de que los agentes, que actúan a nivel micro, en principio, son capaces de alcanzar estados de equilibrio con un solo objetivo: sobrevivir, se desarrolló un modelo muy simplificado (en comparación con la economía real), que se describe a continuación.
Este es un mundo habitado por agentes, es decir residentes, cada uno de los cuales representa una red neuronal separada, que analiza la realidad circundante y toma ciertas decisiones. Al momento de comenzar el programa, las redes neuronales se inicializan con valores aleatorios y solo aquellos que, por casualidad, "descubren" cómo obtener recursos y multiplicar la transmisión de sus genes a sus descendientes, de forma similar a lo que sucede en nuestra maravillosa realidad objetiva.

Cada uno de estos residentes recibe una cierta cantidad de dinero. El agente también es residente de uno de dos países: los "Estados Unidos" o "Eurozona" condicionales. Cada país tiene su propia moneda: "dólar" y "euro". Los agentes tienen la capacidad de producir uno de los dos tipos de productos: "queso" y "vino".
En cada país, ~ 50% de los agentes son "niñas" y saben cómo producir bien el queso. Lo hacen especialmente bien si tienen vino. Ellos mismos también saben cómo producir vino, pero les resulta mal. Es decir cada unidad de bienes tiene una medida: calidad (del 0 al 100%) y si las chicas hacen queso, pero no tienen vino, entonces la calidad es del 10%, pero con un vinilo todo es del 100%.
La segunda mitad de los agentes son niños y se
acuestan en el sofá haciendo vino. Especialmente si el queso se come antes. Y hacen mal queso, en general, todo sobre ellos es simétrico con respecto a las chicas.
Los bienes tienden a deteriorarse con el tiempo, es decir Todos los días la calidad de los productos está disminuyendo. De por vida y para una propagación exitosa, cada agente debe consumir un producto que no sabe cómo producir. Es decir si el agente produce queso bien, entonces es más efectivo para él vender queso y comprar vino. Si proyecta el modelo en la vida real, entonces podemos decir que el panadero hace buenos bollos y los vende con éxito, pero para su felicidad necesita vodka, arenque y un garaje, porque algunos bollos no pueden hacer.
Además, los agentes pueden comerciar divisas. Por ejemplo, un agente de Europa puede vender el queso producido (o incluso comprado previamente) por dólares, luego canjearlos por euros y comprar comida para ellos. Todo el comercio se lleva a cabo mediante la presentación de solicitudes de subastas. La aplicación indica qué producto quiere vender (o comprar) el agente, el precio deseado, la calidad y el delta que está listo para seguir. Los agentes toman todas estas decisiones basadas en comandos de redes neuronales. Es decir información sobre el mundo alrededor, como:
- tipos de cambio actuales para el día actual (es decir, no el historial de cambios, sino qué tipo de cambio se estableció durante la última sesión celebrada);
- la cantidad de bienes vendidos en todo el mundo, el precio promedio de un producto y la edad promedio.
Y el agente recibe información sobre su propia condición:
- cuánta moneda tiene (y a qué precio la compró)
- cuánto es el producto, la calidad del producto, su costo, etc.
- propia salud
La red neuronal procesa toda la información de entrada y toma decisiones, como: cuánto producir, qué precio y para qué moneda vender, a qué tasa cambiar una moneda por otra, etc.
Si el agente actúa eficientemente, es decir, es capaz de producir un producto que no puede producir y lo consume, entonces recibe "vitalidad". Mantener cualquier actividad requiere esta vitalidad, incluida la capacidad de reproducción requiere especialmente mucha energía. Si hay dos agentes de diferentes sexos, pueden tomar la decisión (sacar a los niños de las pantallas) de tener relaciones sexuales y dar a luz a otro agente.
Con cada día vivido se hace más difícil vivir (se toma más vitalidad) y cuando se agota su suministro, el agente muere y transfiere el suministro acumulado de dinero a su heredero.
El hecho clave en este experimento es que el número de dólares y euros en el sistema es estrictamente limitado y la proporción del número total de monedas es de aproximadamente 1 a 3. Los agentes mismos no lo saben. Solo tienen una cierta cantidad disponible y no tienen idea de cuánto dinero circula por la economía. Es decir no se les dice a qué tasa debe cambiarse el dinero, y de hecho fijan todos los precios ellos mismos. La capacidad de los agentes para llegar a un curso de equilibrio, que sabemos, al poseer toda la información, es de 3 a 1, es una prueba del concepto de la posibilidad de encontrar una solución efectiva sin un maestro.
En otras palabras, si los agentes encuentran una tasa de equilibrio como resultado de la selección natural en un modelo simplificado (dos países, dos monedas, dos bienes), entonces es probable que puedan hacer lo mismo en un modelo más cercano al mundo real.
En la imagen a continuación, vemos cuánto está caminando el euro dentro de la zona euro y cuánto está yendo hacia afuera (es decir, en este caso en los EE. UU.). Sabemos lo mismo sobre el dólar.

La dinámica rápida al principio está relacionada con la peculiaridad de implementación (fue más fácil de esta manera) y no juega un papel importante. En este momento, los agentes solo están aprendiendo a caminar y reproducirse al menos de alguna manera. En la imagen a continuación vemos la relación real de la oferta monetaria de las dos monedas (línea roja) y el tipo de cambio promedio (basado en los resultados de todas las transacciones del día) que formaron los agentes.

Se puede ver que la tasa promedio de transacciones después de algunos vagabundeos alcanzó el nivel objetivo. El nivel objetivo es la línea roja, es decir. La proporción real del volumen de monedas y esta información no está disponible para los agentes.
Sin embargo, hasta ahora no tenemos confianza en que esto no sea un accidente. Cambie las condiciones del experimento, deje que la proporción de la cantidad de dinero sea aproximadamente de 1 a 4.3 y vea qué sucede en este caso:

Y de nuevo, los agentes llegan a un valor de equilibrio. Ahora, mirando los gráficos, puede parecer que todo esto es evidente, pero en realidad pasaron varios años haciendo que el proceso comenzara a converger. En particular, resultó que el número de agentes juega un papel crítico, cuando hay relativamente pocos de ellos, el proceso resulta ser mucho menos estable, y para resolver el problema tuvimos que escribir una aplicación distribuida que se ejecuta en tres PC al mismo tiempo.
La principal dificultad era que el simple aumento del número de agentes no es suficiente, el componente clave del éxito era la necesidad de agrupación. En otras palabras, resultó eficaz no desarrollar 100 agentes (número condicional) en un espacio común, sino cuando se dividen en 10 "ciudades" de 10 piezas cada una. Es decir los pisos de negociación siguen siendo globales y cualquier agente puede comerciar con cualquier otro, pero el código genético evoluciona dentro de su grupo. Solo bajo esta condición, el curso comenzó a converger hacia el equilibrio.
Estos son algunos de los parámetros más importantes de la versión de trabajo:
- 60 ciudades
- 5,000 habitantes en la ciudad
- 4 bloques de redes neuronales (reproducción, producción, comercio de bienes, comercio de divisas)
- Las redes neuronales son directas, de dos capas, con regularización (existe la sospecha de que LSTM funcionará mejor)
3. La dirección del desarrollo.
Si aún no está muy claro por qué todo esto es necesario, intente responder a la siguiente pregunta: ¿cómo cambiará la tasa eur / usd si:

Y ahora tengamos en cuenta que existe la influencia de China, Canadá, Japón, etc. Por supuesto, podemos contar esto en forma de regresiones VAR (que se realiza solo sin mucho éxito, vea el comentario de Tarullo), sin embargo, en primer lugar, esta es una simplificación interminable de los procesos reales, y en segundo lugar, el número de combinaciones conocidas es un orden de magnitud menor que el potencial. Así que puedes imaginar la calidad de tal modelo.
Una alternativa a esto es la simulación de procesos reales a nivel micro con solo más potencia informática. Si resulta que los resultados de muchos lanzamientos convergerán en la misma solución y esto se confirmará mediante observaciones en la práctica, entonces esta será una herramienta inefablemente poderosa tanto para los inversores como para los reguladores de los bancos centrales.
Obviamente, para la moderación de un sistema macroeconómico cercano a la realidad, se necesitan muchos más módulos. Es necesario desarrollar una arquitectura de aplicación que pueda ejecutarse en modo distribuido a través del clúster (simultáneamente en todos los nodos) e implementar la siguiente funcionalidad:
- Los agentes son individuos. Pueden aprender, es decir, aumentar su productividad. Pueden conseguir un trabajo con agentes: empresas, bancos o el aparato estatal. Pueden comprar, enfermarse, jubilarse, hacer depósitos o tomar préstamos. Pueden comprar una participación en empresas (empresas), es decir convertirse en accionistas.
- Agentes: empresas (empresas) que contratan personas y les pagan salarios. El producto fabricado se comercializa. Pueden hacer depósitos o tomar préstamos. Capaz de pagar impuestos y evadirlos. Las empresas pueden producir bienes y servicios, como alimentos, ropa, transporte, vivienda, petróleo, bienes de capital, entretenimiento, medicina privada.
- Agentes: bancos, depósitos de oferta y préstamos. Emplear empleados (agentes de individuos), interactuar con el Banco Central.
- El Ministerio de Finanzas: se gestiona directamente (es decir, no a través del modelado por redes neuronales). Establece reglas fiscales (IVA, impuesto sobre la renta personal, impuestos sociales, impuesto sobre la renta corporativo, derechos de exportación / importación, etc.). Determinar el nivel de gastos en las esferas de la asistencia sanitaria, educación, defensa y provisión de pensiones. Emite bonos del gobierno. Todos estos valores son publicados por agencias gubernamentales e introducidos exógenamente en el modelo.
- Banco Central: también parámetros exógenos, como las operaciones para generar y esterilizar la oferta monetaria. Gestión de ofertas clave.
- El aparato estatal es un conjunto de agentes específicos de individuos que implementan servicios públicos (salud, educación, defensa, aplicación de la ley).
- El sistema judicial es el grado de caos en el modelo. Es un conjunto de coeficientes que aumentan o disminuyen los riesgos para el negocio. Por ejemplo, un coeficiente de 0.1 significa una probabilidad del 10% de perder la compañía como resultado de una toma de control de los asaltantes. O evaluación fiscal injusta, etc.
- Lugares para transacciones con divisas, acciones, bonos, bienes, vacantes, servicios financieros (préstamos / depósitos).
- Parámetros exógenos auxiliares: reservas de petróleo, facilidad para hacer negocios, tiempo de vida promedio, etc.
Tal conjunto de funciones deberá implementarse para varias de las economías más grandes (Estados Unidos, China, Eurozona, etc.). Las proporciones en el número de agentes, parámetros clave, proporciones, etc. deben ajustarse de acuerdo con los resultados de estudios internacionales (FMI, Naciones Unidas, etc.).
Dificultad clave: implementar algoritmos rápidos y confiables para transacciones y operaciones distribuidas. Si hace todo de forma secuencial, ningún recurso será suficiente para que toda la funcionalidad descrita funcione en un tiempo aceptable. Es necesario proporcionar una alta escalabilidad, lo que permite conectar potencia informática adicional "sobre la marcha", así como la adición más simple posible de funcionalidad durante el progreso del desarrollo.
Y, por supuesto, todo esto requiere la tecnología BigData. El prototipo fue escrito en C #, sin embargo, hoy elegiría el SpringBootYarn + HBase fácilmente escalable. En realidad, creo que la razón principal por la que esto aún no se ha dado cuenta es que requiere una gran cantidad de recursos, en el sentido de hardware + buena experiencia en tecnologías baratas como Hadoop. Bueno, la idea en sí tampoco es trivial. Al menos nunca he visto algo así en ningún lado. Aprovechando esta oportunidad, le pido a la mente colectiva que arroje enlaces si alguien está familiarizado con el trabajo en esta dirección.
Naturalmente, si hasta ahora esto se ha mantenido con entusiasmo, en su tiempo libre, para asegurarse de que el concepto funcione, entonces un mayor desarrollo requiere grandes inversiones financieras a tiempo completo. Honestamente, no tengo fe en la inversión multimillonaria que se necesita para pasar de PoC a un modelo completo. Cuando comencé, pensé que requeriría un orden de magnitud menos recursos. Sin embargo, estoy convencido de que algún día esta idea sin duda encontrará su encarnación.
Al menos, cuando el hierro necesario para tales volúmenes de cálculos sea mucho más barato y esté disponible no solo para gigantes financieros (y lentos), sino también para entusiastas como yo.Conclusión lírica: el
dinero es genial, por supuesto, pero es un placer especial sentarse en las largas tardes de invierno, mirando el enjambre de estas pequeñas criaturas de mi voluntad. Hay algo agradable al respecto, desde la sensación de ser un creador, aunque tan primitivo, pero aún así la vida. Es posible que este fugaz temblor de píxeles sea un baile de amor, diseñado para mostrarle a la niña cuán generosamente dotado por la fuerza vital es nuestro hombre y qué fiesta rentable es para ella. Y ni siquiera puedo excluir que sientan que son algún tipo de significado inexpresable de píxeles ...