An Agent-Based Hybrid Intelligent System for Financial ... - Springer Link

7 downloads 6619 Views 266KB Size Report
ning require hybrid intelligent systems that integrate many intelligent .... tion desk clerk, one or more personnel officer(s), and many financial investment.
An Agent-Based Hybrid Intelligent System for Financial Investment Planning Zili Zhang1 and Chengqi Zhang2 1

2

School of Computing and Mathematics Deakin University, Geelong Victoria 3217, Australia [email protected] Faculty of Information Technology, University of Technology, Sydney PO Box 123 Broadway, NSW 2007 Australia

Abstract. Many complex problems including financial investment planning require hybrid intelligent systems that integrate many intelligent techniques including expert systems, fuzzy logic, neural networks, and genetic algorithms. However, hybrid intelligent systems are difficult to develop due to complicated interactions and technique incompatibilities. This paper describes a hybrid intelligent system for financial investment planning that was built from agent points of view. This system currently consists of 13 different agents. The experimental results show that all agents in the system can work cooperatively to provide reasonable investment advice. The system is very flexible and robust. The success of the system indicates that agent technologies can significantly facilitate the construction of hybrid intelligent systems.

1

Introduction

Real-world applications such as financial investment planning are almost always made up of a large number of components that interact in varying and complex ways. This leads to complex behaviour that is difficult to understand, predict and manage. Take one sub-task of financial planning – financial portfolio management – as an example. The task environment has many interesting features, including [1]: (1) the enormous amount of continually changing, and generally unorganized, information available; (2) the variety of kind of information that can and should be brought to bear on the task (market data, financial report data, technical models, analysts’ reports, breaking news, etc.); and (3) the many sources of uncertainty and dynamic change in the environment. It is obvious that financial planning is a typical complex problem. In financial investment planning many different components or sub-tasks are involved, each of which requires different types of processing. To solve such complex problems, a great diversity of techniques are required. These techniques can be divided into two categories: (1) traditional hard computing techniques including operations 

The author’s address in China: Computer Science Department, Southwest China Normal University, Chongqing 400715.

M. Ishizuka and A. Sattar (Eds.): PRICAI 2002, LNAI 2417, pp. 355–364, 2002. c Springer-Verlag Berlin Heidelberg 2002 

356

Z. Zhang and C. Zhang

research, system science/engineering, expert systems, and (2) soft computing techniques including fuzzy logic (FL), neural networks (NN), and genetic algorithms (GA). In this paper, the techniques in both categories are called intelligent techniques. These techniques are complementary rather than competitive and thus must be used in combination and not exclusively [2]. This results in systems called hybrid intelligent systems. Hybrid intelligent systems are computational systems that integrate different intelligent techniques in these two categories. These systems are now being used to support complex problem solving and decision making in a wide variety of tasks. Hybrid intelligent systems allow the representation and manipulation of different types and forms of data and knowledge which may come from various sources. Refined system knowledge is used during reasoning and decision making processes producing more effective results. However, the design and development of hybrid intelligent systems is difficult because they have a large number of parts or components that have many interactions. Existing software development techniques (for example, object-oriented analysis and design) cannot manage these complex interactions efficiently as these interactions may occur at unpredictable times, for unpredictable reasons, between unpredictable components. Is there any better way to construct hybrid intelligent systems? This paper describes the attempt to build a hybrid intelligent system for financial investment planning from agent points of view. An agent is an encapsulated computer system that is situated in some environment and that is capable of flexible, autonomous action in that environment in order to meet its design objectives [3]. A multi-agent system (MAS) can be defined as a loosely coupled network of entities that work together to make decisions or solve problems that are beyond the individual capabilities or knowledge of each entity [4]. These entities – agents – are autonomous and may be heterogeneous in nature. From a multi-agent perspective, agents in MASs are autonomous and can engage in flexible, high-level interactions. The flexible nature of interactions means that agents can make decisions about the nature and scope of interactions at run-time rather than design time. MASs are good at complex, dynamic interactions. Thus a multi-agent perspective is suitable for modeling, design, and construction of hybrid intelligent systems. The success of the agent-based hybrid intelligent system for financial investment planning provides a strong support for this claim. This paper will demonstrate how to design and implement such a system and presents some useful experimental results. The remainder of the paper is structured as follows. Section 2 is the description of the investment planning problem and the technical models used to solve the problem. The agent architecture for investment planning is discussed in Section 3. The emphasis is on the flexibility and robustness of the system. The implementation details are described in Section 4. The experimental results are presented in Section 5. The comparison with related work and evaluation of the system is given in Section 6. Finally, Section 7 is the concluding remarks.

