1 Introduction

Modeling asset markets with heterogeneous agents and beliefs is still a field in relative infancy with many approaches, and many results coming from researchers in a wide variety of disciplines. While it is accepted that the world is populated with agents possessing a variety of beliefs about the future, it is not clear what impact, if any, this will have on asset pricing. Most heterogeneous agent modeling suggests that the impact is large, and may be an important driver of what has appeared to be irrational levels of market volatility and trading volume. However, heterogeneous agent models, by design, imply large numbers of parameters for which some are poorly identified. This “too many degrees of freedom” problem has made it difficult to take the models to the data directly. Recently, highly stylized models with small numbers of traders have been built and directly estimated on economic time series. This paper looks at one of the models in detail and compares it to techniques and features which are used in more complex computational models.

Agent-based models in economics and finance focus on relatively simple adaptive behavior where agents follow behavioral rules, but stand ready to adjust their rules in the presence of empirical evidence suggesting that other strategies might be better. This dynamic shifting may be the distinguishing feature of these models. The population of agents is not predetermined to be heterogeneous as in some other heterogeneous agent approaches. The constant shifting of agents makes these models richer, but also more intractable. One style of modeling was to leave the strategies very “free form” and let actual strategies in use emerge from a nonparametric soup of strategies.Footnote 1 Models of this type can be appealing in that most anything that is possible in reality is doable by agents in the model. Two crucial drawbacks for these models are that they are relatively complex, involving many unknown parameters, and require relatively complex computer code to operate. While fitting many features of financial data, they are often viewed with skepticism.

A much simpler class of models also emerged at about the same time.Footnote 2 They are referred to as “few type” models. Their appeal is obvious. Working with stripped down strategy spaces they employ as few as two forecasting rules to describe financial markets. One can often implement these models with a small set of equations, and get a handle on some of the analytics driving their dynamics. At first these models offered only analytical tractability, and lighter demands for computer time. However, in an important paper Boswijk et al. (2007) show that a simple two agent model could yield an equivalent, and relatively tractable, time series model which could be directly estimated from data. This changed the model building and testing space in a very big way and has been followed by several other papers.Footnote 3

These models appear to be providing a good fit to the data, and a kind of heterogeneous agent benchmark for financial markets. This paper looks at them a little more deeply from a theoretical perspective. They are built from macro data estimation, but are relatively quiet about some aspects of individual agent decisions and adaptation. Also, they make some big assumptions themselves to get their tractability. Specifically, agents are assumed to follow the two forecasting rules prescribed by the model, and estimated to best fit the data. This ignores the issue, fundamental to the “many type” world, of letting the agents try to search around the forecasting space.Footnote 4

This paper explores these models from the perspective of understanding what would happen when agents are offered different strategies. Would they want to move? Also, do the dynamics of the model change if the range of strategies available to the agents is expanded? The answer to both these questions turns out to be yes.

Section 2 performs some initial simulation and testing for a candidate few type model. Section 3 estimates local learning gradients, or objective utility functions, in local regions around the fitted parameters. It also explores the impact of a multi-agent model operating within the support of the estimated parameters. Section 4 explores the dynamics of models where the two strategies are invaded by a third strategy which is not necessarily local. It also performs some initial time series analysis to see which time series features remain robust to these changes. Conclusions and perspectives are presented in Sect. 5.

2 Model Testing and Stability

This paper follows Hommes and in ’t Veld (2017) (HV), and Boswijk et al. (2007) in modeling the movements of asset prices and fundamentals as a two agent system of beliefs. As previously mentioned, this simplification is powerful in that it allows direct estimation of the agent-based parameters.

The price of the risky asset is given by \(P_t\), and it also pays a risky dividend, \(Y_t\), each period. The excess payout of the risky asset is defined by,

$$\begin{aligned} R_{t+1} = P_{t+1} +Y_{t+1} -(1+r) P_t \end{aligned}$$
(1)

where r is a risk free return. Demands for shares of the asset are determined through standard mean variance preferences and are given by,

$$\begin{aligned} z_{h,t} = \frac{E_{h,t} R_{t+1}}{a \sigma ^2} \end{aligned}$$
(2)

where a is the coefficient of absolute risk aversion, and \(\sigma ^2\) is the variance of the asset which is assumed to be constant. \(E_{h,t}\) represents the expectations of each different heterogeneous agent type, h. There are H total agent types in the population. They are formally described in Eqs. 15 and 16. The fraction of each type in the population is given by \(n_{h,t}\). Assuming the asset is available in zero net supply and summing the demands gives,

