WO2015184557A1 - Börsenhandelsplattform - Google Patents

Börsenhandelsplattform Download PDF

Info

Publication number
WO2015184557A1
WO2015184557A1 PCT/CH2015/000083 CH2015000083W WO2015184557A1 WO 2015184557 A1 WO2015184557 A1 WO 2015184557A1 CH 2015000083 W CH2015000083 W CH 2015000083W WO 2015184557 A1 WO2015184557 A1 WO 2015184557A1
Authority
WO
WIPO (PCT)
Prior art keywords
data processing
processing device
trading platform
trading
platform
Prior art date
Application number
PCT/CH2015/000083
Other languages
English (en)
French (fr)
Inventor
Anton Gunzinger
Edgar Blum
Hans Burkhard
Rico PIANTONI
David MÜLLER
Markus Berner
Samuel Zahnd
Original Assignee
Swisstradingbox Ag
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 Swisstradingbox Ag filed Critical Swisstradingbox Ag
Priority to US15/315,408 priority Critical patent/US20170109825A1/en
Priority to SG11201610187RA priority patent/SG11201610187RA/en
Priority to EP15727866.4A priority patent/EP3152731A1/de
Publication of WO2015184557A1 publication Critical patent/WO2015184557A1/de
Priority to US16/729,376 priority patent/US20200349645A1/en
Priority to US17/812,110 priority patent/US20220343424A1/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