An Agent-Based Hybrid Intelligent System

2

357

Description of the Investment Planning Problem

When a person wants to invest some money somewhere, he usually turns to the financial investment adviser for advice. The first thing the adviser needs to do is to understand the client’s individual circumstances. The adviser may ask the client to provide the following information about himself: his financial position (annual income, total net-worth etc.), age, tax effectiveness, and his investment attitude (aggressive or conservative) etc. Based on the information, the adviser should evaluate the client’s financial risk tolerance ability and adjust it according to the interest rate trend (falling or increasing). With the client’s risk tolerance as well as his age information, the adviser is then provide advice to the client how to allocate portions of his investment across the three main asset types: savings, income, and growth (asset allocation). This should be based on some investment advisory model. Suppose the adviser suggests the client invest the growth part of his investment in the stock market after evaluating his financial risk tolerance ability. How can one select a portfolio for the client under his constraint (risk tolerance level, return rate etc.)? The adviser should gather some information about the stock market. The information includes market data, financial report data, technical models, analysts’ reports, breaking news etc. After gathering the information, the adviser then makes a portfolio selection decision based on some models (e.g., the Markowitz model, the fuzzy probability model etc.). This is a typical scenario for investment planning. In the agent-based financial investment planning system, the following models/techniques will be integrated together: a client financial risk tolerance model and a client asset allocation model, both are based on fuzzy logic [5]; two interest rate prediction models, one based on neural networks, the other based on fuzzy logic and genetic algorithms [6]; three portfolio selection models–Markowitz’s model [7], the fuzzy probability model, and the possibility distribution model [8]; and expert systems with explanation mechanisms. In addition to these models/techniques, an operations research software package called LINDO for solving quadratic programming problems (http://www.lindo.com/) and a matrix software package called MatrixLib for solving eigenvalues of matrices (http://www. mathtools.com/) will also be integrated.

3

The Agent Architecture for Investment Planning

In order to identify which components should be contained in a typical financial planning system, without loss of generality, consider a financial house providing investment advice for clients. In such a house, there are: a front counter or reception desk clerk, one or more personnel officer(s), and many financial investment experts (decision makers). The advice giving (decision making) process is initiated by a user contacting the front desk clerk with a set of requirements. The clerk asks the personnel officer to provide the experts’ profile, and then delegates the task to one or more experts based on experts’ profiles. The experts then work

358

Z. Zhang and C. Zhang

on the task and try to give their recommendations with or without external help. After the experts finish preparing a recommendation (if the task was assigned to more than one expert, the recommendations from different experts must be combined to form a final one), they pass it to the front desk clerk. Finally, the clerk sends the advice to the user. Such a typical process can help us analyze and design a multi-agent system for financial planning. Existing software development techniques (typically, object-oriented) are inadequate for modeling agent-based systems. Extant approaches fail to adequately capture an agent’s flexible, autonomous problem-solving behavior, the richness of an agent’s interactions, and the complexity of an agent system’s organizational structures. For these reasons, an agent-oriented methodology called Gaia [9] was used to analyze and design this agent-based hybrid intelligent system for financial investment planning. In Gaia, analysis and design are well-separated phases. Based on Gaia, the emphasis of the analysis and design is to identify the key roles in the system and document the various agent types that will be used in the system. Based on the statements in the first paragraph in this section and the Gaia methodology, it is comparatively straightforward to identify the roles in the agent-based hybrid intelligent system for financial planning. The front desk clerk’s behavior falls into two distinct roles: UserHandler acting as an interface to the user and WorkPlanner overseeing the process inside the organization. The personnel officer’s behavior falls into another two roles: CapabilityRecorder keeping track of the profiles and CapabilityMatcher checking the profiles. The experts’ behaviors are covered by DecisionMaker, HelpProvider, and DecisionAggregator roles. The final role is that of the User who requires the decision. Based on the key roles identified, the agent model can be generated (Figure 1). This shows, for most cases, a one-to-one correspondence between roles and agent types. The exception is for the CapabilityRecorder and CapabilityMatcher roles which, because of their high degree of interdependence, are grouped into a single agent type.

UserAgent

InterfaceAgent

PlanningAgent

User

UserHandler

WorkPlanner

ServiceProviderAgent

HelpProvider

DecisionMakingAgent

DecisionMaker

MiddleAgent

CapabilityRecorder

CapabilityMatcher

DecisionAggregationAgent

DecisionAggregator

Fig. 1. The Agent Model of the System

From the above discussion, it is clear that there are seven types of agents in the hybrid intelligent system – user agent, interface agent, planning agent, middle agent, service provider agent, decision making agent, and decision aggregation

An Agent-Based Hybrid Intelligent System

359

agent. Now it is time to find an appropriate multi-agent architecture to put all these agents together so as to form the agent-based hybrid intelligent system for financial planning. When incorporating intelligent techniques into multi-agent systems to form agent-based hybrid intelligent systems, one criterion that must be met, is that any agent in the system can access any of the intelligent techniques available in the system when needed. Meanwhile, the flexibility, robustness, and interoperability of the resulting system must be ensured. With all these observations in mind, the architecture of the financial planning system is determined, which is shown in Figure 2. The behaviors of each kind of agent in the system (except the user agent) are briefly described below: Intelligent Technique Agent 1

Interface Agent

Intelligent Technique Agent 3

Intelligent Technique Agent 4

. . .

Planning Agent Aggregation Agent

User

Intelligent Technique Agent 2

Decision Making Agent 1

Domain Specific Ontology

Serving Agent .

.

.

Decision Making Agent n

Fig. 2. Architecture of Agent-Based Hybrid Intelligent System

Interface Agent. This agent interacts with the user (or user agent). It asks the user to provide his personal information and requirements, and provides the user with a final decision or advice that best meets the user’s requirements. Planning Agent. The planning agent is in charge of the activation and synchronization of different agents. It elaborates a work plan and is in charge of ensuring that such a work plan is fulfilled. It receives the assignments from the interface agent. Decision Making Agent. It is application-specific, i.e., it has its own knowledge base; it must have some meta-knowledge about when it needs the help of intelligent technique agents (e.g., pre or post processing some data); it can ask intelligent technique agents to accomplish some sub-tasks. Serving Agent. The serving agent is a matchmaker – one kind of middle agent [10]. It keeps track of the names, ontologies, and capabilities of all registered intelligent technique agents in the system; it can reply to the query of a decision making agent with appropriate intelligent technique agent’s name and ontology. Service Provider Agent. Most of the service provider agents in the system are intelligent technique agents. Each intelligent technique agent can provide services for decision making agents with one or some kind of combined intelligent techniques; it can send back the processed results to decision making agents; it must advertise its capabilities to the serving agent.

360

Z. Zhang and C. Zhang

Decision Aggregation Agent. When decision making agents finish the assigned tasks they return the results to the decision aggregation agent. The aggregation agent chooses one of the alternative decisions, or performs an aggregation of the different results into a final one. The ontology is the foundation for agent communication. All agents in the system interpret the content of received messages based on the ontology.

4

Implementation of the System

The most important implementation criterion of such a system is platform independent. With this observation in mind, the JATLite (Java Agent Template, Lite, http://java.stanford.edu/) was chosen to support the implementation. JATLite facilitates especially construction of agents that send and receive messages using the emerging standard agent communication language KQML (Knowledge Query and Manipulation Language). All agents implemented have the ability to exchange KQML messages. This greatly increases the interoperability of the system. The kernel part of the system is the serving agent, which is one kind of middle agent [10]. Figure 3 shows the internal structure of the serving agent. The KQML Message Interpreter (KMI) represents the interface between KQML router and agents. Once an incoming KQML message is detected, it will be passed to the KMI. The KMI transfers incoming KQML messages into a form that agents can understand. The implementation of KMI is based on JATLite KQMLLayer Templates. The service provider maintenance module in the serving agent has three functions: To add an entry that contains the intelligent technique agent’s name, capability, and ontology to the database; delete an entry from the database; and retrieve the database to find out intelligent technique agents with a specific capability. The last function is usually called matchmaking. The introduction of middle agent in the system facilitates the flexibility and robustness. How middle agents can result in the flexibility and robustness of the system will be discussed in another paper. Serving Agent Service Provider Agent Database

...

Name Ontology Ability

Service Provider Maintenance

. ADD . DELETE . RETRIEVE

KQML Message

KQML Message

Agent

KQML Message

Agent

KQML Router

Interpreter

Fig. 3. Serving Agent Structure

As mentioned in Section 2, some legacy software packages are integrated in the system. This implies that these software packages must be converted into

An Agent-Based Hybrid Intelligent System

361

agents in some way. Generally, there are three main approaches to be taken: implementing a transducer, implementing a wrapper, and rewriting the original program [11]. Here the second approach – implementing a wrapper – was adopted to wrap the software packages by using Java Native Interface [12] and JATLite KQML layer templates. Under the support of JATLite, the practical architecture of the system is depicted in Figure 4. Figure 5 shows the user interface of the system, which can start from any Internet Browser or appletviewer. User

Interface Agent

Portfolio Model Agent 1

Portfolio Model Agent 2

Portfolio Model Agent 3

. . .

Planning Agent

Aggre− gation Agent

Interest Rate

Asset Allocation

Evaluation

Prediction

Agent

Agent

Risk

Agent Infrastructure

Serving

Agent

(JATLite Agent Message Router)

Fig. 4. Practical Architecture of the System

Fig. 5. User Interface of the System

To use the system, the user needs to type the user name and the password he likes in the corresponding fields and click “register new user” to register for the first time. Thereafter, just input the registered user name and password and click “connect”. The user then can input his annual income, networth etc. information to the system and click “sendmessage” button. The system provides asset allocation information, explanations of how to get the results, and the evaluation of different portfolios in the “result display” window (see the next section). If the user wants to leave the system, click “unregister” and “disconnect”.

362

5

Z. Zhang and C. Zhang

Experimental Results

The system can provides reasonable financial investment planning information based on the user provided data and some relevant models. Figure 6 shows the asset allocation results when the annual income is $50, 000, networth $800, 000, age 35, investment amount $30, 000, and investment attitude is aggressive (level 4). By clicking the “explanation” button, the corresponding explanation of how to get the results is displayed in the “result display” window.

Fig. 6. Example Asset Allocation Results

If the growth part is invested in stock market, the system can provide a portfolio for the user (Figure 6). The portfolio is the aggregated result of three portfolios based on Markowitz’s portfolio selection model, the fuzzy probability portfolio selection model, and the possibility distribution portfolio selection model, respectively. The aggregation algorithm used is ordered weighted averaging (OWA) aggregation algorithm [13]. By clicking the “evaluation” button, the system will provide the comparisons of the four portfolios.

6

Comparison with Related Work and Evaluations

This paper described the construction of a hybrid intelligent system from agent points of view. Thus far, there is also some other research work involved in this topic. One of such attempts is the MIX multi-agent platform [16]. Another such attempt is the PREDICTOR system [2] (pp.153-173). In [14], Khosla and Dillon introduce a computational architecture called IMAHDA (Intelligent Multi-Agent Hybrid Distributed Architecture). A more recent attempt is the multi-agent architecture for fuzzy modeling [15]. Delgado et al. proposed a hybrid learning

An Agent-Based Hybrid Intelligent System

363

system that combines different fuzzy modeling techniques by means of a multiagent architecture. In [17], Jacobsen proposed a generic architecture for hybrid intelligent systems. Among the above agent-based hybrid frameworks or systems, the MIX, PREDICTOR, and the architecture for fuzzy modeling only integrated very limited soft computing techniques. Both the MIX and PREDICTOR systems are focused on the integration of neural networks and symbolic technologies such as expert systems. The multi-agent architecture of Delgado et al. concentrated on the integration of different fuzzy modeling techniques such as fuzzy clustering, fuzzy rule generation, and fuzzy rule tuning techniques. In MIX and PREDICTOR systems, the way for integrating intelligent techniques into multi-agent systems is to embed the intelligent techniques in each individual agent. The MIX and IMAHDA architectures are inflexible as no middle agent [10] was used. The work in [17] is focused on the micro (intra-agent) level of agents, i.e., the integration and interaction of different components within one agent. The macro (inter-agent) level integration and interaction are ignored. Compared with the related work, the hybrid intelligent system described in this paper has the following crucial characteristics that differentiate this research from others: (1) Each decision making agent can easily access all the intelligent techniques and other techniques (service providers) available in the system whenever needed. One service provider agent can also ask other service provider agents for help; (2) The ability to add/delete service provider agents to/from the system dynamically; (3) The presence of the serving agent in this framework allows adaptive system organization; (4) Overall system robustness is facilitated through the use of the serving agent. For example, if a particular service provider (e.g., interest rate prediction agent) disappears, a requester agent (decision making agent) can find another one with the same or similar capabilities by interrogating the serving agent; (5) The agent-based hybrid intelligent systems can make decisions about the nature and scope of interactions at run-time. From the above characteristics, one can easily see that the system is very flexible and robust. The interoperability among agents is good as all agents use the standardized agent communication language – KQML.

7

Concluding Remarks

This paper described an agent-based hybrid intelligent system for financial investment planning. This system consists of 13 different agents. Many techniques/packages including fuzzy logic, neural networks, genetic algorithms, expert systems, operations research software package, matrix operation software package, portfolio selection models based on standard probability theory, fuzzy probability theory, and possibility distribution theory were integrated under a unifying agent framework. Based on the experiments conducted, it is evident that the system can provide reasonable financial investment advice and is flexible, robust, and interoperable.

364

Z. Zhang and C. Zhang

The success of the system indicates that agent technologies can significantly facilitate the building of hybrid intelligent systems. Acknowledgement. The authors would like to thank Mr Hong Hu’s support in implementing the system.

References 1. K. Sycara, K. Decker and D. Zeng, Intelligent Agents in Portfolio Management, in: N. R. Jennings and M. J. Wooldridge (Eds.), Agent Technology: foundations, Applications, and Markets, Springer, Berlin, 1998, 267-281. 2. S. Goonatilake and S. Khebbal (Eds.), Intelligent Hybrid Systems, Wiley, 1995. 3. M. Wooldridge, Agent-Based Software engineering, IEE Proc. Software Engineering, Vol. 144, No. 1, 1997, 26-37. 4. G. Weiss (Ed.), Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, The MIT Press, 1999. 5. G. Bojadziev and M. Bojadziev, Fuzzy Logic For Business, Finance, and Management, World Scientific, Singapore, 1997. 6. Stephen T. Welstead, Neural Network and Fuzzy Logic Applications in C/C++, Wiley, New York, 1994. 7. H. Markowitz, Portfolio Selection: Efficient Diversification of Investments (2nd ed.), Blackwell, 1991. 8. H. Tanaka, P. Guo, and I. Turksen, Portfolio Selection Based on Fuzzy Probabilities and Possibility Distributions, Fuzzy Sets and Systems, Vol. 111, 2000, 387-397. 9. M. Wooldrige, N. Jennings, and D. Kinny, The Gaia Methodology for AgentOriented Analysis and Design, Journal of Autonomous Agents and Multi-Agent Systems, Vol. 3, No. 3, 2000, 285-312. 10. K. Decker, K. Sycara, and M. Williamson, Middle Agents for the Internet, Proceedings of 15th International Joint Conference on Artificial Intelligence, Nogoya, Japan, 1997, 578-583. 11. M. R. Genesereth and S. P. Ketchpel, Software Agents, Communications of ACM, Vol.37, No.7, 1994, 48-53. 12. R. Gordon, Essential JNI: Java Native Interface, Prentice-Hall, New Jersey, 1998. 13. Z. Zhang and C. Zhang, Result Fusion in Multi-Agent Systems Based on OWA Operator, Proceedings of 23rd Australasian Computer Science Conference, IEEE Computer Society Press, NJ, 2000, 234-240. 14. R. Khosla and T. Dillon, Engineering Intelligent Hybrid Multi-Agent Systems, Kluwer Academic Publishers, Boston, 1997. 15. M. Delgado, A. F. G´ omez-Skarmeta et al., A Multi-Agent Architecture for Fuzzy Modeling, International Journal of Intelligent Systems, Vol. 14, 1999, 305-329. 16. C. Iglesias, J. Gonzales, and J. Velasco, MIX: A General Purpose Multiagent Architecture, in: M. Wooldridge, J. Muller, and M. Tambe (Eds.), Intelligent Agents II (ATAL’95), LNCS 1037, Springer, 1996, 251-266. 17. H.-A. Jacobsen, A Generic Architecture for Hybrid Intelligent Systems, in: T. Furuhashi et al. (Eds.), Deep Fusion of Computational and Symbolic Processing, Physica-Verlag, 2001, 145-173.