1 Introduction

For a little while after the 2008 global crisis, it seemed as if the macroeconomic community was drastically re-thinking its theoretical framework (Economist 2009). With comparisons between the 2008 crisis and the Great Depression of the 1930s being made immediately, it was logical that such a re-thinking would involve a “Return of the Master” (Skidelsky 2009). However, some ten years after the crisis, it is no longer obvious that macroeconomic theory is taking new roads. In the policy discussion about the European crisis, the dominant perspective is entirely based on government budget discipline, and seems in no way to have been influenced by changing perspectives due to the crisis itself.

An important part of the criticism about the relevance of macroeconomic theory was concerned with the way in which the financial sector, and especially its interaction with the “real” sector of the economy, is modelled (Economist 2009). This is the topic of the current paper, of which the aim is to present and analyze a simple macroeconomic model in which the financial sector is modelled, although is a rather basic way. We follow in the post Keynesian tradition of Godley and Lavoie (2007), whose stock-flow consistent approach has been a dominant perspective in non-mainstream macroeconomics. We start from their ideas because they provide an approach in which the financial sector is fully endogenized as interacting with the “real” economy.

Where we extend the stock-flow consistent approach is by looking explicitly at one aspect of financial crisis, this being bankruptcy. We look at this as an important factor in the actual macroeconomic dynamics of the business cycle. Bankruptcy puts firms out of business, but also has effects on wealth stocks (assets) of those who lent money to these firms. Allowing for firms (and households) to go bankrupt forces us to adopt a multi-agent perspective. Obviously, in a model with a single representative firm or household, bankruptcy does not make much sense.

Our model also has important differences as compared to the Godley and Lavoie approach. In particular, our modelling of the financial sector is much simpler than theirs, as we do not distinguish at all between different kinds of financial assets, and our model also does not model money explicitly. Thus, our model can be seen as being outside the post Keynesian tradition, even if it embraces some of the basic (post) Keynesian ideas. Besides the stock-flow consistency, another basic Keynesian idea that we use is that of the role of demand. The business cycle that our model generates is driven by demand. We also look at the role of demand as an alternative way of macroeconomic coordination. Instead of Walrasian market clearing, macroeconomic coordination in our model is achieved by the multiplier, much in line with Robinson’s (1936) interpretation of Keynes’ general theory. Because our model also obeys supply restrictions, it is ready to be enhanced with innovation and productivity growth, which would turn it into a growth model. We leave this extension to a future paper, however.

We will present, below a so-called agent-based computational economics model of the macroeconomy. This is presented in Section 4, while Section 5 presents and discusses some model analysis (as achieved by simulations). Before we get to the model, however, we first lay out, in Section 2, our main ideas about macroeconomic coordination, and, in Section 3, the way we look at stock-flow consistency, and what it implies for our model.

2 Coordination in the macroeconomy

The popular interpretation of Keynesian economics is that it puts forward the idea that demand matters in macroeconomics. While this is indeed a key element in Keynesian thought, many Keynesian economists would also argue that the legacy of Keynes’ General Theory (Keynes 1936) goes further than this. For example, Pasinetti (2007) argues that an important element in the work of Keynes, and those who worked with him in Cambridge (UK), was the view that the Walrasian idea of general equilibrium achieved through price adjustment is not an adequate representation of how the macro economy works.

An important element of what Keynes wanted to put in place of the Walrasian general equilibrium was the multiplier process. While in the modern textbook representation of Keynes’ model the multiplier has been reduced to a simple-to-derive formula that shows the importance of demand, Keynes and the early Keynesian actually saw the multiplier as a process that achieves coordination between economic agents (Robinson 1937). The multiplier was a way to describe how consumption and investment plans of individual agents (households and firms) would lead, by interactions at the microeconomic level, to a macroeconomic outcome in terms of the level of economic activity. To say that “demand determines unemployment” is a rather drastic shortcut of this process idea, because all kinds of factors, including institutions, psychology and politics, have a decisive impact in the process.

In this deeper sense, the multiplier can be seen as Keynes’ most basic description of the macroeconomic coordination process (Howitt 2006) leading to an equilibrium, or at least the equilibrium in the so-called “real” (non-monetary) sphere of the economy. Of course, this basic equilibrium does not bear the same implications as the general equilibrium that results from the Walrasian model. The Keynesian equilibrium does not imply full utilization of production factors, and it does not have any implications of optimality.

The multiplier process can easily be turned into a simple mathematical model, but this hardly captures the full richness of Keynes’ idea. For Keynes, macroeconomic coordination consisted of much more than the exchange of goods (Keller 1983). Institutions, for example as related to wage negotiations, are an important part of this coordination process. Also, the (in)famous “animal spirits” (Keynes 1936) are part of macroeconomic coordination, as they represent behavioral aspects that are hard to predict or explain using full rationality as a description of behavior. All of this implies that the simple mathematical model of the multiplier, or the extension of it into the monetary sphere by the IS/LM model, misses important elements of the Keynesian theory of macroeconomics.

When, during the 1970s and 1980s, the drive towards “micro-foundations” for macroeconomics took hold, an opportunity to return to this aspect of Keynes’ work was crucially missed (at least by the mainstream). Instead of micro-founding the Keynesian model with elements from institutional economics or psychology, the road taken was to micro-found (Keynesian) macroeconomics with Walrasian theory. The development of the introduction of optimizing agents into macroeconomic theory (Hartley 1997) was a watershed event that fully detracted from the original Keynesian agenda of re-thinking Walrasian general equilibrium. Instead, macroeconomics now took Walras as the measure of everything, and started to look at the business cycle as “market failure”, for example, as a result of a lack of price flexibility.

However, non-Walrasian Keynesian macroeconomics has also developed, and a number of approaches are available in the general field of post-Keynesian economics. Godley and Lavoie’s (2007) stock-flow approach tackles one particular basic issue: when demand has a role in determining macroeconomic dynamics, financial flows that result from macroeconomic coordination will lead to accumulated commitments (“stocks”) that must be modelled explicitly in order for long-run dynamics to be consistent. This is a point that we will elaborate in the next section.

The Godley and Lavoie approach introduces credit and financial factors into a demand-based macroeconomic model. Even though we do not start our model description (below) with a detailed balance sheet table as do Godley and Lavoie, our model fully adopts the stock-flow ideas, and the macroeconomic coordination mechanisms that we propose in the model are fully stock-flow consistent.

3 Stocks, flows and models

Where traditionally macroeconomic models looked at flow measures such as GDP, employment and budget deficits, consistency in a long-run perspective requires that the stocks that accumulate as a result of these flows are also modelled explicitly. This is especially important for financial stocks and flows, because financial stocks imply commitments that economic agents have to fulfill out of the (financial) flows.

The stock-flow approach is inherently a Keynesian, i.e., demand-based, approach. This is easily seen by looking at the basic Keynesian model for the goods market:

