Vor fünf Jahren kam mir eine Idee. Ich habe mich entschlossen, so viel wie die Weltwirtschaft zu simulieren, um genau zu wissen, welche Dynamik von Aktien, Anleihen, Wechselkursen usw. zu erwarten ist. Es gab nur ein kleines Problem, das Modell von all dem existiert nicht. Schlimmer noch, Ökonomen haben jahrzehntelang argumentiert, welches ihrer längsten ökonometrischen Modelle diese komplexen Prozesse zumindest annähernd richtig beschreibt. Anstatt zu versuchen, ein fiktives (und natürlich wahnsinnig vereinfachtes) Modell auf eine vielseitige Realität zu ziehen, habe ich daher einen konzeptionell anderen Weg eingeschlagen - Modellierungsmittel auf Mikroebene, damit sie im anstrengenden Überlebenskampf durch Versuch und Irrtum zu einem Gleichgewichtszustand gelangen, der sich auf Makroebene ausdrückt die Dynamik von Preisen, Raten usw.
Das Ergebnis meiner Forschung ist unten beschrieben. Zur Visualisierung habe ich die Bewegung von Agenten aufgezeichnet und jedes Pixel in diesem Video verbirgt ein neuronales Netzwerk, d. H. das Gehirn eines Agenten, der im Wettbewerb mit seiner eigenen Art in der grausamen Welt des Gewinns und der Sauberkeit ums Überleben kämpft.
Warum sollte dies zum Beispiel bei aktuellen Streitigkeiten im Zusammenhang mit den „Handelskriegen“ überhaupt leicht verständlich sein? Einige (meist professionelle Ökonomen) sagen, dass Zölle letztendlich der gesamten Wirtschaft schaden. Andere glauben, dass das Land davon profitieren wird.
Es gibt nichts zu überprüfen und zu beweisen, denn niemand kann ein Experiment mit derselben Wirtschaft durchführen, wenn alle anderen gleich sind. Mit der unten beschriebenen Methode können Sie die Bedingungen kontrollieren und Nachweise für das Vorhandensein oder Fehlen der Vorteile einer Lösung erhalten.
Inhalt:
- Allgemeine Beschreibung des Konzepts
- Beschreibung der Implementierung des Prototyps (PoC)
- Entwicklungsrichtung
1. Allgemeine Beschreibung des Konzepts
Trotz der Tatsache, dass ein ziemlich gutes Verständnis der Grundprinzipien der Funktionsweise der Wirtschaft erreicht wurde, gibt es große Schwierigkeiten, Wissen in der Praxis anzuwenden.
Zum Beispiel gibt es die folgenden Modelle (Theorien) bezüglich der Prinzipien der Wechselkursbildung:
- Obstfeld-Rogoff-Modell
- Dornbusch Modell
- Frenkel-Mousse-Währungsmodell
Und dies ist keine vollständige Liste. Darüber hinaus geben dieselben Faktoren, beispielsweise das wachsende Defizit in verschiedenen Modellen, die entgegengesetzte Richtung hinsichtlich ihrer Auswirkungen auf den Wechselkurs vor. Es scheint einfacher zu sein, als die Dynamik des Haushaltsdefizits zu betrachten und mit dem Wechselkurs zu vergleichen.
In der Praxis sind die Schwierigkeiten dieses Ansatzes mit dem Problem der „kombinatorischen Explosion“ verbunden, wenn Hunderte von multidirektionalen Faktoren wirksam sind, und obwohl die Wirkung jedes einzelnen von ihnen noch irgendwie verstanden werden kann, ist ihre Resultierende fast unmöglich zu berechnen. Die Situation wird durch die Tatsache kompliziert, dass es im wirklichen Leben unmöglich ist, ein kontrolliertes Experiment durchzuführen, bei dem alle Parameter außer einem festgelegt werden.
Sie mögen denken, dass der Wechselkurs eine sehr komplizierte Sache ist, aber er betrifft die grundlegendsten und wichtigsten Konzepte wie die Inflation. Dies ist der Hauptparameter, den fast alle Zentralbanken der Welt regulieren müssen. Es scheint, dass Tausende von theoretischen Wissenschaftlern und Praktikern den Mechanismus dieses Phänomens vor langer Zeit verstehen mussten. Daniel Tanullo, Mitglied des Board of Directors des Federal Reserve System (US-Zentralbank), schreibt 2017: "
Wir haben noch keine Theorie der Inflationsdynamik, die in Echtzeit effektiv wäre ."
Unterdessen ist die Inflation einer der Hauptgründe für die Entscheidung der Fed, den Leitzins anzuheben oder zu senken, was sich stark auf die vielen Billionen-Dollar-Aktien- und Rentenmärkte auf der ganzen Welt auswirkt.
Ein Verständnis der Prinzipien der makroökonomischen Funktionsweise ermöglicht es daher, die richtigen Modelle anzuwenden und als Ergebnis die Entwicklung der Situation effektiv vorherzusagen.
Um dieses Verständnis zu erreichen, ist es notwendig, ein umfassendes Wirtschaftsmodell zu implementieren, das alle Hauptfaktoren und Branchen umfasst, die im wirklichen Leben existieren. Der Hauptunterschied zwischen diesem und den vorhandenen Modellen besteht darin, Versuche aufzugeben, Vorhersagen über offensichtlich „korrekte“ Ergebnisse zu treffen. Stattdessen verwenden wir in diesem Artikel den Ansatz des evolutionären Kampfes von Agenten auf Mikroebene, wenn falsche Entscheidungen zur Eliminierung von Agenten aus dem Genpool führen und diejenigen Entscheidungen, die zu einem positiven finanziellen Ergebnis führen, mithilfe des genetischen Algorithmus gespeichert und erfolgreich verteilt werden.
Mit anderen Worten, genau wie sich eine echte Marktwirtschaft entwickelt, setzt die vorgeschlagene Methode die Prinzipien des Wettbewerbs und der kontinuierlichen Entwicklung um und lehnt diejenigen ab, die ineffektive Entscheidungen treffen. Und wenn wir uns bereits ansehen, wozu Agenten in diesem Kampf gekommen sind, können wir beurteilen, was unter gegebenen Bedingungen ein Gleichgewichtszustand ist.
2. Beschreibung des verfügbaren Prototyps
Um die Funktionsfähigkeit des Konzepts zu testen, d.h. Beweise dafür, dass Agenten, die im Prinzip auf Mikroebene agieren, im Prinzip Gleichgewichtszustände mit nur einem Ziel erreichen können - um zu überleben, wurde ein sehr vereinfachtes (im Vergleich zur Realwirtschaft) Modell entwickelt, das im Folgenden beschrieben wird.
Dies ist eine Welt, in der Agenten leben - d. H. Bewohner, von denen jedes ein separates neuronales Netzwerk darstellt, das die umgebende Realität analysiert und bestimmte Entscheidungen trifft. Zum Zeitpunkt des Programmstarts werden neuronale Netze mit zufälligen Werten initialisiert und nur diejenigen, die zufällig „herausfinden“, wie sie Ressourcen erhalten und ihre Gene multiplizieren können, um sie an ihre Nachkommen zu übertragen, ähnlich wie dies in unserer wunderbaren objektiven Realität geschieht.

