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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; 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
Description
Claims
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)
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 |
-
2006
- 2006-10-26 GB GBGB0621334.2A patent/GB0621334D0/en not_active Ceased
-
2007
- 2007-10-26 WO PCT/GB2007/004076 patent/WO2008050131A1/en active Application Filing
Patent Citations (2)
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)
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 |