WO2004013753A2 - Data processing device and method for interactive multiple user access to large data volumes - Google Patents

Data processing device and method for interactive multiple user access to large data volumes Download PDF

Info

Publication number
WO2004013753A2
WO2004013753A2 PCT/EP2003/008201 EP0308201W WO2004013753A2 WO 2004013753 A2 WO2004013753 A2 WO 2004013753A2 EP 0308201 W EP0308201 W EP 0308201W WO 2004013753 A2 WO2004013753 A2 WO 2004013753A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
price
security
securities
trading
Prior art date
Application number
PCT/EP2003/008201
Other languages
German (de)
French (fr)
Other versions
WO2004013753A3 (en
Inventor
Peter Herold
Eckhard Kantz
Original Assignee
Peter Herold
Eckhard Kantz
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 Peter Herold, Eckhard Kantz filed Critical Peter Herold
Priority to AU2003281782A priority Critical patent/AU2003281782A1/en
Publication of WO2004013753A2 publication Critical patent/WO2004013753A2/en
Publication of WO2004013753A3 publication Critical patent/WO2004013753A3/en

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Definitions

  • the invention relates to a method and a data processing device for interactive multi-user access to large amounts of data.
  • the invention further relates to a corresponding security analysis device and a security analysis method including a device and a method for automatically generating buy and sell signals for the management of securities in a securities account.
  • Moving Average (EMA Exponential Moving Average, trend following indicator): Calculates the average price of the last n trading days and thus draws a moving trend line. Depending on n, it follows the course of the course with a certain time delay.
  • RSI Relative Strength, cycle indicator
  • the simplest cycle indicator is momentum. It represents the momentum that the price movement currently has.
  • the RSI is the further development of momentum with a standardized value range between 0 and 100. This makes individual securities comparable with one another.
  • Stochastics overbought / oversold indicator: Stochastics is an extension of the RSI. It is assumed that the closing prices tend towards the high prices in bull market phases and towards the low prices in the downward trend. A trend reversal is imminent when the closing prices (with an upward trend) are no longer close to the
  • Stochastics are very responsive and often lead the trend. It is therefore often smoothed or slowed down by a moving average of 3 days.
  • MACD Moving Average Convergence / Divergence, trend following indicator
  • the result is approximately 250 trading days per year and 1,000,000 different securities on the world market according to their respective security ID
  • a value of one second is used as the target system response time.
  • this value can only be achieved due to the previously described high data volume if technological progress has increased the speed of read access to a hard disk or a hard disk array or to a suitable successive storage medium by a factor of around 100.
  • a system response time of one second can therefore only be achieved in the foreseeable future by keeping all the data in memory. But 'also the current technological state has its limits at the maximum memory expansion as well as the processor clock frequency.
  • the processor clock frequency and in particular the maximum access speed to the main memory become a limiting factor. If the amount of data to be stored is changed from 2,500,000,000 security days to the current processor speed of around 2,500,000,000 Hz, the result is that on average only one processor clock is available per security day within one second. This size is therefore not a sufficient basis for the execution of relevant processing operations. Thus, the use of 64-bit architectures would not solve the problem with the current state of the art.
  • a value of 20 processor clock cycles based on practical experience is used as the minimum number of processor clock cycles for carrying out a minimal processing of the data of a single security day.
  • the minimum processing to be performed with this number of cycles is the reading out of an individual characteristic value from a security day, the comparison with a predetermined comparison value and the derivation of a decision therefrom.
  • More complex processing usually requires significantly more processor cycles.
  • the number of processor cycles usually depends very much on the internal architecture of the processor, in particular on the parallel processing of instructions.
  • a common approach to overcoming processor capacity bottlenecks is to use vector computing architectures that are capable of processing multiple elementary operations in parallel.
  • Parallel processing has theoretical limits, particularly when executing multiplication and division instructions, which are predetermined by the internal architecture of the arithmetic processing unit of the processor and which cannot be influenced by any programming optimizations in the application program. For the selected minimum value of 20 processor cycles per security day, with a required response time of one second, a simple calculation results in a required processor clock frequency of
  • processor clock frequency (number of processor cycles per second).
  • the sixth parameter can no longer be freely selected, but is then subject to the limitation by the relation mentioned.
  • the previously assumed values are used to calculate the response time for a single user when using only one processor: For
  • the response time will be at least 20 seconds.
  • V Speed of the main memory when reading data such as
  • the sixth parameter can no longer be freely selected, but is then subject to the limitation by the relation mentioned.
  • the previously assumed values are used to calculate the response time for a single user using very fast working memory with an access speed of 2 GByte / s with only one processor and optimized storage layout of the data:
  • the response time will be at least 10 seconds.
  • the response time is now calculated if the access time to the working memory would improve by a technological leap by a factor of 1,000 (one thousand) to (1,000 * 2) GByte / s and 100 users simultaneously on the Access system.
  • V (1,000 * 2) GByte / s
  • T> 1 s Result The response time for 100 users will be at least one second, even if the access speed to the RAM would hypothetically enlarge to a thousandfold.
  • the response time is now calculated for the values already used in calculation example 2, as in calculation example 4, if the access time to the external memory would improve by a technological jump by a factor of 1,000 (one thousand) to (1,000 * 200) Mbytes / s and continue to access 100 users at the same time.
  • the response time for access by 100 users will be at least 10s, even if the access speed to the external memory 5 would hypothetically increase 1000 times.
  • calculation example 3 makes it clear that every technological advance is divided into several dimensions, such as the number of users and response time, when it is used in practice, and therefore only a fraction of the factor which makes up the respective progress is accounted for in each dimension.
  • a multiprocessor system is known from US-A-5,734,829, which increases the speed for a processing algorithm of seismic data to a multiple of the value of individual processors by working in parallel with several processors.
  • the group of processing processors is controlled by a central module, which assigns the processing processors the appropriate data records for processing and gets the result back and forwards it.
  • BeoWuif is understood as the interconnection of two or more computers via a local network to form a cluster.
  • the goal of Clusters also consist in achieving a significant increase in performance compared to a single computer system.
  • the requirements for the number of hard disk arrays are reduced if the accelerating effect of the cache is taken into account.
  • the problem that arises here is the provision of sufficient cache to effectively keep all the data in the working memory and, furthermore, in particular the runtime overhead and its imponderability due to the cache management algorithms, which are generally not known.
  • the cache is viewed by database servers, it has to make a compromise between the requirements of the most varied access types and is therefore usually an overhead for each individual case each have optimal access procedures to the data.
  • a quantitative assessment of the overhead is only possible in the specific case depending on the manufacturer of the database and usually also on the version of the software used. This makes it difficult to achieve a defined short response time with extremely large amounts of data.
  • the object of the invention is to provide a method and a data processing device for interactive multi-user access to large amounts of data, which in particular do not have the disadvantages specified above or only have them to a greatly reduced extent.
  • the total amount of data is divided over the Main memory of several computers and full control over the majority of the processor cycles required for processing achieve a defined short response time of the computer cluster even with extremely large amounts of data.
  • a successful application of the method requires that the number of processor cycles for the determining algorithm is determined. This is done, for example, by programming the system time before the algorithm starts for a single data unit, and determining the system time after the algorithm has ended for this one data unit. The number of processor cycles required is calculated from the knowledge of the processor speed and the previously determined time required for processing the algorithm.
  • T1 start time of measurement N Number of repetitions of the algorithm.
  • FIG. 1 shows a schematic hardware and software component diagram of an embodiment of a data processing device according to the invention based on the "message passing" principle.
  • Fig. 2 shows schematically the hardware components of the embodiment shown in Fig. 1.
  • FIG. 3 shows a schematic block diagram of an individual computer (computer node) from the embodiment shown in FIG.
  • FIG. 4 shows a flowchart of the algorithm for load sharing and result synthesis from the embodiment shown in FIG. 1.
  • 5 shows in the upper part a diagram with typical typical buy and sell signals for short and long positions of a security shown on a course of the price with the associated earnings diagram in the lower part.
  • Fig. 6 shows the course of optimization and short and medium-term test phases to determine the optimal parameters of a trading system.
  • Fig. 7 shows the assignment of several trading systems and trading variants to individual, different securities in a securities account.
  • Fig. 8 shows a linear trading system that corresponds to the prior art.
  • Fig. 9 illustrates the complex evaluation of a large number of securities taking into account a large number of trading systems and taking market conditions into account.
  • a computer cluster shown schematically in FIG. 1 makes its functionality available to other systems via an external network 10.
  • These can be, for example, inquiries from people (not shown) who use a browser (not shown) to call up information on the Internet via a graphical user interface.
  • these can be other computers or computer systems that can be connected to the system described here via the Internet and that queries can be carried out via a machine interface.
  • the external network can also be any other data network that connects other computers to the system described.
  • a number 1 ... n individual computers 40 form a group of computers which form the processing units of the system.
  • a load distributor 20 routes requests from an external computer network 10 to the individual computers 40 using a suitable distribution strategy further, so that the load is divided among the individual computers 40.
  • the load distributor 20 communicates with the individual computers 40 via an internal network 30.
  • a simpler load sharing device can otherwise also be used.
  • the only requirement for the load distributor 20 is that the incoming requests are suitably distributed among the individual computers 40, so that on average a uniform load on the individual computers 40 occurs. It is further assumed that this task is carried out by a commercially available device of this type, the algorithm running there not being considered in more detail here.
  • Load distributors are offered by different providers with different properties.
  • the "Catalyst 4840G” load distributor was selected as an example, which allows the incoming requests from the external network to be distributed to a maximum of 40 servers.
  • the "round robin” method is used as the load distribution strategy, which is a uniform method Load on all connected servers.
  • a description of this load balancer can be viewed at the following Internet address:
  • the load distributor ensures an even load on all servers, which is necessary for the continuous operation of a large number of 600 requests per second and more from the external network.
  • this has no direct connection to the defined short response time, which the system also adheres to for an extremely large amount of data.
  • the short response time is achieved in particular by the fact that each computer in the cluster is allocated only a part of the extremely large amount of data for processing and that it keeps this amount of data in its main memory to enable the generation of a quick response. A distinction must therefore be made between two extreme situations.
  • the algorithm according to the invention in accordance with FIG. 4 is used. By dividing the required work across all connected computers in the cluster, the intended short response time to the complex request is achieved.
  • a server program 41 accepts requests that have been made to the system from the external network 10 via the load distributor 20. Each request is forwarded to an intermediary program 42 on the same computer.
  • the broker program 42 sends each received request to a request processing program 43 on the same computer as well as via the internal network 30 to the broker programs 42 on all other individual computers 40.
  • the request processing program 43 accepts each request from the intermediary program 42 on the same single computer 40 and generates a corresponding answer. To generate the response, all data are stored in a memory 44 or, depending on the request, only parts of it used.
  • the mediator program 42 accepts the answer to a query from the query response program 43 on the same individual computer and combines this with the answers from the mediator programs 42 on all other individual computers 40 to form a combined answer.
  • the combined response is forwarded by the intermediary program 42 to the server program 41 on the same individual computer, which sends the received response to the requesting system in the external network 10.
  • the distributed individual computers 40 By using the distributed individual computers 40, several positive effects are achieved.
  • the entire extremely large amount of data that is to be made available interactively for multi-user access can be distributed over a plurality of individual computers 40 in such a way that each individual computer 40 receives a quantity of data that can be kept within the memory 44 at the same time and that is included in the processing allows the proposed algorithms a response time less than or equal to the specified response time.
  • the tasks of the server program and the intermediary program are divided among all available individual computers, which enables an optimal load distribution in the overall system.
  • the maximum amount of data that can be placed on a single computer 40 depends, as previously described in detail, on the high processor speed, speed in accessing the working memory, intended response time and the number of cycles required to execute the intended algorithm for a single data unit.
  • the amount of data relating to this single computer must be loaded into the memory 44. This happens from the hard disk 45 when the individual computer is started up from the idle state to the standby state. Due to the limited hard disk speed, this process takes several orders of magnitude longer than the later processing of the entire amount of data in the memory 44. The data must therefore be loaded in good time before the first request is processed. When the system is in operation, newly arriving data, such as, for example, the closing prices on the current trading day, must be transferred both to the memory 44 and to the hard disk 45. If the permissible amount of data for the individual computer 40 is exceeded, older data must be deleted from the memory at the same time.
  • the absolute value of the closing price is stored in addition to the course differences mentioned above (open-low, close-low and high-close). This means that the differential values, which are stored in a particularly economical memory, can be converted back into absolute market values:
  • Bit 4-2 Exponent to base 10 for all 4 price values, (i.e. the above-mentioned difference values and closing price value; value range of the exponent + 3..0 ..- 4) • Bit 1, 0: Exponent to base 10 for the volume,
  • Table 1 Examples of compression methods (compression step)
  • e values are stored in the memory as follows:
  • Table 2 Exemplary compression methods (decompression step)
  • FIG. 2 shows an example of the application of the system described above to enable access to an extremely large amount of data with a defined short response time for users who access the system via the Internet 200.
  • a load distributor 210 a number N of individual computers 220 are used, so that the desired short response time is based on the previous calculation methods.
  • FIG. 3 shows the components of a single computer that are necessary for achieving the intended solution.
  • a processor 340 works together with the working memory 305, a hard disk 345 and a network card 330 via the system bus 335.
  • System programs 310 are located within working memory 305 at runtime.
  • Application programs 315 and a data store 320 which takes up the majority of the main memory.
  • FIG. 3 An example computer configuration of an embodiment according to the invention is given with reference to FIG. 3. The following components are used:
  • a message is understood to mean the arrival of an input data packet at the intermediary 42. This can be both an inquiry message from the server component 41 and an inquiry or response message from another computer 40 of the cluster.
  • each of the messages listed above is received by input module 405 and forwarded to decision block 410. There it is decided whether it is an inquiry or an answer. In the event of an inquiry, it is forwarded to decision block 415. There it is determined whether the request concerns the cluster as a whole or the computer itself. If the request has been made to the cluster, block 420 forwards it to any other computer in the cluster. In addition, the same request is given by block 425 as a local request to decision module 430, which is also addressed by decision module 415 when a request arrives at this computer. Decision block 430 determines whether the request can in principle be processed further based on the locally stored data or not. If none for editing data suitable for the request is then stored, block 440 continues where an empty response is generated. This ensures that a response is always sent back to the request divider.
  • the query is processed in accordance with the specific content of the query.
  • An algorithm for processing data units is used, the need for processor clocks has preferably been analyzed in detail beforehand.
  • Block 450 assembles all the answers arriving from other computers via decision block 410, including the answer generated locally in block 435 or 440, into a common answer. This also includes caching partial responses at least until all responses have arrived from all computers in the cluster and these can be combined to form a complete response.
  • Decision block 455 checks for the aforementioned reason whether the current response is already a complete response after the addition of the last partial response that has arrived. If this is the case, block 460 sends this to the sender of the request and the algorithm ends with end block 465. Otherwise, it is a fragment of the entire response, which is still stored locally, by further incoming responses from the other computers in the cluster, or also by local request processing later by a new run of the algorithm to be added. The current instance of the algorithm is therefore ended with end block 465.
  • the sending of the composite response depends on the arrival of all partial responses.
  • timeout time it will therefore be necessary to check whether the computer cluster as a whole is functional.
  • the functionality is no longer present and appropriate error handling takes place in an automated manner or manual intervention is carried out, if necessary.
  • the typical task in managing a custody account is to convert the amount of capital available on a certain day into security purchases.
  • formulas are used that are able to generate buy and sell signals. These formulas are called trading systems. They are created by adding logical conditions for buy and sell signals to indicators and chart histories, for example exceeding lower or upper limit values.
  • Figure 5 shows an example of the work of a trading system. Based on the past and current price data of a security, this generates signals for opening long or short positions on certain days. A long position is used when securities are bought and held in the securities account for a certain period of time. At a later time, the long positions will be sold again with the aim of taking more than when selling as was spent on the purchase.
  • the difference between the sale and purchase amount is the income from this position, whereby costs that are related to the purchase and sale processes must also be taken into account.
  • the yield can be both positive and negative.
  • a short position sells first and repurchases later.
  • the number of securities to be sold must first be borrowed from someone else, who usually gets the securities back when the position is closed. There are additional rental fees for borrowing.
  • a positive return can only be achieved with a short position if the price of the security has fallen sufficiently in the meantime. Short positions are therefore used to bet on falling prices.
  • buy and sell signals using formulas can be done directly on the basis of the price movements of the security (chart development) or the trends of indicators, such as a moving average, can be used.
  • a simple trading system can consist of two moving averages, which are calculated over different periods of time.
  • a buy signal is generated when the shorter moving average crosses the line of the longer moving average from bottom to top. In this case, an upward trend of the security is displayed. In the opposite case, a sell signal is generated analogously.
  • the return is determined when a position is closed, ie when a long position is sold or when securities are bought to close a short position.
  • Figure 5 shows an example of how a positive return adds up when a long and a short position are subsequently closed. In the case of negative yields, the yield curve drops accordingly, as can be seen in part in Figure 6.
  • a trading system can usually be adjusted to the market conditions using parameters. In the case of a moving average, the number of days averaged over is such a parameter. With the change The yield curve of a trading system also changes from parameters because the buy and sell signals shift and the securities are therefore bought or sold at different prices.
  • Optimizing a trading system means determining those parameters that bring the yield curve into the desired shape and height. For this purpose, a brute force approach, for example, calculates all the possibilities of parameter combinations and determines such a parameter set that delivers the highest value for a target function, for example the highest yield. In practical use, optimizing for the highest yield does not necessarily lead to a trading system that will continue to generate good returns in the future. It is often more successful to optimize a trading system in such a way that as little as possible during the optimization period and then only a small negative yield.
  • the evaluation of an optimized trading system as a basis for decision-making for use in depot management is carried out using two test periods, a longer test period ti of several months and a shorter test period t 2 of a few weeks.
  • the longer test period ti follows the optimization period to and is used to determine similarities in the behavior of all trading systems that are used for a given security.
  • the longer test period ti extends to the current day.
  • the shorter test period t 2 also extends to the current day, but only covers a short past period. Examples of the length of the periods are 5 years for the optimization period to, 6 months for the longer test period i and 2 weeks for the shorter test period t 2 .
  • the method used to find local maxima known in mathematical optimization is used, which, by evaluating the gradients of the target function, already delivers a result for each individual parameter in a few hundred steps. After the first local maximum has been found, the search process is continued in such a way that a further local maximum of the target function is found, but this is not identical to the previous results.
  • a time of on average 5 seconds is required for optimizing a trading system using the local maximum method.
  • an average yield curve for the test period ti is calculated by averaging the daily values of all trading systems with a yield greater than zero in the test period ti.
  • the average yield curve thus represents the behavior in the longer test period ti of all trading systems that are successful under current market conditions in the shorter test period t 2 .
  • the selection of trading systems is then carried out according to how well a trading system matches the behavior of the average trading system of all currently successful trading systems.
  • the well-known mathematical method of correlation is used, in that it is applied to the yield curve of a trading system in the test period ti and to the averaged yield curve of all currently successful trading systems. If the yield curve of a trading system agrees well with the averaged yield curve, a correlation value in the vicinity of 1.0 is calculated, whereby 1.0 cannot be exceeded. If, on the other hand, the trading system has a yield curve with the opposite course, then a value of -1, 0 is used for the . Correlation received, whereby the value cannot fall below -1, 0. A value of 0 indicates that there is no obvious correlation between a trading system's yield curve and the average yield curve.
  • the final selection of the trading systems to be used on the current trading day is made by applying a threshold value, for example the correlation must be greater than 0.85. This procedure leads to a reduction of the previously determined group of trading systems with zero value or positive earnings in the test period t 2 to trading systems which behave similarly to the currently most successful trading systems.
  • a capital to be invested available to an investor of, for example, EUR 20,000 is then divided as follows:
  • the formulas with the aid of which buy and sell signals are generated in the securities analysis device according to the invention or the securities analysis method according to the invention are also called trading systems, which are created by adding logical conditions to indicators and chart histories.
  • This series of parameter values refers to an underlying cycle of, for example
  • the securities analysis device or the corresponding securities analysis method described in the present invention works with end-of-day values.
  • Indicators and the trading systems based on them work with the stated values and link them by addition, subtraction, multiplication and division, whereby values are used over several cycles. In some cases, exponential functions and / or logarithmic functions are also used.
  • indicators are divided into groups, each consisting of similarly constructed indicators. The division into groups is not uniform but depends on the respective author.
  • the average is formed over several cycles, the cycle being advanced by one. Buy and sell signals arise when e.g. a longer and a shorter moving average intersect. Accumulation / Distribution
  • the result is mainly used to verify the signals of other indicators, because some of them only deliver usable results in a certain type of market, e.g. can only be used with an upward trend, or with a downward trend or only in a sideways trend.
  • This type of indicator shows the relationship between two sizes, e.g. from performance to a market index or the average percentage change in performance when the market index changes by a certain amount.
  • a wave-like movement of the market is determined in the cycle indicators by forming a difference at a previous point in time and then averaging. Buy and sell signals then arise when an upper or lower limit is exceeded. market indicators
  • the market indicators use a large number or all of the values traded on a stock exchange.
  • the mood is often determined by counting securities with a stoned property, e.g. by summing all securities in the uptrend or in the downtrend and then forming the difference.
  • FIGS. 8 and 9 show the difference between previous security analysis methods and the security analysis method according to the invention. So far - as shown in FIG. 8 - it is customary to look at a chart history of an individual share by means of a trading system TS in the past tv and to draw conclusions from this in a linear view of the future t z of the chart history.
  • the triangle shown in the upper part in the middle of Fig. 9 illustrates that in the securities analysis method according to the invention, from a total of approximately 6000 selected shares, taking into account approximately 150 trading systems TS and taking into account the prevailing market conditions, a quantity of approx 550,000 trading variants TV are calculated per day.
  • a data processing device with nine computer systems is required as the basis for the considerations made at the outset about the performance of today's computer systems.
  • this number is reduced to approximately 120,000 trading variants per day, which are added to a stored pool 530 of approximately 35 million trading variants.
  • the trading variants can be calculated within a computing time of less than 35 seconds, which corresponds relatively accurately to a chart's chronological history in the past.
  • the match is graphically on the right lower part of Fig. 9 indicated by the dashed small triangle, which is placed over a chart of a particular security and finds a high degree of agreement there. This enables the trading variants to be determined that will provide roughly predictable results for certain securities under the given conditions.
  • the security analysis method shown in FIG. 9 or the security analysis device shown is not a rigid system or method, but can be adapted by changing parameters. For example, by actuating a first slider 500, an adjustment can be made to the behavior of the investor in such a way that the investor can switch between an investment form with a high risk based on "best profit” and an investment type oriented towards the "best ratio” with medium risk towards an investment form based on "best reliability” with the lowest risk.
  • the terms "best ratio” and “best reliability” are sometimes used almost synonymously in the literature; in the present example, this is intended to mean an investment behavior with medium profit opportunities and medium risk.
  • Another preferably infinitely variable setting option is provided by a second slider 510 which reproduces the gradient angle of a vector which is the
  • Period or whether the market is declining, with a high trend to sell and a short position S (corresponding to a slope angle of the vector of ⁇ - 30 °), or whether the market between them is one
  • the security analysis device according to the invention and the security analysis method according to the invention in conjunction with the data processing device according to the invention and the data processing method according to the invention, revolutionize the possibilities of adapting both to investor behavior and to market conditions and based on a huge amount of data for the history of chart histories Selection of highly promising trading options.

Abstract

The invention relates to a data processing device and to a method for interactive multiple user access to large data volumes within a given response time, comprising a plurality of computer nodes (40), each of which is equipped with its own working memory (44), and a load distribution and result synthesis device (20) for distributing at least one data processing process initiated by an interactive user query to a plurality of computer nodes (40) and for the synthesis of a full response to the interactive user query based on individual, partial responses supplied by the computer nodes (40), wherein the total data volume is initially broken down into disjunctive partial volumes, each of which is fully stored in the working memory (44) of a computer node (40) allocated thereto on a one-to-one basis, wherein the fraction of the data processing process initiated by the interactive user query that has been allocated to each computer node (40) is predetermined in such a way that it is fully completed within a length of time that is longer or shorter than a predetermined maximum length of time. Each computer node (40) generates its partial response on the basis of the partial volume of the total data volume allocated thereto and stored in its working memory (44) independently of all other partial volumes of the total data volume stored in the working memories (44) of the other computer nodes (40).

Description

Datenverarbeitungsvorrichtung und -Verfahren für einen interaktiven Mehrbenutzerzugriff auf große Datenmengen Data processing device and method for interactive multi-user access to large amounts of data
Die Erfindung betrifft ein Verfahren und eine Datenverarbeitungsvorrichtung für einen interaktiven Mehrbenutzerzugriff auf große Datenmengen. Ferner betrifft die Erfindung eine entsprechende Wertpapieranalysevorrichtung sowie ein Wertpapieranalyseverfahren einschließlich einer Vorrichtung und eines Verfahrens zum automatischen Generieren von Kauf- und Verkaufssignalen für die Verwaltung von Wertpapieren in einem Depot.The invention relates to a method and a data processing device for interactive multi-user access to large amounts of data. The invention further relates to a corresponding security analysis device and a security analysis method including a device and a method for automatically generating buy and sell signals for the management of securities in a securities account.
Bei zahlreichen Aufgabenstellungen, bei denen Mittel der Informationstechnik eingesetzt werden kommt es darauf an, sehr große Datenbestände von vielen GByte (Gigabyte) bis hin zu etlichen TByte (Terabyte) in einen Datenverarbeitungsprozeß einzubeziehen. In diesem Zusammenhang sind beispielsweise zahlreiche Ansätze im Bereich der Informationssuche in strukturierten Daten, auch "Data Mining" genannt, bekannt.For numerous tasks in which means of information technology are used, it is important to include very large amounts of data from many GBytes (gigabytes) to several TBytes (terabytes) in a data processing process. In this context, for example, numerous approaches in the area of information search in structured data, also known as "data mining", are known.
Im Stand der Technik sind im Hinblick auf die erreichbaren Werte von Datenvolumen, Antwortzeit sowie Anzahl der gleichzeitigen Benutzerzugriffe beim Zugriff auf große Datenbestände Jedoch bedeutsame einschränkende technische Grenzen gesetzt.In the prior art, however, significant restrictive technical limits are set with regard to the achievable values of data volume, response time and number of simultaneous user accesses when accessing large amounts of data.
Bei der Analyse der im Stand der Technik präsenten Problemstellung werden exemplarisch Problemstellungen und Datengerüste aus dem Bereich des internationalen Wertpapiermarktes verwendet. Dies schränkt die Anwendbarkeit der Erfindung in keiner Weise ein, sondern dient lediglich der besseren Veranschaulichung. Die Lösung ist auch für andere Anwendungen einsetzbar, wo eine vorgegebene kleine maximale Antwortzeit beim gleichzeitigen Zugriff einer Vielzahl von Benutzern auf extrem große Datenmengen erreicht werden soll.In the analysis of the problem present in the prior art, problems and data structures from the area of the international securities market are used as examples. This in no way limits the applicability of the invention, but only serves the better Illustration. The solution can also be used for other applications where a predetermined small maximum response time is to be achieved while a large number of users simultaneously access extremely large amounts of data.
Auf dem internationalen Wertpapiermarkt werden im globalen Maßstab weit über eine Million Wertpapiere gehandelt. Bei der Beurteilung der Chancen und Risiken vor dem Kauf von Wertpapieren werden in der Regel historische Daten des Kursverlaufes ausgewertet, um daraus Rückschlüsse auf die wahrscheinliche Entwicklung in der Zukunft zu ziehen. Zu unterscheiden ist insbesondere die sogenannte "Fundamentalanalyse", bei der eine systematische Auswertung von Daten über die in Betracht gezogenen Unternehmen und deren ökonomische Rahmenbedingungen stattfindet, von der sogenannten "technischen Analyse", bei der zukünftige Kursbewegungen nur mit den Aktienkursen und deren Umsatzzahlen der Vergangenheit begründet werden. Beispielsweise sind im Bereich der technischen Analyse Verfahren und Kenngrößen bei der sogenannten "Chartanalyse" bekannt ausOn the international securities market, well over a million securities are traded on a global scale. When assessing the opportunities and risks before buying securities, historical data on the course of the price are generally evaluated in order to draw conclusions about the likely development in the future. A distinction must be made in particular between the so-called "fundamental analysis", in which a systematic evaluation of data on the companies under consideration and their economic framework takes place, from the so-called "technical analysis", in which future price movements only use the share prices and their past sales figures be justified. For example, in the field of technical analysis, methods and parameters for so-called "chart analysis" are known
http://www.1stein.de/eckstein/indicators.htm Im einzelnen kommen demnach dabei unter anderem folgende Größen zur Verwendung in Wertpapieranalysesystemen in Betracht:http://www.1stein.de/eckstein/indicators.htm Specifically, the following variables can be considered for use in securities analysis systems:
Gleitender Durchschnitt (EMA Exponential Moving Average, Trendfolge- Indikator): Berechnet den Durchschnittskurs der letzten n Börsentage und zeichnet somit eine gleitende Trendlinie. Er folgt in Abhängigkeit von n dem Kursverlauf mit gewisser zeitlicher Verzögerung.Moving Average (EMA Exponential Moving Average, trend following indicator): Calculates the average price of the last n trading days and thus draws a moving trend line. Depending on n, it follows the course of the course with a certain time delay.
• RSI (Relative Strength, Zyklusindikator): Der einfachste Zyklusindikator ist das Momentum . Er bildet den Impuls ab, den die Kursbewegung zur Zeit besitzt. Der RSI ist die Weiterentwicklung des Momentums mit einem normierten Wertebereich zwischen 0 und 100. Dies macht einzelne Wertpapiere untereinander vergleichbar. • Stochastik (Überkauft/Überverkauft-Indikator): Die Stochastik ist eine Erweiterung des RSI . Bei ihr wird angenommen, daß in Hausse-Phasen die Schlußkurse eher zu den Höchstkursen tendieren, im Abwärtstrend eher zu den Niedrigkursen. Eine Trendumkehr steht dann bevor, wenn sich die Schlußkurse (bei einem Aufwärtstrend) nicht mehr in der Nähe der• RSI (Relative Strength, cycle indicator): The simplest cycle indicator is momentum. It represents the momentum that the price movement currently has. The RSI is the further development of momentum with a standardized value range between 0 and 100. This makes individual securities comparable with one another. • Stochastics (overbought / oversold indicator): Stochastics is an extension of the RSI. It is assumed that the closing prices tend towards the high prices in bull market phases and towards the low prices in the downward trend. A trend reversal is imminent when the closing prices (with an upward trend) are no longer close to the
Höchstkurse befinden. Die Stochastik ist sehr reagibel und eilt dem Trend häufig voraus. Sie wird daher häufig durch einen gleitenden Durchschnitt von 3 Tagen geglättet bzw. verlangsamt.Maximum prices. Stochastics are very responsive and often lead the trend. It is therefore often smoothed or slowed down by a moving average of 3 days.
• MACD (Moving Average Convergence / Divergence, Trendfolge-Indikator): Mit dem MACD versucht man, das Ende eines vorherrschenden Trends rechtzeitig zu erkennen. Der MACD oszilliert um seine Nullinie. Je stärker der Trend, desto weiter entfernt sich der MACD von der Nullinie. Die Signale sind am besten, wenn der Abstand zur Nullinie groß ist. Ein Signal liegt vor, wenn der MACD die übergelagerte Durchschnittslinie schneidet.• MACD (Moving Average Convergence / Divergence, trend following indicator): With the MACD one tries to recognize the end of a prevailing trend in time. The MACD oscillates around its zero line. The stronger the trend, the further the MACD moves away from the zero line. The signals are best when the distance to the zero line is large. A signal is present when the MACD crosses the superimposed average line.
Diese Verfahren sind hier lediglich exemplarisch angegeben; es sind zahlreiche andere Verfahren der Chartanalyse bekannt. Derartige und andere Kenngrößen können auf der Grundlage historischer Kursdaten berechnet werden, um Kauf- oder Verkaufsentscheidungen vorzubereiten.These methods are only given as examples here; numerous other methods of chart analysis are known. Such and other parameters can be calculated based on historical price data to prepare buying or selling decisions.
Sobald eine größere Anzahl von Wertpapieren einschließlich ihrer historischen Daten durch ein Computerprogramm ausgewertet werden soll, stoßen bekannte Systeme der Informationstechnik an Grenzen, die durch den jeweiligen technologischen Stand auf dem Gebiet der Prozessorgeschwindigkeit, der Zugriffsgeschwindigkeit auf den Arbeitsspeicher sowie die Geschwindigkeit der eingesetzten Massenspeicher wie beispielsweise Festplatten bestimmt werden.As soon as a large number of securities, including their historical data, are to be evaluated by a computer program, known information technology systems come up against limits due to the respective technological status in the field of processor speed, the speed of access to the working memory and the speed of the mass storage used, for example Hard drives are determined.
Wenn für eine retrospektive Analyse des Marktgeschehens des Wertpapiermarktes ein Zeitraum von zum Beispiel 10 Jahren zur Auswertung berücksichtigt werden soll, ergibt sich bei angenommenen etwa 250 Börsenhandeistagen pro Jahr und 1.000.000 nach ihrer jeweiligen Wertpapierkennung unterschiedlichen Wertpapieren auf dem Weltmarkt eine Datenmenge vonIf a period of, for example, 10 years is to be taken into account for a retrospective analysis of the market activity on the securities market, the result is approximately 250 trading days per year and 1,000,000 different securities on the world market according to their respective security ID
250 Handelstage/Jahr x 10 Jahre x 1.000.000 Wertpapiere = 2.500.000.000 „Wertpapiertage".250 trading days / year x 10 years x 1,000,000 securities = 2,500,000,000 "security days".
Für jeden „Wertpapiertag" sind für eine Auswertung nach verschiedenen Methoden mindestens fünf Datenelemente je Wertpapierkennung zu speichern:For each "security day", at least five data elements per security identifier must be saved for an evaluation using different methods:
• Anfangskurs des entsprechenden Wertpapiers am betreffenden Handelstag,• starting price of the relevant security on the relevant trading day,
• höchster Kurs des entsprechenden Wertpapiers am betreffenden Handelstag,• highest price of the relevant security on the relevant trading day,
• niedrigster Kurs des entsprechenden Wertpapiers am betreffenden Handelstag,• lowest price of the relevant security on the relevant trading day,
• Endkurs des entsprechenden Wertpapiers am betreffenden Handelstag, sowie • die gehandelte Stückzahl (auch als "Volumen" bezeichnet) des entsprechenden Wertpapiers am betreffenden Handelstag.• the closing price of the relevant security on the relevant trading day, and • the number of shares traded (also referred to as "volume") of the relevant security on the relevant trading day.
Es wird nunmehr angenommen, daß bei Anwendung einer optimierten Speicherbelegung zum Speichern dieser fünf Einzelwerte mindestens 8 Byte pro Wertpapierkennung und Wertpapiertag benötigt wird. Bei direkter Speicherung auf einer 32-Bit-Architektur würden dagegen 5 x 4 Byte = 20 Byte anfallen. Dies ergibt eine Gesamtdatenmenge von etwa 20 GByte bei optimierter Speicherung sowie etwa 50 GByte bei Speicherung als 32-Bit-Wert je Wertpapierkennziffer und Wertpapiertag. Bereits die optimierte Datenmenge überschreitet um ein Vielfaches den maximalen Arbeitsspeicherausbau üblicher 32- Bit-Architekturen, welche ihre theoretische Grenze des Adreßraumes unter der Annahme eines 32 Bit breiten Ädressierungssystems bei 4 GByte haben. Praktisch können diese Architekturen jedoch bedingt durch den Speicherbedarf der System Software noch weniger für die Anwendung bereitstellen. Bei Anwendung eines herkömmlichen Einzelrechnersystems kommt daher nur die Ablage aller Daten auf einer Festplatte mit entsprechender Speicherkapazität in Frage. Beim Ausführen eines einzelnen Auswertevorgangs über alle Wertpapiertage hinweg muss ein Zugriff auf jedes der gespeicherten Datenelemente verwirklicht werden. Dazu muss insgesamt die gesamte gespeicherte Datenmenge von der Festplatte gelesen werden. Selbst beim schnellsten zur Zeit erhältlichen Festplattenarray mit einer durchschnittlichen linearen Lesegeschwindigkeit von annähernd 200 MByte/s werden im optimalen FallIt is now assumed that when using an optimized memory allocation for storing these five individual values, at least 8 bytes are required per security identifier and security day. With direct storage on a 32-bit architecture, 5 x 4 bytes = 20 bytes would arise. This results in a total amount of data of around 20 GB with optimized storage and around 50 GB with storage as a 32-bit value per security code and security day. Even the optimized amount of data far exceeds the maximum RAM expansion of conventional 32-bit architectures, which have their theoretical limit of the address space assuming a 32-bit addressing system at 4 GB. In practice, however, these architectures can provide even less for the application due to the memory requirements of the system software. When using a conventional single computer system, only the storage of all data on a hard disk with the corresponding storage capacity is possible. When carrying out a single evaluation process across all security days, access to each of the stored data elements must be realized. To do this, the total amount of data stored must be read from the hard disk. Even the fastest hard disk array currently available with an average linear reading speed of approximately 200 Mbytes / s will be the ideal case
20.000 MByte / (200 MByte/s) = 100 s20,000 MB / (200 MB / s) = 100 s
für das Lesen benötigt. Hier zeigt sich sehr deutlich, dass das Ablegen und Lesen der zu verarbeitenden Datenmenge mittels Festplatte zu Laufzeiten führt, die selbst bei einem einzelnen Auswertevorgang um zwei Zehnerpotenzen über der für interaktive Systeme zu fordernden Antwortzeit von etwa einer Sekunde liegen. Diese Diskrepanz erhöht sich weiter, wenn mehrere Benutzer gleichzeitig auf das System zugreifen und unterschiedliche Auswertungen über die gesamte Datenmenge durchführen wollen.needed for reading. This shows very clearly that storing and reading the amount of data to be processed on a hard drive leads to runtimes that are two orders of magnitude higher than the response time of around one second required for interactive systems, even with a single evaluation process. This discrepancy increases further if several users access the system at the same time and want to carry out different evaluations over the entire amount of data.
Im weiteren wird daher als anzustrebende Reaktionszeit des Systems ein Wert von einer Sekunde zugrunde gelegt. Im Falle des Lesens von Festplatte ist dieser Wert bedingt durch das zuvor bezeichnete hohe Datenvolumen erst dann realisierbar, wenn der technologische Fortschritt die Geschwindigkeit beim Lesezugriff auf eine Festplatte oder ein Festplattenarray bzw. auf ein geeignetes Nachfolgespeichermedium um einen Faktor von etwa 100 gesteigert hat. Daher kann in absehbarer Zeit eine Reaktionszeit des Systems von einer Sekunde angesichts der extrem großen Datenmenge nur durch Vorhalten aller Daten im Arbeitsspeicher erreicht werden. Doch 'auch hier stößt der gegenwärtige technologische Stand an Grenzen beim maximalen Arbeitsspeicherausbau sowie bei der Prozessortaktfrequenz.Therefore, a value of one second is used as the target system response time. In the case of reading from a hard disk, this value can only be achieved due to the previously described high data volume if technological progress has increased the speed of read access to a hard disk or a hard disk array or to a suitable successive storage medium by a factor of around 100. In view of the extremely large amount of data, a system response time of one second can therefore only be achieved in the foreseeable future by keeping all the data in memory. But 'also the current technological state has its limits at the maximum memory expansion as well as the processor clock frequency.
Der zur Lösung des vorstehend skizzierten Problems erforderliche minimale Speicherausbau von 20 GByte sprengt die Grenzen von 32-Sit-Architekturen und ist daher als Einzelrechnersystem in der Praxis erst unter Rückgriff auf eine 64-Bit- Architektur realisierbar.The minimum memory expansion of 20 GB required to solve the problem outlined above goes beyond the limits of 32-sit architectures and is therefore only practical in practice as a single computer system when using a 64-bit Architecture feasible.
In diesem Fall wird jedoch die Prozessortaktfrequenz und insbesondere die maximale Zugriffsgeschwindigkeit auf den Arbeitsspeicher zu einem begrenzenden Faktor. Beim Umlegen der zu speichernden Datenmenge von 2.500.000.000 Wertpapiertagen auf den heutigen Stand der Prozessorgeschwindigkeit von größenordnungsmäßig etwa 2.500.000.000 Hz ergibt sich, dass im Mittel innerhalb einer Sekunde nur ein einziger Prozessortakt pro Wertpapiertag zur Verfügung steht. Diese Größenordnung stellt somit keine ausreichende Grundlage für das Ausführen von relevanten Verarbeitungsoperationen dar. Somit brächte auch der Einsatz von 64-Bit-Architekturen beim heutigen Stand der Technik keine Lösung des Problems.In this case, however, the processor clock frequency and in particular the maximum access speed to the main memory become a limiting factor. If the amount of data to be stored is changed from 2,500,000,000 security days to the current processor speed of around 2,500,000,000 Hz, the result is that on average only one processor clock is available per security day within one second. This size is therefore not a sufficient basis for the execution of relevant processing operations. Thus, the use of 64-bit architectures would not solve the problem with the current state of the art.
Als minimale Anzahl von Prozessortaktzyklen für das Ausführen einer minimalen Verarbeitung der Daten eines einzelnen Wertpapiertages wird für die weiteren Betrachtungen ein aus Praxiserfahrungen herrührender Wert von 20 Prozessortaktzyklen angesetzt. Als mit dieser Zykluszahl zu leistende minimale Verarbeitung wird dabei das Auslesen eines einzelnen Kennwertes von einem Wertpapiertag, der Vergleich mit einem vorgegebenen Vergleichswert sowie das Ableiten einer Entscheidung daraus angesehen. Komplexere Verarbeitungen erfordern in der Regel wesentlich mehr Prozessorzyklen. Die Anzahl der Prozessorzyklen hängt in der Regel sehr stark von der inneren Architektur des Prozessors ab, insbesondere von der parallelen Verarbeitung von Befehlen. Ein gängiger Ansatz zur Überwindung von Engpässen hinsichtlich der Prozessorkapazität besteht in der Verwendung von Vektorrechnerarchitekturen, die zur Parallelverarbeitung mehrerer Elementaroperationen fähig sind. Der Parallelverarbeitung sind jedoch insbesondere bei der Ausführung von Multiplikations- und Divisionsbefehlen theoretische Grenzen gesetzt, welche durch die innere Architektur der arithmetischen Recheneinheit des Prozessors vorgegeben sind und durch keine programmtechnischen Optimierungen im Anwendungsprogramm zu beeinflussen sind. Für den gewählten Minimalwert von 20 Prozessorzyklen pro Wertpapiertag ergibt sich bei einer geforderten Antwortzeit von einer Sekunde aus einer einfachen Rechnung eine erforderliche Prozessortaktfrequenz vonFor the further considerations, a value of 20 processor clock cycles based on practical experience is used as the minimum number of processor clock cycles for carrying out a minimal processing of the data of a single security day. The minimum processing to be performed with this number of cycles is the reading out of an individual characteristic value from a security day, the comparison with a predetermined comparison value and the derivation of a decision therefrom. More complex processing usually requires significantly more processor cycles. The number of processor cycles usually depends very much on the internal architecture of the processor, in particular on the parallel processing of instructions. A common approach to overcoming processor capacity bottlenecks is to use vector computing architectures that are capable of processing multiple elementary operations in parallel. Parallel processing, however, has theoretical limits, particularly when executing multiplication and division instructions, which are predetermined by the internal architecture of the arithmetic processing unit of the processor and which cannot be influenced by any programming optimizations in the application program. For the selected minimum value of 20 processor cycles per security day, with a required response time of one second, a simple calculation results in a required processor clock frequency of
20 Zyklen/Wertpapiertag * 2.500.000.000 Wertpapiertage/s20 cycles / security day * 2,500,000,000 security days / s
= 50.000.000.000 Zyklen/s= 50,000,000,000 cycles / s
= 50 GHz (Taktfrequenz).= 50 GHz (clock frequency).
Unter der Annahme, dass das Mopre'sche Gesetz, welches eine Verdopplung der Prozessortaktfrequenz nach jeweils anderthalb Jahren postuliert, auch in den nächsten Jahren Gültigkeit behält, wird es einen Zeitraum von mindestens 6 Jahren in Anspruch nehmen, bis der technologische Fortschritt eine entsprechende Steigerung der Prozessortaktfrequenz hervorbringt.Assuming that Mopre's law, which postulates a doubling of the processor clock frequency after every one and a half years, will remain valid in the next few years, it will take a period of at least 6 years until technological progress increases the corresponding Processor clock frequency produces.
Die Berechnung der Leistungsgrenzen in Bezug auf einen konkreten technologischen Stand wird nachfolgend beschrieben. Dabei sind zwei Relationen auszuwerten, die jeweils einen Aspekt der durch den technologischen Stand bedingten Begrenzung beschreiben:The calculation of the performance limits in relation to a specific technological status is described below. Two relations are to be evaluated, each describing an aspect of the limitation due to the technological state:
1 ) Begrenzung durch die Prozessorgeschwindigkeit1) Limitation by processor speed
Z * D * B < T * F * P (1)Z * D * B <T * F * P (1)
Es bedeuten:It means:
Z Taktzyklenanzahl für den bestimmenden Algorithmus der betrachteten Funktionalität;Z number of clock cycles for the determining algorithm of the functionality under consideration;
D Anzahl der Dateneinheiten, die für eine Benutzeraktion verarbeitet werden soll;D number of data units to be processed for a user action;
B Benutzeranzahl, die gleichzeitig die betrachtete Funktionalität abruft; T Maximale Antwortzeit des Systems beim Abruf der betrachteten Funktionalität;B number of users who simultaneously access the functionality under consideration; T Maximum response time of the system when calling up the functionality under consideration;
F Prozessortaktfrequenz (Anzahl der Prozessorzyklen pro Sekunde); undF processor clock frequency (number of processor cycles per second); and
P Anzahl der parallel zum Einsatz kommenden Prozessoren.P Number of processors used in parallel.
Sobald fünf der genannten Parameter vorgegeben werden, kann der sechste Parameter nicht mehr frei gewählt werden, sondern dieser unterliegt dann der Begrenzung durch die angeführte Relation.As soon as five of the named parameters are specified, the sixth parameter can no longer be freely selected, but is then subject to the limitation by the relation mentioned.
Als Beispiel werden die vorher angenommenen Werte verwendet, um daraus die Antwortzeit für einen einzelnen Benutzer bei Verwendung von nur einem Prozessor zu berechnen: FürAs an example, the previously assumed values are used to calculate the response time for a single user when using only one processor: For
Z = 20 Zyklen/(Wertpapier * Benutzer),Z = 20 cycles / (security * user),
D = 2.500.000.000 Wertpapiere,D = 2,500,000,000 securities,
B = 1 Benutzer,B = 1 user,
F = 2.500.000.000 Zyklen/(s * Prozessor),F = 2,500,000,000 cycles / (s * processor),
P = 1 ProzessorP = 1 processor
ergibt sich:surrendered:
T> Z * D * B / (F * P) ~T> Z * D * B / (F * P) ~
T > 20 Zyklen/(Wertpapier* Benutzer) * 2.500.000.000 Wertpapiere * 1 Benutzer / (2.500.000.000 Zyklen/(s * Prozessor) * 1 Prozessor)T> 20 cycles / (security * user) * 2,500,000,000 securities * 1 user / (2,500,000,000 cycles / (s * processor) * 1 processor)
T > 20 s Ergebnis: Die Antwortzeit wird mindestens 20 Sekunden betragen.T> 20 s Result: The response time will be at least 20 seconds.
2) Begrenzung durch die Zugriffsgeschwindigkeit auf den Arbeitsspeicher2) Limitation by the access speed to the working memory
S * D * B < T * V * P (2)S * D * B <T * V * P (2)
Es bedeuten:It means:
S Speicherbedarf für eine Dateneinheit zum Bereitstellen der betrachteten Funktionalität;S memory requirement for a data unit to provide the functionality under consideration;
D Anzahl der Dateneinheiten, die für eine Benutzeraktion verarbeitet werden sollen;.D Number of data units to be processed for a user action.
B Benutzeranzahl, die gleichzeitig die betrachtete Funktionalität abruft;B number of users who simultaneously access the functionality under consideration;
T Maximale Antwortzeit des Systems beim Abruf der betrachteten Funktionalität;T Maximum response time of the system when calling up the functionality under consideration;
V Geschwindigkeit des Arbeitsspeichers beim Auslesen von Daten; sowieV Speed of the main memory when reading data; such as
P Anzahl der parallel zum Einsatz kommenden Prozessoren.P Number of processors used in parallel.
Sobald fünf der genannten Parameter vorgegeben werden, kann der sechste Parameter nicht mehr frei gewählt werden, sondern dieser unterliegt dann der Begrenzung durch die angeführte Relation.As soon as five of the named parameters are specified, the sixth parameter can no longer be freely selected, but is then subject to the limitation by the relation mentioned.
Als Beispiel werden die vorher angenommenen Werte verwendet, um daraus die Ant- wortzeit für einen einzelnen -Benutzer bei Verwendung von sehr schnellem Arbeitsspeicher mit einer Zugriffsgeschwindigkeit von 2 GByte/s mit nur einem Prozessor und optimiertem Speicherlayout der Daten zu berechnen:As an example, the previously assumed values are used to calculate the response time for a single user using very fast working memory with an access speed of 2 GByte / s with only one processor and optimized storage layout of the data:
FürFor
S = 8 Byte/(Wertpapiertag *Benutzer), D = 2.500.000.000 Wertpapiere, B = 1 Benutzer,S = 8 bytes / (security day * user), D = 2,500,000,000 securities, B = 1 user,
V = 2.000.000.000 Byte/(s * Prozessor), P = 1 ProzessorV = 2,000,000,000 bytes / (s * processor), P = 1 processor
ergibt sich:surrendered:
T > S * D * B / (V * P)T> S * D * B / (V * P)
T > 8 Byte/(Wertpapiertag * Benutzer) * 2.500.000.000 Wertpapiertäge * 1 Benutzer / (2.000.000.000 Byte/(s * Prozessor) * 1 Prozessor)T> 8 bytes / (security day * user) * 2,500,000,000 security days * 1 user / (2,000,000,000 bytes / (s * processor) * 1 processor)
• T > 10s• T> 10s
Ergebnis: Die Antwortzeit wird mindestens 10 Sekunden betragen.Result: The response time will be at least 10 seconds.
Es wird deutlich, dass sich für die verwendeten Beispielsparameter Begrenzungen aus beiden Beziehungen ergeben, welche in der gleichen Grössenordnung liegen. Dies muss bei anderen Anwendungen jedoch nicht unbedingt der Fall sein. Sobald in einer Anwendung eine wesentlich höhere Komplexität der Algorithmen vorliegt, wird es eher zu einer Begrenzung durch die Prozessorgeschwindigkeit kommen.It becomes clear that there are limitations for the example parameters used from both relationships, which are of the same order of magnitude. However, this does not necessarily have to be the case in other applications. As soon as an application has a significantly higher complexity of the algorithms, there will be a limitation due to the processor speed.
Steigt dagegen der Speicherplatzbedarf für eine sich milliardenfach wiederholende kleinste Dateneinheit an, dann wird die Begrenzung durch die Zugriffsgeschwindigkeit auf den Arbeitsspeicher dominieren.If, on the other hand, the storage space requirement for a smallest data unit that repeats itself billions of times increases, then the limitation will be dominated by the access speed to the working memory.
Es wird in Zukunft immer höhere Anforderungen an ein Verfahren und Systeme zur schnellen Verarbeitung grosser Datenvolumina geben. Zum einen wird es immer grössere Datenmengen geben, auf die innerhalb einer für den interaktiven Betrieb akzeptablen Zeitspanne zugegriffen werden soll. Zum anderen ist mit einem Anstieg der Anzahl der Benutzer zu rechnen, welche sich derartiger Systeme bedienen. Letztendlich werden durch neue Erkenntnisse die Anforderungen an die verwendeten Algorithmen steigen, was einen erhöhten Bedarf an Prozessorzyklen pro kleinster Dateneinheit, im betrachteten Beispiel also pro Wertpapiertag, zur Folge hat.In the future there will be ever increasing demands on a process and systems for the rapid processing of large data volumes. On the one hand, there will be ever larger amounts of data that should be accessed within a period of time that is acceptable for interactive operation. On the other hand, an increase in the number of users is expected, which is more Operate systems. Ultimately, new knowledge will increase the demands placed on the algorithms used, which results in an increased need for processor cycles per smallest data unit, in the example considered, therefore, per security day.
Als hypothetischer Technologiesprung wird im folgenden jeweils ein Faktor von 1.000 (Eintausend) bei den technischen Parametern Prozessorgeschwindigkeit, Zugriffsgeschwindigkeit auf den Arbeitsspeicher und Zugriffsgeschwindigkeit auf den externen Speicher angenommen.In the following, a factor of 1,000 (one thousand) is assumed as a hypothetical technological leap for the technical parameters processor speed, access speed to the main memory and access speed to the external memory.
3) Prozessorgeschwindigkeit eintausendfach höher als zu Anfang des Jahres 20023) Processor speed a thousand times faster than at the beginning of 2002
Für die zuvor bereits verwendeten Parameter wird ermittelt, wieviel Benutzer gleichzeitig unter der Voraussetzung einer maximalen Antwortzeit von 0,2 Sekunden (verzögerungsfrei aus Benutzersicht) auf das System zugreifen können, wenn nur ein Prozessor mit 1000-facher Geschwindigkeit heutiger Systeme zum Einsatz kommt:For the parameters already used, it is determined how many users can access the system at the same time, assuming a maximum response time of 0.2 seconds (without delay from the user's point of view), if only one processor with 1000 times the speed of today's systems is used:
FürFor
Z = 20 Zyklen/(Wertpapier * Benutzer),Z = 20 cycles / (security * user),
D = 2.500.000.000 Wertpapiere,D = 2,500,000,000 securities,
T = 0,2 s,T = 0.2 s,
F = (1.000 * 2.500.000.000) Zyklen/(s * Prozessor),F = (1,000 * 2,500,000,000) cycles / (s * processor),
P = 1 Prozessor . -P = 1 processor. -
ergibt sich:surrendered:
B < T * F * P / (Z * D) (3)B <T * F * P / (Z * D) (3)
B < 0,2 s * (1.000 * 2.500.000.000) Zyklen/(s * Prozessor) * 1 Prozessor /(20 Zyklen/(Wertpapier * Benutzer) * 2.500.000.000 Wertpapiere) B < 10 BenutzerB <0.2 s * (1,000 * 2,500,000,000) cycles / (s * processor) * 1 processor / (20 cycles / (security * user) * 2,500,000,000 securities) B <10 users
Ergebnis: Es können maximal 10 Benutzer mit einer Antwortzeit von 0,2s gleichzeitig auf das System zugreifen, auch wenn sich die Prozessorgeschwindigkeit hypothetisch auf das Eintausendfache vergrössern würde.Result: A maximum of 10 users with a response time of 0.2s can access the system simultaneously, even if the processor speed would hypothetically increase a thousandfold.
4) Zugriffsgeschwindigkeit auf den Arbeitsspeicher eintausendfach höher als 20024) Memory access speed a thousand times higher than in 2002
Für die im Rechenbeispiel 2 berefts verwendeten Werte wird jetzt die Antwortzeit berechnet, wenn sich die Zugriffszeit auf den Arbeitsspeicher durch einen technologischen Sprung um den Faktor 1.000 (Eintausend) auf (1.000 * 2) GByte/s verbessern würde und weiterhin 100 Benutzer gleichzeitig auf das System zugreifen.For the values used in calculation example 2, the response time is now calculated if the access time to the working memory would improve by a technological leap by a factor of 1,000 (one thousand) to (1,000 * 2) GByte / s and 100 users simultaneously on the Access system.
FürFor
S = 8 Byte/(Wertpapiertag * Benutzer),S = 8 bytes / (security day * user),
D - 2.500.000.000 Wertpapiertage,D - 2,500,000,000 security days,
B = 100 Benutzer,B = 100 users,
V = (1.000 *2) GByte/s,V = (1,000 * 2) GByte / s,
P = 1 ProzessorP = 1 processor
ergibt sich:surrendered:
T > S * D- * B / (V * P) (4)T> S * D- * B / (V * P) (4)
T > 8 vByte/(Wertpapiertag * Benutzer) * 2.500.000.000 Wertpapiertage *Tö0 Benutzer / (1.000 * 2.000.000.000 Byte/(s * Prozessor) * 1 Prozessor)T> 8 vByte / (security day * user) * 2,500,000,000 security days * Tö0 user / (1,000 * 2,000,000,000 bytes / (s * processor) * 1 processor)
T > 1 s Ergebnis: Die Antwortzeit wird bei 100 Benutzern mindestens eine Sekunde betragen, auch wenn sich die Zugriffsgeschwindigkeit auf den Arbeitsspeicher hypothetisch auf das Eintausendfache vergrössern würde.T> 1 s Result: The response time for 100 users will be at least one second, even if the access speed to the RAM would hypothetically enlarge to a thousandfold.
5) Zugriffsgeschwindigkeit auf den externen Speicher 1000-fach höher als 20025) Access speed to the external memory 1000 times higher than in 2002
5 Für die in Rechenbeispiel 2 bereits verwendeten Werte wird jetzt ebenso wie in Rechenbeispiel 4 die Antwortzeit berechnet, wenn sich die Zugriffszeit auf den externen Speicher durch einen technologischen Sprung um den Faktor 1.000 (Eintausend) auf (1.000 *200) MByte/s verbessern würde und weiterhin 100 Benutzer gleichzeitig auf das System zugreifen.5 The response time is now calculated for the values already used in calculation example 2, as in calculation example 4, if the access time to the external memory would improve by a technological jump by a factor of 1,000 (one thousand) to (1,000 * 200) Mbytes / s and continue to access 100 users at the same time.
o Füro For
S = 8 Byte/(Wertpapiertag * Benutzer),S = 8 bytes / (security day * user),
D = 2.500.000.000 Wertpapiertage,D = 2,500,000,000 security days,
B = 100 Benutzer,B = 100 users,
V = (1.000 * 200) MByte/s, 5 P = 1 ProzessorV = (1,000 * 200) MByte / s, 5 P = 1 processor
ergibt sich:surrendered:
T > S * D * B / (V * P)T> S * D * B / (V * P)
T > 8 Byte/(Wertpapiertag * Benutzer) * 2.500.000.000 Wertpapiertage * 100 Benutzer / (1.000 * 200.000.000 Byte/(s * 0 Prozessor) * 1 Prozessor)T> 8 bytes / (security day * user) * 2,500,000,000 security days * 100 users / (1,000 * 200,000,000 bytes / (s * 0 processor) * 1 processor)
T > 10sT> 10s
\\
Ergebnis: Die Antwortzeit beim Zugriff von 100 Benutzem wird mindestens 10s betragen, auch wenn sich die Zugriffsgeschwindigkeit auf den externen Speicher 5 hypothetisch auf des 1000-fache vergrössern würde.Result: The response time for access by 100 users will be at least 10s, even if the access speed to the external memory 5 would hypothetically increase 1000 times.
Aus den Ergebnissen der Rechenbeispiele 4) und 5) geht hervor, dass auch nach einem grossen Technpiogiesprung bei der Zugriffsgeschwindigkeit auf Speichermedien um den Faktor 1.000 das Halten der extrem grossen Datenmenge im externen Speicher hinsichtlich des Durchsatzes nicht an die Geschwindigkeit beim Ablegen der Datenmenge im Arbeitsspeicher herankommt, solange sich die Geschwindigkeit für den Zugriff auf Arbeitsspeicher und externen Speicher im gleichen Masse erhöht.The results of the calculation examples 4) and 5) show that even after a big leap in technology, the access speed increases Storage media by a factor of 1,000, keeping the extremely large amount of data in the external memory in terms of throughput does not match the speed when storing the amount of data in the working memory, as long as the speed for accessing working memory and external memory increases to the same extent.
Weiterhin macht das Rechenbeispiel 3) deutlich, daß jeder technologische Fortschritt sich bei dessen praktischer Nutzung auf mehrere Dimensionen, wie beispielsweise Benutzerzahl und Antwortzeit, aufteilt und daher auf jede Dimension nur ein Bruchteil des Faktors entfällt, welcher den jeweiligen Fortschritt ausmacht.Furthermore, the calculation example 3) makes it clear that every technological advance is divided into several dimensions, such as the number of users and response time, when it is used in practice, and therefore only a fraction of the factor which makes up the respective progress is accounted for in each dimension.
Eine Aufteilung der zu leistenden Rechenarbeit auf mehrere parallel arbeitende Rechner wird daher auch bei einem technologischen Fortschritt mit dem Faktor 1.000 und darüber hinaus sinnvoll sein.A division of the computing work to be carried out over several computers working in parallel will therefore also make sense in the case of technological progress with a factor of 1,000 and beyond.
Aus der Druckschrift US-A-5.734.829 ist ein Multiprozessorsystem bekannt, das durch Parallelarbeit mehrerer Prozessoren die Geschwindigkeit für einen Verarbeitungsalgorithmus von seismischen Daten auf ein Mehrfaches des Wertes von Einzelprozessoren steigert. Dabei wird die Gruppe der Verarbeitungsprozessoren durch ein zentrales Modul gesteuert, welches den Verarbeitungsprozessoren jeweils entsprechende Datensätze zur Verarbeitung zuweist und das Ergebnis zurückbekommt und dieses weiterleitet.A multiprocessor system is known from US-A-5,734,829, which increases the speed for a processing algorithm of seismic data to a multiple of the value of individual processors by working in parallel with several processors. The group of processing processors is controlled by a central module, which assigns the processing processors the appropriate data records for processing and gets the result back and forwards it.
Im Gegensatz zum vorliegenden Problem gibt es bei der in der Druckschrift aus dem Stand der Technik dargestellten Sachlage das Kriterium der Verarbeitung einer extrem grossen Datenmenge in einer vorgegebenen kurzen Zeit dort nicht; beabsichtigt wird dort stattdessen vielmehr eine generelle Leistungssteigerung gegenüber einem Einzeϊprozessorsystem.In contrast to the present problem, there is no criterion for processing an extremely large amount of data in a given short time in the situation described in the prior art document; Instead, the intention is rather a general increase in performance compared to a single processor system.
Als Stand der Technik werden weiterhin das Systemkonzept "BeoWulf aus http://www.beowulf.org/ sowie existierende Implementierungen dieses Konzepts angesehen. Unter demThe system concept "BeoWulf from http://www.beowulf.org/ and existing implementations of this concept continue to be regarded as state of the art
Systemkonzept BeoWuif wird die Zusammenschaltung von zwei oder mehreren Com- putern über ein lokales Netzwerk zu einem Cluster verstanden. Das Ziel von Clustern besteht dabei ebenfalls in der Erzielung einer deutlichen Leistungssteigerung gegenüber einem Einzelrechnersystem.System concept BeoWuif is understood as the interconnection of two or more computers via a local network to form a cluster. The goal of Clusters also consist in achieving a significant increase in performance compared to a single computer system.
In einem derartigen BeoWulf-System ist stets ein Steuerprogramm vorhanden, welches eine Bearbeitungsanforderung in geeigneter Weise in Teilaufgaben aufteilt, die anschliessend den Rechnern im BeoWulf-System zur parallelen Bearbeitung zugeleitet werden. Weiterhin werden die Bearbeitungsergebnisse der einzelnen Rechner wieder an das Steuerprogramm zurückgegeben und von diesem zu einer gemeinsamen Antwort zusammengefasst. Die zusammengesetzte gemeinsame Antwort wird anschliessend an den Absender der ursprünglichen Anforderung gesendet, womit die Bearbeitung der Anforderung abgeschlossen ist.In such a BeoWulf system there is always a control program which appropriately divides a processing request into subtasks, which are then sent to the computers in the BeoWulf system for parallel processing. Furthermore, the processing results of the individual computers are returned to the control program and are combined to form a common answer. The composite common response is then sent to the sender of the original request, completing the processing of the request.
Wenn die vorliegende Aufgabenstellung im Sinne eines BeoWulf-Systems durch Zusammenschalten von' mehreren Rechner gelöst werden würde, dann ist bei der Abschätzung der Anzahl der benötigten Rechner davon auszugehen, daß die Daten zum Beispiel in einer geeigneten sehr schnellen Datenbank gehalten, aber dennoch aufgrund der extrem grossen Datenmenge bei der Auswertung im wesentlichen von der Festplatte gelesen werden. Wie zuvor ermittelt wurde, ergibt sich für das schnellste derzeit erhältliche Festplattenarray eine Antwortzeit von 100 Sekunden. Zum Erzielen einer Antwortzeit von einer Sekunde müsste unter Beibehaltung aller zuvor getroffenen Annahmen eine Zusammenschaltung von insgesamt 100 derartiger Festplattenarrays durchgeführt werden, um die geforderte Antwortzeit zu erreichen.If the task at hand in the sense of a BeoWulf system were to be solved by interconnecting ' several computers, then when estimating the number of computers required it can be assumed that the data is kept, for example, in a suitable, very fast database, but nevertheless due to the extremely large amount of data can be read from the hard disk during evaluation. As previously determined, the fastest hard disk array currently available has a response time of 100 seconds. In order to achieve a response time of one second, a total of 100 such hard disk arrays would have to be interconnected, while maintaining all the assumptions previously made, in order to achieve the required response time.
Die Anforderungen an die Anzahl der Festplattenarrays reduzieren sich, wenn die beschleunigende Wirkung von Zwischenspeicher (Cache) mit berücksichtigt wird. Das hierbei auftretende Problem ist jedoch die Bereitstellung von genügend Cache, um alle Daten wirksam im Arbeitsspeicher zu halten und im weiteren insbesondere der Laufzeit-Overhead und dessen Unwägbarkeit bedingt durch die in der Regel nicht bekannten Algorithmen der Cache-Verwaltung. Wenn zum Beispiel der Cache von Datenbankservern betrachtet wird, so hat dieser einen Kompromiss zwischen den Anforderungen der unterschiedlichsten Zugriffsarten herzustellen und wird daher für jeden einzelnen Fall in der Regel einen Overhead gegenüber dem jeweils optimalen Zugriffsverfahren auf die Daten aufweisen. Eine quantitative Beurteilung des Overheads ist immer nur im konkreten Fall abhängig vom Hersteller der Datenbank und in der Regel auch von der Version der verwendeten Software möglich. Dies erschwert das Erreichen einer definierten kurzen Antwortzeit bei extrem grossen Datenmengen.The requirements for the number of hard disk arrays are reduced if the accelerating effect of the cache is taken into account. The problem that arises here, however, is the provision of sufficient cache to effectively keep all the data in the working memory and, furthermore, in particular the runtime overhead and its imponderability due to the cache management algorithms, which are generally not known. If, for example, the cache is viewed by database servers, it has to make a compromise between the requirements of the most varied access types and is therefore usually an overhead for each individual case each have optimal access procedures to the data. A quantitative assessment of the overhead is only possible in the specific case depending on the manufacturer of the database and usually also on the version of the software used. This makes it difficult to achieve a defined short response time with extremely large amounts of data.
Aufgabe der Erfindung ist es, ein Verfahren und eine Datenverarbeitungsvorrichtung für einen interaktiven Mehrbenutzerzugriff auf grosse Datenmengen vorzusehen, welche insbesondere die vorstehend angegebenen Nachteile nicht oder nur in stark vermindertem Umfang aufweisen. Insbesondere ist es auch Aufgabe der Erfindung, ein Verfahren und eine Datenverarbeitungsvorrichtung für einen interaktiven Mehrbenutzerzugriff auf grosse Datenmengen vorzusehen, welche auch bei vorgegebenen maximalen Antwortzeiten unter extrem grossen Datenmengen und zahlreichen Benutzern hervorragend skalieren. Schliesslich ist es auch Aufgabe der Erfindung, eine entsprechende Wertpapieranalysevorrichtung sowie ein Wertpapieranalyseverfahren vorzusehen.The object of the invention is to provide a method and a data processing device for interactive multi-user access to large amounts of data, which in particular do not have the disadvantages specified above or only have them to a greatly reduced extent. In particular, it is also an object of the invention to provide a method and a data processing device for interactive multi-user access to large amounts of data, which scale excellently even with given maximum response times under extremely large amounts of data and numerous users. Finally, it is also an object of the invention to provide a corresponding security analysis device and a security analysis method.
Diese Aufgabe wird erfindungsgemäss gelöst durch eine Datenverarbeitungsvorrichtung mit den im unabhängigen Patentanspruch 1 angegebenen Merkmalen sowie auch durch das Verfahren mit den im unabhängigen Patentanspruch 4 angegebenen Merkmalen. Ferner wird diese Aufgabe gelöst durch eine Wertpapieranalysevorrichtung mit den in Anspruch 5 angegebenen Merkmalen sowie durch ein Wertpapieranalyseverfahren mit den in Anspruch 10 angegebenen Merkmalen. Die Unteransprüche beinhalten Weiterentwicklungen der Gegenstände derjenigen unabhängigen Ansprüche, auf die sie jeweils rückbezogen sind. Das erfinderische Verfahren zeigt auf, wie durch den Einsatz von parallel arbeitenden Rechnern mittels ausreichend Arbeitsspeicher vorherbestimmte Werte für die drei Grossen erreicht werden können, und es wird eine erfindungsgemässe Datenverarbeitungsvorrichtung zur Ausführung des Verfahrens angegeben. Bei der erfindungsgemässen Lösung wird im Gegensatz zu konventionellen CacheAlgorithmen durch definierte Aufteilung der gesamten Datenmenge auf den Arbeitsspeicher mehrerer Rechner sowie die volle Kontrolle über die Mehrzahl der für die Verarbeitung notwendigen Prozessorzyklen eine definierte kurze Antwortzeit des Rechner-Clusters auch bei extrem grossen Datenmengen erreicht. Die im konkreten Fall zu wählende Aufteilung der gesamten Datenmenge auf dieThis object is achieved according to the invention by a data processing device with the features specified in independent claim 1 and also by the method with the features specified in independent claim 4. Furthermore, this object is achieved by a securities analysis device with the features specified in claim 5 and by a securities analysis method with the features specified in claim 10. The subclaims contain further developments of the subject matter of those independent claims to which they are in each case related. The inventive method shows how predetermined values for the three sizes can be achieved through the use of computers working in parallel by means of sufficient working memory, and a data processing device according to the invention for carrying out the method is specified. In the solution according to the invention, in contrast to conventional cache algorithms, the total amount of data is divided over the Main memory of several computers and full control over the majority of the processor cycles required for processing achieve a defined short response time of the computer cluster even with extremely large amounts of data. The distribution of the total amount of data to be selected in the specific case
5 Rechner in einem Cluster muss so erfolgen, dass die beiden zuvor erläuterten Relationen (1) und (2) für jeden einzelnen Rechner gleichzeitig erfüllt sind. Dies schränkt die Anwendbarkeit des Verfahrens auf solche Daten ein, wo eine derartige Aufteilung aufgrund der inneren Struktur der extrem grossen Datenmenge möglich ist, wie-- dies zum Beispiel bei Handelsdaten von o Wertpapieren der Fall ist.5 computers in a cluster must be such that the two relations (1) and (2) explained above are fulfilled simultaneously for each individual computer. This limits the applicability of the method to such data, where such a division is possible due to the internal structure of the extremely large amount of data, as is the case, for example, with trading data for o securities.
Weiterhin setzt eine erfolgreiche Anwendung des Verfahrens voraus, dass die Anzahl der Prozessorzyklen für den bestimmenden Algorithmus ermittelt wird. Dies geschieht zum Beispiel durch programmtechnisches Abfragen der Systemzeit vor dem Start des Algorithmus für eine einzelne Dateneinheit sowie das Feststellen der 5 Systemzeit nach Beendigung des Algorithmus für diese eine Dateneinheit. Die Anzahl der benötigten Prozessorzyklen berechnet sich aus der Kenntnis der Prozessorgeschwindigkeit und dem zuvor ermittelten Zeitbedarf für das Bearbeiten des Algorithmus.Furthermore, a successful application of the method requires that the number of processor cycles for the determining algorithm is determined. This is done, for example, by programming the system time before the algorithm starts for a single data unit, and determining the system time after the algorithm has ended for this one data unit. The number of processor cycles required is calculated from the knowledge of the processor speed and the previously determined time required for processing the algorithm.
Wegen der begrenzten Auflösung der Systemzeit von zum Beispiel einer 0 Millisekunde ist es notwendig, den Algorithmus sehr oft in Folge, zum Beispiel 100.000.000 Mal ablaufen zu lassen, um verwertbare Zeitdifferenzen zu erhalten. Die gesuchte Anzahl an Prozessorzyklen wird dann folgendermassen berechnet:Because of the limited resolution of the system time of, for example, 0 milliseconds, it is necessary to run the algorithm very often in succession, for example 100,000,000 times, in order to obtain usable time differences. The number of processor cycles searched is then calculated as follows:
Z = F * (T2 - T1) / NZ = F * (T2 - T1) / N
Z Zyklenzahl für den implementierten Algorithmus; 5 F Prozessortaktfrequenz = Anzahl derZ number of cycles for the implemented algorithm; 5 F processor clock frequency = number of
Prozessorzyklen pro Sekunde;Processor cycles per second;
T2 Endezeit der Messung;T2 end time of measurement;
T1 Anfangszeit der Messung; N Anzahl der Wiederholungen des Algorithmus.T1 start time of measurement; N Number of repetitions of the algorithm.
Wenn für einen implementierten Algorithmus zum Beispiel eine Zeitdifferenz vonIf, for example, an implemented algorithm has a time difference of
T2 - T1 = 0,8 sek. bei einer Prozessortaktfrequenz von 2.500.000.000 Zyklen/s und einer Anzahl N = 100.000.000 Wiederholungen gemessen wurde, dann folgt daraus eine Zyklenzahl von:T2 - T1 = 0.8 sec. at a processor clock frequency of 2,500,000,000 cycles / s and a number of N = 100,000,000 repetitions, this results in a number of cycles of:
Z = 2.500.000.000 Zyklen/s * 0,8 sek. / 100.000.000 = 20 Zyklen.Z = 2,500,000,000 cycles / s * 0.8 sec. / 100,000,000 = 20 cycles.
Ergebnis: Für die Ausführung des implementierten Algorithmus mit einer einzelnen Dateneinheit werden 20 Prozessorzyklen benötigt. Im Ergebnis der Anwendung des vorliegenden Verfahrens wird somit im Gegensatz zu Cache-Algorithmen in Datenbanken eine definierte Laufzeit auch für eine extrem grosse Datenmenge bei Anwendung von Algorithmen mit bekanntem Bedarf an Prozessorzyklen erreicht. Die Unwägbarkeiten des Datenbank-Cache entfallen und stattdessen bietet das System immer eine definierte Antwortzeit. Die Erfindung wird im folgenden anhand eines oder mehrerer Ausführungsbeispiele in einer "Message Passing"-Architektur unter Bezugnahme auf die Zeichnung exemplarisch verdeutlicht:Result: 20 processor cycles are required to execute the implemented algorithm with a single data unit. As a result of the application of the present method, in contrast to cache algorithms in databases, a defined runtime is also achieved for an extremely large amount of data when using algorithms with a known need for processor cycles. The unpredictability of the database cache is eliminated and instead the system always offers a defined response time. The invention is illustrated below by way of example using one or more exemplary embodiments in a "message passing" architecture with reference to the drawing:
Fig.1 zeigt ein schematisches Hard- und Softwarekomponentendiagramm einer Ausführungsform einer erfindungsgemässen Datenverarbeitungs- Vorrichtung nach dem "Message Passing"-Prinzip.1 shows a schematic hardware and software component diagram of an embodiment of a data processing device according to the invention based on the "message passing" principle.
Fig.2 zeigt schematisch die Hardwarekomponenten der in Fig. 1 gezeigten Ausführungsform.Fig. 2 shows schematically the hardware components of the embodiment shown in Fig. 1.
Fig.3 zeigt ein schematisches Blockbild eines Einzelrechners (Rechnerknoten) aus der in Fig.1 dargestellten Ausführungsform.3 shows a schematic block diagram of an individual computer (computer node) from the embodiment shown in FIG.
Fig.4 zeigt ein Flussdiagramm des Algorithmus zur Lastaufteilung und Ergebnissynthese aus der in Fig.1 dargestellten Ausführungsform. Fig.5 zeigt im oberen Teil ein Diagramm mit an einem Kursverlauf dargestellten typischen typischen Kauf- und Verkaufsignalen für Short- und Long- Positionen eines Wertpapiers mit dem dazugehörigen Ertragsdiagramm im unteren Teil.FIG. 4 shows a flowchart of the algorithm for load sharing and result synthesis from the embodiment shown in FIG. 1. 5 shows in the upper part a diagram with typical typical buy and sell signals for short and long positions of a security shown on a course of the price with the associated earnings diagram in the lower part.
Fig.6 zeigt den Ablauf von Optimierungs- und kurz- und mittelfristigen Testphasen zur Ermittlung der optimalen Parameter eines Trading- Systems.Fig. 6 shows the course of optimization and short and medium-term test phases to determine the optimal parameters of a trading system.
Fig.7 zeigt die Zuordnung mehrerer Trading-Systeme und Trading-Varianten zu einzelnen, unterschiedlichen Wertpapieren in einem Depot.Fig. 7 shows the assignment of several trading systems and trading variants to individual, different securities in a securities account.
Fig.8 zeigt ein lineares Trading System, das dem Stand der Technik entspricht.Fig. 8 shows a linear trading system that corresponds to the prior art.
Fig.9 verdeutlicht die komplexe Auswertung einer Vielzahl von Wertpapieren unter Berücksichtigung einer Vielzahl von Trading Systemen und unter Berücksichtigung der Marktbedingungen.Fig. 9 illustrates the complex evaluation of a large number of securities taking into account a large number of trading systems and taking market conditions into account.
Für die Anwendung des vorliegenden Verfahrens in einem technischen System stellt ein in Fig. 1 schematisch dargestellter Rechnercluster seine Funktionalität über ein externes Netzwerk 10 anderen Systemen zur Verfügung. Dies können beispielsweise Anfragen von Personen (nicht dargestellt) sein, welche sich eines Browsers (nicht dargestellt) bedienen, um über eine graphische Bedieneroberfläche Informationen im Internet abzurufen. Ebenso können dies andere Rechner oder Rechnersysteme sein, die sich über das Internet mit dem hier beschriebenen System verbinden und über eine Maschinenschnittstelle Anfragen ausführen lassen. Neben dem Internet kann das externe Netzwerk auch ein beliebiges anderes Datennetz sein, welches die Verbindung von anderen Rechnern mit dem beschriebenen System herstellt. Eine Anzahl 1 ... n Einzelrechner 40 bildet eine Gruppe von Rechnern, die die Verarbeitungseinheiten des System bilden. In einer bevorzugten Ausführungsform leitet ein Lastverteiler 20 Anfragen aus einem externen Rechnernetz 10 mit einer geeigneten Verteilerstrategie an die Einzelrechner 40 weiter, so dass eine Aufteilung der Last auf die Einzelrechner 40 erfolgt. Die Kommunikation des Lastverteilers 20 mit den Einzelrechnern 40 erfolgt dabei über ein internes Netzwerk 30. Statt eines Lastverteilers mit Optimierungsfunktionalität kann andernfalls auch eine einfachere Lastaufteilungseinrichtung Anwendung finden.For the application of the present method in a technical system, a computer cluster shown schematically in FIG. 1 makes its functionality available to other systems via an external network 10. These can be, for example, inquiries from people (not shown) who use a browser (not shown) to call up information on the Internet via a graphical user interface. Likewise, these can be other computers or computer systems that can be connected to the system described here via the Internet and that queries can be carried out via a machine interface. In addition to the Internet, the external network can also be any other data network that connects other computers to the system described. A number 1 ... n individual computers 40 form a group of computers which form the processing units of the system. In a preferred embodiment, a load distributor 20 routes requests from an external computer network 10 to the individual computers 40 using a suitable distribution strategy further, so that the load is divided among the individual computers 40. The load distributor 20 communicates with the individual computers 40 via an internal network 30. Instead of a load distributor with optimization functionality, a simpler load sharing device can otherwise also be used.
Für den Lastverteiler 20 wird lediglich vorausgesetzt, dass die ankommenden Anforderungen auf die Einzelrechner 40 geeignet verteilt werden, so dass im Durchschnitt eine gleichmässige Belastung der Einzelrechner 40 eintritt. Im weiteren wird davon ausgegangen, dass diese Aufgabe von einem handelsüblichen Gerät dieser Art ausgeführt wird, wobei der dort ablaufende Algorithmus hier nicht näher betrachtet wird.The only requirement for the load distributor 20 is that the incoming requests are suitably distributed among the individual computers 40, so that on average a uniform load on the individual computers 40 occurs. It is further assumed that this task is carried out by a commercially available device of this type, the algorithm running there not being considered in more detail here.
Lastverteiler werden von verschiedenen Anbietern mit unterschiedlichen Eigenschaften angeboten. Für den Aufbau einer Serverfarm nach vorliegender Beschreibung wurde beispielhaft der Lastverteiler „Catalyst 4840G" ausgewählt, der eine Verteilung der eintreffenden Anfragen aus dem externen Netzwerk auf maximal 40 Server erlaubt. Als Lastverteilungsstrategie kommt die „Round Robin"-Methode zum Einsatz, welche eine gleichmässige Belastung aller eingebundenen Server zur Folge hat. Eine Beschreibung dieses Lastverteilers kann unter folgender Internetadresse eingesehen werden:Load distributors are offered by different providers with different properties. For the construction of a server farm according to the present description, the "Catalyst 4840G" load distributor was selected as an example, which allows the incoming requests from the external network to be distributed to a maximum of 40 servers. The "round robin" method is used as the load distribution strategy, which is a uniform method Load on all connected servers. A description of this load balancer can be viewed at the following Internet address:
http://www.cisco.com/univercd/cc/td/doc/pcat/ca4840g.htmhttp://www.cisco.com/univercd/cc/td/doc/pcat/ca4840g.htm
Der Lastverteiler sorgt in der angegebenen Beispielkonfiguration für eine gleichmässige Belastung aller Server, welche für die kontinuierliche Bedienung einer grossen Anzahl von 600 Anfragen pro Sekunde und mehr aus dem externen Netzwerk erforderlich ist. Dies hat jedoch keinen unmittelbaren Zusammenhang zur definiert kurzen Antwortzeit, welche vom System auch für eine extrem grosse Datenmenge eingehalten wird.In the example configuration given, the load distributor ensures an even load on all servers, which is necessary for the continuous operation of a large number of 600 requests per second and more from the external network. However, this has no direct connection to the defined short response time, which the system also adheres to for an extremely large amount of data.
Die kurze Antwortzeit wird insbesondere dadurch erzielt, dass jeder Rechner im Cluster nur einen Teil der extrem grossen Datenmenge zur Bearbeitung zugewiesen bekommt und dass er diese Datenmenge für die Ermögiichung des Generierens einer schnellen Antwort ständig in seinem Hauptspeicher hält. Somit ist zwischen zwei Extremsituationen zu unterscheiden. Bei einer komplexen Anfrage, welche das Sichten der kompletten Datenmenge erfordert, kommt der erfindungsgemässe Algorithmus entsprechend Fig. 4 zur Anwendung. Durch die Aufteilung der erforderlichen Arbeit auf alle angeschlossenen Rechner im Cluster wird die beabsichtigte kurze Antwortzeit auf die komplexe Anfrage erreicht.The short response time is achieved in particular by the fact that each computer in the cluster is allocated only a part of the extremely large amount of data for processing and that it keeps this amount of data in its main memory to enable the generation of a quick response. A distinction must therefore be made between two extreme situations. In the case of a complex request which requires the complete amount of data to be viewed, the algorithm according to the invention in accordance with FIG. 4 is used. By dividing the required work across all connected computers in the cluster, the intended short response time to the complex request is achieved.
Im anderen Extremfall werden weniger komplexe Anfragen zum Beispiel zu einem einzelnen Kursverlauf gestellt, jedoch mit einer grossen Anzahl von 600 Anfragen pro Sekunde und mehr. In diesem Fall sorgt der Lastverteiler in konventioneller Art für die gleichmässige Aufteilung der Anfragen auf alle beteiligten Rechner. Das System ist in der Lage, auf eine einzelne komplexe Anfrage, die das Sichten aller Daten erfordert, innerhalb einer vorgegebenen Zeit von zum Beispiel einer Sekunde zu reagieren und die Antwort zu generieren. Hierbei werden alle Rechner vollständig bis an ihre Leistungsgrenze ausgenutzt. Aus genanntem Grund wird es in der Regel nicht möglich sein, beide Extremfälle miteinander zu kombinieren. In der Praxis kann jedoch von einer Mischung der Anforderungen ausgegangen werden, wo innerhalb einer grossen Anzahl von weniger komplexen Anfragen einige wenige komplexe Anfragen auftreten. Die Häufigkeit der komplexen Anfragen muss dabei deutlich geringer sein als die Antwortzeit, welche für das Beantworten einer einzelnen komplexen Anfrage projektiert wurde. In Fig. 1 sind innerhalb der Einzelrechner 40 die für die Gesamtfunktion relevanten Hardware- und Softwaremodule dargestellt. Ein Serverprogramm 41 nimmt Anfragen entgegen, die über den Lastverteiler 20 aus dem externen Netzwerk 10 an das System gestellt wurden. Jede Anfrage wird an ein Vermittlerprogramm 42 auf dem gleichen Rechner weitergeleitet. Das Vermittlerprogramm 42 sendet jede erhaltene Anfrage zum einen an ein Anfragebearbeitungsprogramm 43 auf dem gleichen Rechner als auch über das interne Netzwerk 30 an die Vermittlerprogramme 42 auf allen anderen Einzelrechnern 40. Das Anfragebearbeitungsprogramm 43 nimmt jede Anfrage vom Vermittlerprogramm 42 auf dem gleichen Einzelrechner 40 entgegen und generiert eine entsprechende Antwort. Zum Generieren der Antwort werden alle Daten in einem Speicher 44 oder je nach Anfrage auch nur Teile davon verwendet.In the other extreme, less complex requests are made, for example, for a single course, but with a large number of 600 requests per second and more. In this case, the conventional load balancer ensures that requests are evenly distributed to all computers involved. The system is able to respond to a single complex request that requires all data to be viewed within a predetermined time, for example one second, and to generate the response. Here, all computers are fully used up to their performance limit. For the reason mentioned, it will generally not be possible to combine both extreme cases with each other. In practice, however, a mixture of requirements can be assumed, where a few complex requests occur within a large number of less complex requests. The frequency of the complex requests must be significantly less than the response time that was configured to answer a single complex request. 1 shows the hardware and software modules relevant for the overall function within the individual computers 40. A server program 41 accepts requests that have been made to the system from the external network 10 via the load distributor 20. Each request is forwarded to an intermediary program 42 on the same computer. The broker program 42 sends each received request to a request processing program 43 on the same computer as well as via the internal network 30 to the broker programs 42 on all other individual computers 40. The request processing program 43 accepts each request from the intermediary program 42 on the same single computer 40 and generates a corresponding answer. To generate the response, all data are stored in a memory 44 or, depending on the request, only parts of it used.
Das Vermittlerprogramm 42 nimmt die Antwort auf eine Anfrage vom Anfragebeantwortungsprogramm 43 auf dem gleichen Einzelrechner entgegen und fügt diese mit den Antworten von den Vermittlerprogrammen 42 auf allen anderen Einzelrechnern 40 zu einer kombinierten Antwort zusammen. Die zusammengefügte Antwort wird vom Vermittlerprogramm 42 an das Serverprogramm 41 auf dem gleichen Einzelrechner weitergeleitet, welches die erhaltene Antwort an das anfordernde System im externen Netzwerk 10 sendet.The mediator program 42 accepts the answer to a query from the query response program 43 on the same individual computer and combines this with the answers from the mediator programs 42 on all other individual computers 40 to form a combined answer. The combined response is forwarded by the intermediary program 42 to the server program 41 on the same individual computer, which sends the received response to the requesting system in the external network 10.
Durch den Einsatz der verteilten Einzelrechner 40 werden mehrere positive Effekte erreicht. Zum einen kann die gesamte extrem grosse Datenmenge, die interaktiv für den Mehrbenutzerzugriff zur Verfügung gestellt werden soll, so auf mehrere Einzelrechner 40verteilt werden, dass jeder Einzelrechner 40 eine Datenmenge erhält, die gleichzeitig innerhalb des Speichers 44 gehalten werden kann und die bei der Verarbeitung mit den vorgesehenen Algorithmen eine Antwortzeit kleiner oder gleich der vorgegebenen Antwortzeit ermöglicht. Weiterhin werden auch die Aufgaben des Serverprogramms und des Vermittlerprogramms auf alle zur Verfügung stehenden Einzelrechner aufgeteilt, wodurch im Gesamtsystem eine optimale Lastverteilung möglich wird.By using the distributed individual computers 40, several positive effects are achieved. On the one hand, the entire extremely large amount of data that is to be made available interactively for multi-user access can be distributed over a plurality of individual computers 40 in such a way that each individual computer 40 receives a quantity of data that can be kept within the memory 44 at the same time and that is included in the processing allows the proposed algorithms a response time less than or equal to the specified response time. Furthermore, the tasks of the server program and the intermediary program are divided among all available individual computers, which enables an optimal load distribution in the overall system.
Die maximale Datenmenge, welche auf einen Einzelrechner 40 gelegt werden kann, hängt wie zuvor bereits ausführlich beschrieben von den Grossen Prozessorgeschwindigkeit, Geschwindigkeit beim Zugriff auf den Arbeitsspeicher, beabsichtigte Antwortzeit und erforderliche Zykluszahl für das Ausführen des beabsichtigten Algorithmus für eine einzelne Dateneinheit ab.The maximum amount of data that can be placed on a single computer 40 depends, as previously described in detail, on the high processor speed, speed in accessing the working memory, intended response time and the number of cycles required to execute the intended algorithm for a single data unit.
Bevor ein Einzelrechner Anfragen beantworten kann, muss die auf diesen Einzelrechner entfallende Datenmenge in den Speicher 44 geladen werden. Dies geschieht von der Festplatte 45 beim Hochfahren des Einzelrechners vom Ruhezustand in den Bereitschaftszustand. Dieser Vorgang nimmt aufgrund der begrenzten Festplattengeschwindigkeit eine um mehrere Grössenordnungen längere Zeit in Anspruch als das spätere Verarbeiten der gesamten Datenmenge im Speicher 44. Mit dem Laden der Daten muss deshalb rechtzeitig vor dem Bearbeiten der ersten Anfrage begonnen werden. Im laufenden Betrieb des Systems müssen neu eintreffende Daten, wie beispielsweise die Schlusskurse des aktuellen Börsentages, sowohl in den Speicher 44 als auch auf die Festplatte 45 übertragen werden. Im Falle des Überschreitens der zulässigen Datenmenge für den Einzelrechner 40 müssen gleichzeitig ältere Daten aus dem Speicher gelöscht werden.Before a single computer can answer queries, the amount of data relating to this single computer must be loaded into the memory 44. This happens from the hard disk 45 when the individual computer is started up from the idle state to the standby state. Due to the limited hard disk speed, this process takes several orders of magnitude longer than the later processing of the entire amount of data in the memory 44. The data must therefore be loaded in good time before the first request is processed. When the system is in operation, newly arriving data, such as, for example, the closing prices on the current trading day, must be transferred both to the memory 44 and to the hard disk 45. If the permissible amount of data for the individual computer 40 is exceeded, older data must be deleted from the memory at the same time.
Bei einer im Bereich des Wertpapierhandels eingesetzten Ausführungsform kann eine im folgenden beschriebene besondere Datenkompressionstechnik verwendet werden. Bei dieser bevorzugten optimierten Speicherbelegung wird ausgenutzt, dass die Werte für • den Anfangskurs (Open),In one embodiment used in the field of securities trading, a special data compression technique described below can be used. This preferred optimized memory allocation takes advantage of the fact that the values for • the initial course (Open),
• den Höchstkurs (High),• the high (high),
• den Niedrigstkurs (Low), und/oder für• the lowest price (Low), and / or for
• den Schlusskurs (Close) an den meisten Handelstagen sehr eng beieinander liegen. Daher werden die Differenzen• The closing price (close) is very close to each other on most trading days. Hence the differences
• Open-Low,• open-low,
• Close-Low und• Close-Low and
• High-Close in jeweils einem Byte gespeichert. Unter mehreren Möglichkeiten wird hier exemplarisch ein Kompressionsschema angegeben, welches den Speicherplatz auf Kosten der Auflösung (Genauigkeit) reduziert. Dies tritt jedoch nur bei einer hohen Dynamik der Preisbewegung oder bei einem sehr hohen Handelsvolumen auf. In der überwiegenden Mehrzahl der auf dem Wertpapiermarkt anzutreffenden Fälle ist dieses Verfahren verlustfrei. Die einzelnen Werte müssen jedoch den folgenden Bedingungen genügen:• High-Close saved in one byte each. A compression scheme is given here as an example among several possibilities, which reduces the storage space at the expense of resolution (accuracy). However, this only occurs if the price movement is dynamic or if the trading volume is very high. In the vast majority of cases encountered on the securities market, this procedure is lossless. However, the individual values must meet the following conditions:
• Der Schlusskurs darf nicht grosser sein als 65.535.000, und » Das Volumen darf nicht grosser sein als 655.350.000• The closing price must not be greater than 65,535,000, and »the volume must not be greater than 655,350,000
Da die die Kurswerte jeweils repräsentierenden Zahlen je nach relevanter Währung durchaus unterschiedliche Grössenordnungen annehmen können, wird eine Fliesskommadarstellung bevorzugt, bei der ein Zahlenwert durch je einen Mantissewert und einen Exponentenwert repräsentiert wird. In einer bevorzugten Ausführungsform wird zusätzlich zu den vorstehend genannten Kursdifferenzen (Open- Low, Close-Low und High-Close) der Absolutwert des Schlusskurses gespeichert. Dadurch lassen sich die besonders speicherökonomisch abgelegten Differenzwerte wieder in absolute Kurswerte umrechnen:Because the numbers representing the market values are more relevant Currency can take on different orders of magnitude, a floating point representation is preferred, in which a numerical value is represented by a mantissa value and an exponent value. In a preferred embodiment, the absolute value of the closing price is stored in addition to the course differences mentioned above (open-low, close-low and high-close). This means that the differential values, which are stored in a particularly economical memory, can be converted back into absolute market values:
Open = Close - (Close - Low) + (Open - Low)Open = Close - (Close - Low) + (Open - Low)
Low = Close - (Close - Low) High = Close + (High - Close)Low = Close - (Close - Low) High = Close + (High - Close)
Unter den genannten Bedingungen werden die einzelnen Werte im hier beschriebenen Kompressionsverfahren wie folgt im Speicher abgelegt:Under the specified conditions, the individual values are stored in the memory as follows in the compression process described here:
• 1 Byte: Exponenten• 1 byte: exponent
• Bit 7-5: Gemeinsamer Exponent zur Basis 2 für die 3 - Differenzwerte, (Open-Low, Close-Low und High-Close;• Bit 7-5: Common exponent to base 2 for the 3 - difference values, (Open-Low, Close-Low and High-Close;
Wertebereich des Exponenten 0..7)Range of values of the exponent 0..7)
• Bit 4-2: Exponent zur Basis 10 für alle 4 Kurswerte, (d.h. vorstehend genannte Differenzwerte sowie Schlusskurswert; Wertebereich des Exponenten +3..0..-4) • Bit 1 ,0: Exponent zur Basis 10 für das Volumen,• Bit 4-2: Exponent to base 10 for all 4 price values, (i.e. the above-mentioned difference values and closing price value; value range of the exponent + 3..0 ..- 4) • Bit 1, 0: Exponent to base 10 for the volume,
(Wertebereich des Exponenten 1..4)(Range of values of exponent 1..4)
1 Byte: Differenz Open - Low (Wertebereich der Mantisse 0..255)1 byte: difference open - low (value range of mantissa 0..255)
1 Byte: Differenz Close - Low (Wertebereich der Mantisse 0..255)1 byte: difference close - low (value range of mantissa 0..255)
1 Byte: Differenz High - Close (Wertebereich der Mantisse 0..255) » 2 Byte: Close (Wertebereich der Mantisse 0..65535)1 byte: difference high - close (value range of mantissa 0..255) »2 bytes: close (value range of mantissa 0..65535)
2 Byte: Volumen (Wertebereich der Mantisse 0..65535) Beispiel: AOL-Kurse am 28. Februar 2002 • Open= 24,222 bytes: volume (value range of the mantissa 0..65535) Example: AOL courses on February 28, 2002 • Open = 24.22
• High = 25,50• High = 25.50
• Low = 23,70• Low = 23.70
• Close = 24,80• Close = 24.80
• Volumen = 28.516.800• Volume = 28,516,800
Für die verwendeten Beispielswerte ergeben sich folgende zu speichernde ganzzahlige Werte:The following integer values to be stored result for the example values used:
Figure imgf000027_0001
Figure imgf000027_0001
Tabelle 1: Beispielswerte Kompressionsverfahren (Kompressionsschritt)Table 1: Examples of compression methods (compression step)
e Werte werden wie folgt im Speicher abgelegt:e values are stored in the memory as follows:
Byte 1 , Bit 7-5: 0 (=> 0, Exponent zur Basis 2 für die Differenzwerte) Byte , Bit 4-2: 5 (=> -2, Exponent zur Basis 10 für alle Preiswerte) Byte 1 ^ Bit 1 ,0: 2 (=> 3, Exponent zur Basis 10 für das Volumen)Byte 1, bit 7-5: 0 (=> 0, exponent to base 2 for the difference values) byte, bit 4-2: 5 (=> -2, exponent to base 10 for all price values) byte 1 ^ bit 1, 0: 2 (=> 3, exponent to base 10 for the volume)
Byte 2: 52 (Open-Low)Byte 2: 52 (open-low)
Byte 3: 110 (Close-Low)Byte 3: 110 (close-low)
Byte 4: 70 (High-Close)Byte 4: 70 (high-close)
Byte 5,6: 2480 (Close) Byte 7,8: 28517 (Volumen)Byte 5,6: 2480 (Close) Bytes 7,8: 28517 (volume)
Zur Kontrolle der Genauigkeit der Werte nach dem Dekomprimieren werden nachfolgend die Kurswerte und das Volumen aus den gespeicherten Werten berechnet. Es wird deutlich, dass die Kurswerte ohne Fehler rekonstruiert werden konnten, wohingegen das Volumen jedoch einen kleinen Fehler aufweist, der für die beabsichtigte Anwendung jedoch vernachlässigbar ist.To check the accuracy of the values after decompression, the course values and the volume are subsequently calculated from the stored values. It becomes clear that the market values could be reconstructed without errors, whereas the volume has a small error, which is negligible for the intended application.
Figure imgf000028_0001
Figure imgf000028_0001
Tabelle 2: Beispielswerte Kompressionsverfahren (Dekompressionsschritt)Table 2: Exemplary compression methods (decompression step)
Fig. 2 stellt exemplarisch die Anwendung des zuvor beschriebenen Systems zur Ermöglichung des Zugriffs auf eine extrem grosse Datenmenge mit einer definierten kurzen Antwortzeit für Benutzer dar, die über das Internet 200 auf das System zugreifen. Dabei kommen neben einem Lastverteiler 210 eine Anzahl N von Einzelrechnern 220 zum Einsatz, so dass sich aufbauend auf den vorherigen Berechnungsmethoden die gewünschte kurze Antwortzeit ergibt.FIG. 2 shows an example of the application of the system described above to enable access to an extremely large amount of data with a defined short response time for users who access the system via the Internet 200. In addition to a load distributor 210, a number N of individual computers 220 are used, so that the desired short response time is based on the previous calculation methods.
Fig. 3 stellt die für das Erreichen der beabsichtigten Lösung notwendigen Bestandteile eines Einzelrechners dar. Innerhalb des Einzelrechners 300 arbeitet ein Prozessor 340 über den Systembus 335 mit dem Arbeitsspeicher 305, einer Festplatte 345 sowie einer Netzwerkkarte 330 zusammen. Innerhalb des Arbeitsspeichers 305 befinden sich zur Laufzeit Systemprogramme 310, Anwendungsprogramme 315 sowie ein Datenspeicher 320, welcher den überwiegenden Teil des Arbeitsspeichers einnimmt.3 shows the components of a single computer that are necessary for achieving the intended solution. Within the single computer 300, a processor 340 works together with the working memory 305, a hard disk 345 and a network card 330 via the system bus 335. System programs 310 are located within working memory 305 at runtime. Application programs 315 and a data store 320, which takes up the majority of the main memory.
Eine Beispielsrechnerkonfiguration einer erfindungsgemäßen Ausführungsform wird in Bezug auf Fig. 3 angegeben. Im einzelnen finden folgende Komponenten Verwendung:An example computer configuration of an embodiment according to the invention is given with reference to FIG. 3. The following components are used:
300 - Computer, Mainboard: Chaintech, 9SJD Intel P4300 - Computer, mainboard: Chaintech, 9SJD Intel P4
305 -Arbeitsspeicher: 3 x 1GB DDR PC2100, 266 MHz RAM305 RAM: 3 x 1GB DDR PC2100, 266 MHz RAM
325 - Lokale Netzwerkverbindung: Ethernet, 10/100 Mbit325 - Local network connection: Ethernet, 10/100 Mbit
330 - Netzwerkkarte: 3C905C, Fast EtherLin XL PCI 340 - Prozessor: Intel P4 2,2 GHz, Sockel 478330 - Network card: 3C905C, Fast EtherLin XL PCI 340 - Processor: Intel P4 2.2 GHz, socket 478
345 - Festplatte: IBM IC35L120AWA 120GB345 - Hard drive: IBM IC35L120AWA 120GB
Im folgenden wird der Algorithmus für das Bearbeiten von Anforderungen anhand von Fig. 4 im Detail beschrieben.The algorithm for processing requests is described in detail below with reference to FIG. 4.
Als Nachricht wird im weiteren das Eintreffen eines Eingangsdatenpaketes an den Ver- mittler 42 verstanden. Dies kann sowohl eine Anfragenachricht von der Serverkomponente 41 sein als auch eine Anfrage- oder Antwortnachricht von einem anderen Rechner 40 des Clusters.In the following, a message is understood to mean the arrival of an input data packet at the intermediary 42. This can be both an inquiry message from the server component 41 and an inquiry or response message from another computer 40 of the cluster.
Jede der oben aufgeführten Nachrichten wird nach dem Start 400 vom Eingangsmodul 405 aufgenommen und an den Entscheidungsblock 410 weitergeleitet. Dort wird entschieden, ob es sich um eine Anfrage oder um eine Antwort handelt. Im Falle einer Anfrage wird diese an den Entscheidungsblock 415 weitergeleitet. Dort wind ermittelt, ob die Anfrage den Cluster als Ganzes oder den Rechner selber betrifft. Falls die Anfrage an den Cluster gestellt wurde, dann wird diese durch den Block 420 an jeden anderen Rechner des Clusters weitergeleitet. Zusätzlich wird die gleiche Anfrage durch den Block 425 als lokale Anfrage an das Entscheidungsmodul 430 gegeben, welches auch beim Eintreffen einer Anfrage an diesen Rechner vom Entscheidungsmodul 415 angesprochen wird. Der Entscheidungsblock 430 stellt fest, ob die Anfrage auf der Basis der lokal gespeicherten Daten prinzipiell weiter bearbeitet werden kann oder nicht. Falls keine für die Bearbeitung der Anfrage geeigneten Daten gespeichert sind dann wird mit dem Block 440 fortgesetzt, wo eine leere Antwort erzeugt wird. Dadurch wird gewährleistet, dass in jedem Fall einen Antwort an den Anfragesteiler zurückgesendet wird.After start 400, each of the messages listed above is received by input module 405 and forwarded to decision block 410. There it is decided whether it is an inquiry or an answer. In the event of an inquiry, it is forwarded to decision block 415. There it is determined whether the request concerns the cluster as a whole or the computer itself. If the request has been made to the cluster, block 420 forwards it to any other computer in the cluster. In addition, the same request is given by block 425 as a local request to decision module 430, which is also addressed by decision module 415 when a request arrives at this computer. Decision block 430 determines whether the request can in principle be processed further based on the locally stored data or not. If none for editing data suitable for the request is then stored, block 440 continues where an empty response is generated. This ensures that a response is always sent back to the request divider.
Mit dem Block 435 wird im Falle des Vorliegens geeigneter Daten im lokalen Speicher eine Bearbeitung der Anfrage gemäss dem spezifischen Inhalt der Anfrage ausgeführt. Dabei kommt ein Algorithmus zur Verarbeitung von Dateneinheiten zur Anwendung, dessen Bedarf an Prozessortakten bevorzugterweise zuvor ausführlich analysiert worden ist.In block 435, if suitable data is available in the local memory, the query is processed in accordance with the specific content of the query. An algorithm for processing data units is used, the need for processor clocks has preferably been analyzed in detail beforehand.
Nach dem . Erzeugen einer Antwort auf die Anfrage im Block 435 oder gegebenenfalls auch einer leeren Antwort im Block 440 wird mit dem Entscheidungsblock 445 fortgesetzt. Dort wird festgestellt, ob die Anfrage von einem anderen Rechner eingetroffen ist oder ob diese lokal generiert wurde. Falls die Anfrage von einem anderen Rechner gesendet wurde, wird die Antwort durch den Block 460 an den anfragenden Rechner zurückgesendet und damit der Algorithmus im Endeblock 465 beendet.After . Generating a response to the request in block 435 or, if appropriate, an empty answer in block 440 continues with decision block 445. There it is determined whether the request has arrived from another computer or whether it was generated locally. If the request was sent by another computer, the response is sent back to the requesting computer by block 460 and the algorithm in end block 465 is thus ended.
Andererseits wird im Falle einer lokalen Anfrage die Antwort auf diese Anfrage als Teil der gesamten Antwort an den Block 450 weitergeleitet. Der Block 450 setzt alle von anderen Rechnern über den Entscheidungsblock 410 eintreffenden Antworten unter Einbeziehung der lokal im Block 435 oder 440 generierten Antwort zu einer gemeinsamen Antwort zusammen. Dies beinhaltet ebenfalls eine Zwischenspeicherung von Teilantworten mindestens solange, bis alle Antworten von allen Rechnern im Cluster eingetroffen sind und diese zu einer vollständigen Antwort zusammengesetzt werden können.On the other hand, in the case of a local request, the response to that request is forwarded to block 450 as part of the overall response. Block 450 assembles all the answers arriving from other computers via decision block 410, including the answer generated locally in block 435 or 440, into a common answer. This also includes caching partial responses at least until all responses have arrived from all computers in the cluster and these can be combined to form a complete response.
Der Entscheidungsblock 455 prüft aus dem zuvor genannten Grund, ob die aktuelle Antwort nacli dem Hinzufügen der zuletzt eingetroffenen Teilantwort bereits eine vollständige Antwort ist. Falls dies der Fall ist, wird diese durch den Block 460 an den Absender der Anfrage gesendet und der Algorithmus mit dem Endeblock 465 beendet. Andernfalls handelt es sich um ein Fragment der gesamten Antwort, weiches weiterhin lokal gespeichert wird, um durch weitere eintreffende Antworten von den anderen Rechnern des Clusters oder auch von der lokalen Anfragebearbeitung späterdurch einen erneuten Lauf des Algorithmus ergänzt zu werden. Die aktuelle Instanz des Algorithmus wird daher mit dem Endeblock 465 beendet.Decision block 455 checks for the aforementioned reason whether the current response is already a complete response after the addition of the last partial response that has arrived. If this is the case, block 460 sends this to the sender of the request and the algorithm ends with end block 465. Otherwise, it is a fragment of the entire response, which is still stored locally, by further incoming responses from the other computers in the cluster, or also by local request processing later by a new run of the algorithm to be added. The current instance of the algorithm is therefore ended with end block 465.
Wie aus dem beschriebenen Algorithmus hervorgeht, ist das Absenden der zusammengesetzten Antwort vom Eintreffen aller Teilantworten abhängig. Durch Einführen einer geeigneten Timeout-Zeit wird daher zu überprüfen sein, ob der Rechnercluster als Ganzes funktionsfähig ist. Beim Erreichen der Timeout-Zeit ist die Funktionsfähigkeit nicht mehr gegeben und es erfolgt eine geeignete Fehlerbehandlung in automatisierter Weise oder es erfolgt gegebenenfalls ein manueller Eingriff.As can be seen from the algorithm described, the sending of the composite response depends on the arrival of all partial responses. By introducing a suitable timeout time, it will therefore be necessary to check whether the computer cluster as a whole is functional. When the timeout period is reached, the functionality is no longer present and appropriate error handling takes place in an automated manner or manual intervention is carried out, if necessary.
Einsatzbeispiel für eine DepotverwaltungApplication example for a depot administration
Als Beispiel für eine Anwendung des auf dem zuvor beschriebenen Verfahrens und der Datenverarbeitungsvorrichtung für einen interaktiven Mehrbenutzerzugriff auf große Datenmengen beruhenden Wertpapieranalysesystems wird im folgenden ein Verfahren und eine Vorrichtung für das automatische Generieren von Kauf- und Verkaufssignalen für Wertpapiere in einem Depot beschrieben, wobei das Ziel im Erwirtschaften eines positiven Ertrags besteht.As an example of an application of the security analysis system based on the previously described method and the data processing device for interactive multi-user access to large amounts of data, a method and a device for the automatic generation of buy and sell signals for securities in a securities account are described below, the aim of which consists in generating a positive return.
Die typische Aufgabenstellung bei der Verwaltung eines Depots besteht darin, die an einem bestimmten Tag vorhandene Kapitalmenge in Wertpapierkäufe umzusetzen. Im hier beschriebenen System werden dazu Formeln verwendet, welche in der Lage sind Kauf- und Verkaufssignale zu erzeugen. Diese Formeln werden Trading Systeme genannt. Sie entstehen durch Hinzufügen von logischen Bedingungen für Kauf- und Verkaufssignale zu Indikatoren und Chartverläufen, zum Beispiel das Überschreiten von unteren oder oberen Grenzwerten. Im Bild 5 ist beispielhaft die Arbeit eines Trading Systems dargestellt. Dieses erzeugt auf der Basis der vergangenen und aktuellen Preisdaten eines Wertpapiers an bestimmten Tagen Signale für das Öffnen von Long- oder Short-Positionen. Von einer Long Position ist dann die Rede, wenn Wertpapiere gekauft und für eine bestimmte Zeit im Depot gehalten werden. Zu einem späteren Zeitpunkt werden die Long-Positionen wieder verkauft mit dem Ziel, beim Verkauf mehr einzunehmen als wie beim Kauf aufgewendet wurde. Die Differenz zwischen Verkaufs- und Kaufbetrag ist der Ertrag dieser Position, wobei weiterhin Kosten zu berücksichtigen sind, welche mit den Kauf- und Verkaufsvorgängen zusammenhängen. Der Ertrag kann sowohl positiv als auch negativ sein. Im Gegensatz zu einer Long-Position wird bei einer Short-Position zuerst verkauft und später zurückgekauft. Damit dies durchführbar ist muß die zu verkaufende Anzahl an Wertpapieren zunächst von jemand anderem geliehen werden wobei derjenige die Wertpapiere beim Schließen der Position in der Regel zurückbekommt. Für das Ausleihen fallen zusätzlich Ausleihgebühren an. Ein positiver Ertrag wird bei .einer Short-Position nur dann erzielt, wenn der Preis des Wertpapiers zwischenzeitlich genügend weit gefallen ist. Mit Short-Positionen wird daher auf fallende Kurse gesetzt.The typical task in managing a custody account is to convert the amount of capital available on a certain day into security purchases. In the system described here, formulas are used that are able to generate buy and sell signals. These formulas are called trading systems. They are created by adding logical conditions for buy and sell signals to indicators and chart histories, for example exceeding lower or upper limit values. Figure 5 shows an example of the work of a trading system. Based on the past and current price data of a security, this generates signals for opening long or short positions on certain days. A long position is used when securities are bought and held in the securities account for a certain period of time. At a later time, the long positions will be sold again with the aim of taking more than when selling as was spent on the purchase. The difference between the sale and purchase amount is the income from this position, whereby costs that are related to the purchase and sale processes must also be taken into account. The yield can be both positive and negative. In contrast to a long position, a short position sells first and repurchases later. In order for this to be feasible, the number of securities to be sold must first be borrowed from someone else, who usually gets the securities back when the position is closed. There are additional rental fees for borrowing. A positive return can only be achieved with a short position if the price of the security has fallen sufficiently in the meantime. Short positions are therefore used to bet on falling prices.
Das Generieren von Kauf- und Verkaufssignalen mittels Formeln kann unter anderem direkt auf der Basis der Preisbewegungen des Wertpapiers (Chartverlauf) erfolgen oder es können dazu auch die Verläufe von Indikatoren, wie zum Beispiel von einem gleitenden Durchschnitt verwendet werden. Ein einfaches Trading System kann dabei aus zwei gleitenden Durchschnitten bestehen, welche über unterschiedlich lange Zeiträume berechnet werden. Ein Kaufsignal wird generiert, wenn der kürzere gleitende Durchschnitt die Linie des längeren gleitenden Durchschnitts von unten nach oben schneidet. In diesem Fall wird ein Aufwärtstrend des Wertpapiers angezeigt. Im umgekehrten Fall entsteht analog ein Verkaufssignal.The generation of buy and sell signals using formulas can be done directly on the basis of the price movements of the security (chart development) or the trends of indicators, such as a moving average, can be used. A simple trading system can consist of two moving averages, which are calculated over different periods of time. A buy signal is generated when the shorter moving average crosses the line of the longer moving average from bottom to top. In this case, an upward trend of the security is displayed. In the opposite case, a sell signal is generated analogously.
Der Ertrag wird jeweils beim Schließen einer Position ermittelt, also beim Verkauf einer Long-Position oder beim Kauf von Wertpapieren zum Schließen einer Short- Position. Im Bild 5 ist beispielhaft gezeigt, wie sich beim nachfolgenden Schließen einer Long- und einer Short-Position ein positiver Ertrag aufaddiert. Bei negativen Erträgen fällt die Ertragskurve entsprechend ab, so wie es im Bild 6 teilweise zu sehen ist.The return is determined when a position is closed, ie when a long position is sold or when securities are bought to close a short position. Figure 5 shows an example of how a positive return adds up when a long and a short position are subsequently closed. In the case of negative yields, the yield curve drops accordingly, as can be seen in part in Figure 6.
Ein Trading System kann in der Regel durch Parameter auf die Marktgegebenheiten eingestellt werden. Im Falle eines gleitenden Durchschnitts ist die Anzahl der Tage, über die gemittelt wird, solch ein Parameter. Mit der Änderung von Parametern ändert sich auch die Ertragskurve eines Trading Systems, da die Kauf- und Verkaufssignale sich verschieben und die Wertpapiere daher zu anderen Preisen gekauft oder verkauft werden.A trading system can usually be adjusted to the market conditions using parameters. In the case of a moving average, the number of days averaged over is such a parameter. With the change The yield curve of a trading system also changes from parameters because the buy and sell signals shift and the securities are therefore bought or sold at different prices.
Unter Optimierung eines Trading Systems versteht man das Ermitteln solcher Parameter, welche die Ertragskurve in eine gewünschte Form und Höhe bringen. Dazu werden in einem Brute-Force-Ansatz zum Beispiel alle Möglichkeiten von Parameterkombinationen durchgerechnet und es wird solch ein Parametersatz ermittelt, welcher den höchsten Wert für eine Zielfunktion liefert, zum Beispiel den höchsten Ertrag. In der praktischen Anwendung führt das Optimieren nach höchstem Ertrag nicht unbedingt zu einem Trading System, das auch in Zukunft gute Erträge erbringt. Oftmals ist es erfolgreicher ein Trading System so zu optimieren, dass während des Optimierungszeitraumes to möglichst wenig und wenn dann nur geringe negative Erträge auftreten. Die Beurteilung eines optimierten Trading Systems als Entscheidungsgrundlage für einen Einsatz in der Depotverwaltung geschieht mittels zweier Testzeiträume, eines längeren Testzeitraumes ti von mehreren Monaten und eines kürzeren Testzeitraumes t2 von wenigen Wochen. Der längere Testzeitraum ti schließt sich an den Optimierungszeitraum to an und dient zum Ermitteln von Ähnlichkeiten im Verhalten aller Trading Systeme, welche für ein gegebenes Wertpapier zum Einsatz kommen. Der längere Testzeitraum ti erstreckt sich dabei bis zum aktuellen Tag. Der kürzere Testzeitraum t2 erstreckt sich ebenfalls bis zum aktuellen Tag, umfaßt jedoch nur eine kurze zurückliegende Zeitspanne. Beispiele für die Länge der Zeiträume sind 5 Jahre für den Optimierungszeitraum to , 6 Monate für den längeren Testzeitraum i und 2 Wochen für den kürzeren Testzeitraum t2.Optimizing a trading system means determining those parameters that bring the yield curve into the desired shape and height. For this purpose, a brute force approach, for example, calculates all the possibilities of parameter combinations and determines such a parameter set that delivers the highest value for a target function, for example the highest yield. In practical use, optimizing for the highest yield does not necessarily lead to a trading system that will continue to generate good returns in the future. It is often more successful to optimize a trading system in such a way that as little as possible during the optimization period and then only a small negative yield. The evaluation of an optimized trading system as a basis for decision-making for use in depot management is carried out using two test periods, a longer test period ti of several months and a shorter test period t 2 of a few weeks. The longer test period ti follows the optimization period to and is used to determine similarities in the behavior of all trading systems that are used for a given security. The longer test period ti extends to the current day. The shorter test period t 2 also extends to the current day, but only covers a short past period. Examples of the length of the periods are 5 years for the optimization period to, 6 months for the longer test period i and 2 weeks for the shorter test period t 2 .
Die vollständige Depotverwaltung arbeitet mit mehreren Trading Systemen pro Wertpapier und mehreren Varianten pro Trading System so wie in Bild 7 dargestellt. Dadurch wird ansatzweise eine Simulation des realen Marktgeschehens durchgeführt, wo Trader meistens mit Unterstützung von Wertpapieranalysesystemen ihre Entscheidungen zum Kauf oder Verkauf von Wertpapieren fällen. Im weiteren wird gezeigt, wie mit Hilfe von statistischen Methoden die aktuell erfolgversprechendsten Trading Systeme ermittelt werden und wie daraus Entscheidungen zur Kapitalverwendung im Depot abgeleitet werden.The complete portfolio management works with several trading systems per security and several variants per trading system as shown in Figure 7. This starts with a simulation of real market events, where traders usually make their decisions to buy or sell securities with the support of securities analysis systems. Furthermore, it is shown how with the help of statistical Methods the most promising trading systems are currently being determined and how decisions on the use of capital in the portfolio are derived from them.
Zuvor muß jedoch erläutert werden, auf welche Weise mehrere Varianten eines Trading Systems für ein gegebenes Wertpapier erzeugt werden können. Bei Anwendung der Brute-Force-Methode ist dies offensichtlich nicht der Fall, weil hier immer nur eine Variante eines Trading Systems bei vorgegebener Zielfunktion erhalten wird. Mehrere Varianten ergeben sich auch mit der Brute- Force-Methode immer dann, wenn die Zielfunktion entsprechend variiert wird, zum Beispiel einmal mit maximalem Ertrag und in einem weiteren Lauf mit minimalem zwischenzeitlichen Verlust (auch Drawdown genannt). Dieses Verfahren wird in der Regel jedoch für jeden einzelnen Optimierungslauf eine sehr lange Zeit von zum Beispiel mehreren Stunden oder Tagen beziehungsweise Wochen in Anspruch nehmen, abhängig von der Anzahl und den Wertebereichen der Parameter, oder es ist bei großen Parameterzahlen durch eine theoretische Laufzeit von zum Beispiel mehreren tausend Jahren außerhalb der gegenwärtigen technischen Möglichkeiten.Before doing so, however, it must be explained how several variants of a trading system can be created for a given security. When using the brute force method, this is obviously not the case, because only one variant of a trading system with a given target function is obtained here. With the brute force method, there are several variants whenever the target function is varied accordingly, for example once with maximum yield and in another run with minimal interim loss (also called drawdown). However, this method will generally take a very long time, for example several hours or days or weeks, for each individual optimization run, depending on the number and value ranges of the parameters, or it is possible for large parameter numbers by a theoretical runtime of Example several thousand years outside of the current technical possibilities.
Im vorliegenden Fall wird daher mit der in der mathematischen Optimierung bekannten Methode zum Auffinden von lokalen Maxima gearbeitet, welche durch Auswerten der Gradienten der Zielfunktion für jeden einzelnen Parameter in wenigen hundert Schritten bereits ein Ergebnis liefert. Nach dem Auffinden des ersten lokalen Maximum wird der Suchvorgang so fortgesetzt, dass ein weiteres lokales Maximum der Zielfunktion gefunden wird, welches jedoch nicht identisch mit den vorherigen Ergebnissen ist. Mittels einer Rechnerkonfiguration wie in den Beispielen 1) und 2) vorausgesetzt wird für das Optimieren eines Trading Systems mit der Methode des lokalen Maximum eine Zeit von durchschnittlich zum Beispiel 5 Sekunden benötigt. Im Fall eines Depots mit zum Beispiel 6000 Wertpapieren und der Verwendung von 150 Trading Systemen in jeweils 10 Varianten für steigenden Trend (Bullen-Markt), fallenden Trend (Bären-Markt) und für Seitwärtsmärkte ergibt dies folgende Zeitabschätzung: 6000 Wertpapiere x 150 Trading Systeme x 3 Marktsituationen x 10 Varianten x 5 sec.In the present case, therefore, the method used to find local maxima known in mathematical optimization is used, which, by evaluating the gradients of the target function, already delivers a result for each individual parameter in a few hundred steps. After the first local maximum has been found, the search process is continued in such a way that a further local maximum of the target function is found, but this is not identical to the previous results. By means of a computer configuration as in examples 1) and 2), a time of on average 5 seconds is required for optimizing a trading system using the local maximum method. In the case of a portfolio with, for example, 6000 securities and the use of 150 trading systems in 10 variants each for rising trend (bull market), falling trend (bear market) and for sideways markets, this results in the following time estimate: 6000 securities x 150 trading systems x 3 market situations x 10 variants x 5 sec.
= 135.000.000 Sekunden= 135,000,000 seconds
= 37.500 Stunden = 1562,5 Tage= 37,500 hours = 1562.5 days
Insgesamt werden dabei 27 Millionen unterschiedliche Trading Systeme erzeugt, welche die Basis für darauf aufbauende statistische Auswertungen darstellen. Das Reduzieren der für die Optimierung notwendigen Zeit auf einen praktikablen Wert wird durch den Einsatz von mehreren Rechnern nach der zuvor beschriebenen Methode durchgeführt. Bei einem Einsatz von zum Beispiel 50 Rechnern ergibt sich ein Zeitbedarf vonA total of 27 million different trading systems are generated, which form the basis for statistical evaluations based on them. The reduction of the time necessary for the optimization to a practical value is carried out by using several computers according to the method described above. Using 50 computers, for example, results in a time requirement of
1562,5 Rechentage / 50 Rechner = ca. 31 Tage.1562.5 computing days / 50 computers = approx. 31 days.
Dies bedeutet, dass in diesem Fall mindestens einen Monat vor dem Handelsbeginn von Werten aus dem Depot mit der Generierung von Trading Systemen begonnen werden muß, damit beim Handelsbeginn eine ausreichende Zahl an Trading Systemen als Grundlage für statistische Auswertungen vorhanden ist.This means that in this case the generation of trading systems must begin at least one month before the start of trading of values from the securities account, so that a sufficient number of trading systems are available as the basis for statistical evaluations at the start of trading.
Das wichtigste Kriterium für die Berücksichtigung der Signale eines Trading Systems bei der Kapitalverwendung im Depot ist, dass kein negativer Ertrag im zweiten Testzeitraum t2, also in der unmittelbaren Vergangenheit aufgetreten ist. Alle Trading Systeme mit einem derzeit negativen Ertrag im Testzeitraum t2 werden daher als erstes aus der weiteren Betrachtung für den aktuellen Handelstag eleminier Es verbleiben Trading Systeme mit positivem Ertrag und solche Trading Systeme, welche im relativ kurzen Testzeitraum t2 keine Signale generiert haben.The most important criterion for considering the signals of a trading system when using capital in the custody account is that no negative return occurred in the second test period t 2 , i.e. in the immediate past. All trading systems with a currently negative return in the test period t 2 are therefore the first to be eliminated from further consideration for the current trading day. There remain trading systems with a positive return and those trading systems which did not generate any signals in the relatively short test period t 2 .
Als nächstes wird eine durchschnittliche Ertragskurve für den Testzeitraum ti dadurch berechnet, dass die Tageswerte aller Trading Systeme mit einem Ertrag größer Null im Testzeitraum ti gemittelt werden. Die durchschnittliche Ertragskurve repräsentiert somit das Verhalten im längeren Testzeitraum ti von allen Trading Systemen, welche unter aktuellen Marktbedingungen im kürzeren Testzeitraum t2 erfolgreich sind.Next, an average yield curve for the test period ti is calculated by averaging the daily values of all trading systems with a yield greater than zero in the test period ti. The average yield curve thus represents the behavior in the longer test period ti of all trading systems that are successful under current market conditions in the shorter test period t 2 .
Die Auswahl von Trading Systemen wird anschließend danach durchgeführt, wie gut ein Trading System mit dem Verhalten des durchschnittlichen Trading Systems von allen aktuell erfolgreichen Trading Systemen übereinstimmt. Dazu wird die wohlbekannte mathematische Methode der Korrelation verwendet, indem diese auf die Ertragskurve eines Trading Systems im Testzeitraum ti und auf die gemittelte Ertragskurve aller aktuell erfolgreichen Trading Systeme angewendet wird. Bei guter Übereinstimmung der Ertragskurve eines Trading Systems mit der gemittelten Ertragskurve, wird ein Korrelationswert in der Nähe von 1 ,0 berechnet, wobei 1 ,0 nicht überschritten werden kann. Wenn das Trading System dagegen eine Ertragskurve mit entgegengesetztem Verlauf aufweist dann wird ein Wert von -1 ,0 für die. Korrelation erhalten, wobei -1 ,0 nicht unterschritten werden kann. Ein Wert von 0 zeigt an, dass kein offensichtlicher Zusammenhang zwischen der Ertragskurve eines Trading Systems und der durchschnittlichen Ertragskurve besteht.The selection of trading systems is then carried out according to how well a trading system matches the behavior of the average trading system of all currently successful trading systems. For this purpose, the well-known mathematical method of correlation is used, in that it is applied to the yield curve of a trading system in the test period ti and to the averaged yield curve of all currently successful trading systems. If the yield curve of a trading system agrees well with the averaged yield curve, a correlation value in the vicinity of 1.0 is calculated, whereby 1.0 cannot be exceeded. If, on the other hand, the trading system has a yield curve with the opposite course, then a value of -1, 0 is used for the . Correlation received, whereby the value cannot fall below -1, 0. A value of 0 indicates that there is no obvious correlation between a trading system's yield curve and the average yield curve.
Nachdem allen Trading Systemen ein Korrelationswert zwischen -1 und 1 zugeordnet wurde erfolgt die endgültige Auswahl der am aktuellen Handelstag zu verwendenden Trading Systeme durch Anwenden eines Schwellwertes, z.B. die Korrelation muß größer als 0,85 sein. Dieses Verfahren führt zu einer Reduktion der zuvor bereits ermittelten Gruppe von Trading Systemen mit Nullwert oder positivem Ertrag im Testzeitraum t2 auf solche Trading Systeme, welche sich ähnlich zu den aktuell erfolgreichsten Trading Systemen verhalten.After a correlation value between -1 and 1 has been assigned to all trading systems, the final selection of the trading systems to be used on the current trading day is made by applying a threshold value, for example the correlation must be greater than 0.85. This procedure leads to a reduction of the previously determined group of trading systems with zero value or positive earnings in the test period t 2 to trading systems which behave similarly to the currently most successful trading systems.
Die Anwendung dieser statistischen Methode führt zur Einbeziehung auch solcher Trading Systeme, welche aktuell gute Erfolgschancen haben, jedoch im relativ kurzen Testzeitraum t2 keine Signale generiert haben. Diese Trading Systeme haben aufgrund ihrer Ähnlichkeit zu den aktuell erfolgreichen Trading Systemen potentiell eine hohe Wahrscheinlichkeit, dass eine gewinnbringende Transaktion unmittelbar bevorsteht. Von allen derart ermittelten Trading Systemen wird anschließend bestimmt, wieviele von ihnen am aktuellen Tag ein Kaufsignal generiert haben. Die Anzahl der ermittelten Trading Systeme stellt das Gewicht dar, welches das jeweilige Wertpapier bei der Investition der einzusetzenden Kapitalmenge erhält.The use of this statistical method leads to the inclusion of trading systems that currently have good chances of success, but have not generated any signals in the relatively short test period t 2 . Because of their similarity to the currently successful trading systems, these trading systems potentially have a high probability that a profitable transaction is imminent. All trading systems determined in this way then determine how many of them have generated a buy signal on the current day. The number The trading systems determined represent the weight that the respective security receives when the amount of capital to be invested is invested.
Als Beispiel wird angenommen, dass fünf Wertpapiere analysiert werden. Die Anzahl der ermittelten Kaufsignale nach der zuvor beschriebenen Methode soll folgendermaßen verteilt sein:As an example, assume that five securities are being analyzed. The number of buy signals determined using the method described above should be distributed as follows:
1. Wertpapier: 301st security: 30
2. Wertpapier: 02nd security: 0
3. Wertpapier: 123.Security: 12
4. Wertpapier: 18 5. Wertpapier: 04th security: 18 5th security: 0
Ein einem Anleger zur Verfügung stehendes zu investierendes Kapital von zum Beispiel 20000 EUR teilt sich dann wie folgt auf:A capital to be invested available to an investor of, for example, EUR 20,000 is then divided as follows:
1. Wertpapier: 30/60 * 20000EUR = 10000 EUR1st security: 30/60 * 20000EUR = 10000 EUR
2. Wertpapier: 0 3. Wertpapier: 12/60 * 20000 EUR = 4000 EUR2nd security: 0 3rd security: 12/60 * 20,000 EUR = 4,000 EUR
4. Wertpapier: 18/60 * 20000 EUR = 6000 EUR4th security: 18/60 * 20,000 EUR = 6,000 EUR
5. Wertpapier: 05. Security: 0
Das jeweils in ein Wertpapier investierte Kapital wird zur Verwaltung von offenen Positionen den einzelnen Trading Systemen zugeordnet. Im Fall des obigen Beispiels erhält jede offene Position einen Betrag von 20000/60 = 333,33 EUR oder genauer gesagt Wertpapiere mit diesem Tageswert zugeordnet. Dabei wird auf ganze Stück gerundet. Beim Generieren eines Verkaufssignals durch das jeweilige Trading System und erst dann wird die soeben ermittelte Anzahl von Wertpapieren wieder verkauft und der erzielte Erlös zum Beispiel für eine Neuinvestition bereitgestellt.The capital invested in a security is allocated to the individual trading systems to manage open positions. In the case of the example above, each open position receives an amount of 20000/60 = EUR 333.33 or more precisely securities with this daily value. It is rounded to whole pieces. When a trading signal is generated by the respective trading system and only then is the number of securities that has just been determined sold again and the proceeds obtained are made available for a new investment, for example.
Bei der Aufteilung einer vorhandenen Kapitalmenge auf eine größere Anzahl von Wertpapieren in einem Depot muß berücksichtigt werden, dass Kaufsignale von unterschiedlichen Wertpapieren über einen Zeitraum von zum Beispiel einigen Tagen verteilt sein werden und dass das Gesamtkapital daher nicht bereits am ersten Tag vollständig eingesetzt werden kann. In einem praktischen Beispiel wird die Anfangskapitalmenge auf zum Beispiel 20 aufeinanderfolgende Handelstage aufgeteilt. Anschließend ergeben sich aus dem Schließen von Positionen in der Regel tägliche Kapitalströme, welche für weitere Kaufsignale nach der beschriebenen Methode eingesetzt werden.When allocating an existing amount of capital to a larger number of securities in a securities account, it must be taken into account that buy signals from different securities over a period of, for example, some Days will be distributed and that the total capital can therefore not be fully used on the first day. In a practical example, the initial amount of capital is divided into, for example, 20 consecutive trading days. Subsequently, the closing of positions usually results in daily capital flows, which are used for further buy signals according to the described method.
Die Formeln, mit deren Hilfe bei der erfϊndungsgemäßen Wertpapier- Analysevorrichtung oder dem erfindungsgemäßen Wertpapier-Analyseverfahren Kauf- und Verkaufssigήale generiert werden, werden auch Trading-Systeme genannt, welche durch Hinzufügen von logischen Bedingungen zu Indikatoren und Chartverläufen entstehen.The formulas with the aid of which buy and sell signals are generated in the securities analysis device according to the invention or the securities analysis method according to the invention are also called trading systems, which are created by adding logical conditions to indicators and chart histories.
Allen Indikatoren ist gemein, dass sie wenigstens einen Parameter aus einer Serie von jeweils fünf Werten verarbeiten: - AnfangskursAll indicators have in common that they process at least one parameter from a series of five values each: - Starting course
- höchster Kurs- highest course
- niedrigster Kurs- lowest price
- Schlußkurs- closing price
- Handelsvolumen- trading volume
Diese Serie von Parameter-Werten bezieht sich auf einen zugrundeliegenden Zyklus von zum BeispielThis series of parameter values refers to an underlying cycle of, for example
- einem Handelstag- a trading day
- einer Stunde - einer Viertelstunde- an hour - a quarter of an hour
- einer Minute oder beliebige andere Intervalle (bis in den Bereich einer Sekunde), deren Länge vom Anwender bestimmt werden kann, soweit sein Datenprovider diesen Zyklus liefern kann. In der jetzigen Version arbeitet die in der vorliegenden Erfindung unter anderem beschriebene, World Market Screener genannte Wertpapier- Analysevorrichtung bzw. das entsprechende Wertpapier-Analyseverfahren mit Tageswerten (End-of-Day). Indikatoren und die darauf aufbauenden Trading Systeme arbeiten mit den genannten Werten und verknüpfen diese durch Addition, Subtraktion, Multiplikation und Division, wobei jeweils Werte über mehrere Zyklen verwendet werden. In einigen Fällen kommen auch Exponentialfunktionen und/oder Logarithmus-Funktionen zur Anwendung. In der Fachliteratur werden Indikatoren in Gruppen eingeteilt, welche aus jeweils ähnlich konstruierten Indikatoren bestehen. Die Einteilung in Gruppen ist nicht einheitlich sondern hängt vom jeweiligen Autor ab.- a minute or any other interval (up to a second), the length of which can be determined by the user, as far as his data provider this cycle can deliver. In the current version, the securities analysis device or the corresponding securities analysis method described in the present invention, inter alia, which is described as the World Market Screener, works with end-of-day values. Indicators and the trading systems based on them work with the stated values and link them by addition, subtraction, multiplication and division, whereby values are used over several cycles. In some cases, exponential functions and / or logarithmic functions are also used. In the specialist literature, indicators are divided into groups, each consisting of similarly constructed indicators. The division into groups is not uniform but depends on the respective author.
Im folgenden sind Gruppen beschrieben, welche von verschiedenen Autoren relativ übereinstimmend verwendet werden und welche auch für die Kategorisierung der Indikatoren im World Market Screener Verwendung finden:In the following, groups are described which are used by different authors in a relatively consistent manner and which are also used to categorize the indicators in the World Market Screener:
Gleitender DurchschnittMoving average
Es wird der Mittelwert über mehrere Zyklen gebildet wobei der Zyklus um jeweils eins weitergeschaltet wird. Kauf- und Verkaufssignale entstehen, wenn z.B. ein längerer und ein kürzerer gleitender Durchschnitt sich schneiden. Akkumulation/DistributionThe average is formed over several cycles, the cycle being advanced by one. Buy and sell signals arise when e.g. a longer and a shorter moving average intersect. Accumulation / Distribution
Durch Auswertung des Abstandes vom Schlußkurs zu den Höchst- und Tiefstwerten in einem Zyklus wird ermittelt, ob ein Kaufdruck besteht oder eher ein Verkaufsdruck. Die Ergebnisse werden in der Regel über mehrere Zyklen gemittelt. Das Ergebnis dieser Indikatoren kann z.B. unterstützend für die Signalbildung mit anderen Indikatoren verwendet werden.By evaluating the distance from the closing price to the high and low values in a cycle, it is determined whether there is a buying pressure or rather a selling pressure. The results are usually averaged over several cycles. The result of these indicators can e.g. used to support signal formation with other indicators.
Oszillatorenoscillators
Dies ist die größte Gruppe der Indikatoren. Durch Differenzbildung zu einem gleitenden Durchschnitt entstehen Werte, die um den Nullpunkt oder zwischen einem Höchstwert und einem Niedrigstwert oszillieren. Kauf- und Verkaufssignale entstehen dadurch, dass der Oszillator einen oberen Schwellwert überschreitet, bzw. einen unteren Schwellwert unterschreitet.This is the largest group of indicators. Differences from a moving average create values that oscillate around zero or between a maximum and a minimum. Buy and sell signals arise in that the oscillator exceeds an upper threshold value or falls below a lower threshold value.
TrendermittlunqTrendermittlunq
Durch Mittelwertbildung über einen längeren Zeitraum und anschließendes Feststellen, ob die sich ergebende Kurve ansteigt oder abfällt wird ermittelt, ob sich der Markt in einem Aufwärts- oder Abwärtstrend befindet. Das Ergebnis wird vorwiegend verwendet, um die Signale anderer Indikatoren zu verifizieren, weil diese teilweise nur in einem bestimmten Typ von Markt verwertbare Ergebnisse liefern, also z.B. nur beim Aufwärtstrend verwendbar sind, oder bei einem Abwärtstrend oder auch nur in einem Seitwärtstrend.By averaging over a longer period of time and then determining whether the resulting curve rises or falls, it is determined whether the market is in an upward or downward trend. The result is mainly used to verify the signals of other indicators, because some of them only deliver usable results in a certain type of market, e.g. can only be used with an upward trend, or with a downward trend or only in a sideways trend.
Volatilitätvolatility
Durch Auswerten der Höchst- und Tiefstwerte über mehrere Zyklen wird festgestellt, wie groß die Schwankungsbreite des Marktes ist. Zum Erhalt verwertbarer Informationen muß die sich ergebende Kurve geglättet werden. Eine abfallende Volatilität kann anschließend verwendet werden, um die Relevanz anderer Indikatoren zu verstärken, weil eine abfallende Volatilität einen Hinweis auf einen eventuell bevorstehenden Ausbruch des Marktes in die eine oder andere Richtung darstellt.By evaluating the maximum and minimum values over several cycles, it is determined how large the fluctuation range of the market is. The resulting curve must be smoothed in order to obtain usable information. Declining volatility can then be used to increase the relevance of other indicators, because declining volatility indicates an impending market breakout in one direction or the other.
Ratiosratios
Bei diesem Typ von Indikator wird das Verhältnis zwischen zwei Größen dargestellt, z.B. von der Performance zu einem Marktindex oder der durchschnittlichen prozentualen Änderung der Performance bei einer Veränderung des Marktindex um einen bestimmten Betrag. ZvklusindikatorenThis type of indicator shows the relationship between two sizes, e.g. from performance to a market index or the average percentage change in performance when the market index changes by a certain amount. Zvklusindikatoren
Eine wellenförmige Bewegung des Marktes wird bei den Zyklusindikatoren durch Differenzbildung zu einem vorherigen Zeitpunkt und anschließende Mittelwertbildung ermittelt. Kauf- und Verkaufssignale entstehen dann durch Überschreiten eines oberen bzw. Unterschreiten eines unteren Grenzwertes. MarktindikatorenA wave-like movement of the market is determined in the cycle indicators by forming a difference at a previous point in time and then averaging. Buy and sell signals then arise when an upper or lower limit is exceeded. market indicators
Während alle anderen Indikatoren zuvor die Werte von jeweils nur einem Wertpapier oder gegebenenfalls noch den Marktindex auswerten, verwenden die Marktindikatoren eine Vielzahl oder alle an einem Börsenhandelsplatz gehandelten Werte. Oftmals wird durch Auszählen von Wertpapieren mit einer bestirnten Eigenschaft die Stimmung ermittelt, z.B. durch Summieren aller Wertpapiere im Aufwärtstrend bzw. im Abwärtstrend und anschließende Differenzbildung.While all other indicators evaluate the values of only one security or the market index if necessary, the market indicators use a large number or all of the values traded on a stock exchange. The mood is often determined by counting securities with a stoned property, e.g. by summing all securities in the uptrend or in the downtrend and then forming the difference.
In den Figuren 8 und 9 ist der Unterschied zwischen bisherigen Wertpapier- Analyseverfahren und dem erfindungsgemäßen Wertpapier-Analyseverfahren dargestellt. Bislang ist es - wie in Fig. 8 dargestellt - üblich, einen Chartverlauf einer einzelnen Aktie mittels eines Trading-Systems TS in der Vergangenheit tv zu betrachten und daraus in einer linearen Betrachtung Rückschlüsse auf die Zukunft tz des Chartverlaufs zu ziehen. Das im oberen Teil in der Mitte der Fig. 9 dargestellte Dreieck verdeutlicht, dass beim erfindungsgemäßen Wertpapier-Analyseverfahren aus einer Gesamtheit von ca. 6000 ausgewählten Aktien unter Berücksichtigung von etwa 150 Trading-Systemen TS und unter Berücksichtigung der aktuell herrschenden Marktbedingungen eine Menge von ca. 550.000 Trading-Varianten TV pro Tag berechnet werden. Hierfür ist als Grundlage der eingangs angestellten Überlegungen über die Leistungsfähigkeit heutiger Rechnersysteme eine erfindungsgemäße Datenverarbeitungsvorrichtung mit neun Rechnersystemen erforderlich. Durch Herausfiltern der in den Testzeiträumen ti bzw. t2 weniger erfolgreichen Trading-Varianten mittels eines Filters 520 reduziert sich diese Zahl auf etwa 120.000 Trading-Varianten pro Tag, die einem gespeicherten Pool 530 von etwa 35 Millionen Trading-Varianten hinzugefügt werden. Aus diesem können innerhalb einer Rechenzeit von weniger als 35 Sekunden die Trading-Varianten errechnet werden, die einem zeitlichen Chartverlauf einer bestimmten Aktie in der Vergangenheit relativ genau entspricht. Durch Versuche hat sich gezeigt, dass die Chart-Verläufe bestimmter Wertpapiere unter gleichen oder sehr ähnlichen Marktbedingungen mit hochgradiger Wahrscheinlichkeit sehr ähnliche Zyklen durchlaufen. Die Übereinstimmung ist grafisch im rechten unteren Teil der Fig. 9 durch das gestrichelt gezeichnete kleine Dreieck angedeutet, das über einen Chartverlauf eines bestimmten Wertpapier gelegt wird und dort einen hohen Grad von Übereinstimmung findet. Dadurch können die Trading-Varianten ermittelt werden, die unter den gegebenen Bedingungen für bestimmte Wertpapiere in etwa vorhersehbare Ergebnisse liefern werden.FIGS. 8 and 9 show the difference between previous security analysis methods and the security analysis method according to the invention. So far - as shown in FIG. 8 - it is customary to look at a chart history of an individual share by means of a trading system TS in the past tv and to draw conclusions from this in a linear view of the future t z of the chart history. The triangle shown in the upper part in the middle of Fig. 9 illustrates that in the securities analysis method according to the invention, from a total of approximately 6000 selected shares, taking into account approximately 150 trading systems TS and taking into account the prevailing market conditions, a quantity of approx 550,000 trading variants TV are calculated per day. For this, a data processing device according to the invention with nine computer systems is required as the basis for the considerations made at the outset about the performance of today's computer systems. By filtering out the less successful trading variants in the test periods ti or t 2 using a filter 520, this number is reduced to approximately 120,000 trading variants per day, which are added to a stored pool 530 of approximately 35 million trading variants. From this, the trading variants can be calculated within a computing time of less than 35 seconds, which corresponds relatively accurately to a chart's chronological history in the past. Experiments have shown that the chart movements of certain securities are highly likely to go through very similar cycles under the same or very similar market conditions. The match is graphically on the right lower part of Fig. 9 indicated by the dashed small triangle, which is placed over a chart of a particular security and finds a high degree of agreement there. This enables the trading variants to be determined that will provide roughly predictable results for certain securities under the given conditions.
Das in Fig. 9 dargestellte Wertpapier-Analyseverfahren bzw. die dargestellte Wertpapier-Analysevorrichtung ist kein starres System oder Verfahren, sondern durch die Veränderung von Parametern anpaßbar. So kann beispielsweise durch Betätigung eines ersten Schiebereglers 500 eine Einstellung an das Anleger- Verhalten in der Form ausgeführt werden, dass der Anleger zwischen einer am „Best Profit" orientierten Anlageform mit hohen Risiko über eine am "Best Ratio" orientierte Anlageform mit mittlerem Risiko bis hin zu einer auf „Best Reliability" basierten Anlageform mit dem geringsten Risiko stufenlos wählen kann. Die Begriffe "Best Ratio" und „Best Reliability" werden dabei in der Literatur manchmal auch nahezu synomym verwendet; im vorliegenden Beispiel soll damit ein Anlage-Verhalten mit mittleren Gewinn-Chancen und mittlerem Risiko verstanden werden.The security analysis method shown in FIG. 9 or the security analysis device shown is not a rigid system or method, but can be adapted by changing parameters. For example, by actuating a first slider 500, an adjustment can be made to the behavior of the investor in such a way that the investor can switch between an investment form with a high risk based on "best profit" and an investment type oriented towards the "best ratio" with medium risk towards an investment form based on "best reliability" with the lowest risk. The terms "best ratio" and "best reliability" are sometimes used almost synonymously in the literature; in the present example, this is intended to mean an investment behavior with medium profit opportunities and medium risk.
Eine weitere vorzugsweise stufenlose Einstellmöglichkeit besteht über einen zweiten Schieberegler 510, der den Steigungswinkel eines Vektors wiedergibt, der dieAnother preferably infinitely variable setting option is provided by a second slider 510 which reproduces the gradient angle of a vector which is the
Marktbedingungen kennzeichnet. Je nachdem, ob der Markt einen ansteigendenFeatures market conditions. Depending on whether the market is rising
Verlauf hat, der einer Long-Position L (entsprechend einem Steigungswinkel desHas course that a long position L (corresponding to a slope angle of the
Vektors von > 30 °) mit einem Ankauf von Wertpapieren für einen geplanten längerenVector of> 30 °) with a purchase of securities for a planned longer one
Zeitraum entspricht, oder ob der Markt einen sinkenden Verlauf hat, mit einem hohen Trend zum Verkauf und einer Short-Position S (entsprechend einem Steigungswinkel des Vektors von < - 30 °), oder ob der Markt zwischen beiden zu einerPeriod, or whether the market is declining, with a high trend to sell and a short position S (corresponding to a slope angle of the vector of <- 30 °), or whether the market between them is one
Seitwärtsbewegung M mit einem Steigungswinkel des Vektors zwischen + 30 ° undSideways movement M with a slope angle of the vector between + 30 ° and
- 30 ° tendiert, werden die zeitlichen Parameter für die Testzeiten ti und t2 verändert.- Tends 30 °, the time parameters for the test times ti and t 2 are changed.
Dadurch werden bei der Berechnung andere Trading-Varianten als vorteilhaft ermittelt, als dies unter anderen Marktbedingungen der Fall wäre. Die erfindungsgemäße Wertpapier-Analysevorrichtung bzw. das erfindungsgemäße Wertpapier-Analyseverfahren revolutionieren in Verbindung mit der erfindungsgemäßen Datenverarbeitungsvorrichtung bzw. des erfindungsgemäßen Datenverarbeitungsverfahrens die Möglichkeiten einer sowohl an das Anleger- Verhalten als auch an die Marktbedingungen anpaßbaren und auf einer riesigen Datenmenge für die Historie von Chartverläufen basierenden Auswahl von hochgradig aussichtsreichen Trading-Varianten. As a result, other trading variants that are advantageous than those that would be the case under different market conditions are determined in the calculation. The security analysis device according to the invention and the security analysis method according to the invention, in conjunction with the data processing device according to the invention and the data processing method according to the invention, revolutionize the possibilities of adapting both to investor behavior and to market conditions and based on a huge amount of data for the history of chart histories Selection of highly promising trading options.