Jeder dieser Bewohner erhält einen bestimmten Geldbetrag. Der Agent ist auch in einem von zwei Ländern ansässig: der bedingten „USA“ oder der „Eurozone“. Jedes Land hat seine eigene Währung: "Dollar" und "Euro". Agenten haben die Möglichkeit, eine von zwei Arten von Waren herzustellen: "Käse" und "Wein".
In jedem Land sind ~ 50% der Agenten „Mädchen“ und sie wissen, wie man Käse gut produziert. Sie machen es besonders gut, wenn sie Wein haben. Sie selbst wissen auch, wie man Wein produziert, aber es fällt ihnen schlecht. Das heißt, Jede Wareneinheit hat ein Maß - Qualität (von 0 bis 100%) und wenn die Mädchen Käse herstellen, aber keinen Wein haben, beträgt die Qualität 10%, aber mit einem Vinyl ist alles 100%.
Die zweite Hälfte der Agenten sind Jungen und sie
liegen gut
auf der Couch und machen Wein. Besonders wenn der Käse vorher gegessen wird. Und sie machen Käse schlecht, im Allgemeinen ist alles an ihnen symmetrisch in Bezug auf die Mädchen.
Waren neigen dazu, sich im Laufe der Zeit zu verschlechtern, d.h. Jeden Tag sinkt die Qualität der Produkte. Für ein Leben und eine erfolgreiche Vermehrung muss jeder Wirkstoff ein Produkt konsumieren, das er nicht herstellen kann. Das heißt, Wenn der Agent Käse gut produziert, ist es für ihn am effektivsten, Käse zu verkaufen und Wein zu kaufen. Wenn Sie das Modell auf das wirkliche Leben projizieren, können wir sagen, dass der Bäcker gute Brötchen macht und diese erfolgreich verkauft, aber zum Glück braucht er Wodka, Hering und eine Garage, weil Einige Brötchen können nicht.
Darüber hinaus können Agenten mit Währung handeln. Zum Beispiel kann ein Agent aus Europa den produzierten (oder sogar zuvor gekauften) Käse für Dollar verkaufen, ihn dann gegen Euro eintauschen und Lebensmittel für ihn kaufen. Der gesamte Handel erfolgt durch Einreichung von Auktionsanträgen. Die Anwendung gibt an, welches Produkt der Agent verkaufen (oder kaufen) möchte, welchen Preis, welche Qualität und welches Delta er haben möchte. Agenten treffen all diese Entscheidungen auf der Grundlage von Befehlen aus neuronalen Netzen. Das heißt, Informationen über die Welt, wie zum Beispiel:
- aktuelle Wechselkurse für den aktuellen Tag (d. h. nicht die Änderungshistorie, sondern der während der letzten Sitzung festgelegte Kurs);
- die Anzahl der weltweit verkauften Waren, der Durchschnittspreis eines Produkts und das Durchschnittsalter.
Und der Agent erhält Informationen über seinen eigenen Zustand:
- wie viel Währung er hat (und zu welchem Preis er es gekauft hat)
- Wie viel kostet das Produkt, die Qualität des Produkts, seine Kosten usw.
- eigene Gesundheit
Das neuronale Netzwerk verarbeitet alle Eingabeinformationen und trifft Entscheidungen, wie z. B. wie viel produziert werden soll, welcher Preis und für welche Währung verkauft werden soll, zu welchem Kurs eine Währung gegen eine andere ausgetauscht werden soll usw.
Wenn der Agent effizient handelt, dh in der Lage ist, ein Produkt zu produzieren, das er nicht produzieren und konsumieren kann, erhält er „Vitalität“. Die Aufrechterhaltung einer Aktivität erfordert diese Vitalität, einschließlich der Fähigkeit zur Fortpflanzung, erfordert besonders viel Energie. Wenn es zwei Agenten unterschiedlichen Geschlechts gibt, können sie eine Entscheidung treffen (die Kinder von den Bildschirmen entfernen), Sex zu haben und einen anderen Agenten zur Welt zu bringen.
Mit jedem gelebten Tag wird es schwieriger zu leben (mehr Vitalität wird genommen) und wenn ihr Vorrat aufgebraucht ist, stirbt der Agent und überträgt den angesammelten Geldvorrat an seinen Erben.
Die wichtigste Tatsache in diesem Experiment ist, dass die Anzahl der Dollar und Euro im System streng begrenzt ist und das Verhältnis der Gesamtzahl der Währungen etwa 1 zu 3 beträgt. Die Agenten selbst wissen nichts davon. Sie haben nur einen bestimmten Betrag zur Hand und sie haben keine Ahnung, wie viel Geld in der gesamten Wirtschaft zirkuliert. Das heißt, Ihnen wird nicht gesagt, zu welchem Kurs das Geld geändert werden soll, und tatsächlich legen sie alle Preise selbst fest. Die Fähigkeit von Agenten, zu einem Gleichgewichtskurs zu gelangen, von dem wir wissen, dass er die Gesamtheit der Informationen besitzt, beträgt 3 zu 1. Dies ist ein Beweis für das Konzept der Möglichkeit, ohne Lehrer eine wirksame Lösung zu finden.
Mit anderen Worten, wenn Agenten in einem vereinfachten Modell (zwei Länder, zwei Währungen, zwei Waren) eine Gleichgewichtsrate als Ergebnis natürlicher Selektion finden, ist es wahrscheinlich, dass sie dasselbe in einem Modell tun können, das näher an der realen Welt liegt.
Im Bild unten sehen wir, wie viel der Euro innerhalb der Eurozone herumläuft und wie viel der Euro nach außen geht (d. H. In diesem Fall in den USA). Wir wissen dasselbe über den Dollar.

