WO2008050131A1 - Improvements relating to real-time information processing and automatic decision making - Google Patents

Improvements relating to real-time information processing and automatic decision making Download PDF

Info

Publication number
WO2008050131A1
WO2008050131A1 PCT/GB2007/004076 GB2007004076W WO2008050131A1 WO 2008050131 A1 WO2008050131 A1 WO 2008050131A1 GB 2007004076 W GB2007004076 W GB 2007004076W WO 2008050131 A1 WO2008050131 A1 WO 2008050131A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data set
decision
current
risk
Prior art date
Application number
PCT/GB2007/004076
Other languages
French (fr)
Inventor
Mahfouz Zacharia
Andrew Haddleton
Original Assignee
Electronic Trading Solutions Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronic Trading Solutions Limited filed Critical Electronic Trading Solutions Limited
Publication of WO2008050131A1 publication Critical patent/WO2008050131A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention concerns improvements relating to real-time information processing and automatic decision making.
  • the present invention relates to making decisions, in real-time, where there is insufficient data and where there is a variation in risk associated with the decision to be made.
  • An example of a simple scenario where this is a problem is in an automated expert system for executing driving instructions of a driver.
  • a first and a second car travelling in substantially the same direction, the second car behind the first car may be travelling at different speeds.
  • the rates of change of their respective speeds may vary with time depending on whether they are being tasked to accelerate or decelerate.
  • Both cars (and any other cars in the vicinity) are completely independent of each other, yet the actions of one car may cause serious implications for the other, particularly when travelling at high speeds.
  • a driver of the second car may task the car to accelerate at a particular rate. However, there may be situations where it is unsafe for the second car to carry out that action, for example, if the first car were to brake sharply.
  • a safety system within the second car may be asked to make a decision as to whether to execute the driver's tasking instruction. However, because the first car is completely independent from the first car, there is not enough information to be able to make that decision.
  • the basis for the decision regarding whether to execute the driver's instruction may depend on an element or degree of risk involved in making that decision. Degrees of risk vary depending on the situation, and different people have differing attitudes to risk. Risk is difficult to quantify, and this further complicates any decision making process, especially when the correct decision should be based on a range of data, greater than the data available, and when the degree of risk involved in the decision should be taken into account.
  • Computers have replaced traditional physical exchanges and buyer and seller orders are matched electronically according to specified exchange rules.
  • Traders typically gain access to electronic exchanges by using software provided directly by the exchange or software provided by specialised vendors. In some cases, market participants have developed their own proprietary software to fulfil their specific requirements and achieve better control over their activities.
  • the best bid price might be 90.49 and the best offer price 90.50.
  • the quantity on the bid might be 50 and the quantity on the offer might be 500.
  • a buyer of 10 units pay 90.50 for immediate execution or join the 90.49 bid in order to try for a better price? If the buyer joins the 90.49 bid, he may achieve a better price, but he could also end-up missing the 90.50 offer if the market moves up and might be forced to pay 90.51 or even more.
  • the answer to whether the buyer should pay 90.50 for immediate execution or join the 90.49 bid in order to try for a better price depends on a number of factors including: how large the offer quantity is; how volatile the particular market is; what the buyer's appetite for risk is; and what is the benefit of paying 90.49 versus the effort required to achieve that price.
  • Traders need to consider the trade-off between the additional effort and risk on one hand, and the benefits of superior execution (i.e. getting a better price) on the other. They may consider delegating this task to a dedicated member of staff or use the services of an external broker. Brokers are often expected to make decisions regarding the timing of a market instruction on behalf of their clients. The quality of their decision making can have an important impact on the client-broker relationship.
  • the prior art systems suffer from a number of disadvantages in that they offer limited information and require decisions to be based largely on guesswork.
  • the invention described here aims to introduce an element of artificial intelligence and automation to decision making processes where the decision is based on a varying degrees of risk.
  • One aspect of the invention involves a process of analysing, in real-time, dynamically changing market data as it is received and using the results of this analysis in real-time to improve the timing of orders placed in the market. This process can furthermore be tailored to take account of a user's particular risk tolerance to determine the appropriate course of action for a particular trader.
  • one aspect of the present invention is directed to the process of decision making in a real-time expert system which selects an event/action on the basis of calculated metrics generated by the real-time analysis of a stream of real-time raw data.
  • an expert system arranged to automatically make real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream
  • the expert system comprising: inputs for receiving a user instruction, a data stream from a data provider, the data stream representing a current data set, and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision; a data recorder arranged to sample the received data stream and to store the sampled data in a historical database to provide a historical data set; an analysis module arranged to analyse the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set, the analysis module being further arranged to store the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics; a logic rule selector arranged to select an appropriate logic rule from a plurality of available logic rules; a decision making module arranged to make a decision regarding the user
  • This advantageously provides the ability to analyse changes in a stream of data as they happen in real-time to get an insight into information which is not present in the stream of data and to use this information to make automatic decisions. Furthermore, automatic decisions can be tailored in dependence on certain parameters, for example a current risk category.
  • the risk categories may be pre-determined.
  • the risk categories may be tailored by the user.
  • the analysis module further comprises a data filter for filtering the data available from the historical data set and in the expanded data set in dependence on one or more user preferences.
  • the expert system may further comprising a set-up module for receiving and storing the one or more user preferences.
  • the user preferences may be one or more parameters selected from the group comprising: a persist parameter, for specifying a length of time data must persist for before being available for analysis; a current product/market parameter, for specifying a current product/market parameter such that a pre-defined risk category associated with that current product/market parameter may be used by the automated decision making module, an order size parameter, for specifying preferred minimum order sizes; and a data importance parameter (N), for specifying the number of trades which are to be stored in the historical database before being overwritten.
  • a persist parameter for specifying a length of time data must persist for before being available for analysis
  • a current product/market parameter for specifying a current product/market parameter such that a pre-defined risk category associated with that current product/market parameter may be used by the automated decision making module
  • an order size parameter for specifying preferred minimum order sizes
  • N data importance parameter
  • a method of automatically making real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream comprising: receiving a user instruction; a data stream from a data provider, the data stream representing a current data set; and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision; sampling the received data stream and storing the sampled data in a historical database to provide a historical data set; analysing the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set; storing the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics; selecting an appropriate logic rule from a plurality of available logic rules; making a decision regarding the user instruction by applying the selected logic rule to the expanded data set, and outputting a signal indicative of the outcome of the decision, wherein the logic rule is selected on the basis of the current risk category.
  • a method of making automated decisions on the basis of a stream of dynamically changing market data comprising: receiving order data from a trader wishing to have a decision made regarding the execution of the order; receiving the stream of dynamically changing market data from one or more electronic exchanges; analysing, in real-time, the dynamically changing market data as it is received in order to infer additional information regarding the composition of the market, retrieving a current risk category of the trader; and using the additional information inferred in analysing step to make a decision, in real-time, regarding the timing of the execution of the order.
  • an expert system arranged to make automated decisions on the basis of a stream of dynamically changing market data
  • the system comprising: an input receiver for receiving order data from a trader wishing to have a decision made regarding the execution of the order; a data receiver for receiving the stream of dynamically changing market data from one or more electronic exchanges; an analysing module for analysing, in real-time, the dynamically changing market data as it is received in order to infer additional information regarding the composition of the market, a retriever for retrieving a current risk category of the trader; wherein the additional information inferred by the analysing module is used to make a decision, in real-time, regarding the timing of the execution of the order.
  • the invention advantageously provides a method/system for analysing changes in publicly available information to gain an insight into information that is not publicly available and which insight, due to the nature of the generation of the publicly available information (i.e. the speed with which the information changes), is not easily gathered can be used as the basis for automated decisions regarding the timing of the execution such that better decisions, i.e. those decisions meeting the users needs, can be made.
  • This may mean a trader selling/buying a commodity at the best possible price given the quality of the market for that commodity.
  • a carrier medium for carrying a computer readable code for controlling computer to carry out the method of the second or third aspects of the invention.
  • Figure 1 is schematic diagram of the configuration of an expert system, of a first embodiment of the present invention, in relation to electronic exchanges, markets and traders;
  • Figure 2 a flowchart showing an overview of method steps of the expert system, according to all embodiments of the present invention, in making and facilitating execution of decisions;
  • Figure 3 is a functional block diagram of the components of the expert system, according to all embodiments of the present invention, comprising a data analysis module and an automated decision making module;
  • Figure 4 is a flowchart of method steps of the data analysis module of Figure 3;
  • Figure 5a is a graph representing variations in a number of individuals and an offer quantity of an electronic market over time;
  • Figure 5b is a graph representing variations in distance and speed over time
  • Figure 5c is a graph showing additional information relating to the rates of change of the variations in distance and speed shown in Figure 5b;
  • Figure 6 is a flowchart of method steps of the automated decision making module of Figure 3;
  • Figure 7 is a flow chart describing the steps of operation of the automated decision making module.
  • the present invention relates to automated decision making on the basis of an incomplete set of dynamically changing data.
  • the cause(s) of the changes in the incomplete set of data are undeterminable from the incomplete set of data on its own.
  • analysis of the incomplete set of data may be used in order to expand the data set in order to assist the decision making process.
  • Other factors which affect the decision making process include variations in conditions which has an impact on the risk associated with the decision.
  • Electronic exchanges access one or more electronic markets. Typically, each electronic exchange has a plurality of traders (users) who buy and sell commodities/securities/risk.
  • An offer to buy a commodity is known as a 'bid' and an offer to sell a commodity is known as an Offer 1 or 'ask'.
  • an expert system 1 is arranged to access one or more electronic exchanges 2, each of which has an associated plurality of traders 4, who are trading in certain commodities on one or more markets .
  • the expert system 1 may be configured as a stand alone system in which case a single trader has direct access to a personal computer (PC) on which the expert system is running: the expert system facilitating connecting to one or more electronic exchanges/markets 2, 6.
  • PC personal computer
  • the expert system 1 may access the expert system 1 when it is hosted by a central server. Connection to such a central server may be by means of a local area network or via the Internet. Connection to the expert system and, therefore, to the electronic exchanges is secure.
  • the expert system may comprise a central server, to which a plurality of remote user terminals may connect, such that the expert system is able to make and execute expert decisions for a plurality of traders simultaneously.
  • Exchanges 2 publish very simplistic data regarding the current market and the commodities which are being traded. Typically, this consists of aggregated information relating to the bid and offer quantities at specified prices. Thus, the best bid is described by the sum of all the bid quantities at the highest price. The best ask/offer is described by the total quantity at the ask/offer lowest price. The market depth can be described by the total bid quantities at lower prices and the total ask quantities at higher prices. In addition, the exchange will typically publish the price and quantity of the latest matched order when a trade takes place.
  • a bid quantity i.e. the quantity of a commodity which is being sought from the market
  • a current trading price i.e. the price the commodity is currently trading at • a best offer/ask price: i.e. the price of the best offer on the market, and
  • a best bid price i.e. the price of the best bid.
  • the exchanges also publish data, known as 'fills', relating to when orders are executed/filled.
  • a trader When a trader wishes to bid for, or offer, a commodity for sale, they enter order requirements (user instruction data) such as the quantity to be bought or sold. In the case, of offering commodities for sale, the trader must also enter a target offer price (i.e. how much they would like to sell for). Similarly, when bidding on a commodity the trader must also enter a target bid price.
  • a trader selling a commodity may also enter a minimum offer price (i.e. the minimum which they are willing to accept) or a maximum bid price (i.e. the maximum they are willing to pay).
  • the user instruction data is equivalent to the driver's (second car using the previous example) speed requirements.
  • the driver changes the position of the accelerator pedal using his foot, he is inputting to the system an instruction which he would like to have executed, i.e. accelerate, maintain the current speed or decelerate.
  • the expert (automated decision making) system 1 is able to make a decision as to whether the trade (bid or offer) should be executed at the current trading price or whether the system should wait in the hope of obtaining a better price.
  • the automated decision making system is able to make a decision as to whether the car engine (of the second of two cars) should meet the demands of the driver or whether some other course of action should be taken.
  • this decision is based on data which can be gathered directly from the second car (in this two car example).
  • This data may comprise speedometer readings relating to the current speed of the second car, and distance readings relating to the distance between the first and second cars.
  • sensors would be appropriate for both these tasks, and would be able to implement circuitry to perform these measurements.
  • the decision to be made relating to the user instruction data is to be based on a stream of dynamically changing raw data.
  • other courses of action may include, maintaining the speed of the car for a predetermined length of time to enable further assessment of the situation (i.e. build up a better picture of the causes of the variation in the distance between the drivers car and other cars in the vicinity).
  • another action may involve the expert system taking an opposite course of action to the one the driver requested. For example, if the driver wanted to accelerate but the car in front was found to have slowed down suddenly at a particular rate, the expert system, rather than allowing the car to speed up, could prevent further fuel being delivered to the engine, to slow the car down naturally, or could even apply the brakes, without driver intervention.
  • the expert system is not able to make the best possible decision purely on the basis of the simplistic information it has at the present time.
  • the first embodiment based on the information the exchanges publish, there is no way of determining what the probability of obtaining a better price is.
  • the second embodiment based only on the speed of the driver's car and the distance between both cars at the present time, it would be very difficult and unreliable to try to deduce whether it is safe to allow the driver's car to execute the driver's demands without knowing more information about the movement of the second car with respect to the driver's car.
  • the reasons for this is that in both examples, there is an unknown entity or an incomplete picture. In other words there is an incomplete data set.
  • an expert system 1 can be used to extrapolate additional information, from the current information/data that is available, by relating the current data to historical data. As such the expert system expands and enhances the data set to assist in making the decision.
  • Figure 2 shows an overview 18 of the method steps of an expert system 1 according to one aspect of the invention in making and facilitating execution of such decisions.
  • the expert system 1 receives, at step 20, a stream of dynamically changing raw data.
  • the raw data relates to the offer and bid quantities and the current trading price and best bid price (as listed above), and in the second embodiment, the raw data may relate to the current speed of a car and the current distance between the second car and the car in front.
  • the expert system 1 continually records, at step 22, the stream of data in a historical database.
  • the receiving step 20 and the recording step 22 are continuous steps throughout the expert system processes.
  • the historical database builds a 'picture' of the make-up of the market as data is received.
  • a user enters, at step 24, their requirements, for which a decision is required.
  • the requirements may be order details relating to a trade they wish to have executed.
  • the details may include, for example, the commodity being traded, the quantity of the trade, and may also include a maximum/minimum price.
  • the requirements are those relating to the speed of the car as controlled by the accelerator pedal.
  • the requirements may relate to parameters other than speed, for example, direction.
  • the expert system 1 uses, at step 26, a current (incomplete) set of data and a historical data set within the historical database to infer additional information from the current data set by identifying differences between the current data set and historical data set.
  • the inferred additional information includes a likely cause for one or more of the differences between the current data set and the historical data set.
  • the current and historical data is analysed to provide an enhanced view of the 'make-up' of the market, i.e. the likely number of traders of a certain commodity and the likely quantities being traded. This information is important when making a decision as to whether to execute a trade at a current price or wait for a better price because the number of traders in the marketplace and the quantities being traded has a direct effect on the risk associated with the decision.
  • a first trader offering a commodity e.g. sugar
  • a market which has a large number of traders offering large quantities of sugar at a current trading price and a relatively small number of traders bidding on relatively small quantities of sugar means that supply is greater than demand
  • a trader may wish to sell at the current price rather than risk missing that price and potentially having to sell for less.
  • the risk associated with the decision may be quantified for use in the automatic decision making process.
  • the current and historical data is analysed to provide an enhanced 'view' of the relative position of at least one car in relation to the driver's car.
  • the enhanced view is determined in terms of the distance between the two cars and by identifying a difference in the current distance and previous distances (from the historical database). As a result, the likely cause of the change in distance can be determined.
  • the distance between the first car and second car reduces over time, this may be partly due to an increase in the speed of the first car, and may be partly due to a decrease in the speed of the second car.
  • trends may be identified and as such the likely cause of the reduction in distance can be determined.
  • This additional information is important because it can be used in deciding whether the expert system 1 should allow the execution of the driver's demands/requirements, i.e. the expert system 1 can determine whether execution of the driver's demands/requirements would expose the car, it's driver and passengers to a level of risk in excess of permitted levels of risk.
  • the risk associated with the decision may be quantified for use in the automatic decision making process.
  • the system 1 is then able to assess all of the available data using variable logic rules in order to determine whether to execute the user's requirements.
  • the logic rules are variable according to the risk associated with the decision to be made.
  • the trader in determining the make-up of the market and by quantifying the level of risk the trader is prepared to take, it is possible to ascertain the 'quality' of the market for an order.
  • the quality of the market for an order can be expressed as a score, and depending on the score the expert system is able to decide, at step 28, whether to execute the trade now or await a better price.
  • the additional information gathered regarding the likely event which has caused a distance between two cars to reduce can be used by the system to decide, having an appreciation for the degree of risk involved, whether the user's requirements can be executed.
  • the degree of risk involved with the decision can take into account many factors, for example, the quality of the road surface, the levels of precipitation on the road surface, volume of traffic, the speed of both cars, the proximity to schools, etc.
  • the expert system decides, at step 30, what actions should be taken, and depending on the decision, the expert system outputs, at step 32 or step 34 an appropriate signal to facilitate the execution of the decision.
  • the decision making process may be ongoing, for example, if the decision is made not to execute the trade now and attempt to wait for a better price.
  • the expert system monitors, at step 36, changes in the quality of the market for an order, and upon detection of such changes, the expert system re-evaluates the decision to determine when is the optimal time to execute the trade. Similarly, if the decision is made to carry out the driver's current requirements, the expert system will continue to monitor, at step 38, the driver's requirements in accordance with the associated level of risk and should the situation change (either because the requirements change or otherwise) the expert system re-evaluates, at step 28, the decision to determine whether alternative action needs to be taken.
  • the expert system 1 is provided with a raw data stream 40 by a data provider 42.
  • the expert system 1 comprises: an input/output module 44, for facilitating entry of the user instructions/requirements into the expert system 1 ; a set-up module 46, for setting-up logic rules associated with the varying levels of risk and user preferences; a data analysis module 48 for performing the analysis on the current data set and the historical data sets; an automated decision making module 50, for facilitating automated decisions and outputting appropriate signals regarding those decisions, and a data recorder 52 for maintaining a historical database 54.
  • the historical database 54 referred to in the first embodiment as a price history database (PHIST), records the raw data stream 40 in real-time as it is output from the data provider 42 (exchange 2). Thereby providing a historical log of the changes in the raw data over time. Preferences regarding how long the period of time over which data is recorded and maintained may be determined by the set-up module 46 in accordance with user preferences or may be pre-determined.
  • PHIST price history database
  • the PHIST records the values of the latest N bids and offers for each commodity and maintains this information in real-time.
  • N is a variable which may be set to different values depending on the perceived relevance of this information to specific markets.
  • the historical database 54 may also maintain a history of individual market trades (as reported by exchanges) to enable generation relating to average trading sizes and in order to track relatively large trades. This information may be useful in attempting to anticipate the likelihood of future events.
  • the expert system 1 also comprises a reporting module for reporting information determined from the data provider to the user.
  • the information reported may relate to the filled orders, i.e. fills, reported by the exchange 2.
  • this information may relate to the speed/distance information, or may also relate to feedback to the driver of the second car in relation to whether alternative courses of action are being taken by the expert system.
  • the latter information/feedback may be in the form of a warning.
  • the input/output module 44 has access to a user requirements database 56, for storing the user requirements entered via the input/output module 44.
  • the set-up module 46 has access to a risk categorising database 58, for storing the logic rules associated with the varying levels of risk which can be tailored through the set-up module 46.
  • the data analysis module 48 has access to an expanded data set database 60, for storing the additional information (expanded data set) which is determined by the data analysis module 48. Historical data relating to the expanded data set may also be stored in the expanded data set database 60.
  • the data analysis module 48 takes inputs from the historical database 54, risk categorising database 58 and performs analysis on this data to generate an enriched expanded data set which is stored in the expanded data set database 60.
  • the data analysis module 48 updates the historical database with the expanded data set, and the expanded data set may also be provided to the input/output module 44 to be displayed to the user, if appropriate.
  • the expanded data set is also provided to the automated decision making module 50 to assist in the decision making process.
  • the set-up module 46 facilitates recording of a plurality of risk categories, which are entered via the input/output module 44, in the risk categorising database 58. These risk categories may be predetermined or may be user defined. A current risk category may be entered via the input/output module. Alternatively, the current risk category may be determined by external parameters.
  • Each risk category may be associated with a different logical statement, such that, different actions may be taken depending on the current risk category.
  • the set-up module 46 may further enable other user preferences to be defined and recorded. For example, it may be desirable to filter certain data within the historical database 54. The data may be filtered on the basis of a plurality of parameters, for example, the age of the data may be used to filter out most recent data which may be unreliable for a certain length of time. Other preferences, of course, can be entered as will be appreciated by a person skilled in the art.
  • the trader's attitude to risk may change depending on a number of factors e.g. currency, and in the case of a broker (a person trading on behalf of a client), the risk category (attitude to risk) will have to be tailored to match that of their clients'.
  • Other preferences may relate to an order size parameter, regarding the size of orders which are of interest and a persist/delay parameter which defines how long offers/bids should persist for before they are to be analysed.
  • the risk category of a particular trader can by updated via the input/output module 44.
  • These preferences may be used to filter the data being analysed in order to enable decisions to be made on the basis of data of a certain level of interest. Selection of the data to be analysed is achieved in this manner.
  • the input/output module 44 stores the user requirement data in the user requirement database 56.
  • the user requirements are stored in relation to the assigned unique reference number. This is advantageous since it allows the expert system to make decisions regarding a plurality of decisions simultaneously.
  • each decision being determined by the expert system may be assigned its own reference number such as described above.
  • the data recorder 52 receives, at step 80 (Step 20 in Figure 2), the current data set and stores the data, accordingly, in the historical database 54.
  • the historical database 54 maintains, at step 82 (step 22 in Figure 2), a record of the changing data in relation to the time the data was recorded.
  • the data analysis module 48 compares, at step 84, the current data set with a most recent historical data set, in order to calculate, at step 86, the differences between those data sets.
  • the data analysis module 48 using a plurality of logical statements, determines, at step 88, a most likely cause for the changes in the current and most recent historical data sets.
  • the data analysis module 48 records, at step 90, the current data set and the most likely cause for the changes as additional information metrics within an expanded data set. It is the information within the expanded data set which is used by the automated decision making module 50 to make the decision.
  • the additional information metrics may relate to the make-up of an electronic market, enabling an overview of the market to be created and updated as changes happen.
  • the data analysis module 48 is able to determine the breakdown of bids and offers in each market, and to calculate implied bid and offer quantities.
  • the calculations are a series of logical statements in order to determine what change has occurred in the market and the most likely cause of that change.
  • the statements may be for example:
  • the data analysis module can expand the data set in the first embodiment from four simple data items for:
  • the data analysis module 48 determines the additional information metrics on the basis of the most likely events giving rise to the changes in the data, i.e. a trade has occurred (as supported by the fills reported by the exchange), an offer/bid has been withdrawn or an offer bid has been placed. For example, by examining changes in the best bid quantity, it is possible to infer the likely size of the individual elements that make up the total quantity.
  • the most likely thing that has happened is either that a new bid of 100 has joined the market or that the existing bid has increased in size.
  • the quantity goes down one of two things can be assumed to have happened. Either an order has been withdrawn from the market, or a trade has just taken place. Since the exchange reports individual trades it is possible to determine the most likely cause.
  • An example of the additional information metrics relating to the make-up of the market may be that there are five individuals trading a particular commodity, a first having 50 items, a second having 10, a third having 25, a fourth wanting 5, and a fifth wanting 100.
  • the total quantity being offered is 85 (i.e. 50+10+25), and the total being bid on is 105.
  • the data analysis module 48 is able to infer the additional information metrics because the analysis is performed in real-time as events happen.
  • Analysing in real-time is defined as analysing/sampling the raw data stream at sufficiently small time intervals, such that certain changes in the raw data stream can be attributed, with a certain degree of certainty, to particular events. If this were not the case, many different events could happen during the interval between sample points, yet because the analysis is not performed in real time, the system has no way of determining what events have actually occurred.
  • FIG. 5a represents two of the above additional information metrics, the number of individuals and the offer quantity. It is to be appreciated that the other additional information metrics will also vary over time. However, for simplicity the graph in Figure 5a concentrates only on these two metrics.
  • the solid line A represents changes in the number of individuals over time
  • the solid line B represents changes in the offer quantity over time.
  • a first sampling rate will correctly identify each of the events which lead to a change in the number of individuals and the offer quantity, i.e. as offers are placed on the market it can be deduced that either the number of individuals has increased or that one or more individuals have increased the quantity on their offer.
  • the solid lines A and B are a good approximation of the events which have lead to the offer quantity increasing.
  • the offer quantity increases by 13 and the number of individuals increases from 2 to 3
  • second sampling time SA2 the offer quantity increases by 3 and the number of individuals increases from 3 to 4, and so on.
  • the quality of the actual market, as represented by the solid lines, and the quality of the incorrectly sampled market, as represented by the dashed lines, are quite different. For example, if a decision was based on the incorrectly sampled market, it would appear that a trader entering a bid quantity of over 8 would be at risk of not being able to fulfil his order because the individual allegedly offering 42 might increase his offer price or remove his offering. In this scenario, there would either not be enough supply to meet demand, or the trader would miss the opportunity of paying a lower better price. It would appear as if the quality of the market in relation to the trader's requirements/bid is low and he should execute the trade now rather than miss out.
  • the actual quality of the market in relation to the trader's requirements/bid is better than implied above because, there are many more individuals present in the market, with a range of different offer quantities. As such, if any of these individuals were to sell their offerings or take them off the market (i.e. reduce the quantity of the commodity available), it would appear that the trader's bid could still be fulfilled by the remaining individuals/offers. In this case, the best course of action may be to wait for a better offer price before executing the trade, thereby allowing the trader to better his chances of getting a better price.
  • Automated decision based on incorrect analysis has, at best, the potential for traders to miss out on the opportunity of getting a better price (as above), and at worse, the potential for bidders to not be able to fulfil their orders if supply is depleted.
  • Figures 5b and 5c relate to the second embodiment of the present invention.
  • both cars could have experienced a wide range of velocities, and the resulting distance between the two cars may reduce to an 'unsafe' distance in relation to the specified risk category at that point in time. It would be difficult to derive an accurate picture of what the most likely trends in both cars' velocities (and the resulting distance) would be, if the sampling period were too long.
  • a longer sampling interval is not of as much of a concern/risk as at high speeds: the dangers and risks when driving at high speed require shorter time intervals between samples (i.e. real-time sampling).
  • Figure 5b represents the effects of variations in sampling rate and shows how the distance between a first and a second car, and the speed of the first car may vary over time. This is shown by the solid lines C and D, respectively.
  • the results of sampling at an appropriate sampling rate 92 are shown by the dotted lines, E, and the results of sampling at an inappropriate sampling rate 94 are shown by the dot-dot-dashed lines, F.
  • Sampling at the inappropriate sampling rate means that a degree of additional information cannot be inferred or expanded on, on the basis of the speed and distance measurements.
  • Figure 5c provides an indication of the additional information which can be inferred by analysing data which is sampled at a correct rate, and which can be used to improve the accuracy of the decision making process.
  • rates of change i.e. the additional inferred information
  • rates of change are grossly wrong, as is possible when sampling at the wrong rate, this additional information is not helpful in making improved decisions, and could potentially lead to the wrong decisions being made.
  • the expert system can monitor more closely the trends which the car is experiencing and better informed decisions can be made as a result. This is because, by sampling at an appropriate rate, the rates of change (gradients) relating to current trends in velocity and distance can be more readily resolved, as shown by lines Z. This information is not resolvable if sampling at an incorrect rate. By assessing these rates of change on an ongoing basis, a better assessment of the future trends can be identified and used in the automated decision making process.
  • the Nyquist theorem dictates the minimum sampling frequency, as being twice the bandwidth of the channel carrying the signal being sampled.
  • the exchanges typically publish market data as orders are entered into the market by various traders/market participants. This could be in the order of one update/hour or tens or even hundreds of updates/second.
  • the expert system is arranged to 'read' or sample the information as it is produced by the exchange. This has the advantage that the expert system is able to determine the make-up of the market at a high-resolution which would not otherwise be possible.
  • the automated decision making module 50 comprises a decision logic module 100, a decision execution module 102, and a data monitor 104.
  • the decision logic module 100 utilises one or more logical algorithms to decide on the basis of i) the current risk category, ii) the expanded data set and iii) the user requirements, whether the user's requirements/instructions should be executed at the present time.
  • the quality of the market is determined such that the quality of the market for an order is given a score of being low or high.
  • the decision-making module takes inputs of the trader's specified risk category, the expanded data set (i.e. enhanced market data) and the order data.
  • the score determined by the decision logic module 100 is passed to the decision execution module 102, which transmits an output signal 106, relating to the decision, to an interface of the current exchange, for transmission to the current exchange 2 for execution.
  • Risk is inherently difficult to quantify because it is variable depending on different conditions/situations.
  • the inventors have appreciated that it is possible to categorise risk into an appropriate category that best matches the user's attitude to risk or the conditions/situations which give rise to the risk.
  • risk categories may be predetermined or may be user defined.
  • a current risk category may be entered via the input/output module 44. Alternatively, the current risk category may be determined by additional measurable parameters.
  • traders may be asked to specify their attitude to risk.
  • One way in which this can be achieved is by the traders selecting one of a number of different risk categories.
  • the trader understanding the categories, selects the category most appropriate to their attitude to risk, the risk of the market, the risk associated with a particular currency and the risk associated with a particular client, in the case of a broker.
  • the trader can change his risk category as he sees fit.
  • Each risk category may be associated with a different logical statement, such that, different actions may be taken depending on the current risk category.
  • a trader may select a most appropriate risk category that best matches his attitude to risk.
  • the trader's attitude to risk may be determined in another manner, for example on the basis of interactive quizzes.
  • predetermined risk categories may be defined and selected on the basis of additional measurable parameters. For example, at high speed a distance of 3 meters between two cars will have an associated risk greater than the same distance at much lower speeds.
  • risk categories may be defined at the time of implementation/design of the expert system. Simulated scenarios may be used to better understand or evaluate varying degrees of risk and a plurality of risk categories, having different logical rules/statements may be defined as a result.
  • a current risk category is selected from a plurality of available risk categories.
  • Risk categories may also be added to the plurality of available categories using the set- up module as described above.
  • each risk category has at least one associated logic rule.
  • the logic rules are the conditions that, if they are met result in one decision, else they result in another decision.
  • the logic rules determine a score by applying the expanded data and order data to the at least one logic rule associated with the current risk category. In the first embodiment, described below, the score is determined to be LOW or HIGH, i.e. there are two possible outcomes. However, it is to be appreciated that the score may be a scaleable quantity and a plurality of different results/actions may be derivable from the logic rules.
  • Risk Category 0 users with a Risk Tolerance value of 0, are deemed ultra-conservative and always trade at their specified prices.
  • Risk Category 1 is a category suitable for a conservative trader since only the market and order quantities are taken into account.
  • Risk Category 2 is a category suitable for a slightly less conservative trader since the largest individual quantity is also taken into account, that is to say, in this scenario, the market is assumed to be able to sustain the order even if the individual with the largest quantity was to withdraw or have their order filled.
  • the market is monitored continually by the data monitor 104 and as changes occur to quantities specified within the expanded market data the score is constantly being reevaluated. While the Score remains HIGH the system can attempt to improve the price of the order. As soon as the Score changes, an instruction is issued by the system to fill the order at the target price. There is no reverse procedure. Once the expert system 1 has determined that an order is to execute at the target price it does not try and improve again. In other words, a decision is made on the basis of expanded data set generated through the analysis of the stream of real-time raw data, in accordance with the current risk category/attitude.
  • Spread orders involve the simultaneous purchase of one commodity/contract and sale of another, in other words a trader will buy something if he can sell something else, and the transaction is considered to have two legs, a buying leg and a selling leg.
  • spread orders can be entered directly into the market and executed by the exchange as a single transaction.
  • a spread order book may not be available and the trader needs to work each leg of the order separately. (This is obviously the case when a spread order involves two different exchanges).
  • the risk tolerance of a trader needs to be taken into account in deciding what is considered a 'safe' quantity to lean on.
  • the higher risk trader will have a lower standard in determining what is deemed safe and will therefore have a higher chance of putting the spread on, but at a higher risk.
  • a trader selects a risk category depending on their level of risk. They can also design a category to suit if necessary.
  • category 0 is the least conservative and corresponds to the most aggressive trader who is prepared to assume the highest level of risk to execute a trade.
  • categories above relate to a user's preference in relation to risk and do not necessarily go from least conservative to most conservative in order. They describe the rules a user wishes to adopt in relation to asserting what price they deem to be 'safe'.
  • a spread consisted of a trader buying 100 of X if selling 100 Y, it is preferential to 'work' the leg of the trade with the lowest quality, i.e. by analysing the market make-up metrics to ascertain the number of individuals in the market, the market quantity etc.
  • the trade may execute with what is available.
  • a 'working' quantity may involve buying 50 X to sell 50 Y.
  • the 'working size' may be taken into account in deciding whether to execute now or join the best bid to try to achieve a better price.
  • Figure 7 is a flow chart 110 describing the steps of operation of the automated decision making module 50, these steps applying to both outright and spread orders.
  • the trader enters, at step 130 (step 24 in Figure 2), the details of the order (requirement data).
  • the trader's selected risk category (as entered via the input/output module and the set-up module and stored in the risk categorising database) and the expanded market data are retrieved, at step 132, from the appropriate databases.
  • the decision logic module applies, at step 134, the logic algorithms in order to determine the order/market quality score.
  • the decision execution module 102 determines, at step 136, whether the score is HIGH. If the answer is no then the decision execution module 102 transmits, at step 138, an instruction 106 to the exchange to execute the order.
  • the decision execution module 102 transmits, at step 140, an instruction 106 to the exchange to join the best bid.
  • the expanded market data is monitored, at step 142, and the data monitor determines, at step 144 whether there has been a change in conditions. If the answer is no, control passes back to step 142 such that the expanded market data is continually monitored for changes. If the answer is yes, control passes to step 134 where the order/market quality score is re-evaluated to determine if the quality score is still high, or whether the trade should now be executed.
  • the input user instruction relates to the driver's control of the accelerator pedal, and as such the decision to be made is whether the car should execute that instruction.
  • the decision logic module 100 retrieves, at step 132, the risk category associated with the present decision.
  • the current risk category may be determined by the set-up module in relation to the car's speed, road conditions, road location in relation to schools, etc.
  • a logic rule/statement is determined depending on which risk category is determined by the set-up module.
  • this logic rule is applied, at step 134, to the expanded data set (comprising additional information regarding the rate of changes/trends in both cars speeds) and the user instruction to determine a score.
  • the expert system 1 If the score is determined, at step 136, to be low (i.e. indicating the risk is low) the expert system 1 outputs appropriate signals 106 to an engine controller in relation to the user instruction. However, if the score is high, the expert system outputs an appropriate signal 106 to the engine controller such that an alternative instruction may be executed, i.e. the user's instruction is overridden.
  • the data monitor 104 may be arranged to monitor, at step 142, changes in the expanded data set such that if changes occur, as identified at step 144, the decision logic module 100 may re-evaluate the decision to determine whether the user instruction may now be executed, if desired and if safe to do so. It is to be appreciated that the functional blocks shown in Figures 3 and 6 may be implemented in a number of different ways.
  • Excel, VBA (Visual Basic for Applications) C and C++ modules may be configured to execute certain tasks and interface with other modules within the expert system and those components outside the expert system.
  • the exchanges in the first embodiment, and the engine controller and measurement devices in the second embodiment may be configured to execute certain tasks and interface with other modules within the expert system and those components outside the expert system.
  • the exchanges in the first embodiment, and the engine controller and measurement devices in the second embodiment may be configured to execute certain tasks and interface with other modules within the expert system and those components outside the expert system.
  • the exchanges in the first embodiment, and the engine controller and measurement devices in the second embodiment may be configured to execute certain tasks and interface with other modules within the expert system and those components outside the expert system.
  • Communication between certain modules may be executed using windows messaging, such that communications between the modules may be received and processed sequentially.
  • modules in the first embodiment, are configured to comprise interfaces for communication with exchange interfaces provided by third party software providers such as GLTM and PATSTM, and/or LiffeTM, EurexTM, or BrokerTecTM which are exchanges.
  • third party software providers such as GLTM and PATSTM, and/or LiffeTM, EurexTM, or BrokerTecTM which are exchanges.
  • the method of operation is by subscription to required markets.
  • the expert system of the first embodiment works by receiving TCP messages directly or by callbacks.
  • the input/output module 44 may further comprise a managing module for managing the flow of user instructions
  • the expert system 1 may further comprise a feedback module which may be used to finely tune the traders risk category.
  • the trader's risk category may also be dynamically updated depending on other various features of the particular order, i.e. depending on the product being traded or the market being used or in dependence on which client a broker is. trading on behalf of.
  • a look-up table may be used to record a plurality of risk categories depending on these user parameters.
  • the broad technical aspects of the present invention can be used in various technical situations where a stream of real-time data is being received and has to be processed in real-time to make real-time decisions.
  • the timing issues here cannot be over emphasised.
  • each second it takes to make a decision can have a detrimental effect on whether a correct deal can be executed or not.
  • each second of delay in reaching a decision can increase the chances of an accident or make the correct control of the car less comparable to correct human control.

