Code Monkey home page Code Monkey logo

computational-economy's Introduction

Computational Economy

This is an agent-based computational economics simulator, which is constituted by agent types household, factory, trader, credit bank, central bank and state. The simulator implements a model akin to the Arrow-Debreu model, which adheres to neoclassical microeconomic theory, based on polypoly markets perpetuated by agent market participants. The micro-economic agent behaviors induce complex oscillation patterns attracted to macroeconomic equilibria due to the economic feedback cycles of the system.

๐Ÿ’ซ Star if you like this work.

License: GPL v3

animation

Agent types

  • Agent type Household: Households offer labour hours and consume goods according to CES or Cobb-Douglas utility functions. Intertemporal consumption and retirement saving preferences are modeled by Irving-Fisher and Modigliani intertemporal choice models.
  • Agent type Factory: Factories produce multiple goods (e. g. iron, coal, ...) according to an input-output-model based on Cobb-Douglas, CES and root production functions. Depending on the configured economic model, factories produce and accumulate capital goods, which induce economic growth and depreciate over time (โ†’ Solow-Swan).
  • Agent type Credit bank: Credit banks manage bank accounts, create money by credit, trade currencies, follow minimum reserve requirements of central banks and buy bonds for deposits (fractional reserve banking).
  • Agent type Central bank: Central banks adjust key interest rates based on price indices. Key interest rates induce changes in buying behaviour via a monetary transmission mechanism.
  • Agent type Trader: Traders import goods from foreign markets for arbitrage.
  • Agent type State: States emit bonds, which are bought by credit banks for customer savings deposits. Thereby, national debt represents retirement savings of households.

Other entities / features

  • General equilibrium: Macroeconomic equilibria reproducibly emerge from non-stochastic microeconomic decision making of agents (โ†’ Arrow-Debreu).
  • Markets: Sellers offer goods on markets. Settlement markets transfer ownership of goods and money, automatically.
  • Currencies: National currency zones, foreign exchange markets, arbitrage.
  • Shares: Joint-stock companies are owned by agents and pay dividends to them every period.
  • Bonds: Bonds are given as security for credit in open market operations between central and credit banks.
  • Time system: Agents register their actions as events in a global time system (observer pattern). At runtime agents can be instantiated and deconstructed at arbitrary points in time, enabling a dynamic population. Execution of events is not bound to a fixed sequential order of economic phases, e. g. for production and consumption.

Publication

How to run

Import into Eclipse:

  1. Clone or download the repository.
  2. In Eclipse import the directory as a an existing Maven project.
  3. Right click file src/main/java/io.github.uwol.compecon.simulation.impl.DashboardSimulationImpl.java and run as Java application.

Build process

  • The build process is based on Maven (version 3 or higher). Building requires JDK 11.
  • To build, run:
$ mvn clean package
  • You should see output like this:
[INFO] Scanning for projects...
...
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running io.github.uwol.compecon.economy.sectors.financial.CreditBankTest
loading configuration file testing.configuration.properties
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.784 sec
Running io.github.uwol.compecon.economy.sectors.household.HouseholdImplTest
...
Results :

Tests run: 44, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
  • To only run the tests:
$ mvn clean test

Screenshots

screenshot1

screenshot2

screenshot3

screenshot4

screenshot5

screenshot6

screenshot7

screenshot8

computational-economy's People

Contributors

uwol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.