$$\begin{aligned} \sum _{h=1}^H n_{h,t} \frac{ E_{h,t} (P_{t+1}+Y_{t+1})-(1+r)P_t}{a\sigma ^2}=0, \end{aligned}$$
(3)

and the corresponding pricing equation,

$$\begin{aligned} P_t = \frac{1}{1+r} \sum _{h=1}^H n_{h,t} E_{h,t} (P_{t+1}+Y_{t+1}). \end{aligned}$$
(4)

The stochastic process for dividends is common knowledge and is given by a geometric random walk,

$$\begin{aligned} \log Y_{t+1} = \mu + \log Y_t + \nu _{t+1} \qquad \nu _{t+1} \sim N(0,\sigma ^2_\nu ) \end{aligned}$$
(5)

where

$$\begin{aligned} \frac{Y_{t+1}}{Y_t} = e^{\mu + \nu _{t+1}} \end{aligned}$$
(6)

and

$$\begin{aligned} \frac{Y_{t+1}}{Y_t}=(1+g)\varepsilon _{t+1}, \qquad (1+g) = e^{\mu + (1/2)\sigma ^2_\nu }, \quad E(\varepsilon _t)=1, \end{aligned}$$
(7)

and given common knowledge, \(E_{h,t} Y_{t+1} = (1+g) Y_t\) for all agents h. g is the multiplicative growth rate for dividends, corresponding to the geometric rate given by \(\mu \), and adjusted for the variance \(\sigma ^2_v\).

The model dynamics are greatly simplified by expressing most pricing relationships in terms of the price/dividend ratio, \(\delta _t = P_t/Y_t\). The authors assume that the dividend growth rate is conditionally independent of \(\delta _{t+1}\) which allows them to write,

$$\begin{aligned} E_{h,t} {\frac{P_{t+1}}{Y_t}} = E_{h,t} \{\delta _{t+1}\}E_{h,t}\{Y_{t+1}/Y_t\} = (1+g)E_{h,t}\{\delta _{t+1}\}. \end{aligned}$$
(8)

This now allows rewriting the pricing Eq. ( 4) as,

$$\begin{aligned} \delta _t = \frac{1}{R^*} \left\{ 1+ \sum _{h=1}^H n_{h,t} E_{h,t} \delta _{t+1}\right\} , \qquad R^* = \frac{1+r}{1+g}. \end{aligned}$$
(9)

Finally, pricing is expressed in differences from the price/dividend ratio determined as present values from the Gordon growth model as in,

$$\begin{aligned} P_t^*&= \frac{1+g}{r-g} Y_t \end{aligned}$$
(10)
$$\begin{aligned} \delta ^*&= \frac{P_t^*}{Y_t} = \frac{1+g}{r-g} \end{aligned}$$
(11)
$$\begin{aligned} x_t&= \delta _t - \delta ^*. \end{aligned}$$
(12)

In HV the static Gordon model is replaced with a conditional model allowing r and g to change over time. This is passed through the data to develop a conditional value of for \(\delta ^*=\delta _t^*\). Since the purpose here is to simply regenerate basic data, and since the Gordon model renormalization can be viewed as separate from the dynamics of \(x_t\), there is no need to be concerned with the dynamics of \(\delta ^*_t\). The model will generate \(x_t\), and this can be adjusted to price/dividend ratios by adding back \(\delta ^*\). Using this adjustment converts Eq. 9 to,

$$\begin{aligned} x_t = \frac{1}{R^*} \left\{ \sum _{h=1}^H n_{h,t} E_{h,t} x_{t+1}\right\} . \end{aligned}$$
(13)

Now that the overall structure of the model is set, more details will be given.Footnote 5 As mentioned earlier, the model considers only two types. One will follow a stabilizing, or mean reverting style of forecast, and the other is a form of destabilizing trend following type of strategy. We will refer to these as type 1 (reverting), and type 2 (trending) strategies. The fraction of type 1 agents at time t is given by \(n_{1,t}\), and type 2 is given by \(n_{2,t}=(1-n_{1,t})\).

Also, adding noise is necessary both for estimation and realistic simulation. This now gives a final equation for the dynamics of \(x_t\),