Abstract

An expert system is arranged to automatically make real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream. The expert system comprises inputs for receiving a user instruction, a data stream from a data provider, the data stream representing a current data set, and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision. The expert system also comprises a data recorder arranged to sample the received data stream and to store the sampled data in a historical database to provide a historical data set; an analysis module arranged to analyse the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set. The analysis module is further arranged to store the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics. The expert system further comprises a logic rule selector arranged to select an appropriate logic rule from a plurality of available logic rules; a decision making module arranged to make a decision regarding the user instruction by applying the selected logic rule to the expanded data set, and a decision output module arranged to output a signal indicative of the outcome of the decision, wherein the logic rule selector is arranged to select a logic rule on the basis of the current risk category.

Description

Improvements Relating to Real-time Information Processing and Automatic Decision Making
Field of the Invention The present invention concerns improvements relating to real-time information processing and automatic decision making. In particular, the present invention relates to making decisions, in real-time, where there is insufficient data and where there is a variation in risk associated with the decision to be made.
Background to the Invention
There is a problem when analysing real-time raw data for the purpose of making decisions in that if there is an unknown dynamically changing quantity or entity, it must be better understood before the decision can be made. If the real-time raw data is simplistic and/or insufficient, it can be very difficult to understand the unknown quantity or entity in sufficient detail to be able to make a decision and as such automatic decisions based on limited information is not possible.
An example of a simple scenario where this is a problem is in an automated expert system for executing driving instructions of a driver. For example, a first and a second car travelling in substantially the same direction, the second car behind the first car, may be travelling at different speeds. The rates of change of their respective speeds may vary with time depending on whether they are being tasked to accelerate or decelerate. Both cars (and any other cars in the vicinity) are completely independent of each other, yet the actions of one car may cause serious implications for the other, particularly when travelling at high speeds.
A driver of the second car may task the car to accelerate at a particular rate. However, there may be situations where it is unsafe for the second car to carry out that action, for example, if the first car were to brake sharply. A safety system within the second car may be asked to make a decision as to whether to execute the driver's tasking instruction. However, because the first car is completely independent from the first car, there is not enough information to be able to make that decision.
Furthermore, the basis for the decision regarding whether to execute the driver's instruction may depend on an element or degree of risk involved in making that decision. Degrees of risk vary depending on the situation, and different people have differing attitudes to risk. Risk is difficult to quantify, and this further complicates any decision making process, especially when the correct decision should be based on a range of data, greater than the data available, and when the degree of risk involved in the decision should be taken into account.
Another example is in the field of electronic financial markets. Electronic markets have grown substantially in the last two decades and have become the main arena for trading most investment and risk management products. Previously, floor brokers carried out a range of discretionary activities on the trading floors using information available to them and by making judgements based on that information.
Computers have replaced traditional physical exchanges and buyer and seller orders are matched electronically according to specified exchange rules.
Traders typically gain access to electronic exchanges by using software provided directly by the exchange or software provided by specialised vendors. In some cases, market participants have developed their own proprietary software to fulfil their specific requirements and achieve better control over their activities.
In electronic markets the exact timing of issuing a market instruction to buy or sell can have a significant impact on the quality of the execution of an order. A trader must decide whether to pay the current trading price for immediate execution, or join the best bid in the market in order to achieve a better price. This is best illustrated with a specific example:
Consider the situation where a particular commodity is trading at a price of 90.50. The best bid price might be 90.49 and the best offer price 90.50. The quantity on the bid might be 50 and the quantity on the offer might be 500. Should a buyer of 10 units pay 90.50 for immediate execution or join the 90.49 bid in order to try for a better price? If the buyer joins the 90.49 bid, he may achieve a better price, but he could also end-up missing the 90.50 offer if the market moves up and might be forced to pay 90.51 or even more. The answer to whether the buyer should pay 90.50 for immediate execution or join the 90.49 bid in order to try for a better price depends on a number of factors including: how large the offer quantity is; how volatile the particular market is; what the buyer's appetite for risk is; and what is the benefit of paying 90.49 versus the effort required to achieve that price.
Traders need to consider the trade-off between the additional effort and risk on one hand, and the benefits of superior execution (i.e. getting a better price) on the other. They may consider delegating this task to a dedicated member of staff or use the services of an external broker. Brokers are often expected to make decisions regarding the timing of a market instruction on behalf of their clients. The quality of their decision making can have an important impact on the client-broker relationship.
Available (prior art) commercial trading systems typically rely on ergonomics to assist the trader in improving the quality of execution. The user has flexibility in designing a screen that best suits his specific purpose. Judicious use of styles and colours might be used, but the data presented, is invariably that available directly from the market to all market participants. The user cannot, in real-time, infer much additional information from the data and is left with the direct responsibility for any decision regarding the timing of orders.
In summary, the prior art systems suffer from a number of disadvantages in that they offer limited information and require decisions to be based largely on guesswork. The invention described here aims to introduce an element of artificial intelligence and automation to decision making processes where the decision is based on a varying degrees of risk.
Summary of the Invention One aspect of the invention involves a process of analysing, in real-time, dynamically changing market data as it is received and using the results of this analysis in real-time to improve the timing of orders placed in the market. This process can furthermore be tailored to take account of a user's particular risk tolerance to determine the appropriate course of action for a particular trader. In more technical terms, one aspect of the present invention is directed to the process of decision making in a real-time expert system which selects an event/action on the basis of calculated metrics generated by the real-time analysis of a stream of real-time raw data.
According to a first aspect of the present invention there is provided an expert system arranged to automatically make real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream, the expert system comprising: inputs for receiving a user instruction, a data stream from a data provider, the data stream representing a current data set, and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision; a data recorder arranged to sample the received data stream and to store the sampled data in a historical database to provide a historical data set; an analysis module arranged to analyse the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set, the analysis module being further arranged to store the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics; a logic rule selector arranged to select an appropriate logic rule from a plurality of available logic rules; a decision making module arranged to make a decision regarding the user instruction by applying the selected logic rule to the expanded data set, and a decision output module arranged to output a signal indicative of the outcome of the decision, wherein the logic rule selector is arranged to select a logic rule on the basis of the current risk category.
This advantageously provides the ability to analyse changes in a stream of data as they happen in real-time to get an insight into information which is not present in the stream of data and to use this information to make automatic decisions. Furthermore, automatic decisions can be tailored in dependence on certain parameters, for example a current risk category.
In a preferred embodiment, the risk categories may be pre-determined. Optionally, the risk categories may be tailored by the user. Preferably, the analysis module further comprises a data filter for filtering the data available from the historical data set and in the expanded data set in dependence on one or more user preferences.
Optionally, the expert system may further comprising a set-up module for receiving and storing the one or more user preferences.
Typically, the user preferences may be one or more parameters selected from the group comprising: a persist parameter, for specifying a length of time data must persist for before being available for analysis; a current product/market parameter, for specifying a current product/market parameter such that a pre-defined risk category associated with that current product/market parameter may be used by the automated decision making module, an order size parameter, for specifying preferred minimum order sizes; and a data importance parameter (N), for specifying the number of trades which are to be stored in the historical database before being overwritten.
According to a second aspect of the present invention there is provided a method of automatically making real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream, the method comprising: receiving a user instruction; a data stream from a data provider, the data stream representing a current data set; and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision; sampling the received data stream and storing the sampled data in a historical database to provide a historical data set; analysing the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set; storing the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics; selecting an appropriate logic rule from a plurality of available logic rules; making a decision regarding the user instruction by applying the selected logic rule to the expanded data set, and outputting a signal indicative of the outcome of the decision, wherein the logic rule is selected on the basis of the current risk category. According to a third aspect of the present invention there is provided a method of making automated decisions on the basis of a stream of dynamically changing market data, the method comprising: receiving order data from a trader wishing to have a decision made regarding the execution of the order; receiving the stream of dynamically changing market data from one or more electronic exchanges; analysing, in real-time, the dynamically changing market data as it is received in order to infer additional information regarding the composition of the market, retrieving a current risk category of the trader; and using the additional information inferred in analysing step to make a decision, in real-time, regarding the timing of the execution of the order.
According to a further aspect of the present invention, there is provided an expert system arranged to make automated decisions on the basis of a stream of dynamically changing market data, the system comprising: an input receiver for receiving order data from a trader wishing to have a decision made regarding the execution of the order; a data receiver for receiving the stream of dynamically changing market data from one or more electronic exchanges; an analysing module for analysing, in real-time, the dynamically changing market data as it is received in order to infer additional information regarding the composition of the market, a retriever for retrieving a current risk category of the trader; wherein the additional information inferred by the analysing module is used to make a decision, in real-time, regarding the timing of the execution of the order.
In this way, the invention advantageously provides a method/system for analysing changes in publicly available information to gain an insight into information that is not publicly available and which insight, due to the nature of the generation of the publicly available information (i.e. the speed with which the information changes), is not easily gathered can be used as the basis for automated decisions regarding the timing of the execution such that better decisions, i.e. those decisions meeting the users needs, can be made. This may mean a trader selling/buying a commodity at the best possible price given the quality of the market for that commodity.
According to a yet further aspect of the present invention there is provided a carrier medium for carrying a computer readable code for controlling computer to carry out the method of the second or third aspects of the invention. Brief Description of the Drawings
The present invention will now be described with reference to the following drawings relating to exemplary embodiments, in which: Figure 1 is schematic diagram of the configuration of an expert system, of a first embodiment of the present invention, in relation to electronic exchanges, markets and traders;
Figure 2 a flowchart showing an overview of method steps of the expert system, according to all embodiments of the present invention, in making and facilitating execution of decisions;
Figure 3 is a functional block diagram of the components of the expert system, according to all embodiments of the present invention, comprising a data analysis module and an automated decision making module;
Figure 4 is a flowchart of method steps of the data analysis module of Figure 3; Figure 5a is a graph representing variations in a number of individuals and an offer quantity of an electronic market over time;
Figure 5b is a graph representing variations in distance and speed over time;
Figure 5c is a graph showing additional information relating to the rates of change of the variations in distance and speed shown in Figure 5b; Figure 6 is a flowchart of method steps of the automated decision making module of Figure 3; and
Figure 7 is a flow chart describing the steps of operation of the automated decision making module.
Detailed Description of an Exemplary Embodiment of the Present Invention
The present invention relates to automated decision making on the basis of an incomplete set of dynamically changing data. The cause(s) of the changes in the incomplete set of data are undeterminable from the incomplete set of data on its own. However, analysis of the incomplete set of data may be used in order to expand the data set in order to assist the decision making process. Other factors which affect the decision making process include variations in conditions which has an impact on the risk associated with the decision.
One such application for this invention is in the field of electronic trading, such as in the futures market. A first embodiment of the invention is described in relation to this application below. However, it is to be appreciated that other applications exist within electronic markets and beyond. As will become apparent, the present invention is suitable for any expert system where an automated decision based on dynamically changing data, where there, is an element of risk is required. For example automated decision making (overriding) in car guidance systems, as discussed in more detail below.
The following description of the invention will therefore be made with reference to two embodiments, the first embodiment relating to the electronic markets application, and a second embodiment relating to the automotive application.
Electronic exchanges access one or more electronic markets. Typically, each electronic exchange has a plurality of traders (users) who buy and sell commodities/securities/risk. An offer to buy a commodity is known as a 'bid' and an offer to sell a commodity is known as an Offer1 or 'ask'.
As shown in Figure 1 , an expert system 1 , according to the first embodiment of the present invention, is arranged to access one or more electronic exchanges 2, each of which has an associated plurality of traders 4, who are trading in certain commodities on one or more markets .
The expert system 1 according to the present invention may be configured as a stand alone system in which case a single trader has direct access to a personal computer (PC) on which the expert system is running: the expert system facilitating connecting to one or more electronic exchanges/markets 2, 6.
Alternatively, many users may access the expert system 1 when it is hosted by a central server. Connection to such a central server may be by means of a local area network or via the Internet. Connection to the expert system and, therefore, to the electronic exchanges is secure. In another embodiment, the expert system may comprise a central server, to which a plurality of remote user terminals may connect, such that the expert system is able to make and execute expert decisions for a plurality of traders simultaneously.
Exchanges 2 publish very simplistic data regarding the current market and the commodities which are being traded. Typically, this consists of aggregated information relating to the bid and offer quantities at specified prices. Thus, the best bid is described by the sum of all the bid quantities at the highest price. The best ask/offer is described by the total quantity at the ask/offer lowest price. The market depth can be described by the total bid quantities at lower prices and the total ask quantities at higher prices. In addition, the exchange will typically publish the price and quantity of the latest matched order when a trade takes place.
A summary of the information the exchanges 2 provide is shown below to include: • an offer quantity: i.e. the quantity of a commodity which is being offered on the market
• a bid quantity: i.e. the quantity of a commodity which is being sought from the market
• a current trading price: i.e. the price the commodity is currently trading at • a best offer/ask price: i.e. the price of the best offer on the market, and
• a best bid price: i.e. the price of the best bid.
The exchanges also publish data, known as 'fills', relating to when orders are executed/filled.
When a trader wishes to bid for, or offer, a commodity for sale, they enter order requirements (user instruction data) such as the quantity to be bought or sold. In the case, of offering commodities for sale, the trader must also enter a target offer price (i.e. how much they would like to sell for). Similarly, when bidding on a commodity the trader must also enter a target bid price. A trader selling a commodity may also enter a minimum offer price (i.e. the minimum which they are willing to accept) or a maximum bid price (i.e. the maximum they are willing to pay).
In the second embodiment, the user instruction data is equivalent to the driver's (second car using the previous example) speed requirements. In other words, when the driver changes the position of the accelerator pedal using his foot, he is inputting to the system an instruction which he would like to have executed, i.e. accelerate, maintain the current speed or decelerate.
The expert (automated decision making) system 1 according to the first embodiment of the present invention is able to make a decision as to whether the trade (bid or offer) should be executed at the current trading price or whether the system should wait in the hope of obtaining a better price. Likewise, in the second embodiment, the automated decision making system is able to make a decision as to whether the car engine (of the second of two cars) should meet the demands of the driver or whether some other course of action should be taken.
In the second embodiment, this decision is based on data which can be gathered directly from the second car (in this two car example). This data may comprise speedometer readings relating to the current speed of the second car, and distance readings relating to the distance between the first and second cars. A person skilled in the art will appreciate which sensors would be appropriate for both these tasks, and would be able to implement circuitry to perform these measurements. Like the first embodiment, the decision to be made relating to the user instruction data is to be based on a stream of dynamically changing raw data.
In the second embodiment, other courses of action may include, maintaining the speed of the car for a predetermined length of time to enable further assessment of the situation (i.e. build up a better picture of the causes of the variation in the distance between the drivers car and other cars in the vicinity). Alternatively, another action may involve the expert system taking an opposite course of action to the one the driver requested. For example, if the driver wanted to accelerate but the car in front was found to have slowed down suddenly at a particular rate, the expert system, rather than allowing the car to speed up, could prevent further fuel being delivered to the engine, to slow the car down naturally, or could even apply the brakes, without driver intervention.
Consider an example, where a driver accidentally presses their foot on the accelerator instead of the brakes, when approaching a queue of traffic. Without an expert system as provided by the second embodiment of the present invention, the car would respond to the driver's requirements/ instructions and would accelerate rather than slow down. In the worse case scenario, the driver's car may crash into the car in front.
In both the first and second embodiments, the expert system is not able to make the best possible decision purely on the basis of the simplistic information it has at the present time. In the first embodiment, based on the information the exchanges publish, there is no way of determining what the probability of obtaining a better price is. Similarly, in the second embodiment, based only on the speed of the driver's car and the distance between both cars at the present time, it would be very difficult and unreliable to try to deduce whether it is safe to allow the driver's car to execute the driver's demands without knowing more information about the movement of the second car with respect to the driver's car. The reasons for this is that in both examples, there is an unknown entity or an incomplete picture. In other words there is an incomplete data set.
The inventors of the present invention have appreciated that an expert system 1 according to the present invention can be used to extrapolate additional information, from the current information/data that is available, by relating the current data to historical data. As such the expert system expands and enhances the data set to assist in making the decision.
Automatic decisions often cannot be made where there is a varying degree of risk associated with that decision because risk is difficult to quantify and mitigate. Often decisions are based only on the worst case scenario and as a result any decision making system would always err on the side of caution and would be either unnecessarily conservative or unreliable.
Figure 2 shows an overview 18 of the method steps of an expert system 1 according to one aspect of the invention in making and facilitating execution of such decisions.
The expert system 1 receives, at step 20, a stream of dynamically changing raw data. In the first embodiment the raw data relates to the offer and bid quantities and the current trading price and best bid price (as listed above), and in the second embodiment, the raw data may relate to the current speed of a car and the current distance between the second car and the car in front.
The expert system 1 , continually records, at step 22, the stream of data in a historical database. The receiving step 20 and the recording step 22 are continuous steps throughout the expert system processes. The historical database builds a 'picture' of the make-up of the market as data is received.
A user (trader/driver) enters, at step 24, their requirements, for which a decision is required. In the first embodiment, the requirements may be order details relating to a trade they wish to have executed. The details may include, for example, the commodity being traded, the quantity of the trade, and may also include a maximum/minimum price.
In the second embodiment, the requirements are those relating to the speed of the car as controlled by the accelerator pedal. In another embodiment, the requirements may relate to parameters other than speed, for example, direction. As a result, the driver requirements become more complex and additional factors need to be considered in order to make automatic decisions.
The expert system 1 uses, at step 26, a current (incomplete) set of data and a historical data set within the historical database to infer additional information from the current data set by identifying differences between the current data set and historical data set. In particular, the inferred additional information includes a likely cause for one or more of the differences between the current data set and the historical data set.
In the first embodiment, the current and historical data is analysed to provide an enhanced view of the 'make-up' of the market, i.e. the likely number of traders of a certain commodity and the likely quantities being traded. This information is important when making a decision as to whether to execute a trade at a current price or wait for a better price because the number of traders in the marketplace and the quantities being traded has a direct effect on the risk associated with the decision.
For example, a first trader offering a commodity, e.g. sugar, in a market which has a large number of traders offering large quantities of sugar at a current trading price and a relatively small number of traders bidding on relatively small quantities of sugar means that supply is greater than demand In that scenario, a trader may wish to sell at the current price rather than risk missing that price and potentially having to sell for less.
In this way it is possible to determine a 'quality' of the market. As a result the risk associated with the decision may be quantified for use in the automatic decision making process.
It is important to note that as trades are executed in the electronic markets 6, the 'quality' of the market changes. This is because the number of traders in the market 6 and the availability of commodities changes with time, and these changes can happen extremely quickly. An advantage of the present invention is that changes in the data can be detected very quickly. As such, decisions are not only automatic but may happen much faster than would be otherwise be the case.
In the second embodiment, the current and historical data is analysed to provide an enhanced 'view' of the relative position of at least one car in relation to the driver's car. The enhanced view is determined in terms of the distance between the two cars and by identifying a difference in the current distance and previous distances (from the historical database). As a result, the likely cause of the change in distance can be determined.
For example, when the distance between the first car and second car reduces over time, this may be partly due to an increase in the speed of the first car, and may be partly due to a decrease in the speed of the second car. By analysing the current data and the historical data, trends may be identified and as such the likely cause of the reduction in distance can be determined. This additional information is important because it can be used in deciding whether the expert system 1 should allow the execution of the driver's demands/requirements, i.e. the expert system 1 can determine whether execution of the driver's demands/requirements would expose the car, it's driver and passengers to a level of risk in excess of permitted levels of risk. Again, the risk associated with the decision may be quantified for use in the automatic decision making process.
After determining the additional information, the system 1 is then able to assess all of the available data using variable logic rules in order to determine whether to execute the user's requirements. The logic rules are variable according to the risk associated with the decision to be made.
For example, in determining the make-up of the market and by quantifying the level of risk the trader is prepared to take, it is possible to ascertain the 'quality' of the market for an order. The quality of the market for an order can be expressed as a score, and depending on the score the expert system is able to decide, at step 28, whether to execute the trade now or await a better price.
In the second embodiment, the additional information gathered regarding the likely event which has caused a distance between two cars to reduce, can be used by the system to decide, having an appreciation for the degree of risk involved, whether the user's requirements can be executed. The degree of risk involved with the decision can take into account many factors, for example, the quality of the road surface, the levels of precipitation on the road surface, volume of traffic, the speed of both cars, the proximity to schools, etc.
The expert system decides, at step 30, what actions should be taken, and depending on the decision, the expert system outputs, at step 32 or step 34 an appropriate signal to facilitate the execution of the decision.
The decision making process may be ongoing, for example, if the decision is made not to execute the trade now and attempt to wait for a better price. As such, the expert system monitors, at step 36, changes in the quality of the market for an order, and upon detection of such changes, the expert system re-evaluates the decision to determine when is the optimal time to execute the trade. Similarly, if the decision is made to carry out the driver's current requirements, the expert system will continue to monitor, at step 38, the driver's requirements in accordance with the associated level of risk and should the situation change (either because the requirements change or otherwise) the expert system re-evaluates, at step 28, the decision to determine whether alternative action needs to be taken.
A functional block diagram of the components of the expert system is shown in Figure 3. The expert system 1 is provided with a raw data stream 40 by a data provider 42. The expert system 1 comprises: an input/output module 44, for facilitating entry of the user instructions/requirements into the expert system 1 ; a set-up module 46, for setting-up logic rules associated with the varying levels of risk and user preferences; a data analysis module 48 for performing the analysis on the current data set and the historical data sets; an automated decision making module 50, for facilitating automated decisions and outputting appropriate signals regarding those decisions, and a data recorder 52 for maintaining a historical database 54.
The historical database 54, referred to in the first embodiment as a price history database (PHIST), records the raw data stream 40 in real-time as it is output from the data provider 42 (exchange 2). Thereby providing a historical log of the changes in the raw data over time. Preferences regarding how long the period of time over which data is recorded and maintained may be determined by the set-up module 46 in accordance with user preferences or may be pre-determined.
In the first embodiment, the PHIST records the values of the latest N bids and offers for each commodity and maintains this information in real-time. N is a variable which may be set to different values depending on the perceived relevance of this information to specific markets.
The historical database 54 may also maintain a history of individual market trades (as reported by exchanges) to enable generation relating to average trading sizes and in order to track relatively large trades. This information may be useful in attempting to anticipate the likelihood of future events.
The expert system 1 also comprises a reporting module for reporting information determined from the data provider to the user. In the first embodiment, the information reported may relate to the filled orders, i.e. fills, reported by the exchange 2. In the second embodiment, this information may relate to the speed/distance information, or may also relate to feedback to the driver of the second car in relation to whether alternative courses of action are being taken by the expert system. The latter information/feedback may be in the form of a warning.
The input/output module 44 has access to a user requirements database 56, for storing the user requirements entered via the input/output module 44. The set-up module 46 has access to a risk categorising database 58, for storing the logic rules associated with the varying levels of risk which can be tailored through the set-up module 46. The data analysis module 48 has access to an expanded data set database 60, for storing the additional information (expanded data set) which is determined by the data analysis module 48. Historical data relating to the expanded data set may also be stored in the expanded data set database 60.
The data analysis module 48 takes inputs from the historical database 54, risk categorising database 58 and performs analysis on this data to generate an enriched expanded data set which is stored in the expanded data set database 60. The data analysis module 48 updates the historical database with the expanded data set, and the expanded data set may also be provided to the input/output module 44 to be displayed to the user, if appropriate. The expanded data set is also provided to the automated decision making module 50 to assist in the decision making process.
The set-up module 46 facilitates recording of a plurality of risk categories, which are entered via the input/output module 44, in the risk categorising database 58. These risk categories may be predetermined or may be user defined. A current risk category may be entered via the input/output module. Alternatively, the current risk category may be determined by external parameters.
It is the current risk category which is used by the automated decision making module 50 to make a decision. Each risk category may be associated with a different logical statement, such that, different actions may be taken depending on the current risk category.
The set-up module 46 may further enable other user preferences to be defined and recorded. For example, it may be desirable to filter certain data within the historical database 54. The data may be filtered on the basis of a plurality of parameters, for example, the age of the data may be used to filter out most recent data which may be unreliable for a certain length of time. Other preferences, of course, can be entered as will be appreciated by a person skilled in the art. In the first embodiment, the trader's attitude to risk may change depending on a number of factors e.g. currency, and in the case of a broker (a person trading on behalf of a client), the risk category (attitude to risk) will have to be tailored to match that of their clients'. Other preferences may relate to an order size parameter, regarding the size of orders which are of interest and a persist/delay parameter which defines how long offers/bids should persist for before they are to be analysed. The risk category of a particular trader can by updated via the input/output module 44.
These preferences may be used to filter the data being analysed in order to enable decisions to be made on the basis of data of a certain level of interest. Selection of the data to be analysed is achieved in this manner.
The input/output module 44 stores the user requirement data in the user requirement database 56. In the first embodiment, when an order is input to the market, it is assigned a unique reference number to allow the order to be tracked. In this case, the user requirements are stored in relation to the assigned unique reference number. This is advantageous since it allows the expert system to make decisions regarding a plurality of decisions simultaneously.
In the second embodiment, where the expert system 1 is making decisions regarding a number of parameters, i.e. speed and direction of car, each decision being determined by the expert system may be assigned its own reference number such as described above.
The process steps 70, of one embodiment of the present invention, required to expand the historical data into the expanded data set, such that better informed decisions may be made, are shown in Figure 4.
The data recorder 52 receives, at step 80 (Step 20 in Figure 2), the current data set and stores the data, accordingly, in the historical database 54. The historical database 54 maintains, at step 82 (step 22 in Figure 2), a record of the changing data in relation to the time the data was recorded. The data analysis module 48 compares, at step 84, the current data set with a most recent historical data set, in order to calculate, at step 86, the differences between those data sets. In one embodiment, the data analysis module 48, using a plurality of logical statements, determines, at step 88, a most likely cause for the changes in the current and most recent historical data sets. The data analysis module 48 records, at step 90, the current data set and the most likely cause for the changes as additional information metrics within an expanded data set. It is the information within the expanded data set which is used by the automated decision making module 50 to make the decision.
As described above, the additional information metrics may relate to the make-up of an electronic market, enabling an overview of the market to be created and updated as changes happen. For example, the data analysis module 48 is able to determine the breakdown of bids and offers in each market, and to calculate implied bid and offer quantities. In one embodiment, the calculations are a series of logical statements in order to determine what change has occurred in the market and the most likely cause of that change. In one implementation the statements may be for example:
• IF the offer quantity has increased by X amount over a time-scale < Y,
THEN the number of individuals has increased by 1 and the market offer quantity has increased by X; • IF the offer quantity has decreased by X amount over a time-scale < Y, AND the
Exchange has reported a trade in the specified commodity,
THEN the market offer quantity has decreased by X, and the number of individuals has decreased by 1 ;
• IF the offer quantity has decreased by X amount over a time-scale < Y, AND the Exchange has not reported a trade in the specified commodity,
THEN the market offer quantity has decreased by X, and the number of individuals has decreased by 1 ; or
• IF the quantity has decreased by X amount over a time-scale < Y, AND the Exchange has not reported a trade in the specified commodity, AND within a time-scale < Z the market quantity has increased by an amount > X,
THEN the number of individuals stays the same and the market quantity has decreased by X In the last example statement, it is likely that the quantity placed on a offer was an erroneous entry and given the relative timing of an offer being made and a reduction in the quantity X, it can be deduced that the most likely cause is that the number of individuals hasn't changed, only the quantity of their offer has changed.
It is to be appreciated that a plurality of additional logic statements can be used to infer additional information metrics.
By using logical statements like the above, the data analysis module can expand the data set in the first embodiment from four simple data items for:
• the offer quantity
• the bid quantity
• the current trading price (i.e. last trade reported by the exchange),
• a best offer/ask price, and • the best bid price, to an expanded enriched data set comprising the four simple data items above plus additional information metrics for a plurality of data items comprising, for example:
• the number of individuals in the market;
• the number of individuals who have offerings; • the number of individuals bidding;
• a breakdown of the likely quantities offered/bid on by one or more individual;
• a maximum offer quantity; and/or
• a maximum bid quantity.
The data analysis module 48 determines the additional information metrics on the basis of the most likely events giving rise to the changes in the data, i.e. a trade has occurred (as supported by the fills reported by the exchange), an offer/bid has been withdrawn or an offer bid has been placed. For example, by examining changes in the best bid quantity, it is possible to infer the likely size of the individual elements that make up the total quantity.
In the situation where the total quantity (size) on the bid goes from 100 to 200, it can be inferred that the most likely thing that has happened is either that a new bid of 100 has joined the market or that the existing bid has increased in size. When the quantity goes down, one of two things can be assumed to have happened. Either an order has been withdrawn from the market, or a trade has just taken place. Since the exchange reports individual trades it is possible to determine the most likely cause.
An example of the additional information metrics relating to the make-up of the market may be that there are five individuals trading a particular commodity, a first having 50 items, a second having 10, a third having 25, a fourth wanting 5, and a fifth wanting 100. The total quantity being offered is 85 (i.e. 50+10+25), and the total being bid on is 105.
This expanded (market) data offers far more insight into the market than that which is available through prior art systems which only provide the current raw market data offering basic information of how many items are available, how many are wanted and the best offer/bid prices. The quality of raw market data, regardless of how it is formatted for display on the screen, is not suitable for an automatic decision making process.
The data analysis module 48 is able to infer the additional information metrics because the analysis is performed in real-time as events happen. Analysing in real-time is defined as analysing/sampling the raw data stream at sufficiently small time intervals, such that certain changes in the raw data stream can be attributed, with a certain degree of certainty, to particular events. If this were not the case, many different events could happen during the interval between sample points, yet because the analysis is not performed in real time, the system has no way of determining what events have actually occurred.
For example, in electronic markets 6, if the raw data is sampled at overly long intervals, many trades may have executed and/or many individuals offering/bidding on commodities may have joined or left the market. As a result, it may be impossible to derive an accurate picture or make-up of the market and as this information is important for making automatic decisions, the quality of the decision making process may be undermined, thereby making the automatic decisions unreliable. This is illustrated in Figure 5a. The graph in Figure 5a, represents two of the above additional information metrics, the number of individuals and the offer quantity. It is to be appreciated that the other additional information metrics will also vary over time. However, for simplicity the graph in Figure 5a concentrates only on these two metrics. The solid line A represents changes in the number of individuals over time, and the solid line B represents changes in the offer quantity over time.
A first sampling rate will correctly identify each of the events which lead to a change in the number of individuals and the offer quantity, i.e. as offers are placed on the market it can be deduced that either the number of individuals has increased or that one or more individuals have increased the quantity on their offer. Assuming, for the time being, that each time the offer quantity increases the number of individuals increases by one, the solid lines A and B are a good approximation of the events which have lead to the offer quantity increasing. In other words, at a first sampling time SA1 , the offer quantity increases by 13 and the number of individuals increases from 2 to 3, at second sampling time SA2, the offer quantity increases by 3 and the number of individuals increases from 3 to 4, and so on.
However, at a reduced second sampling rate, at a first sampling time SB1 it appears as though the offer quantity has jumped from 8 to 50, which infers that the number of individuals has only increased from 2 to 3. This would imply that the market was made- up of three individuals, one of whom has the lions share (42 at least) of the offer quantity.
The quality of the actual market, as represented by the solid lines, and the quality of the incorrectly sampled market, as represented by the dashed lines, are quite different. For example, if a decision was based on the incorrectly sampled market, it would appear that a trader entering a bid quantity of over 8 would be at risk of not being able to fulfil his order because the individual allegedly offering 42 might increase his offer price or remove his offering. In this scenario, there would either not be enough supply to meet demand, or the trader would miss the opportunity of paying a lower better price. It would appear as if the quality of the market in relation to the trader's requirements/bid is low and he should execute the trade now rather than miss out. However, in the example depicted by the solid lines A and B in Figure 5a, the actual quality of the market in relation to the trader's requirements/bid is better than implied above because, there are many more individuals present in the market, with a range of different offer quantities. As such, if any of these individuals were to sell their offerings or take them off the market (i.e. reduce the quantity of the commodity available), it would appear that the trader's bid could still be fulfilled by the remaining individuals/offers. In this case, the best course of action may be to wait for a better offer price before executing the trade, thereby allowing the trader to better his chances of getting a better price.
Automated decision based on incorrect analysis has, at best, the potential for traders to miss out on the opportunity of getting a better price (as above), and at worse, the potential for bidders to not be able to fulfil their orders if supply is depleted.
Figures 5b and 5c relate to the second embodiment of the present invention. As shown, if the distance between the two cars and the speed of the driver's car are sampled at overly long intervals, both cars could have experienced a wide range of velocities, and the resulting distance between the two cars may reduce to an 'unsafe' distance in relation to the specified risk category at that point in time. It would be difficult to derive an accurate picture of what the most likely trends in both cars' velocities (and the resulting distance) would be, if the sampling period were too long. Of course, at low speeds a longer sampling interval is not of as much of a concern/risk as at high speeds: the dangers and risks when driving at high speed require shorter time intervals between samples (i.e. real-time sampling).
In a similar manner to Figure 5a above, Figure 5b represents the effects of variations in sampling rate and shows how the distance between a first and a second car, and the speed of the first car may vary over time. This is shown by the solid lines C and D, respectively. The results of sampling at an appropriate sampling rate 92 are shown by the dotted lines, E, and the results of sampling at an inappropriate sampling rate 94 are shown by the dot-dot-dashed lines, F. Sampling at the inappropriate sampling rate means that a degree of additional information cannot be inferred or expanded on, on the basis of the speed and distance measurements. Figure 5c provides an indication of the additional information which can be inferred by analysing data which is sampled at a correct rate, and which can be used to improve the accuracy of the decision making process.
By sampling at an incorrect rate, there may be significant steps/increments from one sample at a first sample time, and a second sample at a second sample time. As a result, the rate of change of the distance and/or velocity may appear to be greater than it actually is. These rates of change are represented by drawing a gradient line between where a trace is at a first sampling time and where the trace is at the next sampling time, i.e. between P1 and P2 or PV and P2. Using the second (insufficient) sampling rate the rate of change in the distance is misrepresented by a steep gradient of line X. The more appropriate first sampling rate (at time P2 with reference to PV) results in a shallower gradient shown by line X'. A similar illustration is given, with respect to speed by lines Y and Y'.
These rates of change (i.e. the additional inferred information) could be used to determine 1) what was the likely event which caused the most recent changes, and 2) on the basis of these events, what is the most likely trend for the immediate future. However, if the rates of change are grossly wrong, as is possible when sampling at the wrong rate, this additional information is not helpful in making improved decisions, and could potentially lead to the wrong decisions being made.
By sampling at an appropriate rate, the expert system can monitor more closely the trends which the car is experiencing and better informed decisions can be made as a result. This is because, by sampling at an appropriate rate, the rates of change (gradients) relating to current trends in velocity and distance can be more readily resolved, as shown by lines Z. This information is not resolvable if sampling at an incorrect rate. By assessing these rates of change on an ongoing basis, a better assessment of the future trends can be identified and used in the automated decision making process.
A person skilled in the art will appreciate that the Nyquist theorem dictates the minimum sampling frequency, as being twice the bandwidth of the channel carrying the signal being sampled. The exchanges typically publish market data as orders are entered into the market by various traders/market participants. This could be in the order of one update/hour or tens or even hundreds of updates/second. The expert system is arranged to 'read' or sample the information as it is produced by the exchange. This has the advantage that the expert system is able to determine the make-up of the market at a high-resolution which would not otherwise be possible.
A block diagram of the functional components that are found within the automated decision making module 50 is shown in Figure 6.
As shown the automated decision making module 50 comprises a decision logic module 100, a decision execution module 102, and a data monitor 104. The decision logic module 100 utilises one or more logical algorithms to decide on the basis of i) the current risk category, ii) the expanded data set and iii) the user requirements, whether the user's requirements/instructions should be executed at the present time.
In the first embodiment, the quality of the market, with reference to a particular order, is determined such that the quality of the market for an order is given a score of being low or high. In order to determine the score, the decision-making module takes inputs of the trader's specified risk category, the expanded data set (i.e. enhanced market data) and the order data.
The score determined by the decision logic module 100 is passed to the decision execution module 102, which transmits an output signal 106, relating to the decision, to an interface of the current exchange, for transmission to the current exchange 2 for execution.
Risk is inherently difficult to quantify because it is variable depending on different conditions/situations. However, the inventors have appreciated that it is possible to categorise risk into an appropriate category that best matches the user's attitude to risk or the conditions/situations which give rise to the risk.
As described above, risk categories may be predetermined or may be user defined. A current risk category may be entered via the input/output module 44. Alternatively, the current risk category may be determined by additional measurable parameters.
In the first embodiment, traders may be asked to specify their attitude to risk. One way in which this can be achieved is by the traders selecting one of a number of different risk categories. The trader, understanding the categories, selects the category most appropriate to their attitude to risk, the risk of the market, the risk associated with a particular currency and the risk associated with a particular client, in the case of a broker. The trader can change his risk category as he sees fit.
In addition, if a trader does not find a category which suits his attitude for risk he can design his own category as necessary.
It is the current risk category which is used by the automated decision making module to make a decision. Each risk category may be associated with a different logical statement, such that, different actions may be taken depending on the current risk category.
In the first embodiment, a trader may select a most appropriate risk category that best matches his attitude to risk. Alternatively, the trader's attitude to risk may be determined in another manner, for example on the basis of interactive quizzes.
In the second embodiment, predetermined risk categories may be defined and selected on the basis of additional measurable parameters. For example, at high speed a distance of 3 meters between two cars will have an associated risk greater than the same distance at much lower speeds. In this embodiment, risk categories may be defined at the time of implementation/design of the expert system. Simulated scenarios may be used to better understand or evaluate varying degrees of risk and a plurality of risk categories, having different logical rules/statements may be defined as a result.
In both embodiments, a current risk category is selected from a plurality of available risk categories.
Risk categories may also be added to the plurality of available categories using the set- up module as described above.
As described above, each risk category has at least one associated logic rule. The logic rules are the conditions that, if they are met result in one decision, else they result in another decision. The logic rules determine a score by applying the expanded data and order data to the at least one logic rule associated with the current risk category. In the first embodiment, described below, the score is determined to be LOW or HIGH, i.e. there are two possible outcomes. However, it is to be appreciated that the score may be a scaleable quantity and a plurality of different results/actions may be derivable from the logic rules.
For the electronic market scenario, example rules that might be assigned to each risk category are given below. A HIGH score causes an improvement to be sought and a LOW score signifies that no improvement should be sought and the order should be executed at the current best price.
Figure imgf000027_0001
Risk Category 0 users with a Risk Tolerance value of 0, are deemed ultra-conservative and always trade at their specified prices.
Risk Category 1 is a category suitable for a conservative trader since only the market and order quantities are taken into account.
Risk Category 2 is a category suitable for a slightly less conservative trader since the largest individual quantity is also taken into account, that is to say, in this scenario, the market is assumed to be able to sustain the order even if the individual with the largest quantity was to withdraw or have their order filled.
The market is monitored continually by the data monitor 104 and as changes occur to quantities specified within the expanded market data the score is constantly being reevaluated. While the Score remains HIGH the system can attempt to improve the price of the order. As soon as the Score changes, an instruction is issued by the system to fill the order at the target price. There is no reverse procedure. Once the expert system 1 has determined that an order is to execute at the target price it does not try and improve again. In other words, a decision is made on the basis of expanded data set generated through the analysis of the stream of real-time raw data, in accordance with the current risk category/attitude.
It is to be appreciated, that an expert system of one embodiment of the present invention could also be used when making decisions regarding spread orders. Spread orders involve the simultaneous purchase of one commodity/contract and sale of another, in other words a trader will buy something if he can sell something else, and the transaction is considered to have two legs, a buying leg and a selling leg. In some situations, spread orders can be entered directly into the market and executed by the exchange as a single transaction. In other cases, a spread order book may not be available and the trader needs to work each leg of the order separately. (This is obviously the case when a spread order involves two different exchanges).
In this situation, it is important to execute one leg of the trade if the other can also be achieved. A decision needs to be made regarding which leg is the most reliable and which leg to work first and at what price. (Typically, one would work the less reliable side of the order first).
The risk tolerance of a trader needs to be taken into account in deciding what is considered a 'safe' quantity to lean on. The higher risk trader will have a lower standard in determining what is deemed safe and will therefore have a higher chance of putting the spread on, but at a higher risk.
As above, a trader selects a risk category depending on their level of risk. They can also design a category to suit if necessary.
An example of a set of rules for determining safe quantities based on the expanded data set is given below.
Figure imgf000029_0001
Figure imgf000030_0001
Here category 0 is the least conservative and corresponds to the most aggressive trader who is prepared to assume the highest level of risk to execute a trade. However, the categories above relate to a user's preference in relation to risk and do not necessarily go from least conservative to most conservative in order. They describe the rules a user wishes to adopt in relation to asserting what price they deem to be 'safe'.
For example, if a spread consisted of a trader buying 100 of X if selling 100 Y, it is preferential to 'work' the leg of the trade with the lowest quality, i.e. by analysing the market make-up metrics to ascertain the number of individuals in the market, the market quantity etc. In some scenarios, due to the quantities available, it may not be possible to fill the whole order, in that case the trade may execute with what is available. For example a 'working' quantity, may involve buying 50 X to sell 50 Y. In such a scenario, the 'working size' may be taken into account in deciding whether to execute now or join the best bid to try to achieve a better price.
Referring back to the expert system which is capable of making decisions in relation to outright orders and/or spread orders, Figure 7 is a flow chart 110 describing the steps of operation of the automated decision making module 50, these steps applying to both outright and spread orders.
The trader enters, at step 130 (step 24 in Figure 2), the details of the order (requirement data). The trader's selected risk category (as entered via the input/output module and the set-up module and stored in the risk categorising database) and the expanded market data are retrieved, at step 132, from the appropriate databases.
The decision logic module applies, at step 134, the logic algorithms in order to determine the order/market quality score. The decision execution module 102 determines, at step 136, whether the score is HIGH. If the answer is no then the decision execution module 102 transmits, at step 138, an instruction 106 to the exchange to execute the order.
However, if the answer is yes, the decision execution module 102 transmits, at step 140, an instruction 106 to the exchange to join the best bid. The expanded market data is monitored, at step 142, and the data monitor determines, at step 144 whether there has been a change in conditions. If the answer is no, control passes back to step 142 such that the expanded market data is continually monitored for changes. If the answer is yes, control passes to step 134 where the order/market quality score is re-evaluated to determine if the quality score is still high, or whether the trade should now be executed.
It will be appreciated by a person skilled in the art that the above examples relating to risk categories and the automated decision making module 50 can be applied equally well to the second embodiment. For example, the input user instruction relates to the driver's control of the accelerator pedal, and as such the decision to be made is whether the car should execute that instruction.
The decision logic module 100 retrieves, at step 132, the risk category associated with the present decision. As described above, the current risk category may be determined by the set-up module in relation to the car's speed, road conditions, road location in relation to schools, etc. A logic rule/statement is determined depending on which risk category is determined by the set-up module. And this logic rule is applied, at step 134, to the expanded data set (comprising additional information regarding the rate of changes/trends in both cars speeds) and the user instruction to determine a score.
If the score is determined, at step 136, to be low (i.e. indicating the risk is low) the expert system 1 outputs appropriate signals 106 to an engine controller in relation to the user instruction. However, if the score is high, the expert system outputs an appropriate signal 106 to the engine controller such that an alternative instruction may be executed, i.e. the user's instruction is overridden. The data monitor 104 may be arranged to monitor, at step 142, changes in the expanded data set such that if changes occur, as identified at step 144, the decision logic module 100 may re-evaluate the decision to determine whether the user instruction may now be executed, if desired and if safe to do so. It is to be appreciated that the functional blocks shown in Figures 3 and 6 may be implemented in a number of different ways. For example, Excel, VBA (Visual Basic for Applications) C and C++ modules may be configured to execute certain tasks and interface with other modules within the expert system and those components outside the expert system. For example, the exchanges in the first embodiment, and the engine controller and measurement devices in the second embodiment.
Communication between certain modules may be executed using windows messaging, such that communications between the modules may be received and processed sequentially.
Certain modules, in the first embodiment, are configured to comprise interfaces for communication with exchange interfaces provided by third party software providers such as GL™ and PATS™, and/or Liffe™, Eurex™, or BrokerTec™ which are exchanges.
The method of operation is by subscription to required markets. The expert system of the first embodiment works by receiving TCP messages directly or by callbacks.
Furthermore, within the expert system 1 of the present invention, the input/output module 44 may further comprise a managing module for managing the flow of user instructions
(orders) within the expert system. This may be particularity relevant to embodiments of the present invention which deal with a plurality of user instructions/orders. There may be a great deal of data being delivered to the expert system (for example the price feed in the first embodiment) and it is important to control the flow to prevent unnecessary delays.
The expert system 1 may further comprise a feedback module which may be used to finely tune the traders risk category. The trader's risk category may also be dynamically updated depending on other various features of the particular order, i.e. depending on the product being traded or the market being used or in dependence on which client a broker is. trading on behalf of. A look-up table may be used to record a plurality of risk categories depending on these user parameters. Having described a particular system, which embodies several of the above described aspects of the present invention, it is to be appreciated that the present embodiment is exemplary only and that variations and modifications such as those which will occur to those possessed of the appropriate knowledge and skills, may be made without departure from the spirit and scope of the invention as set forth in the appended claims. In particular, the field of application of the present invention is not restricted to electronic markets, but can be used in a variety of fields including any expert systems making decisions where a varying degree of risk associated with those decisions is a factor in the decision making process.
The broad technical aspects of the present invention can be used in various technical situations where a stream of real-time data is being received and has to be processed in real-time to make real-time decisions. The timing issues here cannot be over emphasised. In a financial market each second it takes to make a decision can have a detrimental effect on whether a correct deal can be executed or not. In the car-driving example, each second of delay in reaching a decision can increase the chances of an accident or make the correct control of the car less comparable to correct human control.
It is also to be appreciated that a feature of any given embodiment may equally be applied to other embodiments of the present invention.