Definitions

  • the present invention relates to an exchange trading platform, an exchange trading system and a network interface for an exchange trading system.
  • matcher a commercial order processing and execution unit
  • order processing system back office
  • a trader If a trader is interested in a stock exchange transaction, he places an order on the trading platform. This contains the title concerned, information on whether the title should be sold or bought (buy / sell), the desired number (Quantity) and the price.
  • the trading platform keeps the order book (order book).
  • order book When an order arrives it is checked if there is an appropriate stored order. If not, the order will be placed in the order book stored and acknowledged to the client. If so, the trade is executed, entered in the sales book and both parties are informed.
  • the information about the settled trade then goes anonymously (ie without information about who the two traders involved were) to all traders ('broadcast'). Of course, it is also possible that an order can only be partially implemented, then remains after the execution of the trade remaining remainder order in. Order book.
  • any other order variants are also supported (inter alia: 'Market Order', 'Accept Order', 'Fill or ill Order', Jceberg Order ').
  • a fast electronic commerce network should support these communication patterns.
  • Processing speed in the trading system and processing speed in the dealer system is crucial. While electronic trading systems initially traded in seconds (and thus one order of magnitude faster than human trading systems), today they are trading in the millisecond range and aiming for times of a few microseconds.
  • One of the objects of this invention is to eliminate disadvantages of a supercomputer network without losing the advantage of high speed.
  • the trading platform has only a limited cache for incoming orders. A trader can overload the trading system and orders can be lost.
  • Another challenge is the intelligent inclusion of information on the dealer side.
  • the merchant data processing scheme will no longer be able to handle and sort out the flood of information entering it.
  • most of these systems are not designed as high-availability systems. This property can be realized later only with great effort.
  • an electronic platform for stock market trading is provided for a plurality of merchant data processing devices in communication with the trading platform, the trading platform having a
  • the controlling unit is adapted to process orders generated by the merchant data processing equipment, thereby matching the received orders with stored orders stored in the storage means and forming an order book and, depending on a result of the reconciliation, to store an order received in the storage means or at least partially execute it on a matching order already stored in the storage medium and to delete the appropriate order at least partially in the storage means or marked as executed, such received messages to the sending merchant data processing device to acknowledge and also in a broadcast mode broadcast messages with information about executed orders and / or stored in the memory means Sending orders to a plurality of connected merchant data processing devices, as well as transaction data for the executed orders Submit order processing system.
  • the trading platform is characterized in particular by the fact that the controlling unit of the trading platform data processing device is designed as a dedicated logic circuit.
  • the controlling unit of the matcher which selectively controls execution or storage of orders, is the central core of the trading platform. This unit reconciles incoming orders with the order book, carries out trades (including confirmation, entry in the trading book and / or communication with the back office, possibly message to many or all participants) and / or enters orders into the order book, removes Orders processed or modified entries for partially executed orders.
  • the "back office” is the order processing system in which the order execution is completed and, for example, the corresponding financial transaction is processed.
  • the transaction data submitted to the back office after execution of the order includes the quantity and price of the securities traded and allows the transaction to be reconstructed financially and physically (delivery of the securities).
  • a dedicated logic circuit is a hardware device or a group of hardware devices in which the logic functions by which signals or data are processed are implemented in a predetermined manner by predetermined and predetermined circuits in the hardware itself.
  • the logic circuit thus forms a functional structure with interconnected blocks. This is in contrast to main processors of conventional computers (including server computers) which are formed as 'generic', universally applicable microprocessors, which in a memory (presented as software) sequence of commands then only this software and not the circuit itself is earmarked.
  • Such a dedicated logic circuit can be designed, for example, as a Field Programmable Gate Array (FPGA).
  • FPGA Field Programmable Gate Array
  • An FPGA is dedicated by the configuration, i. custom designed.
  • Such an FPGA may include memory cells (e.g., EEPROM, EPROM, SRAM, Flash) in which the configuration is stored. Each time it is powered up, the configuration is transferred to the actual circuitry.
  • the FPGA can also be permanently programmed by the connections between the switching units are permanently established, for example. With the so-called 'antifuse' technology.
  • an FPGA In an FPGA or other configurable logic circuit, circuit structures are created using hardware description languages or schematics and subsequently these structures for configuration transfer the block. As a result, certain switch positions are activated and / or deactivated in the configurable logic circuit. This results in a concretely implemented digital circuit, which in general operates in a highly parallel manner, because every influence of the switch position works in parallel. In contrast, even the fastest microprocessors perform at most few and usually no operations in parallel.
  • CPLDs Complex Prograinmable Logic Devices
  • ASICs application-specific integrated circuits
  • Dedicated logic circuits are common in the art as standard building blocks for performing given, always identical tasks, for example in control, for the conversion (encoding / decoding) of data, digital filtering etc.
  • the advantages that can be achieved by the procedure according to the first aspect are striking.
  • the data processing speed is much due to the parallelism of data processing resulting in dedicated logic circuits higher than with the use of microprocessors of the common type, even in comparison with highly refined and powerful Mehrkernreaoreri.
  • the latencies are significantly reduced in comparison to the prior art.
  • the matcher can be much smaller than the data centers used for this purpose in the prior art, and power consumption is only a fraction of the power consumption of these.
  • the procedure according to the first aspect of the invention also allows the bypassing of PCIe transitions, as well as a network stack processing in the operating system is bypassed:
  • the latency-critical processing can be performed completely independently by the dedicated logic in the matcher.
  • the data does not have to be communicated via PCIe to the central processor (CPU) and possibly processed by the operating system through network stack processing. As a result, significant time is gained. It has been shown that the latency of 30-50 microseconds usual for very fast Platt forms according to the prior art can be reduced to about 10 microseconds.
  • the requirements of the tasks to be performed by a matcher can be fulfilled almost ideally.
  • This is highly complex in a sense.
  • the complexity results from the sheer number of messages that can be processed virtually simultaneously, whereby for reasons of fairness the actual core task of the matcher can only be divided into parallel subtasks - the actual "matching" must take place according to strict stock exchange rules
  • This is reflected in the sheer size, maintenance and energy consumption of the invention, and it is an underlying realization of the invention that, despite all this complexity, the It is possible to reduce tasks to a manageable core, and that these can be ideally implemented by a hardware solution - as such, a dedicated logic circuit - resulting in a massive reduction in complexity.
  • a stock exchange trading system which comprises:
  • a plurality of merchant data processing systems A plurality of merchant data processing systems
  • a trading platform - in particular according to the first aspect - having a trading platform data processing device with storage means and a controlling unit and at least one switch via which the
  • each merchant data processing device is capable of delivering messages with orders contained therein to the trading platform and the controlling unit is adapted to process these messages, matching the received orders with stored orders stored in the storage means and forming an order book, and dependent store a received order in the storage means from a result of the matching or at least partially execute it at a matching order already stored in the storage means, delete the matching order at least partially in the storage means or marked as executed and save or at least partially execute to acknowledge the merchant data processing device and to transmit transaction data for the executed orders to a job postprocessing system; - And wherein a switching logic of the at least one switch only messages from a dealer data processing device to the trading platform data processing device, from the
  • Trading platform data processing device to a specific merchant data processing device and from the trading platform data processing device to a group of
  • the second aspect of the invention also relates to an electronic platform for such a system.
  • a "merchant data processing facility” may be an integrated computer, but it does not have to be a "personal computer” entity. It can also be divided into several, possibly spatially separated, affiliations; the same applies to other data processing devices described in this application.
  • switch generally refers to a network node that allows selective forwarding to certain (single or multiple, possibly also to all) connected devices - in the present context, the switch allows at least one order received from a merchant data processing device
  • a switch in the sense used here is a device guaranteeing this functionality, regardless of whether all the associated elements are physically adjacent to one another (and, for example, in one common housing) or not.
  • the switch may also be referred to as an "aggregation switch".
  • a switch according to the second aspect of the invention also has, in addition to this generally applicable characteristic, the switching logic specified above.
  • the switch is designed in particular as a dedicated logic circuit.
  • a group of retail data processing devices may be a predetermined group interested in a particular segment of traded securities.
  • the system may be arranged to treat all subscribers who are interested in a particular title in the same way as regards information relating to that title. Often the system will even be set up that in broadcast mode always all participants will receive the corresponding data.
  • the switch-for example, designed as a dedicated logic circuit- provides physically different paths for data streams from the dealers in the direction of the matcher on the one hand and the matcher in the direction of the dealer on the other hand.
  • the first path (from the dealer to the matcher) provides a wide line of messages coming from one of the inputs towards the matcher, while the second path (from the matcher to the dealers) optionally has a purp-to-pimple shadowing (message goes to the output, which is assigned to a dealer) or a broadcast connection (message is sent to a plurality of outputs, in particular to all outputs).
  • a first arbiter (responsible for the transmission of messages in the direction of the dealer to the matcher, "uplink”) an uplink switch (“multiplexer”) so sets that the corresponding connection from the transmitting data processing device or the corresponding network node up to the matcher out.
  • a second arbiter (responsible for sending messages towards the matcher to the merchant, "downlink”) places a downlink switch ("demultiplexer”) such that either a connection from the matcher or network node to or to a particular merchant / network node Group / to all arises.
  • the communication pattern resulting in electronic stock exchange trading is implemented immediately in the switching logic of the network. This is so that message streams are not possible if they do not correspond to the GayLinikationsmuster.
  • the procedure according to the second aspect of the invention has, for example, the advantage of simplicity - also in terms of security and review of procedures.
  • the advantage of the improved network speed also results from this procedure, since the communication paths are predetermined by the switching logic and thus eliminating the processing of corresponding predetermined in a software steps.
  • the procedure is also advantageous for reasons of fairness. In a simple manner, it is ensured that, for example, merchant computer to merchant computer messages are not stopping certain operations or accelerated - since such message paths do not occur in the trading system.
  • the procedure according to the second aspect of the invention does not rule out that the components of the trading system are in communication with each other by other means, for example via a conventional, slower network.
  • a merchant data processing apparatus of a perch system in particular according to aspect 1 or 2, which, as known per se, has a central unit with a central processor (CPU), central storage slots with an operating system and generally also having a user interface and a communicating with the central unit network interface as an interface to the trading platform down.
  • a central unit with a central processor (CPU), central storage slots with an operating system and generally also having a user interface and a communicating with the central unit network interface as an interface to the trading platform down.
  • Such an interface may, for example, be implemented by on a network card.
  • the network interface now has storage means for storing status data of a current state of the stock exchange trading system, for example for tracking the order book at least for the title relevant to the corresponding trader, and a computing device which is designed as a dedicated logic circuit. such that the computing device is capable of issuing orders in the form of messages to the trading platform according to specifications of the central unit as a function of the status data.
  • Dedicated logic circuits for example ASICs or FPGAs on network cards are known per se, for example for protocol conversions or other established tasks, possibly also in connection with alogtrading.
  • the fast programmable arithmetic unit on the network interface which, without conversion from a standard protocol, directly picks up the incoming data and delivers jobs directly, and which also has fast local memory, enables the merchant to implement the third aspect of the invention to react even faster to events in the stock market.
  • the network interface has at least one network interface bus via which incoming messages are forwarded from the network to the central inlay and, on the other hand, forward messages (orders or the like) from the central infeed to the network (specifically: the network interface) become.
  • the computation device designed as dedicated logic circuit is then, for example, likewise arranged directly on this bus, ie it is capable of both reading data on the bus and of writing data to it.
  • the network interface bus may have a 'read bus' (over which data coming from the network is running) and a 'write bus' (over which data is to be sent to the network), in which case the computing device will communicate with both the read bus 'and the' write bus' is in communication.
  • the network interface bus may optionally be different than the bus of the central unit (WCB Workstation Communications Bus), in which case an interface (WI Workstations Interface) connects the two bus systems.
  • the dealer data processing device can be informed very promptly when a specific event arrives (eg if a predetermined market value has been reached, the number of entries in the order book (or in the part of the order book kept in copy by the merchant data processing device) is undershot, Etc.).
  • a specific event eg if a predetermined market value has been reached, the number of entries in the order book (or in the part of the order book kept in copy by the merchant data processing device) is undershot, Etc.
  • the merchant data processing device can be additionally relieved. Often it is worthwhile for the trader to know the time for the individual trade in a very high time resolution. To achieve this goal, there is an optional timer on the communication card.
  • the third aspect also relates to a network interface (in particular network card) for such a merchant data processing device.
  • a network interface in particular network card
  • the trading system can be constructed tree-hierarchically with multiple levels, the network nodes of the levels each by
  • Switches are formed with at least one "uplink” connection and several "downlink” connections.
  • Each merchant data processing device is connected to the trading platform data processing device by the same number of levels (with the same number of switches).
  • Each merchant data processing device has an identical network interface (an identical network card TB).
  • trading platform data processing devices may also be used, each one of them Trading platform data processing device is responsible for one or more titles.
  • the forwarding to the responsible / correct trading platform data processing device can take place in the "uppermost" network node (switch), for example, based on the destination address.
  • the "top” network node may have another output storing all the relevant messages relayed by the network node in an archive A.
  • the archiving unit that logs the jobs and transactions will be located directly at the network node (ie at the switch ) and not necessarily on the matcher itself.
  • Such an archive can, for example, be available to the "back-office" for further processing.
  • the advantage is that the trading platform data processing device is not burdened with the archiving: the data are picked up there by the quasi-independent archive, where they pass by anyway.
  • the matcher frees himself from a very important task, which complements very well with the other measures to increase the speed.
  • each trading platform data processing device may have its own archive (A *).
  • the merchant data processing devices keep copies of the parts of the order book of interest to the respective merchants - these can comprise the entire order book. -
  • the time between order and response of the trading system can be accurately measured by said timer, for example, for the purpose of debugging.
  • the system can be set up to immediately delete all open orders from a specific trading participant in a single order from the system (Mass Cancel MC).
  • the orders to the trading platform can be seen with a time limit and automatically deleted after expiry of the time limit (time-of-life TOL).
  • Dealer be present a unit that processes the first valid message (eg forwarding) and suppresses identical copies.
  • FIG. 1 shows a representation of an exchange trading system
  • FIG. 5 shows elements of a trading platform data processing device
  • - Fig. 6 shows schematically elements of a matcher.
  • FIG. It is a hierarchical network that is optimally adapted to the communication needs of stock market applications.
  • there are several trading platform data processing arrangements (matcher M [... M m ), ie the function of the matcher is split over several matchers. Each matcher is then responsible for one or more titles. The forwarding to the correct matcher can be done by the central switch S 0, for example, based on the destination address.
  • the central switch over which the merchant data processing devices (referred to herein as clients (C t , ... C k )) communicate with the matcher.
  • an optional further switch level with decentralized switches S is also shown, wherein at least one merchant data processing device (generally several merchant data processing areas) are attached to each of these decentralized switches. It is also an extension to even more levels and accordingly even more tree-like branched architecture possible.
  • the distributed switch approach allows for good scalability and can be viewed when the central switch does not physically have enough interfaces to all of its vendors. It may be advantageous if each merchant is connected to the central switch via the same number of levels, since then the forwarding times are approximately identical, and in the approach discussed above with sorting according to a time, the waiting time before a message (eg order) is up forwarded can be kept shorter.
  • TB designates the network interfaces (Trader Boards) of the merchant data processing systems.
  • Di stands for the so-called downlinks of the switches, U or U, for the respective uplink.
  • the top-level switch (ie, the topmost network node) may also optionally have another output that stores all relevant messages forwarded through that switch in an archive A, and thus this information, for example, the back-office processing system for further processing provide.
  • This option exists regardless of whether only one matcher or as in Figure 1 multiple matchers are used. When using multiple matchers, however, it is particularly favorable because it enables central archiving. Alternatively or additionally, everyone can Matcher has its own archive A, (in the top level in Fig. 1).
  • the internal circuit of a switch S is shown symbolically in FIG.
  • the structure shown in FIG. 2 is used in particular in the top-level switch, i. the top node of the network.
  • switches of the underlying levels may be designed accordingly, whereby at least the broadcast function should also be implemented on the possible underlying levels.
  • Fig. 2 generally includes a "U” in the name for so-called “uplinks” (in the direction of matcher), and “D” for “downlinks” (in the direction of traders).
  • Fig. 2 only one matcher M is drawn; If the matcher function is split up among multiple matchers, a split is still made on the uplink side of the switch based on the addresses.
  • a message (data packet, in particular with a job) is transmitted by the merchant data processing device (referred to here as client Ci ... C ”) via a transmitter Tx (a transmitter module).
  • a conversion to a serial data format takes place. This is received in the switch S. and, for example, again converted in parallel (KDRxo ... KDRx ,,) and written into the buffer memory (UBo ... UB n ).
  • a dedicated buffer memory is assigned to each first receiver (KDRx 0 ... KDRx n , ie each downlink). In alternative embodiments, it would also be possible to provide central buffering.
  • the first arbiter UA decides which packet is forwarded and accordingly controls the multiplexer UM.
  • the data is now converted back into a serial protocol by the first switch transmitter KUTx, transmitted and converted back into a parallel format by a matcher receiver MRx. Via an optional matcher buffer MB, the message is sent to the matcher M.
  • matcher M now sends a message (for example the acknowledgment of a job) to a specific dealer Co... Cn, then it is converted back into a serial format via a matcher transmitter MTx, transmitted and received by the second switch receiver KURx and again converted into parallel format.
  • the second arbiter DA now decides, based on the address, which dealer CO ... Cn should receive the message and closes the corresponding switch DDo. DD1, ... or DDn. Subsequently, the message is transmitted via a second switch transmitter KDTxo, ..KDTxn to the corresponding merchant receiver RxO ... Rxn and is now available to the merchant Cn for further processing.
  • the drawn in Figure 2 circuit according to the second aspect of the invention corresponds exactly to the erKindlelinten communication pattern.
  • the switches operated by the arbitems UA, DA allow for communications of the three types a) to c), but not, for example, direct point-to-point communication between the dealers.
  • each dealer data processing device with a timer here in the form of a precisely synchronized clock CLKo ... CLKn equipped.
  • the clock reference for this clock can be specified by the matcher or the highest network node (the topmost switch) by periodically sending reference time messages, which then readjust the local clocks CLKo .. CLKn.
  • the actual clock cycle can be generated both by a local oscillator and by the global network clock, which in turn is specified by the matcher M.
  • each message is now provided with a time stamp by the client C0... C11, and the network system ensures that older messages always arrive first at the matcher; the network "sorts" the messages based on time.
  • This function is done here by the first arbiter UA first forwarding the older message. For this selection to be fair, it must at least wait for the time (waiting time) which arises due to unequal construction methods (eg cable lengths, module tolerances). Only then can he make his decision. On each uplink or at least on the uplink of the topmost network node, the messages are therefore ordered strictly in time and thus arrive in the timely order (also over multiple switch levels) in the trading system M. This optional time sorting principle can be combined with any of aspects 1 through 3.
  • an optional credit system can be introduced: The trading system assigns C0 to all traders. , , C11 loans. A loan allows the merchant to send an order (or, more generally, a message). The number of credits is so great that when the system is unloaded, a single merchant can still work at full speed and will not overflow the individual buffers even when the system is heavily loaded. For each message, a loan is debited and credited again when the message from the matcher to the. Dealer was acknowledged.
  • arrows at the bottom of Fig. 2 indicate the use of a local time base for providing the data packets with a pre-shipment timing as described above. While in FIG. 2 receivers and transmitters of the merchant data processing devices are drawn separately, they can be realized in reality in one and the same hardware component, for example as separately configured units in one and the same FPGA.
  • FIG. 3 A redundant system is shown in FIG. 3.
  • the principle of redundancy is shown here by means of an example of embodiment in which the matcher is responsible for all titles.
  • the transfer to a system as shown in Fig. 1 with matchers Mi, .... M m with different responsibilities is readily possible, in which case at least one matcher, preferably all matchers duplicated and each with two top network node SQ.O, SQ, O are connected. If an archive A connected to the top network node, this can also be redundant, ie executed twice.
  • both the matcher M on M * is doubled, as well as the network with the switches Sij with Sij *.
  • One of the two matchers M or M * can (in corresponding exemplary embodiments) specify the time (time master, i.e. both the network clock and the reference time); the other matcher then takes over. If a matcher fails, he will make other matchers the time master, if he has not already been the time master before. In actual order processing, both matchers have a completely identical structure, and in both, order bookkeeping and order execution take place independently of each other.
  • the received message streams are forwarded to the other trading system (PS (t) and PS * (t)). So that the own message streams are not preferred by the transmission, they are delayed by a delay time TD or TD *.
  • the prioritizers P and P * now ensure that messages with earlier times are taken first. In addition, in the prioritizer P identical messages (coming through the 2 independent networks) are suppressed. Thus it can be guaranteed that identical, temporally ordered message streams are transmitted to the actual trading systems M and M *.
  • WI workstation interface
  • NI the interface to the network nodes of the trading system.
  • the network interface is set up for a redundantly designed trading system and accordingly has two interfaces NI and ⁇ , which are provided for connection to a respective network node (switch) of the redundant system.
  • an input filter (F First) will ensure that identical messages do not passed twice, ie the first valid Nachiicht forwarded and suppressed all other copies.
  • Incoming messages can be read and processed via the read bus RB as known per se by the central unit.
  • the central storage of titles takes place in the OB (Order Book) and is permanently tracked by the dedicated logic based on the incoming messages (Market Updates).
  • the network interface (network card) of each merchant data processing device also has a memory UM for the titles relevant to the corresponding merchant and a fast programmable arithmetic unit UF (user FPGA) designed as a dedicated logic circuit. This enables the trader to react even faster to events on the stock market.
  • a memory UM for the titles relevant to the corresponding merchant
  • a fast programmable arithmetic unit UF user FPGA
  • the flow control unit FC implements a flow control to realize the optional overload protection based on credits discussed above. Only a certain number of unacknowledged jobs are allowed before the merchant data processing device denies further jobs.
  • the network interface has at least one network interface bus, which is functionally divided into a write bus ("write bus”) and a read bus (“read bus”).
  • a write bus write bus
  • read bus read bus
  • the computing device which is designed as a dedicated logic circuit, is arranged directly on this bus, i. It is capable of both reading data on the bus and writing data about it to other units.
  • the network interface bus is different from the central unit (WCB Workstation Communications Bus), with one interface (WI Workstations Interface) connecting the two bus systems. This means that the internal data exchange of the central unit - for example between its CPU and peripherals or data memories - does not burden the network interface bus.
  • the dealer data processing direction can also be informed very promptly when a particular event arrives (eg a predetermined market value has been reached). With this additional function of the dealer card, the dealer data processing device can be additionally relieved. Often it is desirable for the trader to know the time for the individual trade in a very high time resolution.
  • a timer CL is optionally located on the network interface TB - this may be, for example, a timer CLK of the type and function described above, or else a separate timer. If the trader wants to react very quickly to a change in the market, then he first of all transmits the data on the network interface to the merchant data processing device, processes it there and then writes it back to the network interface.
  • Figure 5 shows an embodiment of a trading platform (network nodes (switches) are not shown).
  • OB designates the data store with the order book
  • MA the actual matcher whose controlling unit according to the first aspect of the invention is designed as a dedicated logic circuit, in particular as an FPGA.
  • Connected to and integrated with the matcher for example, are a synchronization unit SY Sync which, together with the corresponding unit of the other matcher in a system with two redundant matchers (FIG. 3), coordinates the mutual monitoring and synchronization of the two matchers Stop detector SD and an avalanche detector AD (detector of avalanche news).
  • the messages are first optionally channeled through an input filter (F First) and / or a verification processor VP, which checks the authorization of the customer to execute a specific order and / or a time-of-life processor (TOL) Automatically deletes orders and upon expiration of a time limit are provided and / or a Mass Canccl entity can intervene to immediately delete all open orders of a particular trading participant in a single order from the system.
  • F First input filter
  • VP verification processor
  • TOL time-of-life processor
  • WL Write Log write event log file
  • an order response unit OR order response; generates 'private' messages (intended only for a merchant data processing device) for one
  • MU Market Update generates messages to all for a specific order
  • the trading platform data processing scheme is drawn with two network interfaces NI Port, ⁇ Port), i. it is designed for a redundant system as shown in FIG.
  • FIG. 6 very schematically shows the matcher M.
  • the controlling unit SE which is embodied as a dedicated logic circuit, in particular as an FPGA
  • this has a data memory.
  • This may be designed as RAM and / or optionally distributed to various physical units.
  • RAM technologies can be used and optionally combined with one another, for example SDRAM, QDRI I, SRAM, where, for example, SDRAM can be used as the actual data memory and QDRII and / or SRAM for accelerator structures.
  • the use of other memory such as SSD is not excluded.
  • the data memory or units thereof can be physically integrated with the dedicated logic circuit and / or be present separately therefrom, for example on a circuit board.
  • the data store contains the order book that is managed by the controlling unit. If an order arrives from the switch, the controlling unit matches it with the data available in the order book. If there is an at least partially matching order, the appropriate orders are executed; This is acknowledged to the two clients and transmitted to the order processing system BO and anonymized by broadcast to all participants. If the incoming order can only be partially or not executed due to the lack of suitable stored jobs, it is stored in the data memory. Even then his input - but of course not the execution - acknowledged. The process of matching incoming orders with stored orders according to given rules is the core task of the matcher.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Gemäss einem Aspekt der Erfindung wird eine Börsenhandelsplattform für eine Mehrzahl von mit der Handelsplattform in Kommunikationsverbindung stehenden Händlerdatenverarbeitungseinrichtungen zur Verfügung gestellt, wobei die Handelsplattform eine Handelsplattformdatenverarbeitungseinrichtung („Matcher"), aufweist, die befähigt ist, von einer der Händlerdatenverarbeitungseinrichtungen erzeugte Aufträge in einem Auftragsbuch abzuspeichern oder bei einem passenden bereits im Auftragsbuch abgespeicherten Auftrag mindestens teilweise auszuführen, solche eingegangene Aufträge an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Nachrichten an eine Mehrzahl von angeschlossenen Händlerdatenverarbeitungseinrichtungen (bei einem Handelssystem mit lauter gleichberechtigten Händlern an alle) abzusenden. Die Handelsplattform zeichnet sich insbesondere dadurch aus, dass eine die wahlweise Ausführung oder Abspeicherung der Aufträge steuernde Einheit der Handelsplattformdatenverarbeitungseinrichtung als dedizierte Logikschaltung ausgebildet ist.

Description

BÖRSENHANDELSPLATTFORM
Die vorliegende Erfindung betrifft eine Börsenhandelsplattform, ein Börsenhandelssystem und ein Netzwerkinterface für ein Börsenhandelssystem.
Seit Jahren wird der Börsenhandel fast nur noch computerisiert ausgeführt. Dabei sitzen die Händler an einem Computerterminal, und dieses ist über ein Computernetzwerk mit einer computerimplementierten Handelsplattform verbunden. Eine solche Handelsplattform weist als Kernstück mindestens einen sogenannten „Matcher" (Handelsplattfbrmdatenverarbeitungseinrichtung d.h. eine Auftragsbuchführungs- und -ausführungseinheit) auf, in welchem Aufträge in einem Auftragsbuch gespeichert oder ausgeführt werden. Der Matcher ist einerseits - im Allgemeinen über mindestens einen Switch - mit den Händlern und andererseits mit einem Auftragsnachbearbeitungssystem (Backoffice), in welchem die Auftragsausführung komplettiert und bspw. die entsprechende finanzielle Transaktion abgewickelt wird.
Hat ein Händler Interesse an einem Börsengeschäft, setzt er einen Auftrag (Order) an die Handelsplattform ab. Diese enthält den betroffenen Titel, Informationen darüber ob der Titel verkauft oder gekauft werden soll (buy/sell), die gewünschte Anzahl (Quantity) sowie den Preis. Die Handelsplattform führt das Auftragsbuch (order book). Wenn ein Auftrag eintrifft wird geprüft, ob es einen passenden abgespeicherten Auftrag gibt. Wenn nein, wird der Auftrag im Auftragsbuch gespeichert und an den Auftraggeber quittiert. Wenn ja, wird der Handel ausgeführt, im Verkaufsbuch eingetragen und beide Parteien werden informiert. Die Information über den abgewickelten Handel geht dann in anonymisierter Form (d.h. ohne die Information darüber, wer die beiden involvierten Händler waren) auch an alle Händler (,broadcast'). Natürlich ist auch möglich, dass ein Auftrag nur teilweise umgesetzt werden kann, dann verbleibt ein nach Ausführung des Handels verbleibender Rest-Auftrag im. Auftragsbuch. Ebenso werden neben dem genannten Auftragstyp mit den Attributen buy/sell, Anzahl und Preis auch beliebige andere Auftragsvarianten unterstützt (unter anderem: , Market Order', ,Accept Order', ,Fill- or- ill Order' , Jceberg Order').
Aus diesem Kommunikationsmuster für den elektronischen Börsenhandel ergeben sich primär drei Arten der Kommunikation:
a) Händler -> Handelsplattform (Punkt -> Punkt)
b) Handelsplattform -> Händler (Punkt -> Punkt, hierarchisch)
c) Handelsplattform -> alle Händler (Broadcast)
Ein Netzwerk für den schnellen elektronischen Handel sollte diese Kommunikationsmuster unterstützen.
Zusätzlich kommt hinzu, dass auch die Entscheidungsfindung beim Händler mit grosser Computerunterstützung erfolgt; in einige Fällen ist es sogar ein Computerprogramm, das beim Händler die effektive Entscheidung trifft (natürlich nach Vorgaben des Händlers). Hier wird von Algotrading gesprochen.
Bei dieser Anwendung sind Netzwerkgeschwindigkeit,
Verarbeitungsgeschwindigkeit im Handelssystem und Verarbeitungsgeschwindigkeit im Händlersystem von entscheidender Bedeutung. Während elektronische Handelssysteme am Anfang in Sekunden handelten (und damit um eine Grössenordmmg schneller als menschliche Handelssysteme), wird heute im Millisekundenbereich gehandelt und es werden Zeiten von wenigen Mikrosekunden angestrebt.
Werden für diese Anwendungen standardisierte Netzwerke wie TCP/IP eingesetzt, so beträgt die Übertragungslatenz allein des Netzwerks oft einige 10p.s. Schnelle Händler möchten aber "Round-Trip"-Zeiten (d.h. die Zeit zwischen der Abgabe eines Auftrags durch den Händler und es Eingangs einer Quittierung beim Händler) von unter ΙΟμΞ erreichen. Um diese Aufgabe zu lösen, wurden unter anderem auch Supercomputerkommunikationsnetzwerke mit Latenzen von einigen μ8 vorgeschlagen. Diese Netzwerke erfüllen zwar die Latenzanforderungen, bringen aber einige Nachteile mit sich: S upercomputernetzwerke sind meistens auf symmetrische Kommunikation ausgelegt (jeder mit jedem), in Finanzanwendungen haben gibt es jedoch praktisch nur "Viele-zu-Einem-" und "Einer-zu- Vielen- " Kommunikationen sowie Punkt-zu-Punkt-Kommunikationen zwischen einer Handelsplattform und einer bestimmten Händlerdatenverarbeitungseinrichtung. Die "Jeder-zu-Jedem"-Kommunikation der Supercomputernetzwerke verursacht dabei nicht nur höheren Aufwand (und damit höhere Kosten), sie kann durch Störungen (gewollt oder ungewollt) zu unfairem Verhalten des Kommunikationssystems führen. Die Fairness ist ein wichtiges Thema, sowohl bei der Gleichbehaiidlung von durch die Händler abgegebenen Aufträge als auch beim Prinzip, dass über Broadcast informierte Händler alle jederzeit auf dem gleichen Informationsstand sind. Ohne spezielle aufwändige Massnahmen ist eine solche Fairness beim Einsatz traditioneller Netzwerke - auch aus dem Supercomputerbereich - nicht möglich. Im Weiteren sollte dafür gesorgt werden, dass in solchen Netzwerken das System nicht überlastet werden kann. Auch sollten hochverfügbare Kommunikationssysteme zur Verfügung stehen.
Eines der Ziele dieser Erfindung ist, Nachteile eines S upercomputernetzwerkes zu eliminieren, ohne dabei den Vorteil der hohen Geschwindigkeit zu verlieren.
Im Weiteren kann vorteilhaft sein, wenn ein Netzwerk für diese Anwendung "Börse" skalierbar ist, und fast beliebig viele Händlerdatenverarbeitungseinrichtungen anschliessbar sind. Es kann dabei auch sinnvoll sein, dass aus Leistungsgründen mehrere Handelsplattformdatenverarbeitungseimichtungen (Matcher) zum Einsatz kommen.
Eine weitere Herausforderung ist die "Flusskontrolle" im Netzwerk. Dabei kann folgendes Problem auftauchen: Die Handelsplattform hat nur einen beschränkten Pufferspeicher für eintreffende Aufträge. Ein Händler kann das Handelssystem zur Überlastung bringen, und Aufträge können verloren gehen.
Eine weitere Herausforderung ist die intelligente Aufnahme von Information auf der Händlerseite. Bei einem Hochleistungssystem kann es Zeiten geben, bei denen die Händlerdatenverarbeitungseimichtung nicht mehr in der Lage sein wird, die Informationsflut, die auf sie hereinbricht, zu bearbeiten und zu sortieren. Schliesslich sind die meisten dieser Systeme nicht als hochverfügbare Systeme ausgelegt. Diese Eigenschaft kann nachträglich nur mit sehr hohem Aufwand realisiert werden.
Es ist eine Aufgabe der vorliegenden Erfindung, die vorstehend geschilderten Nachteile mindestens teilweise zu eliminieren und ein System und ein Verfahren zu schaffen, welches den Anforderungen an Geschwindigkeit, Fai ness, Funktionstüchtigkeit während und nach Ausfällen von Komponenten sowie Energie- und Ressourcenverbrauch genügt.
Gemäss einem ersten Aspekt der Erfindung wird eine elektronische Plattform für den Börsenhandel für eine Mehrzahl von mit der Handelsplattform in Kommunikationsverbindung stehenden Händlerdatenverarbeitungseinrichtungen zur Verfügung gestellt, wobei die Handelsplattform eine
Handelsplattformdatenverarbeitungseinrichtung („Matcher") mit Speichermitteln und einer steuernden Einheit, aufweist. Die steuernde Einheit ist dazu ausgebildet, von einer der Händlerdatenverarbeitungseinrichtungen erzeugte Aufträge zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleiche einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermittcln abgespeicherten passenden Auftrag mindestens teilweise auszuführen und den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren, solche eingegangene Nachrichten an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Broadcast-Nachrichten mit Informationen über ausgeführte Aufträge und/oder in den Speichermitteln abgespeicherte Aufträge an eine Mehrzahl von angeschlossenen Händlerdatenverarbeitungseiniichtungen abzusenden, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln. . Die Handelsplattform zeichnet sich insbesondere dadurch aus, dass die steuernde Einheit der Handelsplattfo mdatenverarbeitungseinrichtung als dedizierte Logikschaltung ausgebildet ist.
Die steuernde Einheit des Matchers, welche wahlweise Ausführung oder Abspeicherung der Aufträge steuert, ist das zentrale Kernstück der Handelsplattform. Diese Einheit gleicht eingehende Aufträge mit dem Auftragsbuch ab, führt Handelstransaktionen durch (inklusive Bestätigung, Eintrag ins Handelsbuch und/oder Kommunikation mit dem , Backoffice', ggf. Mitteilung an viele oder alle Teilnehmer) und/oder trägt Aufträge ins Auftragsbuch ein, entfernt ausge ührte Aufträge oder modifiziert Einträge bei teilweise durchgeführten Aufträgen.
Als , Backoffice' wird das Auftragsnachbearbeitungssystyem bezeichnet, in welchem die Auftragsausführung komplettiert und bspw. die entsprechende finanzielle Transaktion abgewickelt wird. Die ans Backoffice nach Durchführung des Auftrags übermittelten Transaktionsdaten beinhalten Menge und Preis der gehandelten Titel und ermöglicht, dass die Transaktion finanziell und , physisch' (Lieferung der Titel) nachvollzogen wird.
Eine dedizierte Logikschaltung ist ein Hardwarebaustein oder eine Gruppe von Hardwarebausteinen, in welcher die Logikfunktionen, durch welche Signale oder Daten verarbeitet werden, durch in der Hardware selbst vorhandene und vorgegebene Schaltungen vorgegeben implementiert sind. Die Logikschaltung bildet so eine Funktionsstruktur mit untereinander verschalteten Blöcken. Dies steht im Gegensatz zu Hauptprozessoren von konventionellen Computern (inklusiver Servercomputern) die als ,generische', universell einsetzbare Mikroprozessoren ausgebildet sind, welche in einem Speicher (als Software) vorgelegte Sequenz von Befehlen abarbeitet, wobei dann nur diese Software und nicht die Schaltung selbst zweckgebunden ist.
Eine solche dedizierte Logikschaltung kann beispielsweise als Field Programmable Gate Array (FPGA) ausgebildet sein. Ein FPGA wird durch die Konfiguration dediziert, d.h. anwendungsspezifisch ausgebildet.
Ein solcher FPGA kann Speicherzellen (z.B. EEPROM, EPROM, SRAM, Flash) aufweisen, in denen die Konfiguration gespeichert ist, Jeweils bei Inbetriebnahme wird die Konfiguration auf die eigentliche Schaltung übertragen. Alternativ kann der FPGA auch permanent programmiert sein, indem die Verbindungen zwischen den Schalteinheiten permanent eingerichtet werden, bspw. mit der sogenannten ,antifuse'-Technologie.
Die Konfigurierung eines FPGA ist nicht zu verwechseln mit der Programmierung im konventionellen Sinn, d.h. mit der Erstellung von Software für einen Prozessor: Bei eines FPGA oder einer anderen konfigurierbaren Logikschaltung werden Schaltungsstrukturen mittels Hardwarebeschreibungssprachen oder in Form von Schaltplänen erstellt und nachfolgend diese Strukturen zwecks Konfiguration in den Baustein übertragen. Dadurch werden in der konfigurierbaren Logikschaltung bestimmte Schalterstellungen aktiviert und/oder deaktiviert. Daraus ergibt sich eine konkret implementierte digitale Schaltung, die i.A. hochgradig parallel arbeitet, weil jede Einlieit der Schalterstellung parallel arbeitet. Im Kontrast dazu führen auch die schnellsten Mikroprozessoren höchstens wenige und meist gar keine Operationen parallel aus. Zu den FPGAs werden oft auch die Complex Prograinmable Logic Devices (CPLD) gerechnet, die ein weiteres Beispiel von konfigurierbaren Logikschaltungen darstellen.
Ein weiteres Beispiel von dedizierten Logikschaltungen sind anwendungsspezifische integrierte Schaltungen (application-specific integrated circuits; ASICs), deren Schaltlogik bei der Herstellung vorgegeben wird und nicht mehr veränderbar ist.
Dedizierte Logikschaltungen sind im Stand der Technik verbreitet als Standardbausteine zum Durchführen vorgegebener, immer identischer Aufgaben, bspw. in Steuerungen, für die Umwandlung (Codierung/Decodierung) von Daten, digitale Filterung etc. Für zentrale Einheiten in komplexen Systemen - ein solches stellt die Anwendung„Handelsplattform" eindeutig dar - wurden sie bisher jedoch in keiner Weise in Betracht gezogen - unter anderem weil sie als bei weitem nicht genug flexibel für solche Anwendungen gelten.
Es ist eine Erkenntnis, welche der vorliegenden Erfindung zu Grunde liegt, dass die Anwendung„Matcher einer Börsenhandelsplattform" sich trotzdem auf geradezu ausgezeiclinete Weise für die Implementierung durch eine dedizierte Logikschaltung eignet, weil sich die Aufgaben des Matchers bei alier Komplexität des Börsengeschäfts und trotz der ungeheuren zu bewältigen Datenmenge auf recht wenige Grundtransaktionen reduzieren lässt und eine solche Reduktion gar von Vorteil ist.
Die durch das Vorgehen gemäss dem ersten Aspekt erzielbaren Vorteile sind eklatant. Die Datenverarbeitungsgeschwindigkeit ist aufgrund der in dedizierten Logikschaltungen sich zwangslos ergebenden Parallelität der Datenverarbeitung viel höher als bei der Verwendung von Mikroprozessoren der gängigen Art, auch im Vergleich mit hochraffinierten und leistungsfähigen Mehrkernprozessoreri. Die Latenzzeiten sind im Verbleich zum Stand der Technik markant reduzierbar. Ausserdem kann der Matcher sehr viel kleiner sein als die für diesen Zweck gemäss dem Stand der Technik verwendeten Rechenzentren, und der Stromverbrauch beträgt nur einen Bruchteil des Stromverbrauchs von diesen. Das Vorgehen gemäss dem ersten Aspekt der Erfindung ermöglicht auch die Umgehung von PCIe-Übergängen, ebenso wird eine Netzwerkstack- Verarbeitung im Betriebssystem umgangen: Durch die dedi zierte Logik im Matcher kann die latenzkritische Verarbeitung komplett eigenständig durchgeführt werden. Die Daten müssen nicht via PCIe an den zentralen Prozessor (CPU) kommuniziert werden und allenfalls vom Betriebssystem durch Netzwerkstack- Verarbeitung prozessiert werden. Dadurch wird markant Zeit gewonnen. Es hat sich gezeigt, dass die Latenzzeit von für sehr schnelle Platt formen gemäss dem Stand der Technik üblichen 30-50 Mikrosekunden auf ca. 10 Mikrosekunden reduziert werden kann.
Natürlich ist es auch möglich, einige Teilprozesse, wie das heute der Fall ist, in Software zu realisieren.
Durch das Vorgehen gemäss dem ersten Aspekt kann den Erfordernissen der von einem Matcher auszuführenden Aufgaben geradezu ideal entsprochen werden. Diese ist in einem gewissen Sinn hochkomplex. Die Komplexität ergibt sich aus der schieren Anzahl von praktisch gleichzeitig zu verarbeitenden Nachrichten, wobei die eigentliche Kernaufgabe des Matchers aus Fairnessgründen nur beschränkt auf parallel auszuführende Teilaufgaben aufteilen lässt- das eigentliche„Matching" muss nach strikten Börsenregeln stattfinden. Daher sind Börsenhandelsplattformen gemäss dem Stand der Technik entsprechend hochkomplexe Gebilde, was sich auch in deren schieren Grösse, im Wartungsaufwand und im Energieverbrauch äussert. Es ist eine der Erfindung zugrunde liegende Erkenntnis, dass sich bei all dieser Komplexität die ei gentlichen Aufgaben auf einen überschaubaren Kern reduzieren lassen und dass diese durch eine Hardwarelösung - als solche stellt sich eine dedi ierte Logikschaltung dar - geradezu ideal umgesetzt werden können, was in einer massiven Reduktion der Komplexität resultiert.
Gemäss einem zweiten Aspekt der Erfindung wird ein wird Börsenhandelssystem zur Verfügung gestellt, welches aufweist:
- Eine Mehrzahl von Händlerdatenverarbeitungseimichtungen; und
- Eine Handelsplattform - insbesondere nach dem ersten Aspekt - mit einer Handelsplattformdatenverarbeitungseimichtung mit Speichermitteln und einer steuernden Einheit und mindestens einem Switch, über welchen die
Handelsplattformdatenverarbeitungseinrichtung mit den
Händlerdaten Verarbeitungseinrichtungen verbunden ist;
Wobei jede Händlerdatenverarbeitungseimichtung befähigt ist, Nachrichten mit darin enthaltenen Aufträgen an die Handelsplattform abzugeben und die steuernde Einheit dazu ausgebildet ist, diese Nachrichten zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen, den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren und das Abspeichern bzw. mindestens teilweise Ausführen an die Händlerdatenverarbeitungseinrichtung zu quittieren, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln; - und wobei eine Schaltlogik des mindestens einen Switches nur Nachrichten von einer Händlerdatenverarbeitungseinrichtung an die Handelsplattformdatenverarbeitungseinrichtung, von der
Handelsplattformdatenverarbeitungseinrichtung an eine bestimmte Händlerdatenverarbeitungseimichtung und von der Handelsplattform- datenverarbeitungsehirichtung an eine Gruppe von
Händlerdatenverarbeitungseimichtungen oder alle
Händlerdatenverarbeitimgseinrichtungen zulässt.
Der zweite Aspekt der Erfindung betrifft auch eine elektronische Plattform für ein solches System.
Eine„Händlerdatenverarbeitungseinrichtung" kann ein integrierter Computer sein. Sie muss jedoch nicht eine Einheit im Sinne eines„Personal Computer" sein. Sie kann auch auf mehrere, unter Umständen räumlich getrennte, Einlieiten aufgeteilt sein; dasselbe gilt für andere in dieser Anmeldung beschriebene Datenverarbeitungseinrichtungen.
In diesem Text wird mit„Switch" generell ein Netzwerkknoten bezeichnet, der eine selektive Weiterleitung an bestimmte (einzelne oder mehrere, u.U. wahlweise auch an alle) angeschlossene Geräte erlaubt - im vorliegenden Kontext erlaubt der Switch mindestens, dass ein von einer Händlerdatenverarbeitungseinrichtung eingehender Auftrag an einen oder mehrere Handelsplattformdatenverarbeitungseim-ichtung(en) weitergeleitet wird und nicht bspw. auch an alle anderen Händlerdatenverarbeitungseinrichtungen. Ein Switch im hier verwendeten Sinn ist eine diese Funktionalität gewährleistende Einrichtung, unabhängig davon, ob alle dazu gehörenden Elemente physisch beieinander (und bspw. in einem gemeinsamen Gehäuse) angeordnet sind oder nicht. Bei der Netzwerkarchitektur gemäss dem zweiten Aspekt der Erfindung kann der Switch auch als „Aggregation Switch" bezeichnet werden.
Ein Switch gemäss dem zweiten Aspekt der Erfindung weist ausserdem zusätzlich zu dieser allgemein geltenden Eigenschaft die vorstehend spezifizierte Schaltlogik auf.
In Ausführungsformen ist der Switch insbesondere als dedizierte Logikschaltung ausgeführt.
Eine Gruppe von Händierdatenverarbeimngseinrichtungen kann bspw. eine vorgegebene Gruppe sein, die sich für ein bestimmtes Segment von gehandelten Titeln interessiert. Insbesondere kann das System eingerichtet sein, dass alle Teilnehmer, die sich für einen bestimmten Titel interessieren, betreffen Informationen zu diesem Titel gleichbehandelt werden. Oft wird das System gar eingerichtet sein, dass im Broadcast-Modus immer alle Teilnehmer die entsprechenden Daten erhalten werden.
Es kann bspw. vorgesehen sein, dass der Switch - bspw. als dedizierte Logikschaltung ausgeführt -- für Datenströme von den Händlern in Richtung Matcher einerseits und vom Matcher in Richtung Händler andererseits physisch verschiedene Pfade vorsieht. Der erste Pfad (vom Händler zum Matcher) sieht dabei eine Weiteiieitung einer von einem der Eingänge kommenden Nachricht in Richtung Matcher vor, während der zweite Pfad (vom Matcher zu den Händlern) wahlweise eine Purü t-zu-Pimkt- Verschattung (Nachricht geht an den Ausgang, welcher einem Händler zugeordnet ist) oder eine Broadcast-Verschaltung (Nachricht geht an eine Vielzahl von Ausgängen, insbesondere an alle Ausgänge) ermöglicht. Insbesondere kann vorgesehen sein, dass in jedem Switch ein erster Arbiter (zuständig für die Übermittlung von Nachrichten in Richtung vom Händler zum Matcher; „uplink") einen uplink- Schalter („Multiplexer") so einstellt, dass die entsprechende Verbindung von der sendenden Datenverarbeitungseinrichtung oder dem entsprechenden Netzwerkknoten nach oben zum Matcher hin entsteht. Ein zweiter Arbiter (zuständig für die Übermittlung von Nachrichten in Richtung vom Matcher zum Händler;„downlink") stellt einen downlink-Schalter („Demultiplexer") so, dass entweder eine Verbindung vom Matcher oder Netzwerkknoten zu einem bestimmten Händler/Netzwerkknoten oder zu einer Gruppe/zu allen entsteht.
Beim Vorgehen gemäss dem zweiten Aspekt der Erfindung wird also das sich im elektronischen Börsenhandel ergebende Kommunikationsmuster gleich in der Schaltlogik des Netzwerks implementiert. Diese ist so, dass Nachrichtenströme gar nicht möglich sind, wenn sie nicht dem KommLinikationsmuster entsprechen. Dies unterscheidet sich vom Stand der Technik bei welchem durch die Verwendung von - zwar leistungsfähigen - Standardnetzwerkkomponenten und von Protokollen wie TCP/IP die Flexibilität der Kommunikationsmöglichkeiten ungleich höher ist und sich die Kommunikationsmuster nur durch die entsprechende Programmierung der Netzwerkteilnehmer ergeben.
Das Vorgehen gemäss dem zweiten Aspekt der Erfindung hat bspw. den Vorteil der Einfachheit - auch bei der Sicherheit und der Überprüfung der Abläufe. Ausserdem ergibt sich auch durch dieses Vorgehen der Vorteil der verbesserten Netzwerkgeschwindigkeit, da die Kommunikationswege gleich durch die Schaltlogik vorgegeben sind und also das Abarbeiten von entsprechenden in einer Software vorgegebenen Schritten entfällt. Weiter ist das Vorgehen auch aus Fairnessgründen vorteilhaft. Auf eine einfache Weise wird sichergestellt, dass nicht bspw. durch Händlercomputer- zu-Händlercomputer-Nachrichten gewisse Vorgänge aufgehalten oder beschleunigt werden - da solche Nachrichtenwege im Handelssystem gar nicht vorkommen.
Das Vorgehen gemäss dem zweiten Aspekt der Erfindung schliesst natürlich nicht aus, dass die Teilneluiier des Handelssystems noch auf anderem Weg, bspw. über ein konventionelles, langsameres Netzwerk, miteinander in Kommunikationsverbindung stehen.
Gemäss einem dritten Aspekt der Erfindung wird eine Händlerdatenverarbeitungseinrichtung eines Bö senhandelssystems, insbesondere gemäss Aspekt 1 oder 2, zur Verfügung gestellt, der wie an sich bekannt eine zentrale Einheit mit einem zentralen Prozessor (CPU), zentralen Speichernlitte In mit einein Betriebssystem und im allgemeinen auch mit einem Benutzerinterface sowie ein mit der zentralen Einheit in Kommunikationsverbindung stehendes Netzwerkinterface als Interface zur Handelsplattform hin aufweist. Ein solches Interface kann bspw. durch auf einer Netzwerkkarte implementiert sein.
Gemäss dem dritten Aspekt der Erfindung weist nun das Netzwerkinterface Speichermittel zum Speichern von Zustandsdaten eines aktuellen Zustand des Börsenhandelssystems, bspw. zum Nachführen des Auftragsbuchs mindestens für die für den entsprechenden Händler relevanten Titel, auf, sowie eine Recheneinrichtung, welche als dedizierte Logikschaltung ausgebildet ist, derart, dass die Recheneinrichtung befähigt ist, nach Vorgaben der zentralen Einheit in Abhängigkeit der Zustandsdaten Aufträge in der Form von Nachrichten an die Handelsplattform abzugeben. Dedizterte Logikschaltungen, bspw. ASICs oder FPGAs auf Netzwerkkarten sind an sich bekannt, bspw. für Protokollumwandlungen oder andere feststehende Aufgaben, unter Umständen auch im Zusammenhang mit Alogtrading. Gemäss dem dritten Aspekt wird jedoch vorgeschlagen, dass eine dedizierte Logikschaltung peripher direkt im Netzwerkinterface für das Algotrading verwendet wird, d.h. ohne dass Daten durch die zentrale Einheit fliessen. Das ermöglicht, dass die Händlerdatenverarbeitungseinrichtungen auf eingehende Informationen sehr schnell reagieren können und bspw. einen Auftrag sofort auslösen können, wenn der Kurs eines interessierenden Titels unter einen vorgegebenen Wert (= Vorgabe der Zentraleinheit) fällt.
Wenn der Händler gemäss dem Stand der Technik sein' schnell auf eine Veränderung auf dem Markt reagieren will, so muss er die mit gängigen Börsenprotokollen (UDP; TCP) versandten Daten auf der Kommunikationskarte zuerst umwandeln, an den Händlercomputer übertragen, sie dort verarbeiten und anschliessend wieder auf die Kommunikationskarte zurück schreiben. Dabei geht viel kostbare Zeit verloren. Durch die schnelle programmierbare Recheneinheit auf dem Netzwerkinterface, die ohne Umwandlung von einem Standardprotokoll die eintreffenden Daten direkt abgreift und Aufträge direkt abgibt, und die auch noch über schnellen lokalen Speicher verfügt, wird der Händler bei Implementation des dritten Aspekts der Erfindung hingegen in die Lage versetzt, noch schneller auf Ereignisse an der Börse zu reagieren.
Besonders vorteilhaft ist die Kombination des dritten Aspekts mit dem ersten Aspekt. Dann kann vorgesehen sein, dass für die verwendete Hardware geeignete Protokolle ohne die Verwendung der langsameren Standardprotokolle für den Datenaustausch zwischen dem Netzwerkinterface und dem Matcher verwendet werden, d.h. es fallen auch ProtokoUumwandlungen weg. Es kann insbesondere vorgesehen sein, dass das Netzwerkinterface mindestens einen Netzwerkinterface-Bus aufweist, über welchen einerseits vom Netzwerk eingehende Nachrichten an die zentrale Einlieit weitergeleitet werden und andererseits Nachrichten (Aufträge oder dergleichen) von der zentralen Einlieit ans Netzwerk (spezifisch: die Netzwerksclinittstelle) weitergeleitet werden. Die als dedi zierte Logikschaltung ausgebildete Recheneinrichtung ist dann bspw. ebenfalls direkt auf diesem Bus angeordnet, d.h. sie ist befähigt, sowohl über den Bus laufende Daten zu lesen als auch Daten dorthin zu schreiben.
Beispielsweise kann der Netzwerkinterface-Bus auf einen ,read bus' (über den vom Netzwerk herkommende Daten laufen) und einen ,write bus' (über den ins Netzwerk zu übermittelnde Daten laufen) verfügen, wobei dann die Recheneinrichtung mit beiden, dem ,read bus' und dem ,write bus' in Kommunikationsverbindung steht.
Der Netzwerkinterface-Bus kann optional vom Bus der zentralen Einheit ( WCB Workstation Communications Bus) verschieden sein, wobei dann eine Schnittstelle (WI Workstations Interface) die beiden Bus-Systeme verbindet.
Mit Hilfe einer optionalen zusätzlichen Alarmeinheit kann die Händlerdatenverarbeitungseinrichtung äusserst zeitnah informiert werden, wenn ein bestimmtes Ereignis eintrifft (z.B. wurde ein vorbestimmter Kurswert erreicht, die Anzahl von Einträgen im Auftragsbuch (bzw. im von der Händlerdatenverarbeitungseinrichtung in Kopie geführten Teil des Auftragsbuchs) wird unterschritten, etc.). Mit dieser Zusatzfunktion des Netzwerkinterfaces (d.h. bspw. der Händler-Netzwerkkarte) kann die Händlerdatenverarbeitungseinrichtung zusätzlich entlastet werden. Oft ist es für den Händler minschenswert, die Zeit für den einzelnen Handel in sehr hoher Zeitauflösung zu kennen. Um dieses Ziel zu erreichen, befindet sich auf der Kommunikationskarte optional ein Zeitgeber.
Der dritte Aspekt betrifft auch ein Netzwerkinterface (insbesondere Netzwerkkarte) für eine solche Händlerdatenverarbeitungseinrichtung.
Ebenfalls in Ausführungsformen des ersten, zweiten und/oder dritten Aspekts können, jeweils allein oder in beliebigen Kombinationen, folgende Merkmale vorgesehen sein:
Das Handelssystem kann baumartig-hierarchisch mit mehreren Ebenen aufgebaut sein, wobei die Netzwerkknoten der Ebenen jeweils durch
Switches mit je mindestens einer „uplink"- Verbindung und mehreren „downlink"- Verbindungen gebildet werden.
- Jede Händlerdatenverarbeitungseinrichtung ist durch dieselbe Anzahl von Ebenen (mit derselben Anzahl von Switches) mit der Handelsplattformdatenverarbeitungseinrichtung verbunden sind.
- Jede Händlerdatenverarbeitungseinrichtung verfügt über ein identisches Netzwerkinterface (eine identische Netzwerkkarte TB).
Um die Leistungsfähigkeit des Systems zu erhöhen, können auch mehrere Handelsplattformdatenverarbeituiigseinrichtungen (mehrere , Matcher' ) eingesetzt werden, wobei jede Handelsplattfonndatenverarbeitungseinrichtung für einen oder mehrere Titel verantwortlich ist. Die Weiterleitung an die zuständige/korrekten Handelsplattformdatenverarbeitungseinrichtung kann im „obersten" Netzwerkknoten (Switch) z.B. anhand der Zieladresse erfolgen.
Der„oberste" Netzwerkknoten kann über einen weiteren Ausgang verfügen, der alle relevanten Nacluichten, die durch den Netzwerlcknoten weitergeleitet werden, in einem Archiv A abspeichert. Mit anderen Worten wird Archivierungseinheit, welche die Aufträge und Transaktionen protokolliert, direkt am Netzwerkknoten (d.h. am Switch) der höchsten Ebene angeschlossen sein und nicht unbedingt am Matcher selbst.
Bei einer -- optionalen - Segmentierung des Matchers auf mehrere Matcher mit festen Zuständigkeiten ergibt sich ausserdem zwangslos eine zentrale Archivierung.
Ein solches Archiv kann bspw. dem „Back-Office" für die weitere Verarbeitung zur Verfügung stehen. Vorteil ist, dass die Handelsplattformdatenverarbeitungseinrichtung nicht mit der Archivierung belastet ist: die Daten werden dort vom quasi selbständigen Archiv abgegriffen, wo sie ohnehin vorbeifliessen. Dadurch wird der Matcher von einer an sich sehr wichtigen Aufgabe befreit, was sich sehr gut mit den anderen Massnahmen zur Steigerung der Geschwindigkeit ergänzt.
Alternativ kann jede Handelsplattformdatenverarbeitungseimichtung über ein eigenes Archiv (A*) verfügen.
Die Händlerdatenverarbeitungseinrichtungen führen Kopien der den jeweiligen Händlern interessierenden Teile des Auftragsbuchs - diese können das ganze Auftragsbuch umfassen. - Die Zeit zwischen Auftrag und Antwort des Handelssystems kann durch den genannten Zeitgeber genau gemessen werden, bspw. zum Zweck des Debugging.
- Das System kann eingerichtet sein, sämtliche offene Aufträge eines bestimmten Handelsteilnehmers in einem einzigen Auftrag umgehend aus dem System zu löschen (Mass Cancel MC).
Die Aufträge an die Handelsplattform können mit einer Zeitlimite vesehen werden und nach Ablauf der Zeitlimite automatisch gelöscht werden (Time- of-Life TOL).
- Bei Ausführungen des Systems als redundantes System kann seitens jedes
Händlers eine Einheit vorhanden sein, welche die erste gültige Nachricht weiterverarbeitet (bspw. weiterleitet) und identische Kopien unterdrückt.
Ebenfalls in Ausführun gsformen des ersten, zweiten und/oder dritten Aspekts kann vorgesehen sein, dass sämtliche Berechtigungen des Händlers für jeden Auftrag in Echtzeit vor der Ausführung des Auftrags überprüft werden. Ergänzend oder alternativ kann vorgesehen sein, dass die relevanten Limiten für jeden Handelsteilnehmer (z.B. der Gesamtwert sämtlicher im Buch stehender Aufträge etc.) in Echtzeit vor der Ausführung des Auftrags nachgeführt und überprüft werden. Diese beiden je einzeln oder in Kombination realisierbaren Massnalimen dienen der möglichen Selbstregulierung im Handel.
Nachfolgend werden Prinzipien und Ausführungsbeispiele der Erfindung anhand von schematischen Zeichnungen beschrieben. Es zeigen: - Fig. 1 eine Darstellung eines Börsenhandelssystems;
- Fig. 2 Elemente eines Switches S, einer
Handelsplattformdatenverai-beitungseinrichtung und von Händlerdatenverarbeitungseimichtungen;
Fig. 3 ein redundantes System;
Fig. 4 Elemente eines Netzwerkinterfaces;
- Fig. 5 Elemente einer Handelsplattformdatenverarbeitungseinrichtung; und
- Fig. 6 schematisch Elemente eines Matchers.
Eine für die schnelle Kommunikation für Börsensysteme günstige Netzwerkarchitektur ist in Fig. 1 dargestellt. Es handelt sich dabei um ein hierarchisches Netzwerk, das optimal an die Kommunikationsbedürfnisse in Börsenanwendungen angepasst ist. Im gezeichneten Ausfuhrungsbeispiel sind mehrere Handelsplattformdatenverarbeitungseimichtungen (Matcher M[ . ..Mm) vorhanden, d.h. die Funktion des Matchers ist auf mehrere Matcher aufgeteilt ist. Jeder Matcher ist dann für einen oder mehrere Titel verantwortlich. Die Weiterleitung an den korrekten Matcher kann durch den zentralen Switch S0 beispielsweise anhand der Zieladresse erfolgen. So ist der zentrale Switch, über den die Händlerdatenverarbeitungseinrichtungen (hier als Clients (Ct, ... Ck) bezeichnet) mit dem Matcher kommunizieren. Im dargestellten Ausfuhrungsbeispiel ist ausserdem eine optionale weitere Switch-Ebene mit dezentralen Switches S gezeiclinet, wobei an jedem dieser dezentralen Switches mindestens eine Händlerdatenverarbeitungseinrichtung (im allgemeinen mehrere Händlerdatenverarbeitungseimichtungen) angehängt sind. Es ist auch eine Ausweitung auf noch weitere Ebenen und entsprechend noch weiter baumartig verzweigte Architektur möglich. Der Ansatz mit den dezentralen Switches ermöglicht eine gute Skalierbarkeit und kann dann angezeigt sein, wenn der zentrale Switch physisch nicht genug Interfaces zu allen Händlern aufweist. Es kann vorteilhaft sein, wenn jeder Händler über die gleiche Anzahl Ebenen mit dem zentralen Switch verbunden ist, da dann die Weiteiieitungszeiten ungefähr identisch sind und beim vorstehend diskutierten Ansatz mit einer Sortierung entsprechend einer Zeitangabe die Wartezeit bevor eine Nachricht (bspw. Auftrag) nach oben weitergeleitet wird kürzer gehalten werden kann.
In der Figur 1 bezeichnet TB die Netzwerkinterfaces (Trader Boards) der Händlerdatenverarbeitungseimichtungen. Di steht für die sogenannten Downlinks der Switches, U bzw. U, für den jeweiligen Uplink.
Der oberste Switch (d.h. der oberste Netzwerkknoten) kann ausserdem optional über einen weiteren Ausgang verfügen, der alle relevanten Nachrichten, die durch diesen Switch weitergeleitet werden, in einem Archiv A abspeichert und so diese Informationen bspw. dem Auftragsnachbearbeitungssystyem (Backoffice) für die weitere Verarbeitung zur Verfügung stellen. Diese Option existiert unabhängig davon, ob nur ein Matcher oder wie in Figur 1 mehrere Matcher verwendet werden. Bei der Verwendung von mehreren Matchern ist sie jedoch besonders günstig, weil sie eine zentrale Archivierung ermöglicht. Alternativ oder ergänzend kann auch jeder Matcher über ein eigenes Archiv A, (in Fig. 1 in der obersten Ebene eingezeichnet) verfügen.
Die Innenschaltung eines Switches S ist in Fig. 2 symbolisch gezeichnet. Der in Fig. 2 gezeichnete Aufbau wird bspw. insbesondere im Switch der obersten Ebene, d.h. dem obersten Netzwerkknoten verwendet. Optional können auch Switches der darunterliegenden Ebenen - sofern vorhanden - entsprechend ausgestaltet sein, wobei mindestens die Broadcast-Funktion auch auf den eventuellen darunterliegenden Ebenen implementiert sein sollte.
Auch Fig. 2 enthalten generell zu sogenannten „Uplinks" (in Richtung Matcher) gehöhrendc Bausteine ein ,,U" in der Bezeichnung, und zu„Downlinks" (in Richtung Händler) gehörende Bausteine ein„D'\
In Fig. 2 ist nur ein Matcher M gezeichnet; bei einer Aufteilung der Matcher- Funktion auf mehrere Matcher findet auf der Uplink-Seite des Switches noch eine Aufteilung anhand der Adressen statt.
In der in Figur 2 dargestellten Auslührungsform sind im Switch unterschiedliche Pfade für Datenströme von den Händlern in Richtung Matcher einerseits und vom Matcher (Ausführungsformen mit mehreren Matchem sind in diesem Text jeweils mitgemeint) zu den Händlern andererseits vorhanden.
Eine Nachricht (Datenpaket; insbesondere mit einem Auftrag) wird von der Händlerdatenverarbeitungseinrichtung (hier als Client Ci ...C„ bezeichnet) über einen Transmitter Tx (einem Senderbaustein) übertragen. Dabei findet beispielsweise eine Umwandlung in ein serielles Datenformat statt. Dieses wird im Switch S empfangen und bspw. wieder parallel gewandelt (KDRxo... KDRx,,) und in den Pufferspeicher (UBo...UBn) hineingeschrieben. Im gezeichneten Ausführungsbeispiel ist dabei jedem ersten Empfänger (KDRx0.... KDRxn; d.h. jedem Downlink) ein dedizierter Pufferspeicher zugeordnet. In alternativen Ausführungsformen wäre es auch möglich, eine zentrale Pufferung vorzusehen.
Der erste Arbiter UA entscheidet, welches Paket weitergeleitet wird und steuert dementsprechend den Multiplexer UM. Die Daten werden nun durch den ersten Switch-Transmitter KUTx wieder in ein serielles Protokoll umgewandelt, übertragen und von einem Matcher-Empfänger MRx wieder in ein paralleles Format gewandelt. Über einen optionalen Matcher-Pufferspeicher MB gelangt die Nachricht an den Matcher M.
Sendet nun der Matcher M eine Nachricht (bspw. die Quittierung eines Auftrags) an einen spezifischen Händler Co...Cn, so wird sie über einen Matcher-Transmitter MTx wieder in ein serielles Format umgewandelt, übertragen und vom zweiten Switch-Empfänger KURx empfangen und wieder in paralleles Format gewandelt. Der zweite Arbiter DA entscheidet nun, anhand der Adresse, welcher Händler CO... Cn die Nachricht erhalten soll und schliesst den entsprechenden Schalter DDo. DD1, ... oder DDn. Anschliessend wird die Nachricht über einen zweiten Switch- Transmitter KDTxo, ..KDTxn an den entsprechenden Händler-Empfänger RxO... Rxn übertragen und steht nun dem Händler Cn zur weiteren Verarbeitung zur Verfügung.
Neben der oben beschriebenen spezifischen Kommunikation zwischen dem Matcher und zu einem spezifischen Händler Co...Cn gibt es noch den Broadcast-Fall: Matcher zu allen Händlern Co...Cn. Dieser Fall unterscheidet sich zum spezifischen Fall nur dadurch, dass der zweite Arbeiter DA erkennt, dass es sich um eine Broadcast-Nachricht handelt und jetzt alle Schalter DDo...DDN schliesst, so dass schliesslich die Datenpakete an alle Händler C0...C11 übertragen werden.
Die in Figur 2 gezeichnete Schaltung entspricht gemäss dem zweiten Aspekt der Erfindung genau dem eingangs erwälinten Kommunikationsmuster. Die von den Arbitem UA, DA betätigten Schalter lassen Kommunikationen der drei Arten a) bis c) zu, nicht jedoch beispielsweise eine direkte Punkt-zu-Punkt-Kommunikation zwischen den Händlern.
Im gezeichneten Ausführungsbeispiel ist jede Händlerdatenverarbeitungseinrichtung mit einem Zeitgeber, hier in Form einer genau synchronisierten Uhr CLKo.. . CLKn ausgestattet. Die Zeilreferenz für diese Uhr kann dabei durch den Matcher oder den obersten Netzwerkknoten (den obersten Switch) vorgegeben werden, indem dieser periodisch Referenzzeitnachrichten aussendet, die dann die lokalen Uhren CLKo .. CLKn nachstellen. Der eigentliche Zeittakt kann dabei sowohl von einem lokalen Oszillator als auch vom globalen Netzwerktakt, der wiederum vom Matcher M vorgegeben wird, erzeugt werden. Im Ausfuhrungsbeispiel wird nun jede Nachricht vom Client C0...C11 mit einem Zeitstempel versehen, und das Netzwerksystem sorgt dafür, dass ältere Nachrichten immer zuerst beim Matcher eintreffen; das Netzwerk "sortiert" also die Nachrichten anhand der Zeit. Diese Funktion erfolgt hier dadurch, dass der erste Arbiter UA die ältere Nachricht zuerst weiterleitet. Damit diese Auswahl fair abläuft, muss er mindestens die Zeit (Wartezeit) abwarten, die durch ungleiche Bauweisen (z. B. Kabellängen, Bausteintoleranzen) entstehen. Erst dann darf er seine Entscheidung treffen. Auf jedem Uplink oder mindestens auf dem Uplink des obersten Netzwerkknotens sind die Nachrichten also streng nach der Zeit geordnet und treffen damit in der zeitlich richtigen Reihenfolge (auch über mehrere Switch-Ebenen) beim Handelssystem M ein. Dieses optionale Prinzip der Zeitsortierung ist mit jedem der Aspekte 1 bis 3 kombinierbar.
Auch in einer solchen Architektur könnte es immer noch vorkommen, dass einzelne Händler Co . , . Cn sehr viele Nachrichten absetzen und so ein Switch S überlastet wird. Dies würde sich durch einen Pufferspeicher-Überlauf in einem der Pufferspeicher UBo...UBn äussern. Um dies zu verhindern kann optional ein Kreditsystem eingeführt werden: Das Handelssystem vergibt für alle Händler C0. . . C11 Kredite. Ein Kredit erlaubt es dem Händler einen Auftrag (oder allgemeiner: eine Nachricht) zu senden. Die Anzahl der Kredite ist so gross, dass bei unbelastetem System ein einzelner Händler immer noch mit voller Geschwindigkeit arbeiten kann, und auch bei hoch belastetem System die einzelnen Pufferspeicher nicht überlaufen. Pro Nachricht wird ein Kredit abgebucht und erst wieder gutgeschrieben, wenn die Nachricht vom Matcher an den. Händler quittiert wurde.
Die Pfeile unten in Fig.2 deuten die Verwendung einer lokalen Zeitbasis an für ein Versehen der Datenpakete mit einer Zeitangabe vor dem Versand, wie vorstehend geschildert. Während in Fig. 2 Empfänger und Transmitter der Händlerdatenverarbeitungseinrichtungen separat gezeichnet sind, können sie in Realität in ein und demselben Hardwarebauteil realisiert sein, bspw. als separat konfigurierte Einheiten in ein und demselben FPGA.
Ein redundantes System zeigt Fig. 3. Das Prinzip der Redundanz ist hier anhand eines Ausfülii-ungsbeispiels aufgezeigt, bei welchem der Matcher für alle Titel zuständig ist. Die Übertragung auf ein System wie in Fig. 1 dargestellt mit Matchern Mi, .... Mm mit unterschiedlichen Zuständigkeiten ist ohne weiteres möglich, wobei dann mindestens ein Matcher, vorzugsweise alle Matcher doppelt vorhanden und je mit beiden obersten Netzwerkknoten SQ.O, SQ,O verbunden sind. Sofern ein Archiv A am obersten Netzwerkknoten angeschlossen ist, kann auch dieses redundant, d.h. doppelt ausgeführt sein.
In Fig. 3 ist sowohl der Matcher M auf M* verdoppelt, als auch das Netzwerk mit den Switches Sij mit Sij*. Einer der beiden Matcher M oder M* kann dabei (in entsprechenden Ausfuhrungsbeispielen) die Zeit vorgeben (Zeitmaster, d.h. sowohl den Netzwerktakt wie auch die Referenzzeit); der andere Matcher übernimmt dann diese. Beim Ausfall eines Matchers wird er andere Matcher zum Zeitmaster, wenn er nicht bereits vorher schon der Zeitmaster war. In der eigentlichen Auftragsverarbeitung sind beide Matcher vollkommen identisch aufgebaut, und in beiden findet unabhängig vom anderen die Auftragsbuchführung und Auftragsausführung statt.
Um zu gewährleisten, dass beide Handelssysteme auch bei einem Teilausfall des Netzwerkes über alle Information verfügen, werden hier die empfangenen Nachrichtenströme an das jeweils andere Handelssystem weitergeleitet (PS(t) und PS*(t)). Damit durch die Übertragung die eigenen Nachrichtenströme nicht bevorzugt werden, werden sie um eine Verzögerungszeit TD bzw. TD* verzögert. Die Priorisierer P und P* sorgen nun dafür, dass Nachrichten mit früheren Zeitangaben zuerst genommen werden. Zudem werden im Priorisierer P identische Nachrichten (die über die 2 unabhängigen Netzwerke kommen) unterdrückt. So kann garantiert werden, dass zu den eigentlichen Handelssystemen M und M* identisch, zeitlich geordnete Nachrichtenströme übertragen werden.
In Figur 4 ist schematisch ein Netzwerkinterface (hier als Netzwerkkarte; Trader Board TB ausgebildet) gezeichnet, wie sie bspw. jede Händlerdatenverarbeitungseinrichtung identisch aufweist. WI (Workstation Interface) bezeichnet die Schnittstelle zur zentralen Einheit hin, NI die Schnittstelle zu den Netzwerkknoten des Handelssystems. In der gezeichneten Ausführungsform ist das Netzwerkinterface für ein redundant ausgelegtes Handelssystem eingerichtet und weist entsprechend zwei Schnittstellen NI und ΝΓ auf, die zur Anbindung an je einen Netzwerkknotenpunkt (Switch) des redundanten Systems vorgesehen sind. Da aufgrund einer solchen optionalen redundanten Auslegung eingehende relevante Nachrichten - bspw. die Quittierung eines Auftrags, Nachrichten über einen abgeschlossenen Handel oder Nachrichten über den Zustand des Auftragsbuchs - im Allgemeinen zweifach eintreffen, wird ein Eingangsfilter (F First) dafür sorgen, dass identische Nachrichten nicht zweimal weitergegeben werden, d.h. die erste gültige Nachiicht weiterleitet und alle weiteren Kopien unterdrückt. Eingehende Nachrichten können über den Read Bus RB wie an sich bekannt von der zentralen Einheit gelesen und verarbeitet werden.
Die zentrale Speicherung von Titeln findet im OB (Order Book) statt und wird von der dedizierten Logik basierend auf den eintreffenden Nachrichten (Market Updates) permanent nachgefühlt.
Gemäss dem dritten Aspekt der Erfindung verfügt das Netzwerkinterface (Netzwerkkarte) jeder Händlerdatenverarbeitungseinrichtung jedoch ausserdem über einen Speicher UM für die für den entsprechenden Händler relevanten Titel sowie über eine schnelle programmierbare als dedizieitc Logikschaltung ausgeführte Recheneinheit UF (User FPGA). So wird der Händler in die Lage versetzt, noch schneller auf Ereignisse an der Börse zu reagieren.
Weiterführende (zusätzlich zum Aufdatieren des Auftragsbuchs (OB)) und kundenspezifi sehe Logik (insbesondere Algorithmen) wird im Speicher UM und der Recheneinheit UF integriert. Die Datenflusskontrolleinheit FC realisiert eine Flusskontrolle, um den vorstehend diskutierten optionalen Überlastungsschutz basierend auf Krediten zu realisieren. Nur eine bestimmte Anzahl unquittierter Aufträge wird erlaubt, bevor die Händlerdatenverarbeitungseinrichtung weitere Aufträge verweigert.
Im gezeigten Beispiel verfugt das Netzwerkinterface über mindestens einen Netzwerkinterface-Bus, der hier funktionell auf einen Schreibbus (,write bus') und einen Lesebus (.read bus') aufgeteilt ist. Über den Bus werden einerseits vom Netzwerk eingehende Nachrichten an die zentrale Einheit weitergeleitet und andererseits Nachrichten (Aufträge oder dergleichen) von der zentralen Einheit ans Netzwerk (spezifisch: die Netzwerkschnittstelle) weitergeleitet. Die als dedizierte Logikschaltung ausgebildete Recheneinrichtung ist direkt auf diesem Bus angeordnet, d.h. sie ist befähigt, sowohl über den Bus laufende Daten zu lesen als auch Daten über diesen an andere Einheiten zu schreiben.
Der Netzwerkinterface-Bus ist vom Bus der zentralen Einheit (WCB Workstation Communications Bus) verschieden, wobei eine Schnittstelle (WI Workstations Interface) die beiden Bus-Systeme verbindet. Das bedeutet, dass der interne Datenaustausch der zentralen Einheit - bspw. zwischen deren CPU und Peripherie oder Datenspeichern - den Netzwerkinterface-Bus nicht belastet.
Mit Hilfe der Alarmeinheit (AL) kann die Händlerdatenverarbeitungseimichtung ausserdem äusserst zeitnah informiert werden, wenn ein bestimmtes Ereignis eintrifft (z.B. wurde ein vorbestimmter Kurswert erreicht). Mit dieser Zusatzfunktion der Händlerkarte kann die Händlerdatenverarbeitungsemrichtung zusätzlich entlastet werden. Oft ist es für den Händler wünschenswert, die Zeit für den einzelnen Handel in sehr hoher Zeitauflösung zu kennen. Um dieses Ziel zu erreichen, befindet sich auf dem Netzwerkinterface TB optional ein Zeitgeber CL - dabei kann es sich bspw. um einen Zeitgeber CLK der vorstehend beschriebenen Art und Funktion handeln, oder auch um einen separaten Timer. Wenn der Händler sehr schnell auf eine Veränderung auf dem Markt reagieren will, so n iss er die Daten auf dem Netzwerkinterface zuerst an die Händlerdatenverarbeitungseimichtung übertragen, sie dort verarbeiten und anschliessend wieder auf das Netzwerkinterface zurück schreiben.
Figur 5 zeigt ein Ausführungsbeispiel einer Handelsplattform (Netzwerkknoten (Switches) sind nicht gezeiclinet). Dabei bezeichnet OB den Datenspeicher mit dem Auftragsbuch, MA den eigentlichen Matcher, dessen steuernde Einheit gemäss dem ersten Aspekt der Erfindung als dedizierte Logikschaltung, insbesondere als FPGA ausgeführt ist. Mit dem Matcher verbunden und bspw. hardwaremässig mit diesem integriert sind eine Synchronisationseinheit SY Sync, die zusammen, mit der entsprechenden Einheit des anderen Matchers in einem System mit zwei redundanten Matchern (Fig. 3) die gegenseitige Überwachung und Synchronisation der zwei Matcher koordiniert, ein Stop-Detektor SD und ein Avalanche-Detektor AD (Detektor von Nachrichtenlawinen).
Eingangsseitig werden die Nachrichten zunächst optional durch einen Eingangsfilter (F First) und/oder einen Verifikationsprozessor VP , der die Berechtigung des Kunden geprüft wird, einen bestimmen Auftrag auszuführen, geschleust und/oder auch einem Time-of-Life Processor (TOL), der Aufträge und nach Ablauf einer Zeitlimite automatisch löscht, werden zur Verfügung gestellt und/der eine Mass Canccl Einheit kann eingreifen, um sämtliche offene Aufträge eines bestimmten Handelsteilnehmers in einem einzigen Auftrag umgehend aus dem System zu löschen. Ausgangsseitig kann eine oder mehrere der folgenden Einheiten vorhanden sein:
- eine Schreib-Ereignisprotokolldatei (WL Write Log; dient dem Logging für das Auftragsnachbearbeitungssystyem (Backoffice))
- eine Auftragsantworteinheit (OR Order response; erzeugt , private' (nur für eine Händlerdatenverarbeitungseinrichtung bestimmte) Meldungen zu einem
Auftrag);
- eine Marktaktualisierungseinheit (MU Market Update; erzeugt Meldungen an alle zu einem bestimmten Auftrag)
In Figur 5 ist die Handelsplattformdatenverarbeitungseimichtung mit zwei Netzwerkinterfaces NI Port, ΝΓ Port) gezeichnet, d.h. sie ist für ein redundantes System ausgelegt, wie in Fig. 3 dargestellt.
Figur 6 zeigt sehr schematisch den Matcher M. Dieser weist nebst der steuernden Einheit SE, die als dedizierte Logikschaltung, insbesondere als FPGA, ausgeführt ist, einen Datenspeicher auf. Dieser kann als RAM ausgebildet sein und/oder optional auf verschiedene physische Einheiten verteilt sein. Verschiedene RAM- Technologien können verwendet und gegebenenfalls miteinander kombiniert werden, bspw. SDRAM, QDRI I, SRAM, wobei bspw. SDRAM als der eigentliche Datenspeicher und QDRII und/oder SRAM für Beschleunigerstrukturen verwendbar sind. Auch die Verwendung anderer Speicher wie bspw. SSD ist nicht ausgeschlossen. Der Datenspeicher bzw. Einheiten davon können physisch mit der dedizierten Logikschaltung integriert und/oder von dieser separat, bspw. auf einer Platine, vorhanden sein. - 3 -
Der Datenspeicher enthält das Auftragsbuch, das von der steuernden Einheit bewirtschaftet wird. Trifft vom Switch her ein Auftrag ein, gleicht die steuernde Einheit diesen mit den im Auftragsbuch vorhandenen Daten ab. Falls ein mindestens teilweise passender Auftrag vorhanden ist, werden die passenden Aufträge ausgeführt; dies wird an die beiden Auftraggeber quittiert und ans Auftragsnachbearbeitungssystem BO übermittelt sowie anonymisiert per Broadcast an alle Teilnehmer. Falls der einkommende Auftrag mangels passender abgespeicherter Aufträge nur teilweise oder gar nicht ausgeführt werden kann, wird er im Datenspeicher abgelegt. Auch dann wird sein Eingang - aber selbstverständlich nicht die Ausführung - quittiert. Der Vorgang des Abgleichs eingehender Aufträge mit abgespeicherten Aufträgen nach vorgegebenen Regeln ist die Kernaufgabe des Matchers.

Claims

PATENTANSPRÜCHE
Elektronische Plattform für den Börsenliandel für eine Mehrzahl von mit der Plattform in Kommunikationsverbindung stehenden
Händlerdatenverarbeitungseinrichtungen, wobei die Plattform eine Handelsplattformdatenverarbeitungseinrichtung mit Speichermitteln und einer steuernden Einheit aufweist, wobei die steuernde Einheit dazu ausgebildet ist, von einer der Händlerdatenverarbeitungseim chtungen erzeugte Nachrichten, welche Aufträge enthalten, zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen und den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren, solche eingegangene Nachrichten an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Broadcast-Nachrichten mit Informationen über ausgeführte Aufträge und/oder in den Speichermitteln abgespeicherte Aufträge an eine Mehrzahl von angeschlossenen Händlerdatenverarbeitungseinrichtungen abzusenden, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln, dadurch gekennzeichnet, dass die steuernde Einheit der Handelsplattformdatenverarbeitungseiniichtung als dedizierte Logikschaltung ausgebildet ist.
Plattform nach Anspruch 1, dadurch gekennzeichnet, dass die dedizierte Logikschaltung ein Field Programmable Gate Array (FPGA) ist.
3. Plattform nach Anspruch 1, dadurch gekennzeichnet, dass die dedi zierte Logikschaltung eine anwendungsspezifische integrierte Schaltung (ASIC) ist.
4. Plattform nach einem der vorangehenden Ansprüche, aufweisend mindestens einen Switch, über welchen die Handelsplattfonndatenverarbeitungseinrichrung mit einer Mehrzahl von
Händlerdatenverarbeitungseinrichtungen verbindbar ist, die befähigt sind, Nachrichten mit darin enthaltenen Aufträgen an die Handelsplattform abzugeben.
5. Börsenhandelsplattform nach Anspruch 4, wobei eine Schaltlogik des mindestens einen Switches nur Nachrichten von einer
Händlerdatenverarbeitungseinrichtung an die
Handelsplattformdatenverarbeitungseinrichtung, von der
Handelsplattformdatenverarbeitungseinrichtung an eine bestimmte Händlerdatenverarbeitungseinrichtung und von der Handelsplattform- datenverarbeitungseinrichtung an alle Händlerdatenverarbeitungseinrichtungen zulässt.
6. Elektronische Plattform für den Börsenhandel, insbesondere nach einem der vorangehenden Ansprüche, aufweisend:
• eine Handelsplattformdatenverarbeitungseinrichtung mit Speichermitteln und einer steuernden Einheit und mindestens einen Switch, über welchen die
Handelsplattformdatenverarbeitungseinrichtung mit einer Mehrzahl von Händlerdatenverarbeitungseinrichtungen verbindbar ist, die befähigt sind, Nachlichten mit darin enthaltenen Aufträgen an die Handelsplattform abzugeben, wobei die die steuernde Einheit dazu ausgebildet ist, diese Nacliiichten zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen, den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren und das Abspeichern bzw. mindestens teilweise Ausführen an die Händlerdatenverarbeitungseinrichtung zu quittieren, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln; dadurch gekennzeichnet, dass eine Schaltlogik des mindestens einen Switches nur Nachrichten von einer FI ändlerdaten Verarbeitungseinrichtung an die HandelsplattlOrmdatenverarbeitungseinrichtung, von der Handelsplattformdatenverarbeitungseinirchtung an eine bestimmte Händlerdatenverarbeitungseimichtung und von der Handelsplattform- datenverarbeitungseimichtung an eine Gruppe von
Händlerdatenverarbeitungs-einrichtungen oder an alle
Händlerdatenverarbeitungs-einrichtungen zulässt.
Plattform nach Anspruch 5 oder 6, wobei der Switch für Datenströme von den Händlerdatenverarbeitungseinrichtungen in Richtung Handelsplattform- datenverarbeitungseinrichtung einerseits und von der Handelsplattformdaten- verarbeitungseimichtung in Richtung Händlerdatenverarbeitungseinrichtungen andererseits physisch verschiedene Pfade vorsieht, wobei ein erster Pfad von der Händlerdatenverarbeitungseinrichtung zur Handelsplattformdaten- verarbeitungseinrichtung eine Weiterleitung nur einer von einem der Eingänge kommenden Nachricht in Richtung Handelsplattformdatenverarbeitungs- einrichtung eiTnöglicht, während ein zweiter Pfad von der Handelsplattformdatenverarbeitungseimiclitung zu den Händlerdaten- verarb eitungseinrichtungen wahlweise eine Punkt- zu-Punkt-Verschaltung oder eine Broadcast-Verschaltung ermöglicht.
8. Plattform nach einem der Ansprüche 5 bis 7, wobei der Switch als dedizierte Logikschaltung ausgebildet ist.
9. Börsenhandelssystem für den elektronischen Handel an der Börse, aufweisend eine Plattform nach einem der vorangehenden Ansprüche sowie mindestens eine Händlerdatenverarbeitungseinrichtung, die befähigt ist, Nachrichten, welche Aufträge enthalten, an die Handelsplattform abzugeben und
Quittierungen und Zustandsinformation von der
Handelsplattformdatenverarbeitungseimichtung zu empfangen und zu verarbeiten.
10. Börsenhandelssystem nach Anspruch 9, wobei jede Händlerdatenverarbeitungseinrichtung eine zentrale Einheit mit einem zentralen Prozessor sowie ein Netzwerkinterface als Interface zur
Handelsplattform hin aufweist, und wobei die Netzwerkinterfaces aller Händlerdatenverarbeitungseinrichtungen identisch sind.
1 1. Netzwerkinterface für eine Händlerdatenverarbeitungseinrichtung, insbesondere für ein Börsenliandelssystem nach Anspruch 9 oder 10, wobei die
Händlerdatenverarbeitungseinrichtung eine zentrale Einheit mit einem zentralen Prozessor und zentralen Speichermitteln und mit einem Betriebssystem aufweist, wobei das Netzwerkinterface ausgebildet ist, mit der zentralen Einheit in Kommunikationsverbindung zu stehen und als Interface zur einer Handel splattform zu dienen, dadurch gekennzeichnet, dass das Netzwerkinterface Speichermittel zum Speichern von Zustandsdaten eines aktuellen Zustand des Börsenhandelssystems sowie eine Recheneinrichtung aufweist, wobei die Recheneinrichtung als dedizierte Logikschaltung ausgebildet ist, derart, dass die Recheneinrichtung befähigt ist, nach Vorgaben der zentralen Einheit in Abhängigkeit der Zustandsdaten Aufträge in der Form von Nachrichten an die Handelsplattform abzugeben.
12. Netzwerkinterface nach Anspruch 1 1 , ausgebildet als Netzwerkkarte.
13. N etz erkinter f ace nach Anspruch 11 oder 12, aufweisend eine Alarmeinlieit zum Informieren der zentralen Einheit wenn ein vorbestimmtes Ereignis eintritt.
14. Netzwerkinterface nach einem der Ansprüche 11 bis 13, aufweisend einen Zeitgeber.
15. Händlerdatenverarbeitungseinrichtung für ein Börsenhandelssystem nach Anspruch 9 oder 10, aufweisend eine zentrale Einheit mit einem zentralen Prozessor, zentralen Speichermitteln und einem Betriebssystem sowie ein mit der zentralen Einheit in Kommunikationsverbindung stehendes Netzwerkinterface nach einem der Ansprüche 10 bis 13.
16. Händlerdatenverarbeitungseimichtung nach Anspruch 15, wobei das Netzwerkinterface einen Netzwerkinterface-Datenbus aufweist und die zentrale Einheit einen zentralen Datenbus aufweist, wobei Netzwerkinterface-Datenbus und zentraler Datenbus voneinander verschieden sind, und wobei die Recheneinrichtung direkt vom Datenbus lesen und auf diesen schreiben kann.
Börsenliandelssystem, insbesondere nach Anspruch 9 oder 10, aufweisend eine Handelsplattform und eine Mehrzahl von
Händlerdatenverarbeitungseinrichtungen nach Anspruch 14 oder 15, wobei die Handelsplattform eine Handelsplattformdatenverarbeitungseinrichtung, aufweist, die befähigt ist, von einer der
Händlerdatenverarbeitungseinrichtungen erzeugte Aufträge in einem Auftragsbuch abzuspeichern oder bei einem passenden bereits im Auftragsbuch abgespeicherten Auftrag mindestens teilweise auszuführen, solche eingegangene Aufträge an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Nachrichten an eine Gruppe von angeschlossenen Händlerdatenverarbeitungs- einrichtungen oder alle angeschlossenen Händlerdatenverarbeitungseinrichtungen abzusenden.
18. Börsenhandelssystem nach einem der Ansprüche 9, 10 oder 17, wobei jede Häridlerdatenverarbeitungseinrichtung ein identisches Netzwerkinterface für die Kommunikation mit der Handelsplattform aufweist.
Börsenliandelssystem nach einem der Ansprüche 9, 10, 17 oder 18, aufweisend mehrere Ebenen von Switches, wobei jede
Händlerdatenverarbeitungseinrichtung über eine identische Anzahl von Switches mit der Handelspiattformdatenverarbeitungseinrichtung verbunden ist.
20. Börsenliandelssystem nach einem der Ansprüche 9, 10, 17, 18 oder 19, wobei melirere Handelsplattformdatenverarbeitungseimichtungen eingesetzt werden, wobei jede Handelsplattformdatenverarbeitungseinrichtung für einen oder mehrere gehandelte Titel verantwortlich ist.
21. Börsenliandelssystem nach einem der Ansprüche 9, 10, 17, 18, 19 oder 20, wobei ein zentraler Switch über einen Ausgang verfügt, der alle relevanten Nachrichten, die durch den Netzwerkknoten weitergeleitet werden, in einem Archiv A abspeichert.
PCT/CH2015/000083 2014-06-05 2015-06-03 Börsenhandelsplattform WO2015184557A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US15/315,408 US20170109825A1 (en) 2014-06-05 2015-06-03 Stock exchange trading platform
SG11201610187RA SG11201610187RA (en) 2014-06-05 2015-06-03 Stock exchange trading platform
EP15727866.4A EP3152731A1 (de) 2014-06-05 2015-06-03 Börsenhandelsplattform
US16/729,376 US20200349645A1 (en) 2014-06-05 2019-12-28 Stock exchange trading platform
US17/812,110 US20220343424A1 (en) 2014-06-05 2022-07-12 Stock exchange trading platform

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH00866/14 2014-06-05
CH00866/14A CH709741A1 (de) 2014-06-05 2014-06-05 Börsenhandelsplattform.

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/315,408 A-371-Of-International US20170109825A1 (en) 2014-06-05 2015-06-03 Stock exchange trading platform
US16/729,376 Continuation US20200349645A1 (en) 2014-06-05 2019-12-28 Stock exchange trading platform

Publications (1)

Publication Number Publication Date
WO2015184557A1 true WO2015184557A1 (de) 2015-12-10

Family

ID=51260533

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH2015/000083 WO2015184557A1 (de) 2014-06-05 2015-06-03 Börsenhandelsplattform

Country Status (5)

Country Link
US (3) US20170109825A1 (de)
EP (1) EP3152731A1 (de)
CH (1) CH709741A1 (de)
SG (1) SG11201610187RA (de)
WO (1) WO2015184557A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110137785A1 (en) * 2009-12-04 2011-06-09 Lutnick Howard W Multicomputer distributed processing of trading information
CA2960047C (en) * 2014-10-08 2024-04-30 Tsx Inc. Selective delayed and undelayed database updating
US20170004575A1 (en) * 2015-07-01 2017-01-05 Chicago Mercantile Exchange Inc. Dissemination of order status information present on an electronic exchange

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0411748A2 (de) * 1989-06-02 1991-02-06 Reuters Limited System zur Verbindung von Käufer und Verkäufer mit Risikominimierung
US20050074033A1 (en) * 2003-10-03 2005-04-07 Chauveau Claude J. Method and apparatus for measuring network timing and latency
US20080243675A1 (en) * 2006-06-19 2008-10-02 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices
WO2010077829A1 (en) * 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566218B2 (en) * 2008-10-07 2013-10-22 Chicago Mercantile Exchange Inc. Systems and methods for matching one or more incoming order to a standing order as a function of an inner market parameter
US8515858B2 (en) * 2011-05-19 2013-08-20 Omx Technology Ab Method and arrangement for pre-match risk validation of orders in an automated exchange
US20140143121A1 (en) * 2012-02-23 2014-05-22 Rexante Systems, Inc. System and Method for Programming a Trading System
US8655769B2 (en) * 2012-03-16 2014-02-18 Cape City Command, Llc Method and system for improving equity trade order acknowledgement times
US11436672B2 (en) * 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US10121196B2 (en) * 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0411748A2 (de) * 1989-06-02 1991-02-06 Reuters Limited System zur Verbindung von Käufer und Verkäufer mit Risikominimierung
US20050074033A1 (en) * 2003-10-03 2005-04-07 Chauveau Claude J. Method and apparatus for measuring network timing and latency
US20080243675A1 (en) * 2006-06-19 2008-10-02 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices
WO2010077829A1 (en) * 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTIAN LEBER ET AL: "High Frequency Trading Acceleration Using FPGAs", FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2011 INTERNATIONAL CONFERENCE ON, IEEE, 5 September 2011 (2011-09-05), pages 317 - 322, XP031977539, ISBN: 978-1-4577-1484-9, DOI: 10.1109/FPL.2011.64 *
GARETH W MORRIS ET AL: "FPGA Accelerated Low-Latency Market Data Feed Processing", HIGH PERFORMANCE INTERCONNECTS, 2009. HOTI 2009. 17TH IEEE SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 25 August 2009 (2009-08-25), pages 83 - 89, XP031528532, ISBN: 978-0-7695-3847-1 *
JOHN W LOCKWOOD ET AL: "A Low-Latency Library in FPGA Hardware for High-Frequency Trading (HFT)", HIGH-PERFORMANCE INTERCONNECTS (HOTI), 2012 IEEE 20TH ANNUAL SYMPOSIUM ON, IEEE, 22 August 2012 (2012-08-22), pages 9 - 16, XP032236263, ISBN: 978-1-4673-2836-4, DOI: 10.1109/HOTI.2012.15 *

Also Published As

Publication number Publication date
CH709741A1 (de) 2015-12-15
SG11201610187RA (en) 2017-01-27
EP3152731A1 (de) 2017-04-12
US20200349645A1 (en) 2020-11-05
US20170109825A1 (en) 2017-04-20
US20220343424A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
DE112009002716B4 (de) Verbessertes automatisches Handelssystem
DE69907776T2 (de) Verfahren und Vorrichtung zur Identifizierung gefährdeter Bauteile in einem System mit redundanten Bauteilen
DE102019122363A1 (de) Programmierbare doppelreihige arbeitsspeichermodul-beschleunigerkarte (dimm-beschleunigerkarte)
DE3134428T1 (de) Cached multiprocessor system with pipeline timing
EP3152732A1 (de) Börsenhandelssystem
DE19924922A1 (de) System und Verfahren für Nachrichtenübermittlung zwisfchen Netzwerkknoten, die durch parallele Verbindungen verbunden sind
DE602005004508T2 (de) Speichersystem und Speichersteuerverfahren
DE3127349A1 (de) Signalverarbeitungssystem mit verteilten elementen
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE112010002178T5 (de) Verfahren und vorrichtung für id-basierte ströme über pci-express
US20220343424A1 (en) Stock exchange trading platform
DE112012004551T5 (de) Mehrkernverknüpfung in einem Netzprozessor
DE2443579B2 (de) Asynchroner Arbiter
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE112019003854T5 (de) Flusssteuerungssichtbarkeit
EP3152884B1 (de) Verfahren zur weiterleitung von daten zwischen computersystemen, computernetz-infrastruktur sowie computerprogramm-produkt
DE112004002043T5 (de) Verfahren, System und Programm zum Aufbau eines Pakets
DE102012017339B4 (de) Rechnersystem
DE112016004362T5 (de) Niederlatenz-internode-kommunikation
DE102022200763A1 (de) System und verfahren für kundenspezifische erinnerungen
DE102016207144B4 (de) Auswertungssystem
DE10310055A1 (de) Systeme und Verfahren zum Erfassen und Kompensieren von Kleinblockdatenübertragungen
DE102005008778B4 (de) System und Verfahren zum Verändern einer Buskonfiguration
DE3247083A1 (de) Mehrprozessorsystem
DE112013003924B4 (de) Nichttransitorisches computerlesbares Medium, Verfahren und prozessorbasiertes System zur Verarbeitung von Nachrichtenkanal-Transaktionen in einem Prozessorbasiertem System ohne Durchführung von Blockierungsoperationen

Legal Events

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

Ref document number: 15727866

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15315408

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015727866

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015727866

Country of ref document: EP