Die schnelle Dynamik hängt zunächst mit der Besonderheit der Implementierung zusammen (dies war auf diese Weise einfacher) und spielt keine Rolle. In diesem Moment lernen die Agenten nur irgendwie laufen und züchten. Im Bild unten sehen wir das reale Verhältnis der Geldmenge der beiden Währungen (rote Linie) und des durchschnittlichen Wechselkurses (basierend auf den Ergebnissen aller Transaktionen für den Tag), den die Agenten gebildet haben.

Es ist ersichtlich, dass die durchschnittliche Transaktionsrate nach einigen Wanderungen das Zielniveau erreichte. Das Zielniveau ist die rote Linie, d.h. Das reale Verhältnis des Währungsvolumens und dieser Informationen steht den Agenten nicht zur Verfügung.
Bisher haben wir jedoch kein Vertrauen, dass dies kein Unfall ist. Ändern Sie die Bedingungen des Experiments, lassen Sie das Verhältnis des Geldbetrags ungefähr 1 zu 4,3 betragen und sehen Sie, was in diesem Fall passiert:

Und wieder erreichen die Mittel einen Gleichgewichtswert. Wenn man sich nun die Grafiken ansieht, scheint es, dass dies alles selbstverständlich ist, aber in Wirklichkeit wurden mehrere Jahre darauf verwendet, dass der Prozess konvergiert. Insbesondere stellte sich heraus, dass die Anzahl der Agenten eine entscheidende Rolle spielt. Wenn es relativ wenige von ihnen gibt, stellt sich heraus, dass der Prozess viel weniger stabil ist. Um das Problem zu lösen, mussten wir eine verteilte Anwendung schreiben, die gleichzeitig auf drei PCs ausgeführt wird.
Die Hauptschwierigkeit bestand darin, dass es nicht ausreicht, nur die Anzahl der Agenten zu erhöhen. Die Schlüsselkomponente für den Erfolg war die Notwendigkeit von Clustering. Mit anderen Worten, es stellte sich als effektiv heraus, nicht 100 Agenten (bedingte Anzahl) in einem gemeinsamen Raum zu entwickeln, sondern wenn sie in 10 „Städte“ mit jeweils 10 Teilen unterteilt sind. Das heißt, Handelsflächen bleiben global und jeder Agent kann mit jedem anderen handeln, aber der genetische Code entwickelt sich innerhalb seiner Gruppe. Erst unter dieser Bedingung begann sich der Kurs dem Gleichgewicht anzunähern.
Hier sind einige der wichtigsten Parameter der Arbeitsversion:
- 60 Städte
- 5.000 Einwohner in der Stadt
- 4 Blöcke neuronaler Netze (Reproduktion, Produktion, Warenhandel, Devisenhandel)
- Neuronale Netze sind direkt, zweischichtig und reguliert (es besteht der Verdacht, dass LSTM besser funktioniert).
3. Die Richtung der Entwicklung
Wenn immer noch nicht klar ist, warum dies alles notwendig ist, versuchen Sie, die folgende Frage zu beantworten: Wie wird sich die Euro / US-Rate ändern, wenn:

Und jetzt berücksichtigen wir, dass es den Einfluss von China, Kanada, Japan usw. gibt. Natürlich können wir dies in Form von VAR-Regressionen zählen (was nur ohne großen Erfolg durchgeführt wird, siehe Tarullos Kommentar), aber erstens ist dies eine endlose Vereinfachung realer Prozesse, und zweitens ist die Anzahl bekannter Kombinationen um Größenordnungen kleiner als potenzielle. Sie können sich also die Qualität eines solchen Modells vorstellen.
Eine Alternative dazu ist die Simulation realer Prozesse auf Mikroebene mit nur mehr Rechenleistung. Wenn sich herausstellt, dass die Ergebnisse vieler Markteinführungen zu derselben Lösung konvergieren und dies durch Beobachtungen in der Praxis bestätigt wird, ist dies ein unbeschreiblich wirksames Instrument sowohl für Investoren als auch für Zentralbankaufsichtsbehörden.
Offensichtlich werden für die Moderation eines realitätsnahen makroökonomischen Systems viel mehr Module benötigt. Es ist erforderlich, eine Anwendungsarchitektur zu entwickeln, die in einem verteilten Modus über den Cluster (gleichzeitig auf allen Knoten) ausgeführt werden kann, und die folgenden Funktionen zu implementieren:
- Agenten sind Individuen. Sie können lernen, dh ihre Produktivität steigern. Sie können einen Job bei Agenten bekommen: Unternehmen, Banken oder dem Staatsapparat. Sie können einkaufen, krank werden, in Rente gehen, Einzahlungen tätigen oder Kredite aufnehmen. Sie können eine Beteiligung an Firmen (Firmen) kaufen, d.h. Aktionäre werden.
- Agenten - Firmen (Firmen), die Einzelpersonen einstellen und ihnen Gehälter zahlen. Das hergestellte Produkt wird vermarktet. Sie können Einlagen tätigen oder Kredite aufnehmen. Kann Steuern zahlen und ihnen ausweichen. Unternehmen können Waren und Dienstleistungen wie Lebensmittel, Kleidung, Transport, Wohnen, Öl, Investitionsgüter, Unterhaltung und Privatmedizin herstellen.
- Agenten - Banken, bieten Einlagen und Kredite an. Mitarbeiter beschäftigen (Vertreter von Einzelpersonen), mit der Zentralbank interagieren.
- Das Finanzministerium - wird direkt verwaltet (d. H. Nicht durch Modellierung durch neuronale Netze). Legt Steuerregeln fest (Mehrwertsteuer, Einkommensteuer, Sozialsteuer, Körperschaftsteuer, Export- / Importzölle usw.). Ermittlung der Höhe der Ausgaben in den Bereichen Gesundheitswesen, Bildung, Verteidigung und Altersvorsorge Emissioniert Staatsanleihen. Alle diese Werte werden von Regierungsbehörden veröffentlicht und exogen in das Modell eingeführt.
- Zentralbank - auch exogene Parameter wie Operationen zur Erzeugung und Sterilisation der Geldmenge. Key Bid Management.
- Der Staatsapparat besteht aus einer Reihe spezifischer Akteure von Personen, die öffentliche Dienstleistungen erbringen (Gesundheit, Bildung, Verteidigung, Strafverfolgung).
- Das Justizsystem ist der Grad des Chaos im Modell. Es handelt sich um eine Reihe von Koeffizienten, die die Risiken für das Unternehmen erhöhen oder verringern. Zum Beispiel bedeutet ein Koeffizient von 0,1 eine 10% ige Chance, das Unternehmen infolge einer Raider-Übernahme zu verlieren. Oder unfaire Steuerveranlagung usw.
- Veranstaltungsorte für Transaktionen mit Währungen, Aktien, Anleihen, Waren, offenen Stellen, Finanzdienstleistungen (Kredite / Einlagen).
- Zusätzliche exogene Parameter: Ölreserven, einfache Geschäftsabwicklung, durchschnittliche Lebensdauer usw.
Eine solche Reihe von Funktionen muss für einige der größten Volkswirtschaften (USA, China, Eurozone usw.) implementiert werden. Die Anteile an der Anzahl der Agenten, Schlüsselparameter, Verhältnisse usw. sollten gemäß den Ergebnissen internationaler Studien (IWF, UN usw.) angepasst werden.
Hauptschwierigkeit: Implementieren Sie schnelle und zuverlässige Algorithmen für verteilte Transaktionen und Operationen. Wenn Sie alles nacheinander ausführen, reichen keine Ressourcen aus, damit alle beschriebenen Funktionen in einer akzeptablen Zeit ausgeführt werden können. Es ist eine hohe Skalierbarkeit erforderlich, die es ermöglicht, zusätzliche Rechenleistung "on the fly" anzuschließen und die Funktionalität während des Entwicklungsfortschritts so einfach wie möglich zu erweitern.
Und das alles erfordert natürlich BigData-Technologie. Der Prototyp wurde in C # geschrieben, heute wurde jedoch die leicht skalierbare SpringBootYarn + HBase gewählt. Eigentlich denke ich, dass der Hauptgrund, warum dies noch nicht realisiert wurde, darin besteht, dass es eine enorme Menge an Ressourcen im Sinne von Hardware + gutes Know-how in billigen Technologien wie Hadoop erfordert. Nun, die Idee selbst ist auch nicht trivial. Zumindest habe ich so etwas noch nie gesehen. Bei dieser Gelegenheit bitte ich den kollektiven Verstand, Links zu werfen, wenn jemand mit der Arbeit in dieser Richtung vertraut ist.
Wenn dies bisher in Ihrer Freizeit mit Begeisterung getan wurde, um sicherzustellen, dass das Konzept funktioniert, erfordert die weitere Entwicklung natürlich Vollzeit- und große finanzielle Investitionen. Ehrlich gesagt habe ich kein Vertrauen in die Investition in Höhe von mehreren Millionen Dollar, die erforderlich ist, um von PoC zu einem vollwertigen Modell überzugehen. Als ich anfing, dachte ich, dass es eine Größenordnung weniger Ressourcen erfordern würde. Ich bin jedoch davon überzeugt, dass diese Idee eines Tages sicherlich ihre Verkörperung finden wird. Zumindest dann, wenn das Eisen, das für solche Berechnungsvolumina benötigt wird, viel billiger ist und es nicht nur finanziellen (und langsamen) Riesen, sondern auch Enthusiasten wie mir zur Verfügung steht.
Lyrische Schlussfolgerung:
Geld ist natürlich alles großartig, aber es ist ein besonderes Vergnügen, an langen Winterabenden zu sitzen und das Schwärmen dieser kleinen Kreaturen meines Willens zu betrachten. Es hat etwas Angenehmes daran, ein Schöpfer zu sein, wenn auch ein so primitives, aber stilles Leben. , , , . , - , , …