Technology Overview

Adaptive Modeler makes use of agent-based modeling and evolutionary computing to simulate a financial market for price forecasting. This approach is related to the field of Agent-based Computational Economics and the Adaptive Market Hypothesis.

► What are agent-based models?

► Why use an agent-based model for price forecasting?

► Adaptive Market Hypothesis

► Evolutionary Computing

► How does Adaptive Modeler work?

What are agent-based models?

An agent-based model is a computational model for simulating the actions and interactions of multiple autonomous individuals (or other entities) for the purpose of analysing their effects on the system as a whole. Agent-based models are used to reproduce and predict complex emergent behavior that results from the interactions of multiple agents with simple behavioral rules.

For example, in the study of Agent-based Computational Economics, an agent-based model of a financial market may consist of a population of investors, traders, brokers and/or other market participants and a market mechanism. (Learn more about Agent-based Computational Economics).

Why use an agent-based model for price forecasting?

Agent-based models have shown to be able to explain the behavior of financial markets better than traditional financial models[1]. Conventionally, financial markets have been Investment Styles studied using analytical mathematics and econometric models mostly based on a generalization of supposedly rational market participants (representative rational agent models). However, the empirical features of financial markets can not be fully explained by such models. In reality, market prices are established by a large diversity of boundedly rational (learning) traders with different decision making methods and different characteristics (such as risk preference and time horizon). The complex dynamics of these heterogeneous traders and the resulting price formation require a simulation model consisting of multiple heterogeneous agents and a virtual (artificial) market.

Research has shown that complex behavior as seen in actual markets can emerge from simulations of agents with relatively simple decision rules. Commonly observed empirical features of financial time series (so called "stylized facts" such as fat tails in return distributions and volatility clustering) that have confronted the Efficient Market Hypothesis, have successfully been reproduced in agent-based models[2].

Adaptive Market Hypothesis

The Adaptive Market Hypothesis[3] combines elements of the Efficient Market Hypothesis with concepts from the school of Behavioral Finance. Instead of assuming that the market is in equilibrium and consists of fully rational participants, the Adaptive Markets Hypothesis is based on evolutionary principles and assumes that market participants are not perfect optimizers but learn by trial and error and adapt, driven by competition for scarce profit opportunities. The degree of market efficiency is related to the number and diversity of competitors in the market and their adaptability (such as pension funds, retail investors, market makers and hedge funds) and therefore varies over time (as has been confirmed empirically). Groups of market participants and their investment strategies undergo cycles of profitability and loss in response to changing market conditions, causing them to grow or decline in number or adapt. Natural selection shapes the market ecology and its evolution creates the observed market dynamics. (Learn more about the Adaptive Market Hypothesis).

Evolutionary Computing

Evolutionary Computing is a field in computer science that involves search and optimization techniques that make use of evolutionary principles as found in nature. It includes technologies such as genetic algorithms, genetic programming and evolution strategies. For example, in genetic programming a population of different programs (solutions to a problem) is created and then repeatedly improved by selecting some of the best programs to participate in reproduction or recombination operations such as crossover and mutation to create a new generation of programs, until an optimal (or satisfactory) solution is found. Amongst many others applications, Evolutionary Computing is used for data mining and pattern recognition applications. (Learn more about Evolutionary Computing).

Adaptive Modeler makes use of a special adaptive form of genetic programming. To avoid optimizing (overfitting) trading rules to historical market data, trading rules are not repeatedly trained on the same historical data but every historical price is only used once for testing (evaluating) the trading rules, as in the real world (in genetic programming terms this is an extreme form of "retraining"). Since market behavior is constantly changing, this approach leads to adaptive market models.

How does Adaptive Modeler work?

Adaptive Modeler creates an agent-based market model for a user selected real world security. The model consist of a population of thousands of trader agents and a Virtual Market. Each agent represents a virtual trader (or investor) with its own assets and technical trading rule. Adaptive Modeler then evolves this model step by step while feeding it with market prices of the security.

Agent-based model cycle

After every received price, agents evaluate their trading rule and place buy or sell orders on the Virtual Market. The clearing price is then calculated and all matching orders are executed. The clearing price is used as the bar-ahead forecast and if necessary a new trading signal is given. In a breeding process, some poor performing agents are replaced by new agents whose trading rules are created by genetic programming from trading rules of well performing agents. This cycle is repeated for every new bar.

Self-organization through the evolution of agents and the resulting price dynamics drives the population to learn to recognize and exploit profit opportunities (market inefficiencies) while adapting to changing market behavior. Model evolution never ends. When all historical prices have been processed, the model waits for new price data to become available and then evolves further. The model thus evolves in parallel with the real-world market and every historical price is used only once for "testing" the trading rules (as in the real world and without the risk of overfitting historical data). Trading signals are based on the forecasts and the user's trading preferences. (More product information).


[1] See for example: B. LeBaron, "Agent-based Financial Markets: Matching Stylized Facts with Style", in Post Walrasian Macroeconomics: Beyond the DSGE Model, edited by D. Colander, Cambridge University Press, 2006: 221-235.
[2] See for example: Shu-Heng Chen, Chia-Ling Chang and Ye-Rong Du (2012), "Agent-based economic models and econometrics". The Knowledge Engineering Review, 27, pp 187-219.
Or: Cars Hommes, "Heterogeneous Agent Models in Economics and Finance", in Leigh Tesfatsion and Kenneth L. Judd (ed.), 2006. "Handbook of Computational Economics", Elsevier, edition 1, volume 2, number 2
[3] Lo, Andrew W., Reconciling Efficient Markets with Behavioral Finance: The Adaptive Markets Hypothesis. Journal of Investment Consulting 7 (2005), 21-44.