Claims

Claims
1. An expert system arranged to automatically make real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream, the expert system comprising: inputs for receiving a user instruction; a data stream from a data provider, the data stream representing a current data set; and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision; a data recorder arranged to sample the received data stream and to store the sampled data in a historical database to provide a historical data set; an analysis module arranged to analyse the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set, the analysis module being further arranged to store the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics; a logic rule selector arranged to select an appropriate logic rule from a plurality of available logic rules; a decision making module arranged to make ajdecision regarding the user instruction by applying the selected logic rule to the expanded data set, and a decision output module arranged to output a signal indicative of the outcome of the decision, wherein the logic rule selector is arranged to select a logic rule on the basis of the current risk category.
2. An expert system, as claimed in Claim 1 , wherein risk categories are predetermined.
3. An expert system, as claimed in Claim 1 or Claim 2, wherein risk categories are tailored by the user.
4. An expert system, as claimed in any preceding claim, wherein the analysis module further comprises a data filter for filtering the data available from the historical data set and in the expanded data set in dependence on user preferences.
5. The expert system, as claimed in any preceding claim, further comprising a setup module for receiving and storing one or more user preferences.
6. The expert system, as claimed in any preceding claim, wherein the user preferences may be one or more parameters selected from the group comprising: a persist parameter; a current product/market parameter;, an order size parameter; and a data importance parameter (N).
7. A method of automatically making real-time decisions regarding whether to execute a user instruction based on a dynamically changing raw data stream, the method comprising: receiving a user instruction; a data stream from a data provider, the data stream representing a current data set; and a current risk category that is selectable from a plurality of risk categories in dependence on a perceived risk involved in making the decision; sampling the received data stream and storing the sampled data in a historical database to provide a historical data set; analysing the current data set and the historical data set to identify additional information metrics relating to variations between the current data set and the historical data set; storing the additional information metrics within a further database to provide an expanded data set comprising the current data set and the additional information metrics; selecting an appropriate logic rule from a plurality of available logic rules; making a decision regarding the user instruction by applying the selected logic rule to the expanded data set, and outputting a signal indicative of the outcome of the decision, wherein the logic rule is selected on the basis of the current risk category.
8. A method of making automated decisions on the basis of a stream of dynamically changing market data, the method comprising: receiving order data from a trader wishing to have a decision made regarding the execution of the order; receiving the stream of dynamically changing market data from one or more electronic exchanges; analysing, in real-time, the dynamically changing market data as it is received in order to infer additional information regarding the composition of the market, retrieving a current risk category of the trader; and using the additional information inferred in analysing step to make a decision, in real-time, regarding the timing of the execution of the order.
9. An expert system arranged to make automated decisions on the basis of a stream of dynamically changing market data, the system comprising: an input receiver for receiving order data from a trader wishing to have a decision made regarding the execution of the order; a data receiver for receiving the stream of dynamically changing market data from one or more electronic exchanges; an analysing module for analysing, in real-time, the dynamically changing market data as it is received in order to infer additional information regarding the composition of the market, a retriever for retrieving a current risk category of the trader; wherein the additional information inferred by the analysing module is used to make a decision, in real-time, regarding the timing of the execution of the order.
10. A carrier medium for carrying a computer readable code for controlling a computer system to carry out the method of Claims 7 or 8.
PCT/GB2007/004076 2006-10-26 2007-10-26 Improvements relating to real-time information processing and automatic decision making WO2008050131A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0621334.2A GB0621334D0 (en) 2006-10-26 2006-10-26 Improvements relating to real-time information processing
GB0621334.2 2006-10-26