$$\begin{aligned} x_t = \frac{1}{R^*}( n_{1,t} E_{1,t} x_{t+1} + (1-n_{1,t})E_{2,t}x_{t+1}) + \epsilon _t, \end{aligned}$$
(14)

where \(\epsilon _t\) is normally distributed, \(N(0,\sigma ^2_\epsilon )\), supply noise. Closing the model requires only two additional components, the expectations of the two types, and the agent adaptations which feed into \(n_{1,t}\). The expectations are written as functions of \(x_t\),

$$\begin{aligned} E_{1,t} x_{t+1}&= \phi _1 x_{t-1}, \end{aligned}$$
(15)
$$\begin{aligned} E_{2,t} x_{t+1}&= \phi _2 x_{t-1}, \end{aligned}$$
(16)

giving a simple pricing relationship in Eq. 14 once \(n_{1,t}\) is determined. Notice that the timing in the model requires that expectations for time period \(t+1\) to be determined at \(t-1\). This is common in many types of models, and helps to make price dynamics more tractable.

The key feature underlying these models is the adaptive behavior of the agent types. Agents in the population are assumed to endogenously chose between the two types of strategies based on past performance. In HV they are assumed to use past realized profits to determine their future rule choice. The profitability for each type at the start of period t (before \(x_t\) is determined) is given by,

$$\begin{aligned} \pi _{h,t-1} = R_{t-1}z_{h,t-2} = R_{t-1} \frac{E_{h,t-2}R_{t-1}}{a\sigma ^2}. \end{aligned}$$
(17)

Boswijk et al. (2007) show that the single period realized profitability for a strategy can be written as

$$\begin{aligned} \pi _{h,t-1}&= \frac{(1+g)^2}{a\eta ^2} (E_{h,t-2}x_{t-1}-R^*x_{t-2})(x_{t-1}-R^*x_{t-2}) \end{aligned}$$
(18)
$$\begin{aligned} \pi _{h,t-1}&= \frac{(1+g)^2}{a\eta ^2} (\phi _hx_{t-3}-R^*x_{t-2})(x_{t-1}-R^*x_{t-2}) \end{aligned}$$
(19)
$$\begin{aligned} \pi _{h,t-1}&=C (\phi _hx_{t-3}-R^*x_{t-2})(x_{t-1}-R^*x_{t-2}) \end{aligned}$$
(20)

with \(\eta ^2=(1+\delta ^*)^2(1+g)^2\sigma ^2_{\varepsilon }\). The reason for writing the last equation is to emphasize that eventually those parameters will be grouped into a single constant C, and combined with the intensity of choice parameter, \(\beta \). This greatly reduces the number of parameters, but unfortunately none of these can be identified in the estimation. Single period profits are converted into a smoothed longer term utility or fitness measure using,

$$\begin{aligned} U_{h,t-1} = (1-\omega )\pi _{h,t-1} + \omega U_{h,t-2}, \end{aligned}$$
(21)

which smoothes noise by generating an exponentially weighted moving average into the past for each strategy h. This strategy fitness measure determines the fraction of trader types using a multinomial logit as in Brock and Hommes (1997),

$$\begin{aligned} n_{1,t} = \frac{e^{\beta U_{1,t-1}}}{e^{\beta U_{1,t-1}}+e^{\beta U_{2,t-1}}}. \end{aligned}$$
(22)

It should now be clear how C is not identified and is absorbed into the intensity of choice parameter, \(\beta \). The computer simulations in this paper will always use the algebraically equivalent, but often numerically more stable,

$$\begin{aligned} n_{1,t} = \frac{1}{ 1 + e^{\beta ( U_{2,t-1}-U_{1,t-1})}}. \end{aligned}$$

\(R^*\) is calibrated to the quarterly data, and is set to 1.008.Footnote 6 The remaining parameters, \((\phi _1, \phi _2, \beta , \omega , \sigma ^2_\epsilon )\) need to be estimated. The system of equations can be matched to the data using nonlinear least squares. The authors do this and give several sets of reasonable parameters. In their estimates \(\phi _1\) is slightly less than 1 (stabilizing), and \(\phi _2\) is slightly greater than 1 with explosive expectations. The model fit is not sensitive to the value of \(\beta \), and because of this, several of the estimated parameter vectors simply fix \(\beta \) to a reasonable guess. The dynamics of the entire system are similar to a threshold or exponential autoregressive model, but more complicated given the dynamics for \(n_{1,t}\). This makes it impossible to derive analytics for model stationarity. This will be done here through simulations.

To get a quick feel for how well the model works visually, the first two figures compare actual price dividend ratios with one of the model simulations. Figure 1 uses a long time series built by merging the CRSP series (through 1926) with older data from William Schwert back to the mid 1880’s. The raw series is the standard annual price/dividend ratio. Recently, many stocks have been using share repurchases as a second vehicle for getting cash back into the hands of shareholders. The second (green) line displays a price/dividend ratio adjusted for share repurchases. Both display the typical patterns of long erratic cycles, but the latter appears more stationary by ameliorating the recent behavior in the series.Footnote 7 Figure 2 plots a similar length time series from the model. It is using parameter set (B) from Table 1. It is visually similar to the actual data. These figures are simply motivation, since it is not the purpose of this paper to redo the estimation results performed in HV. They show that this model fits a similar price/dividend series well, and perform many diagnostics on their estimated models.

Table 1 Stability
Fig. 1
figure 1

U.S. price/dividend ratios. (Color figure online)

Fig. 2
figure 2

Simuated annualized price/dividend ratios

To decide on the appropriate model benchmark for the rest of the paper the three sets of estimated parameters will be simulated for a very long time series of 10,000,000 time steps, corresponding to quarters of U.S. stock market data. The parameters are again taken from Table 1 in HV, and displayed here in Table 1. Parameter sets (A), (B), and (C) correspond to their parameter sets. The first columns display the parameters for the various models, and the last column shows the fraction of 250 runs which explode. Two of the 3 parameter sets, (A) and (C), are explosive, but (B) is stable, with no explosive trajectories. Most of the experiments in the paper will use (B). A good conjecture is that instability is tied to the magnitude of \(\phi _2\). This is tested in the last two rows of Table 1 where the parameters from (B) are used, but increasing \(\phi _2\) first to 1.02, and then to 1.03. For the first of these experiments 23% of the runs explode, and for the larger value it is 100%. It would appear that the range of \(\phi _2\) moving from 1.017 to 1.026 is where the model becomes explosive. This issue will be dealt with later in the paper. For the moment this justifies the use of parameter set (B) with very long simulation runs.

Table 2 Sample moment accuracy

The long runs are necessary to get very precise estimates of several moments in the data.Footnote 8 Table 2 shows the properties of several key estimated moments from the simulation. They are listed across the columns, and the table reports the mean and standard deviation of these estimated moments across 250 simulations with sample sizes of 10,000,000 each. In all cases the standard deviations are very small relative to the mean except for the case of \(E(x_t)\) where the mean is zero. The value \(\rho _x\) reports the first order autocorrelation of \(x_t\). This shows that at these long sample sizes the model is able to give estimates which are very close to the true values, so sampling error can be ignored. It is also important to see that the table tests internal information from the model such as \(E(n_{1,t})\), and \(E(U_{1,t})\) since these will be used extensively in later sections for estimating the shape of the objective function at the fixed agent parameters.

3 Fitness Gradients

The main objective of this paper is to explore the micro consistency of the agent-based model which is represented by the estimated macro parameters. They are estimated to be a best fit to the overall data, but they do not test whether they are consistent with the underlying agent-based decision making that is part of all agent-based models. Agents are forced to stay within the fixed forecasting rules because these parameters best fit the data. The key question is “If agents were given the chance to change their forecasts a little would they take this opportunity?”

To answer this question several measures will be estimated. First, the impact of changing the strategy by a small amount on overall expected utility is estimated. This is not a completely straightforward estimation, so several measures will be used. The first estimate assumes that an individual agent is moving alone, and not taking into account the fact that others might move as well. The strategy 2, which is given in \([\phi _1,\phi _2]\) will be modified slightly to \(\phi _2'\). Profits for the strategy in each period become

$$\begin{aligned} \pi '_{2,t} = (\phi _2'x_{t-2}-R^*x_{t-1})(x_{t}-R^*x_{t-1}) \end{aligned}$$
(23)