$$ {\displaystyle \begin{array}{c}C= cwL+\overline{C},\\ {}I=\overline{I},\\ {}Y=C+I,\end{array}} $$

where C is consumption, L is labor, w is the labor compensation rate, I is investment, Y is GDP, c is a parameter (positive and typically <1), and a bar above a variable denotes an “autonomous” part of either investment or consumption. We abstract from any other prices than the (real) labor compensation rate. With the additional definition \( a\underline {\underline {\mathrm{def}}}\raisebox{1ex}{$Y$}\!\left/ \!\raisebox{-1ex}{$L$}\right. \), this system may be solved to get \( Y=\frac{1}{1-\raisebox{1ex}{$ cw$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}\left(\overline{C}+\overline{I}\right) \).

We look at this economy as one with two categories of agents, households and firms, where households earn labor income and consume, and firms produce and sell goods, and invest. Then, we may calculate current savings (S) of the household sector (income minus spending), which is the negative of current firm profits (or savings, Π, sales minus labor compensation minus investment)Footnote 1:

$$ {S}^{hous}=-{\Pi}^{firm}= wL-C=\frac{\left(1-c\right)\raisebox{1ex}{$w$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}{1-\raisebox{1ex}{$ cw$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}\left(\overline{C}+\overline{I}\right)-\overline{C}. $$

We introduce another variable, W, which represents the accumulated stock of the sector’s current savings, as ΔW = Shous. Thus, W denotes the financial commitment that firms have to households, as result of accumulated current surpluses or deficits from the past. A negative value for W would imply that households owe to firms. Note also that, in this section, for simplicity only, we will abstract from interest being charged on W.

For W to be constant, i.e., for the ΔW = 0, it is required that

$$ \overline{C}=\overline{I}\frac{\raisebox{1ex}{$w$}\!\left/ \!\raisebox{-1ex}{$a$}\right.\left(1-c\right)}{1-\raisebox{1ex}{$w$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}. $$

So far, as a result of the focus on the short run, autonomous consumption and investment, and labor’s share in GDP (w/a) are taken as exogenous. In a longer-run model, these variables would be endogenized (along with, at least, a capital stock). But the short-run model shows that unless the above equation holds, the stock of financial commitment W will change over the longer run.

Note that, if we set c = 1 and \( \overline{C}=0 \), the above equation holds automatically (i.e., for all values of \( \overline{I} \) and the labor share, w/a). In such a case, we have \( Y=\frac{1}{1-\raisebox{1ex}{$w$}\!\left/ \!\raisebox{-1ex}{$a$}\right.}\overline{I},{S}^{hous}={\Pi}^{firm}=0 \), and financial stocks do not matter for the longer run. This assumption would be typically associated with Say’s Law or a Walrasian approach. It represents a case where we could safely ignore the stock of financial commitment W, because our assumptions on consumption impose the restriction that it will be zero. But unless we reduce the theory of consumption to this simple case, financial flows and stocks do not automatically reduce to zero, and hence their impact on current economic activity needs to be taken into account, and the model needs to specify a mechanism that keeps the financial stocks within consistent bounds. Thus, the stock-flow approach is typically associated with a macroeconomic approach in demand matters.

To see how this matters, imagine that a full specification of the long-run dynamics of this economy (we will provide one below) produces a stationary result in which labor productivity, GDP and the capital stock are constant.Footnote 2 The latter implies that investment \( \overline{I} \) is also stationary. In such an economy, the stock of financial commitments W would also have to be stationary, unless we were willing to allow that one sector owes an ever-increasing amount to the other sector.Footnote 3 For this to happen, the above equation must be satisfied. Because \( \overline{I} \) is specified to ensure the stationary value of the capital stock, labor compensation and autonomous consumption must adapt so that the equation becomes satisfied.

A common approach used in stock-flow models is that autonomous consumption is itself a function of the stock of financial commitments W. For example, if W takes the form of a savings account that households hold in a bank, autonomous consumption could vary with the value held in this savings account. A reasonable implication of this is that autonomous consumption will be stationary when the stock of financial commitments is stationary. Under such circumstances, it would be enough that the labor compensation rate adjusts to a value that makes the above restriction hold, given the stationary values of \( \overline{I} \) and \( \overline{C} \). The long-run dynamics for the labor compensation rate that the model specifies would have to ensure that such a labor compensation rate exists and can be reached.

Of course, other mechanisms can be imagined which would satisfy the above restriction.Footnote 4 In this paper, however, we will use the labor compensation rate as one of two main mechanisms that keep the stock of financial commitments W stationary in the long run. We will also introduce a second mechanism, related to the financial crisis. Broadly, we look at the labor compensation rate as the mechanism that disciplines the financial stocks under a “normal” regime, while financial crisis is a more drastic mechanism that becomes relevant in exceptional circumstances, and leads to adjustment processes that are more turbulent. We look at this turbulence as an important aspect of the macroeconomic cycle, i.e., in the model that we present below, crisis is a state of affairs that contributes significantly to the nature of macroeconomic time series.

The inspiration for the role of financial crisis in macroeconomic dynamics in our model is taken from Minsky’s (1986) financial fragility hypothesis. We interpret Minsky’s work, admittedly, in a rather broad-brush way, as arguing that the kind of stock-flow dynamics that we outlined above may lead to a slow build-up of speculative lending, which may tip the economy from a financially stable to a financially unstable regime. Financial instability may then turn into crisis, when banks and other financial institutions realize that speculation may have led to a bubble. Based on this insight, the financial institutions change their behavior, which will then have repercussions for the “real” economy (i.e., a crisis emerges).

Dos Santos (2005) provides a synthesis of how stock-flow consistent models can address the financial dynamics of Minsky’s theory. What strikes us in this particular approach is the lack of any role of bankruptcy in the dynamics. During a financial crisis, behavioral changes are indeed numerous and influential, but where a crisis starts, and where it has its first and most drastic impact, is when debt is (forcibly) forgiven and the assets of those who financed the debt decline. It is this aspect of financial crisis that we want to address in our model.

For this idea to be implemented, we want some of the agents in our model to go bankrupt, at least in some of the periods. But this is difficult if the model starts from the idea of a single representative agent, which is the typical (e.g., Godley and Lavoie 2007; Dos Santos 2005) starting point of the stock-flow consistent approach, as is evident from the fact that these authors start from a single balance sheet for each category of agents introduced in the model. For this single agent (or single balance sheet) to go bankrupt, would imply that the entire economy breaks down, or that the shock to the macro economy would be so large as completely to change the accounting that underlies it. In reality, a single bankruptcy, even of a large firm or large bank, does not have such a drastic impact, although it may have a marked impact on the dynamics of the “real economy”.

In order to mimic this “smooth” (although the word may understate the severity of the impact of the financial crisis) adjustment after bankruptcies, we apply a microeconomic perspective on the macroeconomic dynamics in our model. In other words, our model is one in which we will have multiple agents in each category, and in which we build up the macroeconomic dynamics by explicitly aggregating the microeconomics.

This leads us into the field of so-called agent-based computational economics (ACE), which is a modelling approach that was previously used, for example, in the field of evolutionary economic growth theory (Tesfatsion 2003). These evolutionary ACE growth models have primarily positioned themselves relative to neo-classical growth theory, and not so much relative to (Keynesian) macroeconomics. However, Dosi et al. (2010) construct a model that combines the ACE evolutionary approach to growth with Keynesian macroeconomics, in an attempt to blend Keynes with Schumpeter. Even though the ACE model that we present below does not (yet) share this goal of combining growth and business cycle dynamics, we do see our model as a contribution to the same debate about how Keynesian and Schumpeterian dynamics may be combined.

Evolutionary (Schumpeterian) economics (e.g., Nomaler 2006) shares with Keynes a criticism of the mainstream equilibrium (Walrasian) approach. In the case of evolutionary growth theory, the criticism was aimed at the micro-foundations of investment decisions, and the resulting consequences this has for the characterization of the growth path (Nelson and Winter 1982). Evolutionary growth theorists argue that because technology and innovation play such a crucial role in growth, and because technology is characterized by fundamental uncertainty, micro-foundations that rely on full rationality and perfect optimization are not very realistic. Instead, they propose bounded rationality as the preferred micro-foundation, and economic selection as the market coordination mechanism (Nelson and Winter 1982). These models (e.g., Silverberg and Verspagen 1994) are rooted in Schumpeterian ideas about equilibrium and disequilibrium dynamics, even if the same Schumpeter has also been used as a source of inspiration for more mainstream oriented growth models.

The modelling of the psychological and institutional factors that Keynes considered to be key to macroeconomic coordination has only recently been picked up in a serious way. In addition to the attempts presented by Akerlof and Shiller (2009), who stay relatively close to existing macroeconomic modelling methods, the above-mentioned ACE models have been suggested as a way to return to the Keynesian legacy.

In line with these themes, we present, in the next section, a model in which macroeconomic coordination takes place in an essentially non-Walrasian way. Price signals as a way to reach an economic equilibrium play a minor role in the model. In fact, the interest rate is the only “equilibrium price,” as it achieves equality of demand and supply in the financial market. The labor compensation rate is another important price in our model, but it does not play a role in achieving equilibrium in the labor market. Instead, it is taken as a way of regulating the long-run financial stocks that result from production. In the goods market, prices play no role at all. Their role is taken over by the Keynesian multiplier as a way of coordinating transactions in the goods markets, and indirectly also in the labor market.

Other stock-flow consistent agent-based macroeconomic models exist. Seppecher and Salle (2015) present such a model that naturally shares many characteristics with our model. One crucial difference, however, is that “traditional” price mechanisms play a large role in their model, e.g., firms adjust their wage offers based on the difference between a targeted and realized employment rate. Price mechanisms are also important in the stock-flow consistent agent-based macroeconomic model by Caiani et al. (2016), in the product market as well as the labor market. As explained above, this is what sets our model apart from these existing models, as we seek to investigate how macroeconomic coordination can take place without “Walrasian” tendencies.

The financial market plays an important role in the emergence of business cycles in our model. This is another feature that we share with other recent contributions to the literature on agent-based macroeconomics. For example, Riccetti et al. (2013, 2016) put a financial accelerator at the core of their analysis of macroeconomic stability: a negative output shock presents firms with lower profitability, leading banks to be less willing to lend funds, leading to lower investment by firms, leading to a new fall in output, etc. Riccetti et al. (2013) consider how a range of microeconomic theories about the capital structure of firms affects macroeconomic outcomes in an agent-based model, and Riccetti et al. (2016) add the stock market to the analysis. Although our model shares a focus on the central role of financial instability with the work by Riccetti et al., our approach, by its focus on stock-flow-consistency and coordination in the labor and product markets, is more aimed at the basics of macroeconomic coordination than Riccetti et al.’s focus on the financial accelerator.

Erlingsson et al. (2014) investigate the role of the housing and mortgage market in an agent-based macroeconomic setting. Their model is explicitly stock-flow consistent, and they conclude that easier access to credit by mortgage lenders will increase the volatility of the macro economy. This is a conclusion that is much similar to ours below. However, in terms of the working of the model, our approach is different as it relies less on prices (wages and output prices) as adjustment mechanisms in the main macroeconomic market.

Dawid et al. (2014) present an agent-based macroeconomic model of regional growth, with the central aim to analyze the role of cohesion policy. Their model, as ours, has households who save by supplying funds to financial markets, where firms may borrow to fund their activities. They also explicitly account for bankruptcy. However, financial instability does not seem to play a major role in the dynamics of their model, and the emphasis is put on the instruments of cohesion policy instead. In the agent-based macroeconomic model of Ashraf et al. (2017), the financial market is explicitly modelled as a stabilizer, by its role of providing credit to entrants that counteract the impact of bankruptcies in a recession.

4 The model

The model hosts two types of agents: firms and households. Firms produce a homogenous output, using a capital stock and labor. The homogenous good can either be consumed or invested. Households supply labor and consume. Consumption depends on current income as well as accumulated savings (wealth).

The time scale of the model has two major parts that we call the transactions time scale and the behavioral time scale. The transactions time scale is shorter than the behavioral time scale (although both are short-run), and has one major feature: it determines the level of output and employment. This extremely short-run time scale consists of a number of transactions, for goods and labor. An important aspect of the transactions time scale is also that it yields financial results, in the form of income and expenditures, and the balance between the two. In other words, at the end of each sequence of transactions, each agent will have either a surplus or deficit in terms of current income minus expenditures.

After the completion of each period on the transactions time scale, these surpluses and deficits (their sum over the entire economy will always be zero) will be “settled” in the financial market. This means that agents with a current surplus will lend to agents with a deficit. These (accumulated) borrowings are subject to interest payments. The accumulated deficits and surpluses are an important aspect of the statistics time scale of the model, so named because this is the time scale on which agents change their behavior: firms adjust their plans with regard to investment, as well as the compensation that they offer per unit of labor that they use, and households adjust the plans for consumption based on their wealth stocks.

In a metaphorical way, one may think about the two time scales as a physical marketplace. In the morning, the buyers and sellers arrive with a fixed set of behavioral rules, and a period on the transactions time scale starts. Transactions take place, while the goods that exchange hands in these transactions are produced on the spot. Therefore, labor transactions take place as well in the market place. These labor transactions give rise to new goods transactions (multiplier), because they yield income for households, and the households spend (part of) this income on buying goods.

In the evening, no more transactions are desired by the agents, and the market closes, i.e., the transactions time scale period comes to an end. All agents return home, and the financial side of the transactions are aggregated and accumulated into the stock of debt/wealth for each agent. The behavioral time scale opens up a new period, in which, partly based on financial stocks, and partly based on what happened in the market place, agents adjust their plans for the next market day. For example, firms plan an amount of goods that they want to buy the next day for investment purposes, and they add the investment goods that they bought earlier to the actual capital stock. Households plan the amount of goods that they want to buy solely out of their wealth stock. Then, the next morning, all agents return to the market place, and the cycle starts again.

We now describe the two parts of the time scale in more detail, starting with the transactions time scale.

4.1 Demand and output on the transactions time scale

Output is fully dependent on demand. Prices play no role in output determination, and we do not model them explicitly. Output determination is a sequential process of small transactions, either between a household and a firm (consumption), or between two firms (investment). This process is initiated by demand that is “exogenous” to the ultra-short-run that the transactions time scale represents (i.e., demand related to either investment, or wealth stocks, both of which are factors that are determined on the longer time scale, as will be explained below). This initial exogenous demand leads to demand that is truly endogenous in the short run, as households are compensated for the labor they supply to make production possible, and this compensation is (partly) spent on consumption.

At the start of the sequence, every firm and household has a basket Z of intended purchases. For a firm i, denoted by a superscript f, we have

$$ {Z}_i^f={I}_i, $$
(1)

where I is intended investment, which can be taken as exogenous to the transactions cycle as it is determined on the longer-run time scale (see below). Households are denoted by a superscript h, and for household j, the initial basket is equal either to a minimal bare existence consumption level, denoted by M, or to a fraction α of total monetary wealth W that the household holds plus a fraction β of interest payments (R) they have received at the beginning of the period (see below), which ever of the two is larger:

$$ {Z}_j^h=\max \left(M,\alpha {W}_j+\beta {R}_j\right)/\left(1+\tau \right), $$
(2)

where τ denotes the sales tax rate. Wealth consists of accumulated savings out of both labor income and interest payments. The wealth stock in the above equation is taken at the start of the period. We also assume that M is equal to some fraction of average observed labor productivity in the previous period (i.e., what is a minimum existence level depends on average productivity). An option in the model called PunishNegativeWealth regulates the value of M further. If this option is set to On, households with negative wealth (a situation that will be discussed in more detail below) will have M = 0.

In the sequence of transactions, a buyer (i.e., either a firm or a household) gets drawn randomly, after which this agent gets a chance to buy a small quantity E of goods. The actual purchase that this agent will make is equal to G = min(E, Zk), where Zk is either \( {Z}_i^f \) or \( {Z}_j^h \), depending on whether the agent is a firm or a household. The buying agent randomly selects a seller, where each seller has a probability of being selected that depends on how much the firm has already produced in the current transactions time scale sequence, relative to its capital stock. Thus, we define for firm j, \( {\varsigma}_j=\raisebox{1ex}{$\sum {G}_j$}\!\left/ \!\raisebox{-1ex}{$\frac{K_j}{c}$}\right. \), where ∑Gj is the total amount of purchases that the firm has served in the sequence so far, K is the capital stock of the firm, and c is a parameter (the desired capital output ratio). Thus, ς is a short-run utilization rate that takes care that larger firms will indeed face higher demand in absolute terms. We then calculate, for every firm, \( {\varsigma}_j^{\ast }=\raisebox{1ex}{$\left({\varsigma}_j-{\varsigma}^{min}\right)$}\!\left/ \!\raisebox{-1ex}{$\left({\varsigma}^{max}-{\zeta}^{min}\right)$}\right. \) and \( {\varsigma}_j^{\ast \ast }=\min \left(1,\max \left({\varsigma}_j^{\ast },0\right)\right) \). The probability of the firm being selected as a seller is then equal to the share of that firm in the sum of all ς**.

The selling firm produces the quantity of the order, G, on the spot (we assume that there are no inventories), and for this it needs to hire an amount of labor equal to

$$ L=\raisebox{1ex}{$G$}\!\left/ \!\raisebox{-1ex}{${a}_i$}\right., $$
(3)

where ai is the labor productivity level of the selling firm.Footnote 5 For the buyer, the purchase fulfils demand, so that the basket of intended purchases gets updated, as follows (depending on whether the buyer is a firm or consumer):

$$ {Z}_i^k:={Z}_i^k-G\ \mathrm{for}\ k=f,h, $$
(4)

We are using the ∶= operator to denote that the quantity on the left is updated to become the quantity on the right (i.e., in this case, the basket of intended purchases is updated to become the original value, minus the purchase).

The financial part of the goods transaction is facilitated by a system of bank accounts. The selling firm receives an amount G(1 − τ) (the goods price is fixed at 1 throughout the analysis) in its bank account, while the amount G is taken out of the account of the buyer. The government receives as sales tax for this transaction. In this way, the sum of the bank accounts over all agents (firms, households, and government) remains constant (at zero, since aggregate wealth is initialized at zero), but during the transactions time scale purchasing sequence, some agents will be accumulating a positive bank account, while others will have a negative balance.

For firms, this describes the entire dynamics of the basket of intended purchases. However, for households, an extra factor is important: households supply the labor that firms need to produce, and for this they earn an income, which gives rise to further intended consumption purchases. Thus, when a firm produces, it hires labor from a random household (all households have the same probability of being hired). This household receives the associated income as soon as it has supplied the labor, and with this new income it updates its basket of intended purchases, as well as the wealth stock that it holds. Specifically, the household spends a fraction β on consumption and a fraction 1 – β is saved. Thus, for a household that supplies L units of labor, the following updating is done:

$$ {Z}_j^h:={Z}_j^h+\beta wL/\left(1+\tau \right), $$
(5)

where w is the going compensation per unit of labor paid by the firm that is hiring the labor. The saved (non-consumed) amount stays in the bank account of the household while the economy is in the transactions time scale period.

The sequence continues until all baskets Z have been reduced to 0 (such a convergence will eventually occur as long as β is positive but <1), or until households can no longer supply any labor. Each household has 1 unit of labor to supply in each (transactions time scale) time period, but we allow for overwork by enabling a household to supply a fraction g > 1 of the one unit, if demand occurs. However, when the household is demanded to supply more than g units of labor, it refuses. When Nl households refuse a single demand for labor, the firm concludes that it cannot find labor to fulfill demand. In this case, no goods are produced or exchanged, and demand is constrained. This means that consumption or investment plans are not realized, and more cash than intended remains in the bank accounts of the agent that intended to buy.

We start every transactions time scale period by satisfying all investment plans first, i.e., all baskets Zf are first served. In practice, this implies that firms investment demand is never rationed, and therefore that the capital stock remains at reasonable levels.

We define a period to start with the first transaction in this sequence, and to end with the last transaction. Aggregate output and employment is then determined as the sum of the amounts of goods (G) in all transactions, and the sum of labor demanded (L), respectively.

This sequence of transactions is designed to resemble the process of the multiplier. It represents a goods market that operates in a fundamentally different way than the common exchange-based Walrasian process.

4.2 Flows, stocks and credit

We now turn to the behavioral time scale. At the end of the transactions time scale period, some agents will be left with positive bank accounts, and others with negative ones. For firms, a positive (negative) bank account will result if their investment was smaller (larger) than gross profits (sales minus labor compensation minus interest payments), while for households, a positive (negative) bank account will result if their initial (wealth-induced) spending was smaller (larger) than their savings out of labor income.

The financial market keeps track of these financial surpluses or deficits by accumulating them into stocks of debt and wealth. This is modelled similar to the stock-flow modelling of Godley and Lavoie (2007), which is the inspiration for the modelling of the credit market here. However, where we extend the Godley and Lavoie approach by explicitly introducing bankruptcy, we also simplify their approach rather drastically by abstracting from the multiple asset categories that they, and subsequent models that followed their analysis, have assumed. In our model, if a firm runs a financial deficit, it must finance this by selling IOUs to households. We have only one type of IOU, which we call ‘bills’, and the outstanding stock of bills issued by firm i is denoted by Bi. We do not model an explicit banking sector that intermediates in the bills market. Firms pay an interest rate rB to the holders of the bills that they issued, and this interest is paid at the beginning of the next period of the transactions time scale. Interest payments accumulate to the debt of the firm, and so does any current deficit from the transactions time scale period (as explained above), so that we have the following equation for the evolution of the debt stock (outstanding bills) of the firm:

$$ {B}_{i,t}=\left(1+{r}_{B,t-1}\right){B}_{i,t-1}-{\Pi}_{\mathrm{i},\mathrm{t}}+{\mathrm{I}}_{\mathrm{i},\mathrm{t}}, $$
(6)

where Π are the profits from goods sales (sales minus labor compensation).

Besides bills issued by firms, households have a choice of buying bills issued by government, which pay an interest rate rG. Government bills are assumed to be in unlimited supply, and the central bank determines how many of them are put into the hands of households.Footnote 6 In fact, what the central bank does is to set the interest rate rG, and then supply the amount of government bills that households demand at this interest rate.

The total amount of bills, government and firms’ that households hold is equal to their total stock of wealth. This evolves as follows:

$$ {W}_{j,t}={W}_{j,t-1}+{ws}_{jt}-{C}_{jt}+{R}_{jt}, $$
(7)

where ws stands for total labor income of the household, C stands for consumption and R is interest incomeFootnote 7 (from both types of bills, i.e., denoting government bills by D, R = rBB + rGD).

Labor income is determined by the amount of labor (s), which per household can be provided to several firms, times a firm specific wage compensation rate (w). More on this latter follows below.

Government bills bear no risk of default, while firm bills do (this will be explained below). Therefore, households are only willing to hold firm bills if rB > rG. In particular, the share of firm bills that a household wants to hold is determined as follows:

$$ \frac{B_i}{W_i}\equiv \frac{B_i}{D_i+{B}_i}=\max \left(0,\min \left(1,1-{\theta}_0-{\theta}_1\left({r}_B-{r}_G\right)\right)\right), $$
(8)

where θ0, θ1 > 0 are parameters. From a macroeconomic point of view, rG (set by the central bank) W and B (both resulting from the transactions time scale period) are given, so that rB can be solved from the above equation (in the simulations, we solve numerically over all households). The central bank then needs to supply D = WB in order to achieve the targeted interest rate on government bills.

The government pays interest on the government bills that households hold. In order to finance these interest payments, it raises a sales tax on all goods transactions. This sales tax is not intended to represent a realistic government policy, but rather to keep the stocks and flows in the model consistent. Without the sales tax, government debt would be increasing without limit due to interest payments alone, and this would represent a constant demand stimulus to the economy. The sales tax is set at a level that, given last period’s total sales, would raise the exact amount of last period’s accumulated government debt due to interest payments.

The external credit that a firm takes in the form of writing bills also imposes a risk of bankruptcy. We model this by looking at the ratio of bills to the capital stock, i.e., bi = Bi/Ki. When this ratio grows above a threshold value, the probability that the firm goes bankrupt increases. This probability is set to zero below the lower threshold \( {b}_i^{low} \) and then grows linearly to become 1 at the upper threshold \( {b}_i^{up} \).

Thus, bankruptcy is a stochastic event, and when it happens, the firm goes out of business and is replaced by a new firm. In that case, its bills become worthless, and the wealth stocks of all households are decreased proportionally (i.e., we assume that all households are exposed equally to the bankruptcy). The new firm that replaces the bankrupt firm starts with zero debt, but inherits the capital stock of the bankrupt firm.

Under some parameter settings, households may also become indebted (i.e., their wealth is negative), and the model allows households to write private bills just as firms write them. Indebted households pay interest on these outstanding bills, and the bills are treated just the same as firm bills in the interest-setting process. Households may also go bankrupt, in the same stochastic way that firms may go bankrupt. In this case, the variable that determines the bankruptcy probability is the household’s debt over the average labor compensation rate in the economy, i.e., − Wjt/gw (only if Wjt is negative). The thresholds are \( {bh}_i^{low} \) and \( {bh}_i^{up} \). When a household goes bankrupt, its debt is forgiven and deducted from positive wealth holdings of other agents (households and firms).Footnote 8

In the literature on stock-flow consistent models, it is common to tabulate the (aggregate) balance sheets of the economic agents in the model. Because of our desire to focus only on the most basic macroeconomic coordination mechanisms, the balance sheets of the two classes of agents, firms and households, are so simple that they need not be written out explicitly. Under “normal” circumstances, households have a single asset, which is their stock of wealth consisting of financial investments (government debt and private IOUs issued by firms and/or households). The household’s net worth is their single liability, and is equal to wealth. For firms, again under “normal” circumstances, the balance sheet is only slightly more complicated. The firm’s single asset is the capital stock that is used for production. Bills (IOUs that it issued and pays interest on) are on the liability side. The only other liability on the firm’s balance sheet is its net worth, and it is the difference between the capital stock and bills issued.

It is also possible that households become indebted, and/or that firms lend rather than borrow money. In these (a-typical) circumstances, households will issue bills, and hence bills would appear as a liability on the household’s balance sheet. The household’s net worth would then be the negative of issued bills, making assets and liabilities sum to zero. When firms lend money (because they persistently run surplus profits that they do not want to invest), they will buy rather than write bills. In this case, bills will appear on the asset side of the balance sheet, and the firm’s net worth (now the only item on the liability side) will be equal to the sum of bills and the capital stock.

4.3 Investment and labor compensation

After the transactions time scale period has ended, investment is added to the capital stock of the firm and that stock is also depreciated:

$$ {K}_{i,t}={K}_{i,t-1}\left(1-\delta \right)+{I}_{i,t}, $$
(9)

where δ is the depreciation rate of capital.

Then, firms create new investment plans, and update the labor compensation rate offered. Investment plans are primarily dependent on the firm’s utilization rate, i.e., we have an accelerator mechanism. In particular, the firm formulates investment plans as follows:

$$ {I}_{i,t}=\max \left(0,\delta {K}_{i,t-1}+{K}_{i,t-1}\varphi \left({u}_{i,t-1}-\overline{u}\right)\right), $$
(10)

where φ and \( \overline{u} \) are parameters. Thus, gross investment is non-negative, and it rises with the utilization rate of the firm. If the utilization rate of the firm is at \( \overline{u} \), the firm aims to keep the capital stock constant.

The firm also sets the rate at which it will compensate labor in the coming transactions cycle. As we already set the price of the good equal to 1, the labor compensation rate is actually a real rate. In specifying the dynamics of the labor compensation rate, we take a rather different perspective than most other approaches in macroeconomics. Usually labor compensation is seen as a price in the labor market, as well as a variable that influences the functional income distribution between capital-owners and workers. We abstract completely from the first of these two functions, and take a greatly simplifying view of the second.

Whereas our model clearly does have a labor market, we do not use the wage rate as an instrument to reach equilibrium in this market. This is a crucial part of our non-Walrasian and non-equilibrium modelling strategy. In our model, labor market dynamics (i.e., the unemployment rate) are a function of what happens in the goods market and the financial market, but the outcome of the labor market does not feed back on other markets in the general equilibrium sense of the Walrasian model.

With regard to the income distribution side of the labor market, our model starts from the idea that total firm income (sales) must be distributed among three main categories: (i) “retained” profits needed to finance investment plans including depreciation, (ii) profits paid to the owners of the firm, i.e., those who would in the Marxian interpretation be the capitalists, and (iii) wages paid to those who supply labor to the production process, i.e., the proletariat in the Marxian sense. So far, we specified a model mechanism for the first of these three factors (investment), which leaves us the task of specifying the other two factors.

This is where we simplify a great deal again. Our simplification is that we do not actually make a distinction between the second and third categories, i.e., between capitalists and workers. Instead, we assume that every household is both a capitalist and a worker, i.e., that they benefit both from what would traditionally be called “wages” and from profits paid out to the owners of the firm (“dividends”). This is why we are careful to use the term “labor compensation” throughout the analysis, instead of “wages”. One way to think about this is that our economy operates under a kind of managerial capitalism, in which the firms’ managers are entitled to stock options that will increase their income if the firm is profitable. Another way is to think about our firms as a kind of workers’ collectives.

Either way, we do not want to model these views of the basic underlying “class struggle” explicitly, but instead want to focus on the consequences of this for the financial stocks that both firms and households hold. Thus, our approach is to assume that the firms use whatever (gross) profits they have to finance their investment plans (and if profits are too small, they borrow), and that, in the long run, any surplus profits make their way to households, where they are used for consumption. The specific way in which this is modelled, is that the firms tries to keep a cap on its long-run debt position. If debt becomes too high, this is taken as a signal that labor compensation (which includes both “wages” and “dividends”) needs to be adjusted downward. If the debt becomes “low” (we will define the benchmark against which this is judged), the labor compensation rate is adjusted upwards.

The following specification is used:

$$ {\displaystyle \begin{array}{c} if\ \raisebox{1ex}{${\mathrm{B}}_{\mathrm{it}}$}\!\left/ \!\raisebox{-1ex}{${\mathrm{K}}_{\mathrm{it}}$}\right.<{\Theta}_1\ then\ {\mathrm{Y}}_{it}={\mathrm{Y}}_{it-1}\mathit{\operatorname{Min}}\left(1+{\Theta}_4,1+{\left({\Theta}_2\left|\raisebox{1ex}{${\mathrm{B}}_{\mathrm{it}}$}\!\left/ \!\raisebox{-1ex}{${\mathrm{K}}_{\mathrm{it}}$}\right.-{\Theta}_1\right|\right)}^{\Theta_3}\ \right)\ \\ {} else\ {\mathrm{Y}}_{it}={\mathrm{Y}}_{it-1}\mathit{\operatorname{Max}}\left(1-{\Theta}_4,1-{\left({\Theta}_2\left|\raisebox{1ex}{${\mathrm{B}}_{\mathrm{it}}$}\!\left/ \!\raisebox{-1ex}{${\mathrm{K}}_{\mathrm{it}}$}\right.-{\Theta}_1\right|\right)}^{\Theta_3}\ \right)\ \\ {} and\ {w}_{it}={a}_{it}\mathit{\operatorname{Min}}\Big({\Theta}_{\mathrm{max}},\operatorname{Max}\left({\Theta}_{\mathrm{min}},{\mathrm{Y}}_{it}\right).\end{array}} $$
(11)

The labor compensation rate is specified as a multiplicative factor, ς, times the labor productivity of the firm (ait). The multiplicative factor is specified as “drift factor”, which grows (declines) whenever the relative debt of the firm is low (high), relative to the parameter Θ1. The change of the multiplicative factor is limited to Θ4 percent per period. The multiplicative factor is also bounded, by the parameters Θmin and Θmax (both positive but <1, and Θmin < Θmax).

The non-linear specification of the multiplicative factor allows for the labor compensation rate to be “sticky”. For large (> > 1) Θ3, the area around the debt level Θ1 is very flat at the level of one. This means that, for debt levels around the neutral level, the compensation rate does not change much, irrespective of the level it is at. Only when the debt level starts to move away from Θ1, does the labor compensation rate start to change more rapidly. By setting Θ4 = 1 (or close to 1), we may make the process less sticky.

The labor compensation equation is illustrated in Diagram 1. The three lines represent different parameter settings. The solid line has a relatively strongly nonlinear setting, but with narrow bounds. This is the setting that we will use in the base run simulation below. The sticky nature of this specification is illustrated by the flat part of the curve around the value 0.35 on the horizontal axis. The dashed part is the linear specification, and also has wider boundaries. We will use a stepper version of this curve with even wider boundaries in the simulation experiments. The dotted curve is an intermediate case.

Diagram 1
figure 1

Labor compensation function

This specification for labor compensation is clearly at odds with wage mechanisms in other (agent-based) macroeconomic models, such as the Phillips curve of Dosi et al. (2010).Footnote 9 The empirical inspiration for our specification derives from experiences in, for example, Germany and the Netherlands, where wages have “voluntarily” been moderated under the pressure of negative macroeconomic conditions. For example, Storm (2016) speaks of a “long-term policy of wage moderation … based on a deliberate voluntary tri-partite agreement between German employers, trade unions and government”. Di Tella et al. 2005, p. 357) use exactly the same terminology to describe the Dutch situation in the 1980s. Our specification is also reminiscent of Weitzman’s (1984) recommendation of a “variable wage system”, in which “a worker’s compensation if directly and automatically adjusted by some index of the firm’s well-being” (p. 82). The metaphor of a workers collective is also echoed in Freeman’s (2014) idea that workers should own robots to be able to avoid catastrophe as a result of future automation of work.

5 Simulation results

The model as presented above involves a lot of randomness, and therefore the specific simulations that we run are subject to specific realizations of the random number generator. For a complete analysis of how the model behaves in various parts of its parameter space, a Monte Carlo analysis is necessary. We undertake part of such an analysis at the end of this section, but we start by illustrating the basic working of the model by means of a number of example runs.Footnote 10 All simulations in this paper assume that parameters are homogenous across firms and households. Variation of these parameters, leading to stronger heterogeneity between agents, will be reserved for future analysis of the model.Footnote 11

5.1 Basic illustration of the business cycle

Parameter settings (in particular, fixed labor productivity and a fixed number of households and firms) imply that we look at an economy that will show no inherent tendency to grow. All our simulations are carried on for 1000 periods, but we only show the last 600 of these because the initial time paths are dominated by transitory dynamics away from the arbitrary starting values. Main model parameters that are used for the baseline simulation are listed in Appendix Table 2.

The labor compensation specification has a large influence on the nature of the business cycle, and we start by discussing the results of a run with Θ3 = 2, i.e., sticky labor compensation. Figure 1 shows the basic business cycle as it emerges in this simulation run, in terms of the utilization of both production factors, capital and labor (respectively, the capital utilization rate and the employment rate). The two rates clearly move together, with peaks in capital utilization roughly coinciding with peaks in employment. There is a slight tendency for the capital utilization indicator to lead a few periods over the employment indicator. The cycle appears as roughly symmetric, but quite irregular (subsequent peaks at higher or lower levels than previous ones).

Fig. 1
figure 2

The basic business cycle

In Table 1, we present statistics (lags/leads, averages and standard deviations of correlations between main variables) for 100 repetitions of the base run with varying random seeds.Footnote 12 This illustrates that the observations about the base run based on the graphs (i.e., one individual run), are in fact robust outcomes of the simulations. For example, the first row in the table confirms the above observation that employment and capital utilization are highly correlated (about 0.85, with low standard deviation), and with capital utilization leading about six periods on average (again, with a comparably low standard deviation).

Table 1 Correlations between some of the main variables, maximum observed correlation over range of lead from – 15 to 15 periods, over 100 runs with similar parameters to base run

Figure 2 gives the time paths for investment and for the private interest rate. Both variables clearly follow the basic business cycle that was evident in Fig. 1. Peaks in investment coincide with peaks in employment and capital utilization. As Table 1 shows, the correlation between employment and investment is very high (almost 1) and just about contemporaneous (no lead of one of the variables). This illustrates one basic causal chain in the model: while capital utilization is high, investment will be high (due to the accelerator mechanism), and high investment, through its demand-induced multiplier effect, will cause high employment.

Fig. 2
figure 3

Private interest rate and investment

Figure 2 also shows that investment peaks lead a few periods over peaks in the interest rate. Table 1 shows that the length of this lead is about the same (six periods) as the lead of capital utilization over employment. This indicates the causality from high investment to a high demand for funds by firms, and from this to a high spread between the government bills interest rate (which is fixed at 0.005) and the private interest rate. The model does not (yet) include any feedback from the interest rate to investment, which would be a typical Keynesian mechanism to implement. We leave this to future work, and envisage that this may be part of an approach exploring the effectiveness of monetary (and fiscal) policy in this model. Finally, we note that, in addition to the basic business cycle that was also apparent in Fig. 1, the interest rate also shows a much higher frequency cycle (noise).

Figure 3 displays another basic causal link, in this case related to the turning points of the business cycle. The Figure shows how the stock of household wealth shows peaks and troughs that are basically in line with the basic business cycle in Fig. 1. The correlation of household wealth with employment is about 0.85 (Table 1). Employment leads about six periods over employment. What we see at work in the upswing of the cycle is a process of positive feedback: high utilization rates induce investment, which in itself, by the demand effect, fuels activity levels, but also leads to a demand for funds by firms; this is translated into an increased stock of wealth of households, which also has a demand effect through consumption, thus leading to even more economic activity, leading to a higher utilization rate, etc.

Fig. 3
figure 4

The dynamics of household wealth

This process is interrupted by an increase in bankruptcies, when firms become indebted beyond acceptable levels. In this run, there are no household bankruptcies. When firms go bankrupt, their debt is liquidated, leading to a fall in the wealth stock of households. This is clearly visible in Fig. 3 by the correspondence between the peaks in liquidated debt and the strong fall in household wealth that follows. This interrupts the positive feedback cycle by the negative effect it has on consumption demand. Thus, the upper turning point of the cycle is reached and activity levels start to decrease.

The downward phase in the business cycle is again a feedback process: falling utilization rates cause investment to drop, leading to slow demand, etc. The lower turning point is reached when consumers no longer adjust their consumption plans downward because their “autonomous” (i.e., non-current income induced) demand reaches the bottom associated to the parameter M. All this leads to a correlation between liquidated debt and GDP (Table 1) of about 0.4 (but note that the liquidated debt is a variables that is truncated at 0, hence shows a somewhat lower correlation to non-truncated variables, such as GDP). Liquidated debt leads GDP by about 11 periods (Table 1).

The dynamics of debt (wealth) is an important part of the business cycle dynamics. Bankruptcies are a mechanism that influences the level of debt to a large extent, but we also have a different mechanism, i.e., the labor compensation rate that influences debt. This is illustrated in Fig. 4, where we have the average debt-to-capital-stock ratio of the firms, and the labor compensation rate. These variables follow the basic business cycle, and they are inversely related to each other as specified by the labor compensation equation. The debt of the firm remains positive (which means firms owe to households, i.e., households have positive wealth), with the exception of a short period, and the (aggregate) ratio of debt to the capital stock peaks at values around 0.7. Individual firms that exceed this peak will have a positive probability of going bankrupt, which puts an upper limit on this ratio, and will then lead to a downturn of the business cycle, as explained earlier.

Fig. 4
figure 5

Firm debt and the labor compensation rate

Although the labor compensation rate specification was modelled with the financial position of the firm as the main driving variable, the simulation results show a familiar relationship between employment growth and the growth rate of labor compensation. This is illustrated in Fig. 5. The positive relationship observed in the figure (a regression line has R2 = 0.6) is consistent with the Phillips curve that is conventionally assumed in Keynesian economics. However, rather than an assumption, this Phillips curve occurs as an emerging property in the model.

Fig. 5
figure 6

Employment and labor compensation, growth rates

5.2 Avoiding bankruptcies

In summary, the business cycle is driven by accumulation and destruction of wealth, with the labor compensation rate (profits) and bankruptcies as the main mechanisms driving accumulation and destruction. Thus, the business cycle clearly has a financial dimension, connected to the role of bankruptcies and the associated wealth affects. Can the model show a viable path for employment and capital utilization when bankruptcies are ruled out? In order to explore this question, we now present a run in which bankruptcies are completely absent. This is achieved by changing the settings of the labor compensation specification to a linear one, in particular Θ3 = 1 and Θ2 = 0.7, as well as Θ4 > > 1. The first two specify a purely linear labor compensation function with a slope of 0.7, while the latter implies that no bounds are implied at all. We also set PunishNegativeWealth = On in order to rule out household bankruptcies.

Avoiding bankruptcies in this way requires rapid adjustment of labor compensation rates, and this changes the nature of the business cycle rather drastically. Figure 6 gives the basic time series for the employment rate and the capacity utilization rate. The cycles have much lower amplitude, and there also appears to be much more noise (high-frequency cycles). The level of the employment rate is also clearly lower than in the previous case.

Fig. 6
figure 7

The business cycle without bankruptcies

We do not document the time series of the other variables in order to save space, but these show similar dynamics: a high frequency and low amplitude business cycle. Interestingly, the absence of bankruptcies has a small negative effect on average household wealth: where this was at 292 in the previous (base) run, it is at 276 in the current run. The relationship between labor compensation growth and employment growth does also not change in a qualitative way: the relationship in Fig. 5 keep a positive slope, although the value of the slope and the R2 go down relative to Fig. 5.

5.3 Lower financial turbulence

We document one other experiment, which is related more directly to the financial sector. This is the case of θ1, which diminishes the spread between the private and public interest rates. Because the public interest rate is unchanged at 0.005, the effect of this change in parameter settings is that the private interest rate falls. All other parameter settings are as in the base run. The business cycle that results from this run is documented in Fig. 7. The business cycle appears much less turbulent as in Fig. 1. The cycle takes longer (there are fewer peaks/troughs over the entire period), and the peaks and troughs are now at roughly equal levels. The explanation for this is that with lower interest rates, the financial sector is less turbulent. Fewer bankruptcies occur, and the booms that are fuelled by rapidly accumulating wealth are not as steep as they are in the base run.

Fig. 7
figure 8

The business cycle with a small interest rate spread

5.4 Monte Carlo experiments to explore parameter space

We conclude the analysis of the model by exploring a small part of parameter space by Monte Carlo experiments. The first experiment that we undertake starts from the base run, and then changes the θ1 parameter, which regulates the private interest rate. We start from a low value θ1 = 5 and move to a maximum of 35, in steps of 1 (the value in the base run is 20). Note that a higher value for θ1 implies that, for a given demand for both wealth categories, the spread between the private interest rate and the public interest rate becomes smaller (households are more willing to hold firm bills). We perform 20 runs with different random seeds for each of the parameter settings.

The particular aspect of the Monte Carlo results that we will present here is the periodicity and amplitude of the business cycle in the employment time series. This is illustrated by a spectral analysis, which is undertaken on each of the times series (last 600 periods, as in the above graphs), and then pooled across the 20 runs of the parameter setting. The results of the first experiment are documented in this way in Fig. 8. The horizontal axis to the right displays the frequency of the business cycle, which is measured as the number of cycles per 600 periods (the duration of the entire run). The Y-axis (at the left on the bottom plane) shows the value of θ1. The vertical axis has the spectral density, which is a measure for the importance and amplitude of the frequency on the horizontal axis.

Fig. 8
figure 9

Spectral analysis of the Monte Carlo experiment with sticky labor compensation rates

The figure shows that, at low values of the θ1 parameter (i.e., a high interest rate spread), there is a complicated spectrum, with one peak at about 20 cycles per 600 periods (i.e., a 30 period cycle), another peak at higher frequency (about 45–50 cycles), and a peak near the left edge (which represents a trend, or a cycle that occurs only once per 600 periods). The two peaks on the right curve towards the longer cycle dominate when the value of θ1 increases, and the high-frequency cycle disappears or merges with the lower-frequency. At the base run value of θ1 = 20, we observe (approximately) eight cycles over the 600 periods that was observed before (Fig. 1). Concluding, this experiment first confirms that the characteristics of business cycles observed in the experiments above result from particular parameter values, and not just from random realizations in the simulation. Second, we see that the financial market has a dominating influence in shaping the business cycle. The higher the spread between the private and public interest rate, the more frequencies there are in the business cycle, and the shorter the business cycle becomes.

Figure 9 presents the second Monte Carlo experiment, which varies the degree of “stickyness” of labor compensation. Parameter Θ3 is varied, starting at a value of 1 (linear specification, used in the “no bankruptcies” run above), up to a value of 3, in steps of 0.2 (the value in the base run is 2). For the linear case, Θ3 = 1, we see three dominating frequencies: one near zero (i.e., a trend), one in the range 15–20, and one in the range 35–40. Thus, for non-sticky labor compensation, the business cycle is a mix of long and short frequencies. These peaks gradually transform into a single peak at around eight cycles for the entire period. The range that we looked at in the base run is where this frequency just starts to dominate.

Fig. 9
figure 10

Spectral analysis of the Monte Carlo experiment for labor compensation specification

6 Conclusions and discussion

The model that was presented above is an agent-based computational economics model of the business cycle. It contains elements of the original Keynesian theory, as well as more modern post-Keynesian theory. In particular, the model tries to show how macroeconomic coordination is possible without Walrasian dynamics, i.e., without price signals taking the lead in the clearing of markets. Instead of the general equilibrium approach that characterizes modern mainstream macroeconomic models, we explicitly model the chain of transactions that is behind Keynes’ idea of the multiplier.

Our model also includes a financial sector, modelled in the tradition of stock-flow consistent post Keynesian models. But contrary to what is conventionally the case in this class of models, our model includes a true financial crisis in the form of bankruptcies. This is the main reason to adopt a multi-agent perspective. Besides bankruptcies, labor compensation dynamics keep the financial stocks disciplined. Thus, in line with the above argument about non-Walrasian dynamics, wages do not work to clear the labor market.

The model shows a business cycle that oscillates, with more or less volatility depending on parameter setting, around a stable path of (un)employment and capacity utilization. The base run as well as some additional simulations show that the working of the financial market is crucial for the nature of the business cycle. The labor compensation adjustment mechanism is also a crucial mechanism in determining the nature of the business cycle. A rapidly adjusting labor compensation rate (instead of the sticky specification of the base run) yields a high-frequency business cycle with low amplitude, as well as a financial market without any bankruptcies. This adds further to the impression of a strong influence of the financial market on the business cycle.

A few Monte Carlo experiments have further illustrated the working of the business cycle. In particular, these results underline the differences between the sticky labor compensation setting and the linear labor compensation specification. The former produces a more turbulent (higher amplitude) business cycle. Also, with sticky labor compensation, and at high interest rate spreads (i.e., high private interest rates), the business cycle has multiple peaks in the spectrum. At lower interest rate spreads, there is only a single peak in the spectrum, which is also not sensitive to further lowering of the interest rate spread. With the linear labor compensation specification, the business cycle is less turbulent (lower amplitude), but has multiple peaks in the spectrum for the entire range of the interest rate spread. Moreover, these peaks shift with changing interest rate spreads.

In summary, the approach that we presented, which can be characterized as a rather parsimonious version of the stock-flow consistent demand-based macroeconomic modelling tradition, is able to generate interesting business cycle dynamics. More avenues for parameter space exploration exist, and these will be reported on in a future version.