Publications (1)

Publication Number Publication Date
WO2008050131A1 true WO2008050131A1 (en) 2008-05-02

Family

ID=37546037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2007/004076 WO2008050131A1 (en) 2006-10-26 2007-10-26 Improvements relating to real-time information processing and automatic decision making

Country Status (2)

Country Link
GB (1) GB0621334D0 (en)
WO (1) WO2008050131A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990013087A1 (en) * 1989-04-17 1990-11-01 Del Partners, L.P. Expert control system for real time management of automated factory equipment and method for developing same
US5974457A (en) * 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990013087A1 (en) * 1989-04-17 1990-11-01 Del Partners, L.P. Expert control system for real time management of automated factory equipment and method for developing same
US5974457A (en) * 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JENG J J ET AL: "RuleBAM: a rule-based framework for business activity management", SERVICES COMPUTING, 2004. (SCC 2004). PROCEEDINGS. 2004 IEEE INTERNATIONAL CONFERENCE ON SHANGHAI, CHINA SEPT. 15-18, 2004, PISCATAWAY, NJ, USA,IEEE, 15 September 2004 (2004-09-15), pages 262 - 270, XP010741532, ISBN: 0-7695-2225-4 *

Also Published As

Publication number Publication date
GB0621334D0 (en) 2006-12-06

