Skip to content
Trayan Iliev edited this page May 28, 2015 · 28 revisions

Homework: Agent-based computational economics - Trading Agents Simulation

"Agent-based computational economics (ACE) is the area of computational economics that studies economic processes, including whole economies, as dynamic systems of interacting agents. As such, it falls in the paradigm of complex adaptive systems. In corresponding agent-based models, the "agents" are "computational objects modeled as interacting according to rules" over space and time, not real people. The rules are formulated to model behavior and social interactions based on incentives and information. Such rules could also be the result of optimization, realized through use of AI methods (such as Q-learning and other reinforcement learning techniques). The theoretical assumption of mathematical optimization by agents in equilibrium is replaced by the less restrictive postulate of agents with bounded rationality adapting to market forces. ACE models apply numerical methods of analysis to computer-based simulations of complex dynamic problems for which more conventional methods, such as theorem formulation, may not find ready use. Starting from initial conditions specified by the modeler, the computational economy evolves over time as its constituent agents repeatedly interact with each other, including learning from interactions. In these respects, ACE has been characterized as a bottom-up culture-dish approach to the study of economic systems. ACE has a similarity to, and overlap with, game theory as an agent-based method for modeling social interactions." -- [ACE Page in Wikipedia]

Project Goal: to implement a Multi-Agent System (MAS) simulation including Trading Agents (TA) with different trading strategies.

A Trading Agent (TA) is an artificial computer-based information-processing agent that can procure/sell goods/stocks/services on behalf of the user and according to user's needs. TA can bid/sell in online auctions, or at comodity/stock exchange services. The simplest strategy can be to bid until the user's price limit is reached. More complex tasks may include stock portfolio handling and optimization, purchasing several complementary items (e.g. flight + hotel + rent-a-car). TA may also exhibit proactive behavior - e.g. they can constantly monitor the prices and buy/sell goods/stocks/service when most profitable/less expensive for the user.TA has to be able to reason about the expected behavior of other agents (including the user if modeled as external agent). -- [Artificial Intelligence: Foundations of Computational Agents, Cambridge University Press, 2010]

For more ambitious - there are TA competitions:

In order to execute their tasks trading agents have to utilize different types of knowledge and information:
  • information about current buy/sell prices of goods/stocks/services to be traded;
  • information about coming events and their interdependencies with goods/stocks prices;
  • knowledge about places and items/positions to monitor;
  • knowledge about temporal patterns in the particular market allowing to take decisions when to buy or sell;
  • knowledge about personal preferences of the user, etc.
In this homework project the trading agents should be fully autonomous (no user interactions are involved). For simplicity there will be fixed (small) number of goods/stocks that are traded. You can choose either a commodity, booking services or stocks market for the simulation. The theoretical background, mathematical formulas, and sample pseudo-code for bidding/selling decisions and price/dividend calculations can be based on the following publications:
  1. Artificial economic life: a simple model of a stockmarket - Palmer, Arthur, Holland, LeBaron, Tayler
  2. Designing and Validating an Agent-based Commodity Trading Simulation - Cheng & Lim
  3. Mertacor: A Successful Autonomous Trading Agent - Toulis, Kehagias & Mitkas
  4. Investigating General Equilibria in Artificial Stock Markets - Chapter 3: Artificial Stock Market Model - Cooke & Kuhn (supervisor).


              
Clone this wiki locally