Claims

Patentansprücheclaims
1. Datenverarbeitungsvorrichtung zum interaktiven Mehrbenutzerzugriff auf grosse Gesamtdatenmengen mit vorgegebener maximaler Antwortzeit, umfassend a) eine Mehrzahl von jeweils mit einem eigenen Arbeitsspeicher (44) ausgestatteten Rechnerknoten (40) und b) eine Lastaufteilungs- und Ergebnissyntheseeinrichtung (20) zum Aufteilen von mindestens einem durch eine interaktive Benutzeranfrage initiierten Datenverarbeitungsprozess auf die1. Data processing device for interactive multi-user access to large total amounts of data with a predetermined maximum response time, comprising a) a plurality of computer nodes (40) each equipped with its own working memory (44) and b) a load sharing and result synthesis device (20) for sharing at least one an interactive user request initiated data processing on the
Mehrzahl von Rechnerknoten (40) sowie zur Synthese einer Gesamtantwort auf die interaktive Benutzeranfrage aus einzelnen von den Rechnerknoten (40) gelieferten Teilantworten; c) wobei die Gesamtdatenmenge vorab in disjunkte Teilmengen zerlegt ist, von denen jede vollständig in dem Arbeitsspeicher (44) eines ihr eineindeutig zugeordneten Rechnerknotens (40) gespeichert ist; d) wobei der jedem Rechnerknoten (40) jeweils zugeordnete Anteil an dem durch die interaktive Benutzeranfrage initiiertenA plurality of computer nodes (40) and for synthesizing an overall response to the interactive user request from individual partial responses supplied by the computer nodes (40); c) the total amount of data being broken down beforehand into disjoint subsets, each of which is completely stored in the working memory (44) of a computer node (40) uniquely assigned to it; d) the portion of the portion initiated by the interactive user request assigned to each computer node (40)
Datenverarbeitungsprozess derart vorbestimmt ist, dass er binnen einer Zeitdauer vollständig abgeschlossen wird, die kleiner oder gleich einer vorgegebenen Maximaldauer ist; e) wobei jeder Rechnerknoten (40) auf der Grundlage der ihm zugeordneten und in seinem Arbeitsspeicher (44) gespeicherten Teilmenge der Gesamtdatenmenge unabhängig von allen anderen in den Arbeitsspeichern (44) der anderen Rechnerknoten (40) gespeicherten Teilmengen der Gesamtdatenmenge seine Teilantwort generiert.Data processing process is predetermined such that it is completed within a period of time that is less than or equal to a predetermined maximum duration; e) wherein each computer node (40) on the basis of the subset of the total amount of data assigned to it and stored in its working memory (44) independently of all other subsets of the working memory (44) of the other computer nodes (40) Total data volume generated its partial response.
2. Datenverarbeitungsvorrichtung nach Anspruch 1 , dadurch gekennzeichnet, dass folgende Relation gilt:2. Data processing device according to claim 1, characterized in that the following relation applies:
Z* D * B < F * P wobei bedeuten: Z Taktzyklenanzahl je in dem Arbeitsspeicher einesZ * D * B <F * P where: Z number of clock cycles each in the working memory
Rechnerknotens (40) gespeicherter Teilmenge der Gesamtdatenmenge;Computer node (40) stored subset of the total amount of data;
D Anzahl an Teilmengen der Gesamtdatenmenge, die für ein Mehrbenutzerzugriff verarbeitet werden soll; B Benutzeranzahl, die quasi-gleichzeitig denD number of subsets of the total amount of data to be processed for multi-user access; B Number of users who quasi-simultaneously
Mehrbenutzerzugriff abruft;Retrieves multi-user access;
F Anzahl der Prozessorzyklen pro Sekunde je Rechnerknoten (40) ; undF number of processor cycles per second per computer node (40); and
P Anzahl der parallel zum Einsatz kommenden Rechnerknoten (40).P Number of computer nodes (40) used in parallel.
3. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass folgende Relation gilt:3. Data processing device according to claim 1 or 2, characterized in that the following relation applies:
S * D * B < V * P wobei bedeuten: S Speicherbedarf je in dem Arbeitsspeicher (44) einesS * D * B <V * P where: S memory requirement in the main memory (44) each
Rechnerknotens (40) gespeicherter Teilmenge der Gesamtdatenmenge;Computer node (40) stored subset of the total amount of data;
D Anzahl an Teilmengen der Gesamtdatenmenge, die für einD Number of subsets of the total amount of data required for a
Mehrbenutzerzugriff verarbeitet werden soll; B Benutzeranzahl, die quasi-gleichzeitig den Mehrbenutzerzugriff abruft;Multi-user access to be processed; B Number of users who quasi-simultaneously Retrieves multi-user access;
V Geschwindigkeit des Arbeitsspeichers (44) beim Auslesen von Daten; sowieV speed of the main memory (44) when reading out data; such as
P Anzahl der parallel zum Einsatz kommenden Rechnerknoten (40).P Number of computer nodes (40) used in parallel.
4. Verfahren zum interaktiven Mehrbenutzerzugriff auf grosse4. Procedure for interactive multi-user access to large
Gesamtdatenmengen mit vorgegebener maximaler Antwortzeit zurTotal amount of data with a given maximum response time
Ausführung auf einer Mehrzahl von jeweils mit einem eigenenExecution on a plurality of each with its own
Arbeitsspeicher (44) ausgestatteten Rechnerknoten (40), mit folgenden Schritten: a) Zerlegen der Gesamtdatenmenge in disjunkte Teilmengen, von denen jede vollständig in dem Arbeitsspeicher (44) eines ihr eineindeutig zugeordneten Rechnerknotens (40) gespeichert wird; b) Aufteilen von mindestens einem durch eine interaktiveComputer memory (40) equipped with a working memory (44), comprising the following steps: a) breaking down the total amount of data into disjoint subsets, each of which is completely stored in the working memory (44) of a computer node (40) uniquely assigned to it; b) Splitting at least one by an interactive one
Benutzeranfrage initiierten Datenverarbeitungsprozess auf die Mehrzahl von Rechnerknoten (40); c) Bilden je einer Teilantwort auf die interaktive Benutzeranfrage auf jedem Rechnerknoten (40), ca) wobei der jedem Rechnerknoten (40) jeweils zugeordneteUser request initiated data processing process on the plurality of computer nodes (40); c) Forming a partial response to the interactive user request on each computer node (40), ca), the one assigned to each computer node (40)
Anteil an dem durch die interaktive Benutzeranfrage initiierten Datenverarbeitungsprozess derart vorbestimmt ist, dass er binnen einer Zeitdauer vollständig abgeschlossen wird, die kleiner oder gleich einer vorgegebenen Maximaldauer ist; und cb) wobei jeder Rechnerknoten (40) auf der Grundlage der ihm zugeordneten und in seinem Arbeitsspeicher (44) gespeicherten Teilmenge der Gesamtdatenmenge unabhängig von allen anderen in den Arbeitsspeichern (44) der anderen Rechnerknoten (40) gespeicherten Teilmengen der Gesamtdatenmenge seine Teilantwort generiert; und d) Synthese einer Gesamtantwort auf die interaktive Benutzeranfrage aus einzelnen von den Rechnerknoten (40) gelieferten Teilantworten.Portion of the data processing process initiated by the interactive user request is predetermined such that it is completely completed within a period of time that is less than or equal to a predetermined maximum duration; and cb) wherein each computer node (40) on the basis of the subset of the total amount of data assigned to it and stored in its working memory (44) generates its partial response independently of all other subsets of the total amount of data stored in the working memories (44) of the other computer nodes (40); and d) synthesis of an overall response to the interactive user request from individual partial answers provided by the computer nodes (40).
Wertpapieranalysevorrichtung zur Chartanalyse handelbarer Wertpapiere, umfassend eine Datenverarbeitungsvorrichtung zum interaktiven Mehrbenutzerzugriff auf grosse Gesamtdatenmengen historischerSecurities analysis device for chart analysis of tradable securities, comprising a data processing device for interactive multi-user access to large amounts of total historical data
Wertpapierkurse mit vorgegebener maximaler Antwortzeit, dieSecurity prices with a given maximum response time, the
Datenverarbeitungsvorrichtung umfassend a) eine Mehrzahl von jeweils mit einem eigenen Arbeitsspeicher (44) ausgestatteten Rechnerknoten (40) und b) eine Lastaufteilungs- und Ergebnissyntheseeinrichtung (20) zum Aufteilen von mindestens einem durch eine interaktive Benutzeranfrage initiierten Datenverarbeitungsprozess auf die Mehrzahl von Rechnerknoten (40) sowie zur Synthese einer Gesamtantwort auf die interaktive Benutzeranfrage aus einzelnen von den Rechnerknoten (40) geliefertenData processing device comprising a) a plurality of computer nodes (40) each equipped with its own working memory (44) and b) a load sharing and result synthesis device (20) for distributing at least one data processing process initiated by an interactive user request to the plurality of computer nodes (40) and for synthesizing an overall response to the interactive user request from individual ones supplied by the computer nodes (40)
Teilantworten; c) wobei die Gesamtdatenmenge an historischen Wertpapierkursdaten vorab in disjunkte Teilmengen zerlegt ist, von denen jede vollständig in dem Arbeitsspeicher (44) eines ihr eineindeutig zugeordneten Rechnerknotens (40) gespeichert ist; d) wobei der jedem Rechnerknoten (40) jeweils zugeordnete Anteil an dem durch die interaktive Benutzeranfrage initiierten Datenverarbeitungsprozess derart vorbestimmt ist, dass er binnen einer Zeitdauer vollständig abgeschlossen wird, die kleiner oder gleich einer vorgegebenen Maximaldauer ist; e) wobei jeder Rechnerknoten (40) auf der Grundlage der ihm zugeordneten und in seinem Arbeitsspeicher (44) gespeicherten Teilmenge der Gesamtdatenmenge an Wertpapier-Kursdaten unabhängig von allen anderen in den Arbeitsspeichern (44) der anderen Rechnerknoten (40) gespeicherten Teilmengen der Gesamtdatenmenge seine Teilantwort generiert.Partial responses; c) wherein the total amount of historical stock price data is broken down beforehand into disjoint subsets, each of which is completely stored in the working memory (44) of a computer node (40) uniquely assigned to it; d) wherein the portion of the part initiated by the interactive user request that is assigned to each computer node (40) Data processing process is predetermined such that it is completed within a period of time that is less than or equal to a predetermined maximum duration; e) wherein each computer node (40) on the basis of the assigned to it and stored in its working memory (44) of the total amount of data of stock price data independent of all other subsets of the total amount of data stored in the working memories (44) of the other computing nodes (40) Partial response generated.
6. Wertpapier-Analysevorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass die Wertpapier-Kursdaten derart aufgeteilt sind, dass die entsprechenden Daten eines jeden Wertpapiers jeweils in dem6. Security analysis device according to claim 5, characterized in that the security price data is divided such that the corresponding data of each security in each case
Arbeitsspeicher (44) eines einzigen Rechnerknotens (40) gespeichert sind.Main memory (44) of a single computer node (40) are stored.
7. Wertpapier-Analysevorrichtung nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass je Wertpapier und Handelstag Kursdaten in der Gesamtdatenmenge enthalten sind, die jeweils als Differenz von Kurswerten zu verschiedenen Zeitpunkten desselben Handelstages dargestellt sind.7. The securities analysis device as claimed in claim 5 or 6, characterized in that price data is contained in the total amount of data for each security and trading day, each of which is shown as the difference between market values at different times on the same trading day.
8. Wertpapier-Analysevorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass je Wertpapier und Handelstag folgende Kursdaten in der Gesamtdatenmenge enthalten sind: a) Differenzwert aus Anfangskurs und Niedrigstkurs, b) Differenzwert aus Schiusskurs und Niedrigstkurs, und c) Differenzwert aus Höchstkurs und Schlusskurs. 8. The securities analysis device as claimed in claim 7, characterized in that the following price data are contained in the total amount of data for each security and trading day: a) difference value from the starting price and the lowest price, b) difference value from the closing price and the lowest price, and c) difference value from the maximum price and the closing price.
. Wertpapier-Analysevorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass die Wertpapierdaten je Wertpapier und Handelstag jeweils in einem Speicherabschnitt mit folgender Dimensionierung abgespeichert sind: a) 1 Byte: Exponenten, nämlich, Security analysis device according to claim 8, characterized in that the security data per security and trading day are each stored in a storage section with the following dimensions: a) 1 byte: exponent, namely
Bit 7-5: Gemeinsamer Exponent zur Basis 2 zur DarstellungBit 7-5: Common exponent to base 2 for display
aa) des Differenzwertes aus Anfangskurs und Niedrigstkurs,aa) the difference between the starting price and the lowest price,
ab) des Differenzwertes aus Schlusskurs und Niedrigstkurs, undab) the difference between the closing price and the lowest price, and
ac) des Differenzwertes aus Höchstkurs und Schlusskurs;ac) the difference between the maximum price and the closing price;
Bit 4-2: Exponent zur Basis 10 für den Schlusskurswert,Bit 4-2: exponent to base 10 for the closing price value,
Bit 1-0: Exponent zur Basis 10 für den Wert des Handelsvolumen am Han- delstag;Bit 1-0: exponent to base 10 for the value of the trading volume on the trading day;
b) 1 Byte: Mantisse des Differenzwertes aus Eröffnungskurs und Niedrigstkurs, c) 1 Byte: Mantisse des Differenzwertes aus Schlusskurs und Niedrigstkurs, d) 1 Byte: Mantisse des Differenzwertes aus Höchstkurs undb) 1 byte: mantissa of the difference value from the opening price and the lowest price, c) 1 byte: mantissa of the difference value from the closing price and the lowest price, d) 1 byte: mantissa of the difference value from the maximum price and
Schlusskurs* e) 2 Byte: Mantisse des Schlusskurswertes, und f) 2 Byte: Mantisse des Wertes des Handelsvolumen am Handelstag.Closing price * e) 2 bytes: mantissa of the closing price, and f) 2 bytes: mantissa of the value of the trading volume on the trading day.
10. Wertpapier-Analyseverfahren zum interaktiven Mehrbenutzerzugriff auf grosse Gesamtdatenmengen historischer Wertpapierkurse mit vorgegebener maximaler Antwortzeit zur Ausführung auf einer Mehrzahl von jeweils mit einem eigenen Arbeitsspeicher (44) ausgestatteten Rechnerknoten (40), mit folgenden Schritten: a) Zerlegen der Gesamtdatenmenge an historischen10. Security analysis method for interactive multi-user access Large total data volumes of historical securities prices with a predetermined maximum response time for execution on a plurality of computer nodes (40) each equipped with its own working memory (44), with the following steps: a) Decomposing the total data volume of historical ones
Wertpapierkursen in disjunkte Teilmengen, von denen jede vollständig in dem Arbeitsspeicher (44) eines ihr eineindeutig zugeordneten Rechnerknotens (20) gespeichert wird; b) Aufteilen von mindestens einem durch eine interaktive Benutzeranfrage initiierten Datenverarbeitungsprozess auf dieSecurities prices into disjoint subsets, each of which is stored entirely in the working memory (44) of a computer node (20) uniquely assigned to it; b) splitting up at least one data processing process initiated by an interactive user request
Mehrzahl von Rechnerknoten (40); c) Bilden je einer Teilantwort auf die interaktive Benutzeranfrage auf jedem Rechnerknoten (40), ca) wobei der jedem Rechnerknoten (40) jeweils zugeordnete Anteil an dem durch die interaktivePlurality of computer nodes (40); c) Forming a partial response to the interactive user request on each computer node (40), ca), the share of the interactive user request assigned to each computer node (40)
Benutzeranfrage initiierten Datenverarbeitungsprozess derart vorbestimmt ist, dass er binnen einer Zeitdauer vollständig abgeschlossen wird, die kleiner oder gleich einer vorgegebenen Maximaldauer ist; undData processing process initiated by the user request is predetermined such that it is completely completed within a period of time that is less than or equal to a predetermined maximum duration; and
cb) wobei jeder Rechnerknoten (40) auf der Grundlage der ihm zugeordneten und in seinem Arbeitsspeicher (44) gespeicherten Teilmenge der Gesamtdatenmenge unabhängig von allen anderen in den Arbeitsspeichern (44) der anderen Rechnerknoten (40) gespeicherten Teilmengen der Gesamtdatenmenge an historischencb) wherein each computer node (40) on the basis of the subset of the total amount of data assigned to it and stored in its working memory (44) is independent of all other subsets of the total amount of historical data stored in the working memories (44) of the other computing nodes (40)
Wertpapierkursen seine Teilantwort generiert; undSecurity prices generated its partial response; and
d) Synthese einer Gesamtantwort auf die interaktive Benutzeranfrage aus einzelnen von den Rechnerknoten (40) gelieferten Teilantworten. d) synthesis of an overall response to the interactive user request from individual partial responses supplied by the computer nodes (40).
11. Wertpapier-Analyseverfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Wertpapier-Kursdaten derart aufgeteilt werden, dass die entsprechenden Daten eines jeden Wertpapiers jeweils in dem11. The security analysis method according to claim 10, characterized in that the security price data is divided in such a way that the corresponding data of each security in each case
Arbeitsspeicher (44) eines einzigen Rechnerknotens (40) gespeichert werden.Main memory (44) of a single computer node (40) can be stored.
12. Wertpapier-Analyseverfahren nach Anspruch 10 oder 11 , dadurch gekennzeichnet, dass je -Wertpapier und Handelstag Kursdaten in der12. The security analysis method according to claim 10 or 11, characterized in that each security and trading day price data in the
Gesamtdatenmenge enthalten sind, die jeweils als Differenz vonTotal amount of data are included, each as the difference of
Kurswerten zu verschiedenen Zeitpunkten desselben Handelstages dargestellt werden.Market values are shown at different times on the same trading day.
13. Wertpapieranalyseverfahren nach Anspruch 12, dadurch gekennzeichnet, dass je Wertpapier und Handelstag folgende Kursdaten in der Gesamtdatenmenge verarbeitet werden:13. The securities analysis method according to claim 12, characterized in that the following price data in the total amount of data are processed per security and trading day:
a) Differenzwert aus Anfangskurs und Niedrigstkurs,a) difference between the starting price and the lowest price,
b) Differenzwert aus Schlusskurs und Niedrigstkurs, undb) difference between the closing price and the lowest price, and
c) Differenzwert aus Höchstkurs und Schlusskurs.c) Difference between the maximum price and the closing price.
14. Wertpapier-Analysevorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass die Wertpapierdaten je Wertpapier und Handelstag jeweils in einem Speicherabschnitt mit folgender Dimensionierung abgespeichert werden: a) 1 Byte: Exponenten, nämlich14. Security analysis device according to claim 13, characterized in that the security data per security and trading day are each stored in a storage section with the following dimensions: a) 1 byte: exponent, namely
Bit 7-5: Gemeinsamer Exponent zur Basis 2 zur DarstellungBit 7-5: Common exponent to base 2 for display
aa) des Differenzwertes aus Anfangskurs und Niedrigstkurs,aa) the difference from the starting price and Lowest price,
ab) des Differenzwertes aus Schlusskurs und Niedrigstkurs, undab) the difference between the closing price and the lowest price, and
ac) des Differenzwertes aus Höchstkurs und Schlusskurs;ac) the difference between the maximum price and the closing price;
Bit 4-2: Exponent zur Basis 10 für den Schlusskurswert,Bit 4-2: exponent to base 10 for the closing price value,
Bit 1 ,0: Exponent zur Basis 10 für den Wert des Handelsvolumen am Handelstag;Bit 1, 0: base 10 exponent for the value of the trading volume on the trading day;
b) 1 Byte: Mantisse des Differenzwertes aus Eröffnungskurs und Niedrigstkurs,b) 1 byte: mantissa of the difference between the opening price and the lowest price,
c) 1 Byte: Mantisse des Differenzwertes aus Schlusskurs und Niedrigstkurs,c) 1 byte: mantissa of the difference between the closing price and the lowest price,
d) 1 Byte: Mantisse des Differenzwertes aus Höchstkurs und Schlusskurs,d) 1 byte: mantissa of the difference between the maximum price and the closing price,
e) 2 Byte: Mantisse des Schlusskurswertes, unde) 2 bytes: mantissa of the closing price, and
f) 2 Byte: Mantisse des Wertes des Handelsvolumen am Handelstag.f) 2 bytes: mantissa of the value of the trading volume on the trading day.
15. Wertpapier-Analysevorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass mittels wenigstens einer mathematischen Formel (Trading-System) Kauf- und Verkaufssignale von Wertpapieren auf der Basis von gespeicherten Wertpapierkursen generiert werden, wobei die Formel wenigstens einen der folgenden Eingangswerte verarbeitet: Anfangskurs, höchster Kurs, niedrigster15. Security analysis device according to claim 5, characterized in that by means of at least one mathematical formula (trading system) buy and sell signals of securities are generated on the basis of stored security prices, the formula processing at least one of the following input values: highest price, lowest
Kurs, Schlußkurs und Handelsvolumen, jeweils bezogen auf ein oder mehrere Wertpapiere und auf ein definiertes Zeitintervall. Price, closing price and trading volume, each related to one or more securities and to a defined time interval.
16. Wertpapier-Analysevorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass eine Vielzahl von unterschiedlichen mathematischen Formeln für das Generieren von Kauf- und Verkaufssignalen eingesetzt werden, wobei jeweils mindestens eine der Formeln zu einer der folgenden acht Gruppen gehört: gleitender Durchschnitt, Akkumulation/Distribution, Oszillatoren, Trendermittlung, Volatilität, Ratios, Zyklusindikatoren, Marktindikatoren.16. The securities analysis device as claimed in claim 15, characterized in that a multiplicity of different mathematical formulas are used for generating buy and sell signals, at least one of the formulas in each case belonging to one of the following eight groups: moving average, accumulation / distribution , Oscillators, trend determination, volatility, ratios, cycle indicators, market indicators.
17. Wertpapier-Analysevorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Kauf- und Verkaufssignale von mathematischen Formeln mittels eines ersten Schiebereglers (500) miteinander verknüpft ausgewertet werden, der zwischen den Stellungen „Best Profit" auf der einen Seite, „Best ratio" etwa in der Mitte und „Best reliability" auf der anderen Seite stufenlos einstellbar ist, um den Ertrag und/oder das Risiko einer Investition in das Wertpapier je nach Anleger-Verhalten zu optimieren.17. Securities analysis device according to claim 16, characterized in that the buy and sell signals of mathematical formulas are evaluated with one another by means of a first slide controller (500) which, on the one hand, "Best ratio" between the positions "Best Profit" about in the middle and "Best reliability" on the other hand, is infinitely adjustable in order to optimize the yield and / or the risk of an investment in the security depending on investor behavior.
18. Wertpapier-Analysevorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Kauf- und Verkaufssignale einzelner Wertpapiere so miteinander verknüpft werden, dass eine einem Anleger zur Verfügung stehende Gesamtkapitalmenge zum Kauf von mehreren Wertpapieren aufgeteilt wird.18. The securities analysis device according to claim 16, characterized in that the buy and sell signals of individual securities are linked to one another in such a way that a total amount of capital available to an investor is divided up for the purchase of several securities.
19. Wertpapier-Analyseverfahren nach Anspruch 10, dadurch gekennzeichnet, dass mittels wenigstens einer mathematischen Formel (Trading-System) Kauf- und Verkaufssignale von Wertpapieren auf der Basis von gespeicherten19. Security analysis method according to claim 10, characterized in that by means of at least one mathematical formula (trading system) buy and sell signals of securities on the basis of stored
Wertpapierkursen generiert werden, wobei die Formel wenigstens einen der folgenden Eingangswerte verarbeitet: Anfangskurs, höchster Kurs, niedrigster Kurs, Schlußkurs und Handelsvolumen, jeweils bezogen auf ein oder mehrere Wertpapiere und auf ein definiertes Zeitintervall. Security prices are generated, the formula processing at least one of the following input values: starting price, highest price, lowest price, closing price and trading volume, each based on one or more securities and on a defined time interval.
20. Wertpapier-Analyseverfahren nach Anspruch 19, dadurch gekennzeichnet, dass eine Vielzahl von unterschiedlichen mathematischen Formeln für das Generieren von Kauf- und Verkaufssignalen eingesetzt werden, wobei jeweils mindestens eine der Formeln zu einer der folgenden acht Gruppen gehört: gleitender Durchschnitt, Akkumulation/Distribution, Oszillatoren, Trendermittlung, Volatilität, Ratio, Zyklusindikatoren, Marktindikatoren.20. The securities analysis method as claimed in claim 19, characterized in that a multiplicity of different mathematical formulas are used for generating buy and sell signals, at least one of the formulas in each case belonging to one of the following eight groups: moving average, accumulation / distribution , Oscillators, trend determination, volatility, ratio, cycle indicators, market indicators.
21. Wertpapier-Analyseverfahren nach Anspruch 19 oder 20, dadurch gekennzeichnet, dass die Kauf- und Verkaufssignale von mathematischen Formeln mittels eines Schiebereglers miteinander verknüpft werden, der zwischen den Stellungen „Best Profit" auf der einen Seite, „Best ratio" etwa in der Mitte und „Best reliability" auf der anderen Seite stufen los einstellbar ist, um den Ertrag und/oder das Risiko einer Investition in das Wertpapier je nach Anleger-Verhalten zu optimieren.21. Securities analysis method according to claim 19 or 20, characterized in that the buy and sell signals of mathematical formulas are linked to one another by means of a slider which, between the positions "Best Profit" on the one hand, "Best ratio" approximately in the Middle and "Best reliability" on the other hand can be adjusted in stages to optimize the return and / or the risk of an investment in the security depending on investor behavior.
22. Wertpapier-Analyseverfahren nach einem der Ansprüche 19 bis 21 , dadurch gekennzeichnet, dass die Kauf- und Verkaufssignale einzelner Wertpapiere so miteinander verknüpft werden, dass eine einem Anleger zur Verfügung stehende Gesamtkapitalmenge zum Kauf von mehreren Wertpapieren aufgeteilt wird.22. Securities analysis method according to one of claims 19 to 21, characterized in that the buy and sell signals of individual securities are linked to one another in such a way that a total amount of capital available to an investor is divided up for the purchase of several securities.
23. Wertpapier-Analyseverfahren nach einem der Ansprüche 19 bis 22, dadurch gekennzeichnet., dass die mathematischen Formeln durch eine Stellung eines zweiten Schiebereglers (510) beeinflussbar sind, der auf der einen Seite die Position „Long", repräsentierend einen ansteigenden Markt, in der Mitte die Position „Medium", repräsentierend einen Seitwärtsmarkt und auf der anderen Seite die Position „Short", repräsentierend einen abfallenden Markt aufweist, wobei die Stellung des zweiten Schiebereglers (510) dem Steigungsvektor des Marktverhaltens entspricht. 23. The securities analysis method as claimed in one of claims 19 to 22, characterized in that the mathematical formulas can be influenced by a position of a second slider (510) which on the one hand has the position "long", representing an increasing market, in has in the middle the position "Medium", representing a sideways market and on the other side the position "Short", representing a falling market, the position of the second slider (510) corresponding to the slope vector of the market behavior.
24. Wertpapier-Analyseverfahren nach einem der Ansprüche 19 bis 23, dadurch gekennzeichnet, dass ein oder mehrere Testzeiträume (ti bzw. t2) für das Beurteilen und die endgültige Auswahl von Trading-Systemen zur Anwendung kommen.24. Securities analysis method according to one of claims 19 to 23, characterized in that one or more test periods (ti or t 2 ) are used for the assessment and the final selection of trading systems.
25. Wertpapier-Analyseverfahren nach Anspruch 24, dadurch gekennzeichnet, dass ein erster Testzeitraum (ti) für das Feststellen von Korrelationen zwischen dem Verhalten von Trading-Systemen verwendet wird und dass ein zweiter Testzeitraum (t2) für das Ermitteln von aktuell erfolgreichen Trading- Systemen zum Einsatz kommt.25. The securities analysis method according to claim 24, characterized in that a first test period (ti) is used for establishing correlations between the behavior of trading systems and in that a second test period (t 2 ) for determining currently successful trading Systems is used.
26. Wertpapier-Analyseverfahren nach Anspruch 25, dadurch gekennzeichnet, dass Korrelationen zwischen dem Verhalten einzelner Trading-Systeme und einem durchschnittlichen Trading-System berechnet werden, welches aus den aktuell erfolgreichen Trading-Systemen gebildet wird.26. The securities analysis method according to claim 25, characterized in that correlations between the behavior of individual trading systems and an average trading system are calculated, which is formed from the currently successful trading systems.
27. Wertpapieranalyseverfahren nach einem der Ansprüche 24 bis 26, dadurch gekennzeichnet, dass Wertpapiere mit einem positivem Ertrag oder mit einem Nullertrag in einem kürzeren Testzeitraum (t2) dadurch für eine Anwendung bei der Depotverwaltung ausgewählt werden, dass ihre Korrelation mit einem durchschnittlichen Trading-System der aktuell erfolgreichen Trading-Systeme ausgewertet wird. 27. Securities analysis method according to one of claims 24 to 26, characterized in that securities with a positive return or with a zero return in a shorter test period (t 2 ) are selected for an application in custody account management in that their correlation with an average trading System of the currently successful trading systems is evaluated.
PCT/EP2003/008201 2002-07-26 2003-07-25 Data processing device and method for interactive multiple user access to large data volumes WO2004013753A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003281782A AU2003281782A1 (en) 2002-07-26 2003-07-25 Data processing device and method for interactive multiple user access to large data volumes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10234174.5 2002-07-26
DE2002134174 DE10234174A1 (en) 2002-07-26 2002-07-26 Data processing device and method for interactive multi-user access to large amounts of data