Similar Documents

Publication Publication Date Title
US11693478B2 (en) Attention-based trading display for providing user-centric information updates
US11790445B2 (en) Charting multiple markets
US7356501B2 (en) Integrated price and volume display of market traded securities using price-volume bars
US7403921B2 (en) System and method for calculating and displaying volume to identify buying and selling in an electronic trading environment
US7877312B2 (en) Apparatus and method for displaying trading trends
US10937093B2 (en) System and method for analyzing and displaying security trade transactions
US20020026404A1 (en) Apparatus and method for displaying trading trends
JP5511768B2 (en) Network and method for trading derivatives with enhanced RFQ visibility
US8650115B1 (en) Computer based trading system and methodology utilizing supply and demand analysis
US20140351171A1 (en) Investment Guidance System Which Enables Individuals To Rate And Select Assets Based On Personal Investment Preferences
US20210182300A1 (en) Broker chat bot
WO2001016852A2 (en) User interface for semi-fungible trading
JP2010118084A (en) System and method for estimating and optimizing transaction cost
US8355973B2 (en) Apparatuses, methods and systems for a periodic auction reset securities optimization engine
US11941697B2 (en) Distribution of market data based on price level transitions
WO2002059815A1 (en) Trading data visualisation system and method
US20190372869A1 (en) State generation system for a sequential stage application
US20140258176A1 (en) System and method for dynamic visual representation of estimated financial data
US20070088646A1 (en) Electronic trading system
US20100299282A1 (en) Method and System for Modeling Volatility
WO2008050131A1 (en) Improvements relating to real-time information processing and automatic decision making
JP3983679B2 (en) Portfolio calculation program, portfolio calculation method, and portfolio calculation apparatus
TW201610895A (en) Stock information device and a processing method for stock information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07824320

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 0916943

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20080226

122 Ep: pct application non-entry in european phase

Ref document number: 07824320

Country of ref document: EP

Kind code of ref document: A1