which will cause a corresponding change in \(U_{2,t}\) to \(U'_{2,t}\) through Eq. 21. To estimate overall utility of this strategy the agent uses \(n_{2,t}=(1-n_{1,t})\) as a probability that they are using strategy 2 in a given period. The utility for the original strategy at \([\phi _1,\phi _2]\) is given by,

$$\begin{aligned} {\bar{U}} = \frac{1}{T} \sum _{t=1}^T( n_{1,t} U_{1,t} + (1-n_{1,t}) U_{2,t}). \end{aligned}$$
(24)

The utility at the new values, \([\phi _1,\phi _2']\) would then be,

$$\begin{aligned} {\bar{U}}' = \frac{1}{T} \sum _{t=1}^T( n_{1,t} U_{1,t} + (1-n_{1,t}) U'_{2,t}). \end{aligned}$$
(25)

A slightly more rational agent could now assess the switching probabilities using the new utility, \(U'_{2,t}\), and use this to estimate new fractions, \(n_{1,t}'\), and then estimate,

$$\begin{aligned} {\hat{U}}' = \frac{1}{T} \sum _{t=1}^T( n'_{1,t} U_{1,t} + (1-n'_{1,t}) U'_{2,t}). \end{aligned}$$
(26)

Finally, it is useful to estimate utilities based on the entire population changing. This is not an individual agent experiment, but it is a useful calculation that explores the entire social impact on the system of the strategy change. For this case the model is completely rerun at the new value for \(\phi _2=\phi '_2\) with all utilities, fractions \((n_t)\) and corresponding pricing \((x_t)\) allowed to change.

All three of these utility changes are shown in Fig. 3. The lines labeled “n fixed” and “n adjust” correspond to the first two experiments where agents only consider changing their own strategies. Both schedules are similar and show that the gradient is not zero at the estimated value of \(\phi _2\). This is important since it means that the given value of \(\phi _2\) is not an individual maximum, and under local utility adaptation there would be a desire to crawl uphill by moving the parameter \(\phi _2\) out to larger values. There is nothing inconsistent with this and the logit fractions, since we don’t know that the logit really is an optimal forecast of the future gains from different strategies. It is only a backward looking response to past data.

Fig. 3
figure 3

Fitness changes from local forecast changes \(\phi _2\)

Moving to the case where all agents change their strategies, and price impact is allowed, a completely different situation appears. The gradient is again not flat, but this time it is downward sloping. Agents, as a whole, would be worse off if they all simultaneously increase their forecast parameter \(\phi _2\). It is probably the case that increased trend following behavior in the population has endogenously reduced the trendiness of the data, but some further tests on this are necessary. This divergence between individual and group outcomes is a classic case in economics where a lack of individual coordination can lead to reductions in utility for the population as a whole.Footnote 9

Another interesting part of this result reflects on the stability properties of the model. The previous section showed that the probability of model instability is increasing as \(\phi _2\) increases. The gradients here are all pointing in the direction of instability. If individual agents were increasing \(\phi _2\) in response to positive gradients, then they would be taking this model closer to an explosive situation.

In Fig. 4 the experiment is repeated for \(\phi _1\). This situation is quite different. In this case, all the objective functions are moving in the same direction. They all suggest that agents would be interested in reducing \(\phi _1\) individually. However, in this case, this would also be a social improvement if everyone changed \(\phi _1\) together.

Fig. 4
figure 4

Fitness changes from local forecast changes \(\phi _1\)

These figures suggest a much richer dynamic than is given in the original two agent model. To begin exploring this a model covering a uniform set of \(\phi \)’s inside the original model support, \([\phi _1,\phi _2]\), is created and simulated. In this case the strategy space is opened up to 15 values of \(\phi \) distributed uniformly from 0.947 to 1.017. This involves generalizing the pricing and adaptation equations as follows,

$$\begin{aligned} x_t= & {} \frac{1}{R^*}\left( \sum _{h=1}^H n_{h,t} E_{h,t} x_{t+1}\right) + \epsilon _t, \end{aligned}$$
(27)
$$\begin{aligned} n_{h,t}= & {} \frac{e^{\beta U_{h,t-1}}}{\sum _{h=1}^He^{\beta U_{h,t-1}}}. \end{aligned}$$
(28)

Figure 5 displays the time averages of \(n_{h,t}\) for different forecast types indexed by h. The value is far from uniform, and shows large amounts of forecasting mass on both the lowest and highest levels of \(\phi \). This is consistent with the earlier gradient graphs. If agents are indeed interested in shifting, then the levels of \(n_{h,t}\) should reflect this. They will not go completely to the extremes because the random nature of the discrete choice machinery imposes some noise on strategy choices. However, the relative values of n should reflect the learning gradients. Also, the gradients were steeper for lower values of \(\phi \) (left side of the plot), and this appears as a stronger probability mass for n on that side then for the larger \(\phi \) on the right side. This plot also suggests that the agents are constrained in what they do since the fractions are pushed against both end points for \(\phi \).Footnote 10

Fig. 5
figure 5

Agent type distribution

4 Large Parameter Changes

In the previous section only local changes to the parameters were considered. Pointing out local gradient slopes is useful for understanding the underlying internals of the model, but may not have a big impact on the actual dynamics of the model observable price/dividend ratios. This section explores bigger changes to the parameters. Specifically, it will examine increases in the trend following parameter \(\phi _2\) to much larger values. This introduces the problem that was brought up in the earlier section. Models with larger values of \(\phi _2\) tend to be unstable. This problem has been addressed in earlier two type models such as Gaunersdorfer and Hommes (2007) by adding a stabilization equation that eventually adjusts the populations when the price becomes too far from the fundamental. Trend followers lose faith in their models and push toward mean reversion. This is accomplished here by adjusting the fraction of trend followers using,

$$\begin{aligned} {\tilde{n}}_{2,t} = n_{2,t} e^{-\frac{x_{t-1}^2}{\alpha }}, \end{aligned}$$
(29)

where \(n_{2,t}\) corresponds to the original logit fraction of trend followers. The parameter \(\alpha \) is set to an arbitrarily large value of 10,000 which doesn’t impact the dynamics of the model while \(x_t\) remains relatively small, but still shuts down explosive trajectories.

Figure 6 repeats the utility comparisons of the last section, but now allows for a larger range of increases in \(\phi _2\) which are enabled by the model stabilizer. It is clear that the utility gains from increasing \(\phi _2\) are not local, but continue out for a large range of \(\phi _2\). There is essentially no change from the earlier estimates. It is also intereresting that now the magnitude of the increases are getting larger with an increase in nearly 10% for \(\phi _2=1.05\).

Fig. 6
figure 6

Fitness for large forecast changes

This figure again suggests that the presence of a larger \(\phi _2\) rule may be chosen, and could possibly impact the market dynamics. To test this a 3 agent model is considered, using the original parameters, but adding a third forecasting rule with \(\phi _3\) outside the range of the original two strategies (0.947, 1.017). The idea is to see if some subset of agents would now chose this new strategy if it were offered. The gradients on the utility surfaces in Figs. 3 and 4 suggest that locally there would be interest in choosing strategies outside the range.Footnote 11

Figure 7 displays the time average of \(n_{h,t}\) both from the original two type case, and allowing for an additional strategy with \(\phi _3=1.05\). The figure shows that in terms of populations, the additional strategy matters. Strategies with the largest value of \(\phi _3\) are able to attract nearly 30% of the agent populations. Figure 8 repeats the experiment with an extra strategy with \(\phi _3=0.80\) that is well into the stable forecasting region. In this case a little over 70% of the population is drawn to the additional forecasting strategy outside of the original range.

Fig. 7
figure 7

Type fractions

Fig. 8
figure 8

Type fractions

These new strategies survive in the model, but do they actually impact the market dynamics? This is tested by looking at the time series for \(x_t\), and some of its key moments to get an initial picture for how the pricing dynamics is impacted. Figure 9 displays a 100 year snapshot (400 quarters) for \(x_t\) for the three type models with \(\phi _3=0.80\), and \(\phi _3=1.15\) respectively. Decreasing the parameter leads to a very stable P/D time series, but increasing it yields a very unstable time series with extreme large swings in the P/D time series.

Fig. 9
figure 9

Comparison time series: Upper panel, \(\phi _3=0.8\), lower panel, \(\phi _3=1.05\)

Table 3 describes some basic moments for the data across different parameter sets and models for a 10,000,000 quarter run. The four models are labeled (B) corresponding to the benchmark parameter set (B) from Table 1. The next row, labeled, \(H=15\), corresponds to the model with 15 different types, but still in the support of parameter set (B). The final three rows report the three type models from Figs. 7 and 8 with an additional type, \(\phi _3\), set to [0.80, 1.05, 1.15] respectively. Moments are reported for the simulated values of \(x_t\) which correspond to price/dividend ratios. Also, given the near random walk behavior of \(x_t\), it is useful to examine some moments generated from the first difference \(z_t = x_t-x_{t-1}\). The table reports the first order autocorrelation for \(z_t\) and \(z_t^2\). The final column is a measure of mean reversion which is closely related to Dickey/Fuller tests. It correlates the level of the system, \(x_t\) with the next period change \(z_{t+1}\). In a true random walk process, this value would be zero. In a stationary process it will be negative.

Table 3 Feature comparisons

The first two rows of the table demonstrate that adding the additional agents in between the original \([\phi _1,\phi _2]\) values has little or no impact on the dynamic properties of the system. This is an interesting defense of the two type model framework. It supports the power of the simplification in that it gives analytic tractability without giving up much in terms of the dynamic process. This result changes as the values of \(\phi _3\) are added outside of model (B)’s parameter range. The last two rows of the table show that this changes the time series in several important ways. First, it increases the volatility as shown by the increase in standard deviation. It also moves it closer to appearing random walk like. The first order autocorrelation moves toward one, and the mean reverting measure (last column) moves toward zero. This would appear to be driven by the strong trending behavior of the \(\phi _3\) traders causing more instability in the market price dynamics. However, they have one unusual change which is not consistent with increasing instability. The table reports the autocorrelations of the first difference in \(\rho _z\). For the first two models it is near zero as it would be for a true random walk. However, in the last two cases this value becomes positive. For \(\phi _3=1.15\) it is over 0.3. These results are both different from the underlying model (B), and from a true random walk, and they may indicate that nonlinear time series features may be getting stronger as the trend parameter increases. This is consistent with the qualitative features in the previous figure.

The last two rows present the corresponding moments from the U.S. data presented in Fig. 1. These are both the raw price/dividend ratio, and the ratio adjusted for share repurchases. For most moments the actual data shows a good alignment with parameter set (B), which is consistent with the fact that this model was estimated on related data. The adjusted data are a little different with lower volatility, lower autocorrelation, and lower kurtosis. All of these are probably related to how it attenuates the run up in prices during the dot com bubble. One curious feature in the data is that there is strong evidence for persistence in volatility of the first differences. This feature is not shared by any of the models. Finally, the adjusted data shows a much stronger case for mean reversion which is probably also caused by the adjustment of the data around the turn of the century. Except for the persistence of volatility the unadjusted data shows good agreement with model (B), but increasing \(\phi _3\) moves the model away from the data.

5 Conclusions

Estimable few type models present a new and interesting direction for agent-based models and their empirical validation. This paper demonstrates several different features of one of these models that has been empirically estimated with U.S. equity market data. In examining the details of the model several new and interesting features are uncovered. Some of these are supportive of this framework, while others can be viewed as critical, or at least cautious.

First, the two type model appears robust to the addition of additional forecasting rules that are of the same form, and exist inside the support of the original two type model. In other words, in a model successfully fit with forecast parameters in the range of [ab], adding more agents inside this range does not impact the results. This may be partly a general feature related to the “large type limit” of Brock et al. (2005), and it also may be related to the result that agent mass appears to concentrate at the extremes, yielding a nearly two type model. This should all be viewed as good news for the empirical framework.

The second result is less supportive. This paper’s key experiment was to examine the micro consistency of the forecast rules in the two type model. It was found that they are not consistent with local optimization, or simple adaptive behavior, as long as this behavior was allowed to make small changes to the forecasting parameters. Agents operating individually would seek to move up their objective gradients by changing the key forecast parameters from the estimated values. This is important since the macro coordination imposed by the model and its estimation is not consistent with the underlying agent-based model and local behavior that it implies. Also, the model gives a very clear picture of a case where micro and macro objectives give opposing recommendations for behavior at the individual level.

Finally, this local adaptation, and in particular the desire to increase the trending forecast parameter to larger values may be a problem for underlying model dynamics. First, it looks likely that it would move the model out of the stable region to a parameter set that is unstable. Furthermore, once model stabilizing components are added, the addition of a third stronger trending trader has a major impact on the underlying time series of the model.

These problems may not be insurmountable for these models. They might be assumed away by imposing bounds on the forecasting behavior ex-ante. For example, simply saying that agents would keep their trend following forecast parameters below some plausible upper bound would be enough to save the original model. However, it is important to remember that parameter estimation involves a joint hypothesis of agents using the estimated forecasting models, along with imposing restrictive bounds on individual agent learning dynamics.