Publications (2)

Publication Number Publication Date
WO2004013753A2 true WO2004013753A2 (en) 2004-02-12
WO2004013753A3 WO2004013753A3 (en) 2004-08-26

Family

ID=30469127

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/008201 WO2004013753A2 (en) 2002-07-26 2003-07-25 Data processing device and method for interactive multiple user access to large data volumes

Country Status (3)

Country Link
AU (1) AU2003281782A1 (en)
DE (1) DE10234174A1 (en)
WO (1) WO2004013753A2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0735473A2 (en) * 1995-03-31 1996-10-02 Sun Microsystems, Inc. Method and apparatus for managing a database in a distributed object operating environment
US5655080A (en) * 1995-08-14 1997-08-05 International Business Machines Corporation Distributed hash group-by cooperative processing
US5675791A (en) * 1994-10-31 1997-10-07 International Business Machines Corporation Method and system for database load balancing
WO1999066429A1 (en) * 1998-06-19 1999-12-23 Oz Interactive, Inc. Network for a virtual environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675791A (en) * 1994-10-31 1997-10-07 International Business Machines Corporation Method and system for database load balancing
EP0735473A2 (en) * 1995-03-31 1996-10-02 Sun Microsystems, Inc. Method and apparatus for managing a database in a distributed object operating environment
US5655080A (en) * 1995-08-14 1997-08-05 International Business Machines Corporation Distributed hash group-by cooperative processing
WO1999066429A1 (en) * 1998-06-19 1999-12-23 Oz Interactive, Inc. Network for a virtual environment

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CETTEI M M ET AL: "Support for parallel out of core applications on Beowulf workstations" AEROSPACE CONFERENCE, 1998 IEEE SNOWMASS AT ASPEN, CO, USA 21-28 MARCH 1998, NEW YORK, NY, USA,IEEE, US, 21. M{rz 1998 (1998-03-21), Seiten 355-365, XP010286908 ISBN: 0-7803-4311-5 *
GRAHAM J ET AL: "Parallel data mining for pharmacophore discovery" SYSTEMS, MAN, AND CYBERNETICS, 2000 IEEE INTERNATIONAL CONFERENCE ON NASHVILLE, TN, USA 8-11 OCT. 2000, PISCATAWAY, NJ, USA,IEEE, US, 8. Oktober 2000 (2000-10-08), Seiten 1894-1899, XP010524941 ISBN: 0-7803-6583-6 *
MICHAIL D FLOURIS ET AL: "The Network RamDisk: Using remote memory on Heterogeneous NOWs" CLUSTER COMPUTING, BALTZER SCIENCE PUBLISHERS, BUSSUM,, NL, Bd. 2, Nr. 4, 1999, Seiten 281-293, XP002163299 ISSN: 1386-7857 *
MOON Y S ET AL: "An intelligent decision support system for stock investment" IEEE TENCON '89, 22. November 1989 (1989-11-22), Seiten 956-959, XP010087803 *

Also Published As

Publication number Publication date
AU2003281782A1 (en) 2004-02-23
WO2004013753A3 (en) 2004-08-26
DE10234174A1 (en) 2004-02-19

Similar Documents

Publication Publication Date Title
DE10195968B4 (en) System and method for providing a cross-dimensional computation and a cross-dimensional data access in an on-line analytical processing environment (ON-LINE ANALYTICAL PROCESSING = OLAP)
DE60121231T2 (en) DATA PROCESSING
DE69910219T2 (en) TRANSFORMING THE PERSPECTIVE ON TABLES FROM RELATIONAL DATABASES
DE4216871C2 (en) Execution rules to ensure the serializability of distributed transactions
DE69923435T2 (en) SYSTEM AND METHOD FOR OPTIMIZING THE PERFORMANCE CONTROL OF COMPLEX INFORMATION TECHNOLOGY SYSTEMS
CN110086666A (en) A kind of alarm method, apparatus and system
DE60004507T2 (en) FAST GROUPING THROUGH SPARKLY FILLED DATA RECORDS
DE112019004260T5 (en) ANALYSIS AND CORRECTION OF THE SUPPLY CHAIN DESIGN THROUGH MACHINE LEARNING
DE202016008045U1 (en) Distributed storage system with replica site selection
DE10035043A1 (en) Building multi-dimensional indexing structure for use with linear optimising requests involves forming two convex envelopes of input data sets, some representing envelope apex points
DE19955718A1 (en) Definition for central system databank enabling parallel databank support for workflow management system, contained within configuration specification for work flow management system
CH696749A5 (en) Data processing system for performing risk analysis of portfolio, simulates realization of risk factors by using calibrated correlation matrix, calibration values of parameters, risk mapping function and portfolio data
DE60013138T2 (en) A PROCESS AND DEVICE FOR PROCESSING QUESTIONS FROM A DATABASE
DE102021109138A1 (en) EXECUTION OF QUERY PLANS
DE10239293A1 (en) Electronic market place system for dynamic price setting in an unequal market, i.e. there are many more sellers than buyers or vice versa, whereby offers are grouped and assigned to a priority, which is then used to match offers
WO2004013753A2 (en) Data processing device and method for interactive multiple user access to large data volumes
DE202008018636U1 (en) System for registering an event
DE112021001559T5 (en) RULE DISTRIBUTION ON INSTITUTIONS OF A RULE ENGINE
DE112020002860T5 (en) TECHNIQUES FOR DETERMINING SEGMENTS OF INFORMATION AREAS THROUGH ACTIVE ADJUSTMENT TO ENVIRONMENTAL CONTEXTS
DE69637329T2 (en) STORAGE MANAGEMENT SYSTEM AND METHOD
CH712796B1 (en) Device for data processing for a method for determining the weights of constituents of a target portfolio.
EP3764618A1 (en) Method for efficient optimisation of storage occupancy
EP0651897B1 (en) Method for the dynamic management of a free store in a computer, the free store being designed for subdivision into at least two logic zones with different access characteristics
WO2012152804A1 (en) Method for operating at least one data-bank on a hardware pool
DE112022000344T5 (en) APPLYING CHANGES IN A TARGET DATABASE SYSTEM

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP