Abstract
M.Sc.
Advancements in technology used in financial markets have led to substantial
automation of tasks within the financial industry. Data analysis, trade
execution and trade processing have been automated, reducing costs and
increasing productivity. Algorithmic trading is the automated execution of
trades on an electronic trading platform; it has been used to gain competitive
advantage in financial markets since the early 1990s.
Algorithmic trading applications, which must analyse information and
determine whether to buy or sell, are well suited to the use of autonomous
software agents. Multi-agent systems are better suited to the increasing
complexity of algorithmic trading systems and the flexibility required by rapidly
changing markets than single-agent systems. The granularity of components
(agents) in multi-agent systems also promotes reuse and simplifies individual
agent design.
Algorithmic trading is, however, subject to challenges specifically in terms of
data volume, speed of access and speed of processing. In order to utilise a
multi-agent system solution the interactions between agents which allow
distributed problem solving must be as efficient as possible.
This dissertation investigates the use of indirect coordination to improve the
efficiency of interactions between agents in multi-agent systems and to
simplify agent design. Indirect coordination utilises environment abstractions
known as artefacts to facilitate interaction between agents; such interaction
can be simple data transfer or requests, complex coordination protocols as
well as negotiation protocols.
The investigation resulted in a framework that allows agents to transition
between direct and indirect interaction techniques based on the specific
interaction task at hand. The framework is built on two existing platforms,
ii
Java Agent DEvelopment Framework (JADE) and Common ARTifact
Infrastructure for AGents Open environments (CARTAGO). These platforms
are combined into the JADE-CARTAGO Algorithmic Trading (JCAT)
framework that provides the infrastructure needed for both direct and indirect
interactions. Investigations into the performance of the JCAT framework have
shown that artefacts improve interaction efficiency by reducing data loss in
tasks such as information publishing, and perform as well as direct
communication within certain constraints for other tasks. When limiting the
number of agents in an interaction to 50 agents, artefacts perform at least as
well as direct communication using agent communication language
messages.