NL2004104C2 - DISTRIBUTED TRADE SYSTEM. - Google Patents

DISTRIBUTED TRADE SYSTEM. Download PDF

Info

Publication number
NL2004104C2
NL2004104C2 NL2004104A NL2004104A NL2004104C2 NL 2004104 C2 NL2004104 C2 NL 2004104C2 NL 2004104 A NL2004104 A NL 2004104A NL 2004104 A NL2004104 A NL 2004104A NL 2004104 C2 NL2004104 C2 NL 2004104C2
Authority
NL
Netherlands
Prior art keywords
engine
software
trading
financial transaction
transaction
Prior art date
Application number
NL2004104A
Other languages
Dutch (nl)
Inventor
Mark Smeets
Original Assignee
Global Connect B V
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 Global Connect B V filed Critical Global Connect B V
Priority to NL2004104A priority Critical patent/NL2004104C2/en
Application granted granted Critical
Publication of NL2004104C2 publication Critical patent/NL2004104C2/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

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)

Description

Gedistribueerd handelssvsteem Gebied van de uitvindingField of the Invention Distributed Trading System

De onderhavige uitvinding heeft betrekking op een handelssysteem voor het 5 handelen in financiële instrumenten, zoals aandelen op verschillende beursvloeren.The present invention relates to a trading system for trading in financial instruments, such as shares on different stock exchange floors.

Stand van de techniekState of the art

Amerikaans octrooischrift US-A-2008/0033865 openbaart een elektronisch handelssysteem waarop een auto-arbitrage werkwijze wordt uitgevoerd. Een veelvoud 10 van ‘trader’ terminals is via een computernetwerk verbonden met een computer. De computer is ingericht om op basis van data die van de ‘trader’ terminals wordt ontvangen (bied- en laatprijzen voor een financieel instrument) automatisch arbitragekansen te detecteren en zelfs uit te voeren (mits een handelaar dat vooraf heeft toegestaan). Dit document biedt geen verdere details m.b.t. onderlinge locaties van 15 onderdelen van het systeem, snelheid van de verbindingen daartussen of de omzetting van data.United States Patent US-A-2008/0033865 discloses an electronic trading system on which an auto-arbitration process is performed. A multiplicity of 10 "trader" terminals is connected to a computer via a computer network. The computer is designed to automatically detect and even execute arbitrage opportunities based on data received from the "trader" terminals (bid and ask prices for a financial instrument) (if a trader has allowed this in advance). This document offers no further details with regard to mutual locations of parts of the system, speed of the connections between them or the conversion of data.

Samenvatting van de uitvindingSummary of the invention

De onderhavige uitvinding tracht een verbeterd handelssysteem voor het 20 uitvoeren van arbitrage te verschaffen, waarbij de betrouwbaarheid en robuustheid van het handelssysteem verbeterd wordt. Bij het hierboven genoemde handelssysteem wordt gebruik gemaakt van uitgebreide computernetwerken, waarbij een computer van een handelaar soms via vele andere computers in het netwerk verbonden is met de uiteindelijke ‘beurs’ terminals. Dit brengt vertragingen in de uitwisseling van data met 25 zich mee, waarbij de vertragingen ook niet voorspelbaar zijn.The present invention seeks to provide an improved trading system for performing arbitration, thereby improving the reliability and robustness of the trading system. The aforementioned trading system uses extensive computer networks, whereby a trader's computer is sometimes connected to the final "stock exchange" terminals via many other computers in the network. This entails delays in the exchange of data, whereby the delays are also not predictable.

Volgens de onderhavige uitvinding wordt een handelssysteem verschaft voor het uitvoeren van een financiële transactie, omvattende • een of meer handelsmachines met een of meer engines die ieder zijn ingericht voor het automatisch genereren van een financiële transactie en 30 het verzenden van een financiële transactie-instructie naar ten minste één elektronische exchange via een ingangscommunicatielijn van de elektronische exchange en het ontvangen van een bevestigingssignaal van 2 de ten minste ene elektronische exchange na voltooiing van de financiële transactie via een uitgangscommunicatielijn van de elektronische exchange, • een monitorsysteem dat voor iedere engine een bijbehorende monitor-instantie omvat, 5 waarbij elke handelsmachine is ingericht als een computersysteem met een processor en geheugen welk geheugen voor implementatie van elke engine enginesoftware en engineparameterwaarden heeft opgeslagen voor het automatisch besturen van een financiële transactie, en waarbij het monitorsysteem eveneens is ingericht als een computersysteem met 10 een monitorsysteemprocessor en een monitorsysteemgeheugen met monitorsoftware, die het een gebruiker mogelijk maakt iedere monitor-instantie te creëren, waarbij elke monitor-instantie een kopie omvat van de enginesoftware en engineparameterwaarden van de bijbehorende engine, en de monitorsoftware het tijdens bedrijf de monitorsysteemprocessor mogelijk maakt om: 15 • een gebruiker veranderingen te laten aanbrengen in de voor de monitor- instantie opgeslagen kopieën van de enginesoftware en engineparameterwaarden en • aldus verkregen geactualiseerde enginesoftware en engineparameterwaarden te laden op de bijbehorende engine 20 en waarbij iedere enginesoftware het de processor van de handelsmachine mogelijk maakt om: • de geactualiseerde enginesoftware en engineparameterwaarden, na ontvangst daarvan, automatisch te gebruiken voor het besturen van de financiële transactie.According to the present invention, a trading system is provided for executing a financial transaction, comprising: one or more trading machines with one or more engines each arranged to automatically generate a financial transaction and to send a financial transaction instruction to at least one electronic exchange via an input communication line from the electronic exchange and receiving a confirmation signal from the at least one electronic exchange after completion of the financial transaction via an output communication line from the electronic exchange, • a monitoring system that has an associated monitor for each engine -including instance, wherein each trading machine is arranged as a computer system with a processor and memory, which memory for implementation of each engine engine software and engine parameter values has been stored for automatically controlling a financial transaction, and wherein the monitoring system is also arranged as a computer system with a monitoring system processor and a monitoring system memory with monitoring software, which allows a user to create each monitoring instance, wherein each monitoring instance comprises a copy of the engine software and engine parameter values of the associated engine, and the monitoring software enables the monitoring system processor during operation to: • have a user make changes to the copies of the engine software and engine parameter values stored for the monitor instance and • load updated engine software and engine parameter values thus obtained on the associated engine 20 and each engine software enabling the trading machine's processor to: • automatically use the updated engine software and engine parameter values to control the financial transaction upon receipt thereof.

2525

In een verder aspect betreft de onderhavige uitvinding een werkwijze voor het uitvoeren van een financiële transactie op een handelssysteem zoals hierboven gedefinieerd, welke werkwijze omvat: • het door een gebruiker veranderingen laten aanbrengen in de op de monitor- 30 instantie opgeslagen kopieën van de enginesoftware en engineparameterwaarden, • het laden van aldus verkregen geactualiseerde enginesoftware en engineparameterwaarden op de bijbehorende engine, en 3 • het door de bijbehorende engine automatisch gebruiken van de geactualiseerde enginesoftware en engineparameterwaarden, na ontvangst daarvan, voor het besturen van de financiële transactie.In a further aspect, the present invention relates to a method for executing a financial transaction on a trading system as defined above, which method comprises: • having a user make changes to the copies of the engine software stored on the monitor instance and engine parameter values, • loading updated engine software and engine parameter values thus obtained onto the associated engine, and 3 • the associated engine's automatic use of the updated engine software and engine parameter values, after receipt, for controlling the financial transaction.

5 In een verder aspect heeft de onderhavige uitvinding betrekking op een computeruitleesbaar medium voorzien van daarop opgeslagen door een computersysteem uitvoerbare instructies, die, wanneer de opgeslagen instructies worden ingeladen, het computersysteem de functionaliteit verlenen van de werkwijze volgens één van de uitvoeringsvormen van de onderhavige uitvinding.In a further aspect, the present invention relates to a computer-readable medium provided with instructions executable thereon by a computer system which, when the stored instructions are loaded, confer on the computer system the functionality of the method according to one of the embodiments of the present invention .

1010

Korte beschrijving van de tekeningenBrief description of the drawings

De onderhavige uitvinding zal nu in meer detail worden besproken aan de hand van een aantal voorbeelduitvoeringsvormen, met verwijzing naar de bijgevoegde 15 tekeningen, waarinThe present invention will now be discussed in more detail with reference to a number of exemplary embodiments, with reference to the accompanying drawings, in which

Fig. 1 een schematische weergave toont van een handelssysteem volgens een uitvoeringsvorm van de onderhavige uitvinding;FIG. 1 shows a schematic representation of a trading system according to an embodiment of the present invention;

Fig. 2 een schematische weergave toont van functionele componenten in het handelssysteem volgens Fig. 1 en 20 Fig. 3 een voorbeeld van een computersysteem toont.FIG. 2 shows a schematic representation of functional components in the trading system of FIG. 1 and 20. 3 shows an example of a computer system.

Gedetailleerde beschrijving van voorbeelduitvoeringsvormenDetailed description of exemplary embodiments

De onderhavige uitvinding heeft betrekking op een aantal uitvoeringsvormen van 25 een handelssysteem voor het handelen in een financieel instrument, zoals een aandeel. Een arbitrageur (die gebruik kan maken van een dergelijk handelssysteem) is iemand die van inefficiënties in de (financiële) markten gebruik maakt. Door prijzen van producten in de markt te vergelijken met eigen theoretische prijzen kunnen winstgevende transacties worden gesloten. Als voorbeeld, en rode draad door dit 30 verhaal, wordt het aandeel Nokia genomen. Het aandeel wordt verhandeld op zowel de Finse als de Duitse beurs. Omdat het om hetzelfde aandeel gaat moet in principe de prijs van dit aandeel op beide beurzen gelijk zijn. Maar om diverse redenen hoeft dit niet altijd het geval te zijn: stel dat in zowel in Finland als Duitsland er een bieding 4 staat voor 500 stukken op € 9.98, een bieding voor 500 stukken op € 9.99, een bieding voor 1000 op € 10.00, en een offer (er wordt aangeboden) van 500 stukken op € 10.01. In tabelvorm: € 10.01 [5ÖÖ 1000 € 10.00 1ÖÖ €9.99 1ÖÖ €9.98 5 Stel verder dat een partij in Finland 2000 stukken wil verkopen tegen 9.99. Dan wordt er gehandeld voor 1000 stukken op 10.00, 500 op 9.99 en het restant (500) wordt het nieuwe offer. Met andere woorden: in Finland staat nu een bieding van 500 op 9.98 en worden nu 500 stukken aangeboden op 9.99. Grafisch: € 10.01 |~5ÖÖ €9.99 5ÖÖ 1ÖÖ €9.98The present invention relates to a number of embodiments of a trading system for trading in a financial instrument, such as a share. An arbitrator (who can use such a trading system) is someone who makes use of inefficiencies in the (financial) markets. By comparing prices of products in the market with your own theoretical prices, profitable transactions can be concluded. The Nokia share is taken as an example and the common thread throughout this story. The share is traded on both the Finnish and German stock exchanges. Because it is the same share, the price of this share must in principle be the same on both exchanges. But for several reasons this does not always have to be the case: suppose in both Finland and Germany there is a bid 4 for 500 pieces at € 9.98, a bid for 500 pieces at € 9.99, a bid for 1000 at € 10.00, and an offer (offered) of 500 pieces at € 10.01. In table form: € 10.01 [5ÖÖ 1000 € 10.00 1ÖÖ € 9.99 1ÖÖ € 9.98 5 Suppose further that a party in Finland wants to sell 2000 items at 9.99. Then there is traded for 1000 pieces at 10.00, 500 at 9.99 and the remainder (500) becomes the new sacrifice. In other words: in Finland there is now a bid of 500 out of 9.98 and 500 pieces are now being offered out of 9.99. Graphic: € 10.01 | ~ 5ÖÖ € 9.99 5ÖÖ 1ÖÖ € 9.98

Het interessante is nu dat in Duitsland de markt nog steeds € 10.00 om € 10.01 is. 10 Met andere woorden: in Finland kan men kopen op € 9.99 en deze meteen verkopen in Duitsland voor € 10.00. Stel dat dit uitgevoerd wordt, dan voor 500 stukken, dan is de markt daarna in Duitsland: € 10.01 |~5ÖÖ ~5ÖÖ € 10.00 en in Finland: € 10.01 |~5ÖÖ 1ÖÖ €9.98 15The interesting thing now is that in Germany the market is still € 10.00 at € 10.01. 10 In other words: in Finland you can buy at € 9.99 and immediately sell it in Germany for € 10.00. Suppose that this is done, then for 500 pieces, then the market is then in Germany: € 10.01 | ~ 5ÖÖ ~ 5ÖÖ € 10.00 and in Finland: € 10.01 | ~ 5ÖÖ 1ÖÖ € 9.98 15

Nu is er geen arbitrage meer mogelijk. Hieruit blijkt dat wanneer er sprake is van “gratis geld”, deze situatie over het algemeen maar kort zal blijven bestaan; de markt corrigeert zichzelf.Now arbitration is no longer possible. This shows that when there is "free money", this situation will generally only last for a short time; the market corrects itself.

Ondertussen is 1 cent verdiend per aandeel, dus 5 euro. Ook al is er nu een 20 longpositie in Finland (een positief aantal aandelen in bezit) en een shortpositie inMeanwhile, 1 cent is earned per share, so 5 euros. Even though there is now a 20 long position in Finland (a positive number of shares held) and a short position in it

Duitsland (daar zijn als het ware stukken geleend), die cent is verdiend ongeacht wat de markt verder doet. Stijgt Nokia, dan zal het dat doen in zowel Duitsland als Finland.Germany (there are pieces borrowed, as it were), that penny is earned no matter what the market does. If Nokia rises, it will do so in both Germany and Finland.

55

Met andere woorden, wat dan verdiend wordt aan de stijging in Duitsland, wordt verloren aan de stijging in Finland.In other words, what is earned from the rise in Germany is lost from the rise in Finland.

De theoretische prijzen zijn vaak gebaseerd op de marktprijzen van gecorreleerde, andere producten. Normaal gesproken worden alle verschillen in prijzen 5 van de aan elkaar gecorreleerde producten vanzelf weg gearbitreerd; er is immers sprake van risicoloos geld verdienen. Door de opkomst van elektronische handel zijn de tijdspannes waarin de verschillen bestaan steeds korter geworden. Als gevolg hiervan moeten arbitrageurs op zoek naar steeds snellere manieren om verschillen te zien, interpreteren en uit te nutten.The theoretical prices are often based on the market prices of correlated, other products. Normally, all differences in prices of the 5 products that are correlated with each other are automatically arbitrated; after all, there is risk-free money. With the rise of electronic commerce, the time periods in which the differences exist have become increasingly shorter. As a result, arbitrators must look for ever faster ways to see, interpret, and utilize differences.

10 Naast de zoektocht voor meer snelheid is er ook een wens om meer markten te kunnen scannen. Dit levert meer producten op die in aanmerking kunnen komen voor arbitrage. Omdat de ene beurs niet de andere is, is het aansluiten op meerdere markten een interessant probleem, zeker wanneer die aansluitingen op een centrale plek bijeen moeten komen.10 In addition to the search for more speed, there is also a desire to be able to scan more markets. This yields more products that may be eligible for arbitration. Because one stock exchange is not the other, connecting to multiple markets is an interesting problem, especially when those connections have to come together at a central location.

15 Een derde uitdaging is het feit dat arbitrage niet helemaal risicoloos is: omdat er altijd sprake is van meerdere transacties per affaire bestaat het risico dat een van die transacties niet door kan gaan. Doordat de inefficiënties steeds kleiner zijn en korter duren, wordt dit probleem ook steeds groter. Het kan dus zijn dat wanneer een kans wordt gezien voor laten we zeggen 1000 stuks, er tegen de tijd dat de order bij de beurs 20 aankomt nog maar 250 stuks over zijn. De order voor de overige 750 stuks blijft dan in feite liggen op een goede prijs op dat moment. Het kan zijn dat enkele momenten later deze order bij uitvoering een slechte transactie zou zijn.15 A third challenge is the fact that arbitrage is not entirely risk-free: because there are always multiple transactions per affair, there is a risk that one of those transactions cannot go through. Because the inefficiencies are becoming smaller and shorter, this problem is also getting bigger. It may therefore be that when an opportunity is seen for, say 1000, there are only 250 left by the time the order arrives at the stock exchange 20. The order for the remaining 750 items will then in fact remain at a good price at that time. It may be that a few moments later this order would be a bad transaction during execution.

In de onderhavige uitvinding wordt een gedistribueerd genormaliseerd handelssysteem voorgesteld. Dit is een concept dat een grote snelheid naar de beurzen 25 toe biedt, en daarnaast alle beurzen er voor de gebruiker hetzelfde uit laat zien. Door innovatieve strategieën binnen dit handelssysteem kan ook het risico beperkt worden.In the present invention, a distributed normalized trading system is proposed. This is a concept that offers a great speed to the fairs, and also makes all fairs look the same for the user. The risk can also be limited by innovative strategies within this trading system.

Het proces van arbitrage dat wordt uitgevoerd in het onderhavige handelssysteem kan worden voorgesteld als: nieuwe marktprijs (1)—> evaluatie t.o.v. theoretische prijs (2) —> eventuele 30 orders komen aan op de beurs (3).The arbitration process carried out in the present trading system can be represented as: new market price (1) -> evaluation of the theoretical price (2) -> any 30 orders arrive on the stock exchange (3).

Dit proces moet zo kort mogelijk worden gehouden (in tijd). Ieder onderdeel kent zijn eigen redenen voor mogelijke traagheid. In tot nu toe bekende handelssystemen gelden de volgende observaties: Stap (1) van nieuwe marktprijs, die van een 6 elektronische exchange komt, naar evaluatie t.o.v. theoretische prijs wordt grotendeels bepaald door de geografische locatie van een elektronische exchange die op de beurs aanwezig is t.o.v. de machine waar de evaluatie plaatsvindt. De tijd (2) die nodig is voor evalueren wordt bepaald door de snelheid van de hardware en de efficiëntie van de 5 software waarmee de evaluatie plaatsvindt. De tijd die daarna nodig is (3) tot een eventuele order op de elektronische exchange aankomt wordt weer grotendeels bepaald door de afstand.This process must be kept as short as possible (in time). Each component has its own reasons for possible slowness. In trading systems known so far, the following observations apply: Step (1) from new market price, which comes from a 6 electronic exchange, to evaluation compared to theoretical price, is largely determined by the geographical location of an electronic exchange that is present at the fair compared to the machine where the evaluation takes place. The time (2) required for evaluation is determined by the speed of the hardware and the efficiency of the software with which the evaluation takes place. The time that is subsequently required (3) until a possible order arrives at the electronic exchange is again largely determined by the distance.

Een groot gedeelte van de tijd die het proces in beslag neemt, wordt dus bepaald door de locatie van de beurs t.o.v. die van de machine waar de evaluatie plaatsvindt.A large part of the time that the process takes up is therefore determined by the location of the exhibition relative to that of the machine where the evaluation takes place.

10 Het is mogelijk die afstand te verkleinen door de locatie van de machine dicht bij de elektronische exchange te kiezen. Dit is dan typisch in een datacenter. De datacenters zijn echter ongeschikt om personen (handelaren) in te plaatsen. Een eerder gebruikte oplossing is dan om alle grafische gegevens van het scherm door te kopiëren naar een plek waar wel handelaren kunnen zitten. Doorgaans wordt gebruik gemaakt van VNC 15 software (virtual network computing) om dit tot stand te brengen. Er kleven echter wat nadelen aan: de responsietijd is erg hoog en er wordt veel bandbreedte gebruikt op het netwerk. Dit komt doordat VNC als het ware het beeldscherm als een verzameling pixels doorkopieert.10 It is possible to reduce that distance by choosing the location of the machine close to the electronic exchange. This is then typical in a data center. However, the data centers are not suitable for placing persons (traders). A previously used solution is then to copy all the graphic data from the screen to a place where traders can sit. Generally, VNC 15 software (virtual network computing) is used to achieve this. However, there are some disadvantages: the response time is very high and a lot of bandwidth is used on the network. This is because VNC copies the screen as a collection of pixels.

In een uitvoeringsvorm van de onderhavige uitvinding wordt dit probleem 20 opgelost door gebruik te maken van een eigen ontwikkeld communicatieprotocol. In dit communicatieprotocol worden objecten doorgegeven. Dus in plaats van bijvoorbeeld het plaatje “€ 10.00” (bestaande uit vele pixels) wordt het getal € 10.00 doorgegeven. Dit past in principe in een klein aantal bytes, en bovendien is het mogelijk om er betekenis aan toe te kennen. We zouden bijvoorbeeld kunnen zeggen “€ 10.00” is de 25 laatste koers van Nokia, hetgeen met een plaatje veel moeilijker is.In an embodiment of the present invention, this problem is solved by using a proprietary communication protocol. Objects are passed on in this communication protocol. So instead of the picture "€ 10.00" (consisting of many pixels), the number € 10.00 is passed on. This fits in principle in a small number of bytes, and moreover it is possible to assign meaning to it. For example, we could say "€ 10.00" is the last 25 price of Nokia, which is much more difficult with a picture.

Fig. 1 toont een voorbeeld van een opstelling volgens de uitvinding waarmee de snelheid van het ontvangen van gegevens van beurzen, het verwerken daarvan en vervolgens het instrueren van deze beurs of een andere beurs zo hoog mogelijk kan worden gehouden.FIG. 1 shows an example of an arrangement according to the invention with which the speed of receiving data from exchanges, the processing thereof and subsequently instructing this exchange or another exchange can be kept as high as possible.

30 Heel algemeen gesproken geldt dat het systeem handelsmachines l(i) (i = 1, 2, ..., I) omvat. Elk van deze handelsmachines zijn computerinrichtingen waarop een of meer engines 3(i) (i = 1, 2,.. .1), dat wil zeggen softwaremodules, kunnen draaien.Generally speaking, the system comprises trading machines 1 (i) (i = 1, 2, ..., I). Each of these trading machines are computer devices on which one or more engines 3 (i) (i = 1, 2, ... .1), that is, software modules, can run.

Elke handelsmachine l(i) is zo dicht mogelijk bij een of meer daarbij behorende 7 elektronische exchanges 4(i,j) opgesteld (j = 1, 2, ... J). Elke elektronische exchange 4(i,j) is een entiteit op zich. In de praktijk zijn er diverse steden in de wereld die een of meer van dergelijke elektronische exchanges hebben staan. London en Parijs hebben er bijvoorbeeld meer dan één. Zij staan dus op verschillende locaties die ver weg van 5 elkaar kunnen zijn gelegen. In elke stad waar zich een of meer van dergelijke elektronische exchanges 4(i,j) bevinden, is één handelsmachine l(i). De parameter “i” geeft dus aan dat de betreffende elektronische exchanges 4(i,j) en handelsmachine l(i) zich in dezelfde stad bevinden.Each trading machine 1 (i) is arranged as close as possible to one or more associated 7 electronic exchanges 4 (i, j) (j = 1, 2, ... J). Every electronic exchange 4 (i, j) is an entity in itself. In practice there are several cities in the world that have one or more such electronic exchanges. London and Paris, for example, have more than one. They are therefore at different locations that may be far away from each other. In each city where one or more such electronic exchanges 4 (i, j) are located, there is one trading machine 1 (i). The parameter "i" therefore indicates that the relevant electronic exchanges 4 (i, j) and trading machine 1 (i) are located in the same city.

Elke elektronische exchange 4(i,j) ontvangt van een engine 3(i) binnen 10 handelsmachine l(i) instructies voor het uitvoeren van een door de engine 3(i) aangegeven transactie via een ingangscommunicatielijn 5i(i j) en verzendt een bevestiging aan deze engine 3(i) via een uitgangscommunicatielijn 50(i,j) als de transactie is uitgevoerd.Each electronic exchange 4 (i, j) receives instructions from an engine 3 (i) within 10 trading machine 1 (i) for executing a transaction indicated by the engine 3 (i) via an input communication line 5i (ij) and sends a confirmation to this engine 3 (i) via an output communication line 50 (i, j) when the transaction has been executed.

Een engine 3(i) zal in het algemeen zijn ingericht om een bepaald aantal 15 transacties te kunnen initiëren en afhandelen. Het is mogelijk om binnen een handelmachine l(i) meerdere engines te installeren zodat de belasting per engine niet te hoog oploopt. De hoeveelheid engines die op een bepaald tijdstip op een handelsmachine draaien hangt af van de maximale tijdsduur die het initiëren en verwerken van een bepaalde transactie mag duren.An engine 3 (i) will generally be arranged to be able to initiate and handle a certain number of transactions. It is possible to install multiple engines within a trading machine l (i) so that the load per engine does not rise too high. The number of engines running on a trading machine at a specific time depends on the maximum length of time that the initiation and processing of a certain transaction can take.

20 Elke elektronische exchange 4(i,j) heeft tevens een groep directe communicatielijnen 9(i,j) waarvan er steeds één is verbonden met handelsmachine l(i), zodanig dat elke handelsmachine l(i) is verbonden met elke elektronische exchange 4(i,j) via een dergelijke communicatielijn 9(i,j). Via deze communicatielijnen 9(i,j) worden alleen gegevens verstuurd, maar geen transactie-instructies en -bevestigingen. 25 Het getoonde systeem omvat tevens mogelijk een of meer databanken 10, zoalsEach electronic exchange 4 (i, j) also has a group of direct communication lines 9 (i, j), one of which is always connected to trading machine 1 (i), such that each trading machine 1 (i) is connected to every electronic exchange 4 (i, j) via such a communication line 9 (i, j). Via these communication lines 9 (i, j) only data is sent, but no transaction instructions and confirmations. The system shown may also include one or more databases 10, such as

Bloomberg, die cruciale gegevens beschikbaar kunnen stellen voor het wel of niet initiëren van een transactie door een engine 3(i). Deze databanken 10 kunnen deze gegevens naar de engines 3(i) verzenden via communicatielijnen 11.Bloomberg, who can make crucial data available for whether or not to initiate a transaction by an engine 3 (i). These databases 10 can send this data to the engines 3 (i) via communication lines 11.

Het systeem omvat verder een monitorsysteem 2 dat op een willekeurige plaats 30 kan zijn opgesteld, bijvoorbeeld in Amsterdam op grote afstand van de meeste handelsmachines 1 (i). Het monitorsysteem 2 omvat net zoveel monitor-instanties (2i) als er engines 3(i) zijn. Elke engine 3(i) is via een verbinding 7(i) één-op-één verbonden met één monitor-instantie 2(i).The system further comprises a monitoring system 2 which can be arranged at any location 30, for example in Amsterdam at a great distance from most trading machines 1 (i). The monitoring system 2 comprises as many monitor instances (2i) as there are engines 3 (i). Each engine 3 (i) is connected one-on-one to one monitor instance 2 (i) via a connection 7 (i).

88

De engines 3(i) zijn geprogrammeerd om geheel zelfstandig informatie die zij via de communicatielijnen 9(i,j) ontvangen te verwerken en volgens vooraf bepaalde regels om te zetten in een transactie-instructie. Als een engine 3(i) besluit een transactie te initiëren voor een elektronische exchange 4(i,j), genereert deze engine 3(i) daartoe de 5 noodzakelijke transactiegegevens en verstuurt deze via de ingangscommunicatielijn 5i(i j) naar de betreffende elektronische exchange 4(i,j). Iedere monitor-instantie 2(i) is ingericht om de software en bijbehorende parameters op de bijbehorende engine 3(i) in te stellen, zoals “offline” ingegeven door een operator van het monitorsysteem 2. Het monitorsysteem 2 is niet betrokken bij (delen van) het evaluatieproces en daarom is de 10 afstand tussen de handelsmachines l(i) waarop de engines 3(i) draaien en monitorsysteem 2 niet meer relevant.The engines 3 (i) are programmed to process information received independently via the communication lines 9 (i, j) and to convert it into a transaction instruction according to predetermined rules. If an engine 3 (i) decides to initiate a transaction for an electronic exchange 4 (i, j), this engine 3 (i) generates the necessary transaction data for this and sends it via the input communication line 5i (ij) to the relevant electronic exchange 4 (i, j). Each monitoring instance 2 (i) is arranged to set the software and associated parameters on the associated engine 3 (i), such as entered "offline" by an operator of the monitoring system 2. The monitoring system 2 is not involved in (parts of) of) the evaluation process and therefore the distance between the trading machines 1 (i) on which the engines 3 (i) run and monitoring system 2 is no longer relevant.

In veel gevallen zal een handelsmachine l(i) slechts bij één elektronische exchange horen 4(ij) horen. Iedere handelsmachine l(i) zal dan zo dicht moge lijk bij een elektronische exchange 4(i,j) als fysiek mogelijk worden opgesteld om de totale tijd 15 die nodig is voor het afhandelen van een transactie zo kort mogelijk te houden. Zoals gezegd: soms staat er een groep elektronische exchanges 4(i,j) relatief dicht bij elkaar (bijvoorbeeld in London en Parijs), en is het sneller om deze groep elektronische exchanges 4(i,j) met één handelsmachine l(i) te verbinden. Alleen van een binnen deze handelsmachine l(i) draaiende engine 3(i) zal elk van de elektronische exchanges 4(i,j) 20 van deze groep dan instructies voor een transactie ontvangen en alleen aan deze engine 3(i) zal dan een bevestiging van voltooiing worden verstuurd.In many cases a trading machine l (i) will only belong to one electronic exchange 4 (ij). Each trading machine 1 (i) will then be arranged as close as possible to an electronic exchange 4 (i, j) as physically as possible in order to keep the total time required for processing a transaction as short as possible. As said: sometimes there is a group of electronic exchanges 4 (i, j) relatively close to each other (for example in London and Paris), and it is faster to have this group of electronic exchanges 4 (i, j) with one trading machine l (i) to connect. Only from an engine 3 (i) running within this trading machine 1 (i) will each of the electronic exchanges 4 (i, j) 20 of this group then receive instructions for a transaction and only to this engine 3 (i) will a confirmation of completion will be sent.

Elke engine 3(i) is bij voorkeur ingericht om data op te slaan in een eenvormig dataformaat, bijvoorbeeld XML en om zijn transactie-instructies om te zetten in een dataformaat dat door de betreffende elektronische exchange 4(i j) wordt gebruikt.Each engine 3 (i) is preferably arranged to store data in a uniform data format, for example XML, and to convert its transaction instructions into a data format used by the relevant electronic exchange 4 (i j).

25 Omgekeerd kan elke engine 3(i) het bevestigingssignaal van een voltooide transactie zoals ontvangen van een elektronische exchange 4(i,j) omzetten in dat eenvormige dataformaat en vervolgens opslaan.Conversely, each engine 3 (i) can convert the confirmation signal of a completed transaction such as received from an electronic exchange 4 (i, j) into that uniform data format and then store it.

Elke elektronische exchange 4(i,j) is een computerinrichting. Een elektronische exchange 4(i,j) omvat aldus een computerinrichting met programmatuur (software) en 30 randapparatuur zoals beeldschermen, invoerterminals, printers, etc. Een voorbeeld van een dergelijke computerinrichting wordt hieronder met verwijzing naar Fig. 3 besproken.Each electronic exchange 4 (i, j) is a computer device. An electronic exchange 4 (i, j) thus comprises a computer device with software (software) and peripheral equipment such as screens, input terminals, printers, etc. An example of such a computer device is described below with reference to Figs. 3 discussed.

99

Ook het monitorsysteem 2 en de databank 10 is een computerinrichting die kan zijn geïmplementeerd zoals weergegeven in Fig. 3.The monitoring system 2 and the database 10 are also a computer device that can be implemented as shown in FIG. 3.

Elke handelsmachine l(i) is eveneens een computerinrichting. Deze omvat in zijn meest eenvoudige vorm een processor, een geheugen en eenheden om met andere 5 installaties te kunnen communiceren. De handelsmachine l(i) kan echter ook meerdere processoren omvatten om de verwerking van gegevens zo snel mogelijk te laten zijn. Het geheugen bevat de noodzakelijke software/data om de vereiste functionaliteit te kunnen uitvoeren. Indien gewenst kan een handelsmachine l(i) ook meer componenten omvatten zoals weergegeven in Fig. 3.Each trading machine 1 (i) is also a computer device. In its simplest form, this comprises a processor, a memory and units for communicating with other installations. However, the trading machine 1 (i) can also comprise several processors to make the processing of data as fast as possible. The memory contains the necessary software / data to perform the required functionality. If desired, a trading machine 1 (i) may also comprise more components as shown in FIG. 3.

10 De directe verbindingen 5;(i,j) en 50(i,j) tussen de handelsmachines l(i) en de bijbehorende elektronische exchanges 4(i,j) zijn, bij voorkeur, geïmplementeerd met technieken die de snelst mogelijke datacommunicatie garanderen. Op dit moment zou dat gebeuren met glasvezeltechnieken, maar de uitvinding is daartoe niet beperkt. Elke snellere (toekomstige) techniek kan daarvoor worden gebruikt.The direct connections 5 (i, j) and 50 (i, j) between the trading machines 1 (i) and the associated electronic exchanges 4 (i, j) are, preferably, implemented with techniques that guarantee the fastest possible data communication. . At the moment that would happen with fiber optic techniques, but the invention is not limited thereto. Any faster (future) technology can be used for this.

15 Volgens de onderhavige uitvinding wordt het probleem van de responsietijd deels opgelost door de handelsmachine l(i) steeds zo dicht mogelijk bij de respectieve elektronische exchange 4(i,j) te plaatsen, met een directe verbinding 5i(i,j)/50(i,j) daartussen. Als er meerdere elektronische exchanges 4(i,j) zijn die hun transactie-instructies van een en dezelfde handelsmachine l(i) moeten ontvangen, zal bij voorkeur 20 worden gezocht naar een positie voor deze handelsmachine l(i) die zo dichtbij mogelijk bij al deze elektronische exchanges 4(i,j) is gelegen.According to the present invention the problem of the response time is partly solved by always placing the trading machine 1 (i) as close as possible to the respective electronic exchange 4 (i, j), with a direct connection 5i (i, j) / 50 (i, j) in between. If there are several electronic exchanges 4 (i, j) that must receive their transaction instructions from one and the same trading machine 1 (i), a position for this trading machine 1 (i) that is as close as possible to all these electronic exchanges 4 (i, j) are located.

De functionaliteit m.b.t. het automatisch afhandelen van de transactie is geplaatst in de engine 3(i), terwijl de rest van de functionaliteit, bijvoorbeeld het onderhoud van de software in de engine 3(i) geschiedt met behulp van software in het op afstand van 25 de elektronische exchange 4(i,j) gelegen monitorsysteem 2. De communicatietijd tussen de elektronische exchange 4(i,j) en de bijbehorende engine 3(i), alsmede de processing van alle gegevens in de engine 3(i) moet zo kort mogelijk zijn. De tijd die de engines 3(i) nodig hebben voor de verwerking van ontvangen gegevens en het omzetten daarvan in een transactie-instructie is bij voorkeur korter dan 1 ms.The functionality with regard to the automatic handling of the transaction is placed in the engine 3 (i), while the rest of the functionality, for example the maintenance of the software in the engine 3 (i), is carried out with the aid of remote software of 25 monitor system 2. located in the electronic exchange 4 (i, j). The communication time between the electronic exchange 4 (i, j) and the associated engine 3 (i), as well as the processing of all data in the engine 3 (i) must be so short to be possible. The time required by engines 3 (i) for processing received data and converting it into a transaction instruction is preferably shorter than 1 ms.

30 Iedere ingangscommunicatielijn 5;(i,j) en uitgangscommunicatielijn 50(i,j) is bij voorkeur zo kort mogelijk.Each input communication line 5 (i, j) and output communication line 50 (i, j) is preferably as short as possible.

1010

De communicatie tussen de engines 3(i) en het monitorsysteem 2 mag langer duren, is met andere woorden niet tijdkritisch. Dit laatste geldt ook voor de processingtijd in het monitorsysteem 2.The communication between the engines 3 (i) and the monitoring system 2 may take longer, in other words is not time-critical. The latter also applies to the processing time in the monitoring system 2.

Een ander tijdkritiek pad betreft de communicatieverbindingen 9(i,j) die zich 5 tussen de elektronische exchanges 4(i,j) en alle handelsmachines l(i) bevinden waarover geen transactie-instructies en transactie-bevestigingen worden verstuurd, alsmede de communicatielijnen 11 tussen de databanken 10 en de handelsmachines l(i). Langs deze communicatielijnen 9(i,j) en 11 wordt informatie verstuurd die cruciaal is voor het genereren van een nieuwe transactie door de engines 3(i). De tijd 10 die deze communicatielijnen 9(i,j) en 11 nodig hebben voor het versturen van de informatie moet zo kort mogelijk zijn. Daarom zijn zij bij voorkeur geïmplementeerd met speciaal daartoe ingerichte snelle verbindingen, zoals een volledig afgehuurde verbinding gebaseerd op glasvezeltechnologie.Another time-critical path concerns the communication links 9 (i, j) that are located between the electronic exchanges 4 (i, j) and all trading machines 1 (i) over which no transaction instructions and transaction confirmations are sent, as well as the communication lines 11 between the databases 10 and the trading machines 1 (i). Along these communication lines 9 (i, j) and 11, information is sent that is crucial for the generation of a new transaction by the engines 3 (i). The time 10 that these communication lines 9 (i, j) and 11 need for sending the information must be as short as possible. That is why they are preferably implemented with specially designed fast connections, such as a fully rented connection based on fiber optic technology.

In overeenstemming met de uitvinding omvat elke monitor-instantie 2(i) van het 15 monitorsysteem 2 een kopie van alle software / data van de daarmee één-op-één geassocieerde engine 3(i). Daardoor kan de handelaar die de monitorinstantie 2(i) bedient “offline” wijzigingen aanbrengen in software en/of parameterwaarden van parameters die bij het uitvoeren van de software in de engine 3(i) worden gebruikt. In de praktijk zal de software object georiënteerd zijn. Een bij een engine 3(i) horende 20 monitor-instantie 2(i) zal dan schaduwobjecten hebben die één-op-één kopieën zijn van de op de bijbehorende engine 3(i) aanwezige objecten. De monitor-instanties 2(i) omvatten echter geen semantic voor het initiëren van transacties en het versturen van transactie-instructies naar een elektronische exchange 4(i,j). Met de schaduwobjecten kan een handelaar alleen data veranderen. Na het voltooien van wijzigingen in 25 dergelijke data en op instructie van de handelaar verstuurt de processor van het monitorsysteem 2 de gewijzigde software / parameterwaarden naar de betreffende handelsmachine l(i) die de bijbehorende engine 3(i) zal aanpassen. Dit proces van versturen van wijzigingen kan direct na voltooiing plaatsvinden. Dit kan via een steeds open staande verbinding 7(i) plaatsvinden. In die zin verwijst “offline” niet per se naar 30 een situatie waarin de verbinding 7(i) pas tot stand wordt gebracht als de data beschikbaar is, maar naar de situatie dat het aanpassen van de software / parameterwaarden niet direct in de engine 3(i) zelf plaatsvindt, maar in de schaduwobjecten. De betreffende engine 3(i) kan daarna de geactualiseerde software / 11 parameterwaarden gebruiken om vanuit zijn positie dichtbij de betreffende elektronische exchange 4(i,j) zo snel mogelijk met gebruik van de nieuwe software / parameterwaarden een nieuwe transactie te initiëren. De betreffende functionaliteit van de engines 3(i) zal hierna in meer detail worden uitgelegd.In accordance with the invention, each monitoring instance 2 (i) of the monitoring system 2 comprises a copy of all software / data of the one-on-one associated engine 3 (i). As a result, the trader operating the monitor instance 2 (i) can make "offline" changes to software and / or parameter values of parameters used in engine 3 (i) when running the software. In practice, the software will be object-oriented. A monitor instance 2 (i) associated with an engine 3 (i) will then have shadow objects that are one-to-one copies of the objects present on the associated engine 3 (i). However, the monitor instances 2 (i) do not include a semantic for initiating transactions and sending transaction instructions to an electronic exchange 4 (i, j). With the shadow objects, a trader can only change data. After completion of changes in such data and at the instruction of the trader, the processor of the monitoring system 2 sends the changed software / parameter values to the relevant trading machine 1 (i) which will adjust the associated engine 3 (i). This process of sending changes can take place immediately after completion. This can take place via a connection 7 (i) which is always open. In this sense, "offline" does not necessarily refer to a situation in which the connection 7 (i) is not established until the data is available, but to the situation that the adjustment of the software / parameter values is not directly in the engine 3 (i) takes place itself, but in the shadow objects. The relevant engine 3 (i) can then use the updated software / 11 parameter values to initiate a new transaction from its position close to the relevant electronic exchange 4 (i, j) using the new software / parameter values as quickly as possible. The relevant functionality of the engines 3 (i) will be explained in more detail below.

5 In een verdere uitvoeringsvorm van de onderhavige uitvinding is ieder van de monitorinstanties 2(i) van het monitorsysteem 2 verder ingericht voor het genereren van signaleringsdata voor een handelaar op basis van de geanalyseerde data. Zo kan een handelaar via een beeldscherm dat onderdeel is van het monitorsysteem 2 gewezen worden op mogelijk interessante handelsmogelijkheden.In a further embodiment of the present invention, each of the monitor instances 2 (i) of the monitoring system 2 is further adapted to generate signaling data for a trader on the basis of the analyzed data. For example, a trader can be informed of potentially interesting trading opportunities via a screen that is part of the monitoring system 2.

10 De monitorinstanties 2(i) van het monitorsysteem 2 kunnen verder ingericht zijn om op basis van door een handelaar zelf geëvalueerde data orderdata te prepareren voor de elektronische exchanges 4(i,j). De engine 3(i) is dan ingericht voor het omzetten van de orderdata die afkomstig is van de bijbehorende monitorinstantie 2(i) in omgezette orderdata specifiek voor de betreffende elektronische exchange 4(i,j), om deze zonder 15 verdere vertraging in te voeren in de elektronische exchange 4(ij).The monitoring instances 2 (i) of the monitoring system 2 can further be adapted to prepare order data for the electronic exchanges 4 (i, j) on the basis of data evaluated by a trader himself. The engine 3 (i) is then adapted to convert the order data from the associated monitor instance 2 (i) into converted order data specifically for the relevant electronic exchange 4 (i, j), in order to enter it without further delay in the electronic exchange 4 (ij).

Het evaluatieproces binnen de engines 3(i) (zie de beschrijving met verwijzing naar Fig. 2 hierna) is verder te versnellen door snellere hardware of speciaal ontwikkelde efficiëntere programmacode. Wat echter nog veel meer helpt is het opdelen van de taken van een engine 3(i) over meerdere onafhankelijke, parallel 20 opererende sub-engines die bijvoorbeeld op aparte processoren draaien. Elke sub-engine wordt aangestuurd door de betreffende engine 3(i) om een deeltaak uit te voeren. De configuratie van de engines 3(i) en zijn mogelijke sub-engines wordt bepaald door de operator van het monitorsysteem 2. Hij zorgt er ook voor dat er binnen het monitorsysteem 2 voor elke sub-engine een sub-monitorinstantie wordt aangemaakt 25 die wordt aangestuurd door de betreffende monitorinstantie 2(i). Doordat de verschillende sub-engines van de engine 3(i) in deze uitvoeringsvorm met elkaar kunnen communiceren wordt extra efficiëntie bewerkstelligd. De plaatsen van de processoren waarop de sub-engines draaien worden bij voorkeur zo gekozen dat de totale afstand tussen de exchanges 4(i,j) en deze processoren plus de afstand tussen 30 deze processoren en de processor waarop de engine 3(i) draait zo klein mogelijk is om de communicatietijden zo kort mogelijk te houden.The evaluation process within engines 3 (i) (see the description with reference to Fig. 2 below) can be further accelerated by faster hardware or specially developed more efficient program code. However, what is even more helpful is the division of the tasks of an engine 3 (i) over several independent, parallel-operating sub-engines that run on separate processors, for example. Each sub-engine is controlled by the relevant engine 3 (i) to perform a sub-task. The configuration of the engines 3 (i) and its possible sub-engines is determined by the operator of the monitoring system 2. He also ensures that a sub-monitor instance is created within the monitoring system 2 for each sub-engine and controlled by the relevant monitoring authority 2 (i). Because the different sub-engines of the engine 3 (i) can communicate with each other in this embodiment, additional efficiency is achieved. The locations of the processors on which the sub-engines run are preferably chosen such that the total distance between the exchanges 4 (i, j) and these processors plus the distance between these processors and the processor on which the engine 3 (i) runs is as small as possible to keep communication times as short as possible.

Nu zal een voorbeeld van een engine 3(i) in meer detail worden besproken.An example of an engine 3 (i) will now be discussed in more detail.

1212

Beurzen en daar verhandelde producten kunnen heel verschillend zijn, maar ze hebben bepaalde gemeenschappelijke noemers. Door deze los te weken van meer specifieke delen, en in verschillende lagen onder te brengen kan een flexibel systeem ontstaan dat voor het grootste gedeelte op een uniforme manier te besturen is, en 5 waarbij de echt specifieke verschillen verborgen kunnen worden. In het bijzonder kunnen voor een handelssysteem volgens een uitvoeringsvorm van de onderhavige uitvinding de volgende functionele softwarecomponenten worden geïdentificeerd, die in onderlinge samenhang in de schematische weergave van Fig. 2 worden getoond • Connectoren 31, 31’, 31”, 10 • Account AC CT 34 • Order router ORD-ROUTE 36 • Price Feed PFEED 32 • PriceCheck P-CHECK 23 • Contract CONT 21 15 • Tradables TRADS 22 • Theocomputation TH-COMP 24 • Strategy STRAT 25 • Specifications SPEC 35Stock exchanges and products traded there can be very different, but they have certain common denominators. By separating these from more specific parts, and placing them in different layers, a flexible system can be created that can be controlled for the most part in a uniform way, and where the really specific differences can be hidden. In particular, for a trading system according to an embodiment of the present invention, the following functional software components can be identified, which are interrelated in the schematic representation of FIG. 2 are displayed • Connectors 31, 31 ', 31 ”, 10 • Account AC CT 34 • Order router ORD-ROUTE 36 • Price Feed PFEED 32 • Price Check P-CHECK 23 • Contract CONT 21 15 • Tradables TRADS 22 • Theocomputation TH- COMP 24 • Strategy STRAT 25 • Specifications SPEC 35

Deze softwarecomponenten 21-36 zijn bij voorkeur object-georiënteerd en 20 vormen samen de engine 3(i). De engine 3(i) is zoals hierboven beschreven in communicatie met de elektronische exchange 4(i,j) via communicatieverbindingen 5;(ij), 50(i,j) voor het afhandelen van een transactie. Dit gebeurt via de connector 31. De engine 3(i) kan echter ook communiceren met andere elektronische exchanges 4(i,j) via communicatieverbindingen 9(i,j) die zijn verbonden met een respectieve connector 25 31 of databanken 10 via communicatielijn 11 die zijn verbonden met respectieve connector 31”.These software components 21-36 are preferably object-oriented and together form the engine 3 (i). The engine 3 (i) is as described above in communication with the electronic exchange 4 (i, j) via communication links 5; (ij), 50 (i, j) for handling a transaction. This is done via the connector 31. However, the engine 3 (i) can also communicate with other electronic exchanges 4 (i, j) via communication links 9 (i, j) which are connected to a respective connector 31 or databases 10 via communication line 11. connected to respective connector 31 ".

De connector 31 is een specifieke implementatie van een aansluiting naar een elektronische exchange 4(i,j) en lost het probleem op van de communicatie van en naar die elektronische exchange 4(i,j). Wanneer er prijzen door de elektronische exchange 30 4(i,j) worden verstuurd, worden deze ontvangen door de connector 31. De connector 31 verzorgt ook de communicatie voor orders en quotes naar de elektronische exchange 4(i,j). Daarnaast kunnen via de connector 31 ’ specificaties van producten (contract-specifications 33), en positie-overzichten bij de elektronische exchanges 4(ij), alsmede 13 via connectoren 31” bij overige databanken 10, worden opgevraagd. Al deze informatie (prijzen, posities, specificaties en orders of quotes) heeft in principe altijd betrekking op een Contract 21.The connector 31 is a specific implementation of a connection to an electronic exchange 4 (i, j) and solves the problem of communication from and to that electronic exchange 4 (i, j). When prices are sent by the electronic exchange 4 (i, j), they are received by the connector 31. The connector 31 also takes care of the communication for orders and quotes to the electronic exchange 4 (i, j). In addition, via the connector 31 "specifications of products (contract specifications 33), and position overviews from the electronic exchanges 4 (ij), as well as 13 via connectors 31" from other databases 10 can be requested. All this information (prices, positions, specifications and orders or quotes) always relates to a Contract 21.

Een Contract 21 is een abstract begrip dat gekoppeld is aan een product, 5 bijvoorbeeld een financieel instrument. Zo kunnen we het bijvoorbeeld hebben over het aandeel Nokia in Finland als Contract, maar er zijn meerdere manieren om informatie op te vragen over dit aandeel. Er is wellicht informatie voorhanden via een databank 10 van een computersysteem van Bloomberg, Reuters of een (andere) elektronische exchange 4(i,j). Dergelijke databanken 10 van Bloomberg, Reuters of elektronische 10 exchanges kunnen dan één op één geassocieerd worden met een connector 31731”. De vertaalslag van Contract 21 naar specifieke connector 31 wordt gedaan door middel van een Spec 35, dat hierna wordt uitgelegd. Een voorbeeld van een Spec 35 is als volgt.A Contract 21 is an abstract concept that is linked to a product, 5 for example a financial instrument. For example, we can talk about the Nokia share in Finland as a Contract, but there are several ways to request information about this share. Information may be available via a database 10 of a computer system from Bloomberg, Reuters or an (other) electronic exchange 4 (i, j). Such Bloomberg, Reuters or electronic 10 exchanges databases 10 can then be associated one to one with a connector 31731 ”. The translation of Contract 21 into specific connector 31 is done by means of a Spec 35, which is explained below. An example of a Spec 35 is as follows.

Als voorbeeld wordt hieronder een engine 3(i) met een Bloomberg connector 31” besproken, dat wil zeggen een connector 31” die via een communicatielijn 11 met een 15 databank 10 van een computersysteem van Bloomberg is verbonden. BinnenAs an example, an engine 3 (i) with a Bloomberg connector 31 "is discussed below, that is, a connector 31" which is connected via a communication line 11 to a database 10 of a Bloomberg computer system. Within

Bloomberg is het symbool voor Nokia in Finland TSfOKl V FH Equity'. Stel er is een connector 31” voor Bloomberg genaamd 'BLMBRG'. Er kan een Contract 21 'Nokia Finland' in de betreffende engine 3(i) gemaakt worden, en dat kan gekoppeld worden aan een BloombergSpec 35 met als attributen TSfOKl V FH Equit' en 'BMLBRG'. Op 20 die manier is het mogelijk prijzen te ontvangen voor 'Nokia Finland', en waar die feitelijk vandaan komen is dan weggeabstraheerd. Merk op dat een BloombergSpec 35 een speciale vorm van een Spec 35 is, waar de precieze informatie in staat om de vertaalslag van Bloomberg prijzen naar genormaliseerde prijzen te maken.Bloomberg is the symbol for Nokia in Finland TSfOKl V FH Equity. Suppose there is a connector 31 ”for Bloomberg called 'BLMBRG'. A Contract 21 'Nokia Finland' can be created in the relevant engine 3 (i), which can be linked to a BloombergSpec 35 with TSfOK1 V FH Equit 'and' BMLBRG 'attributes. In this way it is possible to receive prizes for 'Nokia Finland', and where they actually come from is then abstracted. Note that a BloombergSpec 35 is a special form of a Spec 35, where the precise information is able to translate Bloomberg prices into normalized prices.

Een Contract 21 is een bijzondere, en meest simpele vorm van een Tradable 22.A Contract 21 is a special and simplest form of a Tradable 22.

25 Een Tradable 22 is een verzamelnaam voor een producttype. Tradables 22 kunnen worden samengesteld uit andere Tradables 22. Een voorbeeld is een mandje aandelen, maar ook de inverse van een currency-paar is een voorbeeld van een Tradable 22, wanneer bijvoorbeeld alleen maar prijzen voorhanden zijn voor de euro/dollar, en men behoefte heeft aan de prijzen van de dollar/euro.A Tradable 22 is a collective name for a product type. Tradables 22 can be composed of other Tradables 22. An example is a basket of shares, but also the inverse of a currency pair is an example of a Tradable 22, when, for example, only prices are available for the euro / dollar, and one needs has to the dollar / euro prices.

30 Wanneer de processor van de engine 3(i) prijzen via de Connector 31 en Spec 35 naar de Tradable 22 heeft gestuurd, dan voert de processor van de engine 3(i) daarop eerst nog Price Checks 23(i) uit. Wijkt een nieuwe prijs bijvoorbeeld teveel af van de vorige, dan kan de processor van engine 3(i) besluiten deze als ongeldig te verklaren en 14 over te slaan, of de Strategieën 25 die hij gebruikt om te kopen of verkopen te deactiveren. Slaagt de Price Check 23(i) wel, dan werkt de processor van engine 3(i) eerst alle Theocomputations 24 (theoretische berekeningen) van gerelateerde producten bij, alsmede daarna de Strategieën 25 van de Tradable 22 zelf, en eraan gerelateerde 5 producten. Iedere Tradable 22 heeft precies één Theo computation 24, die de theoretische prijs van de Tradable 22 bevat. Wanneer de theoretische waarde van een Tradable A afhangt van Tradable B, dan moet de Theocomputation 24 van A worden bijgewerkt wanneer B een nieuwe prijs heeft. Wanneer een Tradable 22 een nieuwe theoretische waarde heeft, dan moeten daarbij behorende Strategieën 25 worden 10 geëvalueerd. Zo'n Strategie 25 kan bijvoorbeeld zijn het quoten: een tweezijdige markt afgeven voor een product. Hierbij wordt zowel een koop- als verkooporder in de markt gezet, rond de theoretische prijs. Wanneer de theoretische prijs wijzigt moeten de koop-en verkooporders noodzakelijkerwijs worden bijgewerkt. Het insturen, veranderen en verwijderen van orders op de beurs gebeurt door middel van een Order Router 36.When the processor of the engine 3 (i) has sent prices via the Connector 31 and Spec 35 to the Tradable 22, then the processor of the engine 3 (i) first performs Price Checks 23 (i) on it. For example, if a new price deviates too much from the previous one, the engine of engine 3 (i) may decide to declare it invalid and skip 14, or deactivate the Strategies 25 it uses to buy or sell. If the Price Check 23 (i) succeeds, then the processor of engine 3 (i) first updates all Theocomputations 24 (theoretical calculations) of related products, as well as the Strategies 25 of the Tradable 22 itself, and related products. Every Tradable 22 has exactly one Theo computation 24, which contains the theoretical price of the Tradable 22. If the theoretical value of a Tradable A depends on Tradable B, the Theocomputation 24 of A must be updated when B has a new price. If a Tradable 22 has a new theoretical value, then the corresponding Strategies 25 must be evaluated. Such a Strategy 25 can, for example, be quoting: delivering a bilateral market for a product. Both a buy and sell order is placed on the market around the theoretical price. When the theoretical price changes, the buy and sell orders must necessarily be updated. Submitting, changing and removing orders on the exchange is done by means of an Order Router 36.

15 Orders worden altijd uitgevoerd op een Account 34, en dit is dan ook het object waar positiewijzigingen op worden doorgegeven.15 Orders are always executed on an Account 34, and this is also the object on which position changes are transmitted.

Als voorbeeld wordt hier een arbitrage tussen Nokia Finland en Nokia Duitsland besproken. Een bron voor de prijzen is bijvoorbeeld de databank 10 bij Bloomberg, en het is mogelijk om orders te sturen naar een elektronische exchange 4(il,jl) op de beurs 20 in Finland en een elektronische exchange 4(i2,j2) op de beurs in Duitsland. Bij elk van deze twee elektronische exchanges 4(il,jl), 4(i2,j2) hoort een engine 3(il), 3(i2).As an example, an arbitration between Nokia Finland and Nokia Germany is discussed here. A source for the prizes is, for example, the Bloomberg database 10, and it is possible to send orders to an electronic exchange 4 (il, jl) on the stock exchange 20 in Finland and an electronic exchange 4 (i2, j2) on the stock exchange in Germany. An engine 3 (il), 3 (i2) is associated with each of these two electronic exchanges 4 (il, j1), 4 (i2, j2).

Op een tweetal monitorinstanties 2(il), 2(i2) zijn kopieën beschikbaar van de software / parameterwaarden die draait op dit tweetal engines 3(il), 3(i2). Met behulp van software van de twee monitorinstanties 2(il), 2(i2) maakt de gebruiker dan een 25 tweetal Connectors 31 aan, steeds één voor de desbeteffende engine 3(il), 3(i2): • FinlandConnector • DuitslandConnectorCopies of the software / parameter values that run on this pair of engines 3 (il), 3 (i2) are available on two monitor instances 2 (il), 2 (i2). With the help of software from the two monitor instances 2 (il), 2 (i2), the user then creates two Connectors 31, one for the respective engine 3 (il), 3 (i2): • FinlandConnector • GermanyConnector

Ook maakt de handelaar met deze twee monitorinstanties 2(il), 2(i2) voor beide 30 engines 3(il), 3(i2) een Bloombergconnector 31” aan. Deze kunnen identiek zijn, maar ook verschillend.The trader also creates a Bloomberg connector 31 ”with these two monitor instances 2 (il), 2 (i2) for both 30 engines 3 (il), 3 (i2). These can be identical, but also different.

Daarnaast maakt de gebruiker met de twee respectieve monitorinstanties 2(il), 2(i2) twee Contracten 21 aan, één met naam Nokia Finland' en één met naam Nokia 15In addition, the user creates two Contracts 21 with the two respective monitoring authorities 2 (il), 2 (i2), one with the name Nokia Finland and one with the name Nokia 15

Duitsland, en wel voor respectievelijk een Finland engine 3(il) die bij de elektronische exchange 4(il,jl) van de beurs in Finland staat en een Duitsland engine 3(i2) die bij de elektronische exchange 4(i2,j2) van de beurs in Duitsland staat. De manier waarop Nokia Finland en Nokia Duitsland uniek geïdentificeerd kunnen worden is op basis van 5 de symboolnamen TSfOKIV FH Equity', respectievelijk TSfOA3(i) GY Equity'. Er zijn BloombergSpecs 35 voor de engine 3(il), 3(i2) waarin dat door de handelaar kan worden ingevuld Verder is er een FinlandSpec 35 waarin door de handelaar een id (60 in dit geval) moet worden ingevuld, en er is een DuitslandSpec 35 waarin door de handelaar een andere id (52) moet worden ingevuld. Verder maakt de handelaar met 10 behulp van monitorsysteem 2 een BloombergPricefeed 32 voor de engine 3(i) aan die aan de Bloombergconnector 31” wordt gekoppeld.Germany, respectively for a Finland engine 3 (il) listed at the electronic exchange 4 (il, jl) of the stock exchange in Finland and a Germany engine 3 (i2) listed at the electronic exchange 4 (i2, j2) of the stock exchange is in Germany. The way in which Nokia Finland and Nokia Germany can be uniquely identified is based on the symbol names TSfOKIV FH Equity 'and TSfOA3 (i) GY Equity' respectively. There are BloombergSpecs 35 for the engine 3 (il), 3 (i2) in which that can be entered by the trader. Furthermore, there is a FinlandSpec 35 in which the trader must enter an id (60 in this case), and there is a Germany Spec 35 in which the trader must enter a different identifier (52). Furthermore, with the help of monitoring system 2, the trader creates a BloombergPricefeed 32 for the engine 3 (i) which is connected to the Bloomberg connector 31 ”.

Stel dat de databank 10 van Bloomberg een prijsupdate voor een markt van € 10.00 naar € 10.01 stuurt naar de engine 3(i) voor NOA3(i) GY Equity. De BloombergPricefeed 32 ontvangt dan deze update en checkt of deze een Spec 35 heeft 15 voor het symbool NOA3(i) GY Equity. Dat is het geval, en het bijbehorende Contract 21 blijkt Nokia Duitsland te zijn. De BloombergPricefeed 32 zet nu de bieding voor Nokia Duitsland op € 10.00 en het offer op € 10.01.Suppose the Bloomberg database 10 sends a price update for a market from € 10.00 to € 10.01 to the engine 3 (i) for NOA3 (i) GY Equity. The BloombergPricefeed 32 then receives this update and checks whether it has a Spec 35 for the NOA3 (i) GY Equity symbol. That is the case, and the associated Contract 21 appears to be Nokia Germany. The BloombergPricefeed 32 now puts the bid for Nokia Germany at € 10.00 and the offer at € 10.01.

Stel nu dat op dat moment het Contract 21 voor Nokia Finland in Finland engine 3(il) op diezelfde manier een biedprijs van € 9.98 en een laatprijs van € 9.99 heeft 20 geregistreerd.Suppose that at that time the Contract 21 for Nokia Finland in Finland engine 3 (il) registered a bid price of € 9.98 and a offer price of € 9.99 in the same way.

Al deze gegevens uit de BloombergPricefeed 32 en het Contract 21 voor Nokia Finland worden naar het beeldscherm van het monitorsysteem 2 gestuurd. De handelaar ziet op zijn scherm (van het monitorsysteem 2) dat er een kans op een financieel gunstige transactie staat, en er vanuit gaande dat dit wel vaker gaat gebeuren gaat hij 25 aan de slag om deze kans in de toekomst op automatische wijze uit te nutten. Hiertoe maakt hij met behulp van de software van monitorinstantie 2(il) voor Nokia Finland binnen monitorsysteem 2 een DualListingTheo aan, d.w.z. een speciale vorm van een Theo computation 24. Hierdoor wordt de theoretische prijs van Nokia Finland gelijk aan de marktprijs van Nokia Duitsland. De theoretische prijzen worden bijgewerkt bij 30 iedere (markt) prijsupdate, zodat vervolgens de strategieën uitgevoerd kunnen worden voor het Contract 21 dat een veranderde marktprijs heeft, en voor de Contracten 21 die een veranderde theoretische prijs hebben. De handelaar maakt daartoe voor de contracten 21 voor de Finland engine 3(il) en Duitsland engine 3(i2) een Strategie 25 16 aan. Beide Strategieën 25 worden dan in, respectievelijk, de Finland engine 3(il) en de Duitsland engine 3(i2) geladen. Deze Strategie 25 vergelijkt de marktbiedprijs met de theoretische laatprijs en de marktlaatprijs met de theoretische biedprijs. Staat er een kans (bv de marktbiedprijs is hoger dan de theoretische laatprijs) dan versturen de 5 respectieve Strategieën 25 orders via, respectievelijk, de FinlandConnector 31 enAll this data from the BloombergPricefeed 32 and the Contract 21 for Nokia Finland is sent to the monitor of the monitoring system 2. The trader sees on his screen (of the monitoring system 2) that there is a chance of a financially favorable transaction, and assuming that this will happen more often, he starts working to automatically and in the future use this chance. benefits. To this end, he creates a DualListingTheo, i.e. a special form of Theo computation 24, for Nokia Finland within monitor system 2 for Nokia Finland, which makes the theoretical price of Nokia Finland equal to the market price of Nokia Germany. The theoretical prices are updated with every (market) price update, so that subsequently the strategies can be implemented for the Contract 21 that has a changed market price, and for the Contracts 21 that have a changed theoretical price. To this end, the trader creates a Strategy 25 16 for the contracts 21 for the Finland engine 3 (il) and Germany engine 3 (i2). Both Strategies 25 are then loaded into, respectively, the Finland engine 3 (il) and the Germany engine 3 (i2). This Strategy 25 compares the market bid price with the theoretical offer price and the market offer price with the theoretical bid price. If there is a chance (eg the market bid price is higher than the theoretical offer price) then the 5 respective Strategies send 25 orders via, respectively, the FinlandConnector 31 and

DuitslandConnector 31. Hiertoe maakt de handelaar op de respectieve monitor-instaties 2(il) een Finlandorderrouter 36 aan en een FinlandAccount 34 (de specificatie van de rekening waarop de aandelen gestort dan wel gelicht moeten worden) voor de Finlandconnector 31. Zo ook maakt de handelaar met monitor-instantie 2(i2) een 10 DuitslandOrderrouter 36 en een DuitslandAccount 34 aan voor de Duitslandconnector 31. Na voltooiing worden deze geladen in de respectieve engines 3(il), 3(i2).GermanyConnector 31. To this end, the trader creates a Finland order router 36 and a Finland Account 34 (the specification of the account into which the shares are to be deposited or raised) for the Finland connector 31 at the respective monitor institutions 2 (il). trader with monitoring body 2 (i2) a Germany Order router 36 and a Germany Account 34 for the Germany connector 31. After completion, these are loaded in the respective engines 3 (il), 3 (i2).

In een voorbeeld heeft de BloombergPricefeed 32 zojuist de bieding voor Nokia Duitsland op €10.00 en het offer op €10.01 gezet. De theoretische prijs voor Nokia Finland wordt dan €10.00 a €10.01. De Strategie 25 voor Nokia Finland in Finland 15 engine 3(i) ziet dat de theoretische biedprijs (€10.00) groter is dan de marktlaatprijs en zal besluiten tot een kooporder voor Nokia Finland, zo ook zal de Strategie 25 in Duitsland engine 3(i) besluiten tot een verkooporder voor Nokia Duitsland. De Finlandorderrouter 36 krijgt daarom van de betreffende Strategie 25 de opdracht binnen om Nokia Finland te kopen. Deze zoekt dan naar een Spec 35 met 'FinlandConnector' 20 31 en contract 21 Nokia Finland'. De Finlandorderrouter 36 zal dan zien dat hieraan een id 60 is gekoppeld en deze informatie doorsturen naar de Finlandconnector 31. Vervolgens wordt deze informatie door de Finlandconnector 31 gebruikt om aan de Finse elektronische exchange 4(i,j) mee te delen dat er een kooporder aan komt voor id 60.In an example, the BloombergPricefeed 32 has just placed the bid for Nokia Germany at € 10.00 and the offer at € 10.01. The theoretical price for Nokia Finland will then be € 10.00 to € 10.01. The Strategy 25 for Nokia Finland in Finland 15 engine 3 (i) sees that the theoretical bid price (€ 10.00) is larger than the market price and will decide on a purchase order for Nokia Finland, so will the Strategy 25 in Germany for engine 3 (i) ) decide on a sales order for Nokia Germany. The Finland order router 36 is therefore instructed by the relevant Strategy 25 to purchase Nokia Finland. This then searches for a Spec 35 with 'FinlandConnector' 20 31 and contract 21 Nokia Finland '. The Finland order router 36 will then see that an ID 60 is linked to this and send this information to the Finland connector 31. Subsequently, this information is used by the Finland connector 31 to inform the Finnish electronic exchange 4 (i, j) that there is a purchase order arrives for id 60.

25 Op soortgelijke wijze krijgt de Duitslandorderrouter 36 binnen Duitsland engine 3(i2) van de betreffende Strategie 25 de opdracht binnen om Nokia Duitsland te verkopen. Deze zoekt dan binnen Duitsland engine 3(i2) naar een Spec 35 met 'DuitslandConnector' 31 en contract 21 Nokia Duitsland. De Duitslandorderrouter 36 zal dan zien dat hieraan een id 52 is gekoppeld en deze informatie doorsturen naar de 30 Duitslandconnector 31. Vervolgens wordt deze informatie door de Duitslandconnector 31 gebruikt om aan de Duitse elektronische exchange 4(i,j) mee te delen dat er een verkooporder aan komt voor id 52. Wanneer beide orders goed worden uitgevoerd en met het eerder genoemde aantal stukken dan heeft de gebruiker zojuist €5 verdiend.25 Similarly, within Germany engine 3 (i2) of the relevant Strategy 25, the Germany order router 36 receives the order to sell Nokia Germany. This then searches within Germany engine 3 (i2) for a Spec 35 with 'Germany Connector' 31 and contract 21 Nokia Germany. The Germany order router 36 will then see that an ID 52 is linked to this and send this information to the Germany connector 31. Subsequently, this information is used by the Germany connector 31 to inform the German electronic exchange 4 (i, j) that there is a sales order arrives for id 52. If both orders are executed correctly and with the aforementioned number of items, the user has just earned € 5.

1717

Soms worden verkeerde prijzen doorgegeven door elektronische exchanges 4(i j) of databanken 10 zoals die van Bloomberg. Er kan bijvoorbeeld doorgegeven worden dat de laatprijs van Nokia Finland 0 is. Dit zou tot gevolg hebben dat de applicatie gaat kopen op 0, terwijl dit natuurlijk onzin is. Om hier tegen te beschermen worden prijzen 5 gecheckt door middel van de PriceChecks 23 die kijken of nieuwe prijzen binnen een zinvolle bandbreedte vallen. Maar ook andere checks 23 zijn denkbaar, bijvoorbeeld of de beurs überhaupt open is.Sometimes incorrect prices are passed on by electronic exchanges 4 (i j) or databases 10 such as those of Bloomberg. For example, it can be stated that the Nokia Finland offer price is 0. This would cause the application to buy at 0, while of course this is nonsense. To protect against this, prices 5 are checked by means of the PriceChecks 23 which check whether new prices fall within a meaningful bandwidth. But other checks 23 are also conceivable, such as whether the stock exchange is open at all.

Door speciale orders naar de beurs te sturen, genaamd ‘fïll-or-kill’ (FOK) of een variant daarop ‘immediate or cancel’ (IOC), kan het risico beperkt worden. Door eerst 10 de “moeilijke” kant van de arbitrage te doen (het illiquide product), met een IOC of FOK order, ontstaan drie mogelijke scenario’s: • De order wordt geheel uitgevoerd. Nu kan de “makkelijke” kant van de arbitrage worden gedaan.The risk can be limited by sending special orders to the stock exchange, called "fll-or-kill" (FOK) or a variant thereof "immediate or cancel" (IOC). By first doing the “difficult” side of the arbitration (the illiquid product), with an IOC or FOK order, three possible scenarios arise: • The order is fully executed. Now the "easy" side of the arbitration can be done.

• De order wordt in het geheel niet uitgevoerd. Er hoeft nu niets gedaan te 15 worden. De order verdwijnt uit het orderboek.• The order is not executed at all. Nothing needs to be done now. The order disappears from the order book.

• De order wordt slechts gedeeltelijke uitgevoerd, en het restant wordt verwijderd. De makkelijke kant van de arbitrage wordt voor een evenredig deel gedaan.• The order is only partially executed, and the remainder is deleted. The easy side of the arbitration is done proportionally.

Om dit te implementeren is de engine 3(i) in een uitvoeringsvorm ingericht voor 20 het splitsen van de orderdata in een eerste transactie (het onzekere deel) en een tweede transactie (het zekere deel), en voor het versturen van de tweede transactie nadat bevestiging van uitvoering van de eerste transactie is ontvangen van de bijbehorende elektronische exchange 4(i,j).To implement this, the engine 3 (i) is arranged in an embodiment for splitting the order data into a first transaction (the uncertain part) and a second transaction (the certain part), and for sending the second transaction after confirmation of execution of the first transaction has been received from the corresponding electronic exchange 4 (i, j).

Het versturen van orders naar een elektronische exchange 4(i,j), het ophalen van 25 prijzen en productgegevens gaat altijd gepaard met het instellen van veel confïguratieparameters. Daarnaast is er een groot verschil tussen volledig autonoom opererende computersystemen en handelsapplicaties waar handelaren handmatig orders kunnen invoeren, en handelsapplicaties die als enige doel hebben een overzicht te bieden van de gedane transacties en huidige posities. Door alle componenten 30 beschreven met verwijzing naar Fig. 2 te hergebruiken kan ervoor gezorgd worden dat de confïguratieoverhead tot een minimum beperkt blijft. Dit kan worden bereikt door de software beschikbaar te stellen als objecten in een bibliotheek waarmee applicaties kunnen worden gebouwd. Dit maakt ook dat de software zichzelf in vele gedaanten en 18 uitvoeringsvormen kan presenteren: als een autonome handelsapplicatie, een monitor, een order-entry tool en order- of tradebook.Sending orders to an electronic exchange 4 (i, j), retrieving 25 prices and product data is always accompanied by the setting of many configuration parameters. In addition, there is a big difference between fully autonomously operating computer systems and trading applications where traders can enter orders manually, and trading applications whose sole purpose is to provide an overview of the transactions made and current positions. Described by all components with reference to FIG. 2, it can be ensured that the configuration overhead is kept to a minimum. This can be achieved by making the software available as objects in a library with which applications can be built. This also means that the software can present itself in many forms and 18 embodiments: as an autonomous trade application, a monitor, an order-entry tool and order or trade book.

Uit het hierboven gegeven voorbeeld zal duidelijk zijn dat er vrij veel moet worden ingesteld voordat de handelsapplicatie zijn werk kan doen: er moeten 5 Connectors 31, Specs 35, Contracten 21, Theocomputations 24, PriceChecks 23, Strategieën 25, Accounts 34 en Orderrouters 36 worden aangemaakt, en mogelijk nog meer. De handelaar zal dit allemaal op monitorsysteem 2 kunnen doen zonder de engines 3(i) te storen. De handelaar zal in veel gevallen echter ook handmatig orders willen inleggen. Doordat de verzameling objecten hergebruikt kunnen worden, ontstaat 10 niet zozeer een specifieke handelsapplicatie maar meer een raamwerk waarbinnen handelsapplicaties kunnen worden gebouwd. De automatische, en gedistribueerde handelsapplicatie is al besproken als een uitvoeringsvorm. Het is echter ook mogelijk om een applicatie te bouwen op basis van hetzelfde raamwerk voor het handmatig inleggen van orders. In deze applicatie is het immers van belang prijzen te zien en 15 orders te kunnen inleggen. Omdat voor het binnenkrijgen van prijzen en uitsturen van orders in principe dezelfde regels gelden als in de automatische handelsapplicatie, is er geen enkele reden om deze objecten (“het raamwerk”) niet te hergebruiken. Sterker nog, dit heeft een groot voordeel: wanneer de operator/handelaar besluit op een nieuwe beurs te gaan handelen, dan hoeft de connector 31 voor die beurs maar één keer 20 geprogrammeerd te worden. De handelaar heeft instantaan de mogelijkheid om automatisch en handmatig te handelen op die beurs (elektronische exchange 4(i,j) waarmee de engine 3(i) verbonden is). Dit zelfde geldt voor een andere klasse van applicaties: die waarbij een overzicht wordt getoond van alle gedane transacties, of van alle actieve orders. Dit alles kan worden gebouwd op het genoemde raamwerk.From the example given above it will be clear that quite a lot must be set before the trading application can do its job: there must be 5 Connectors 31, Specs 35, Contracts 21, Theocomputations 24, PriceChecks 23, Strategies 25, Accounts 34 and Order routers 36 created, and possibly even more. The trader will be able to do all this on monitor system 2 without disturbing the engines 3 (i). In many cases, however, the trader will also want to submit orders manually. Because the collection of objects can be reused, it is not so much a specific trade application that is created, but rather a framework within which trade applications can be built. The automatic and distributed trade application has already been discussed as an embodiment. However, it is also possible to build an application based on the same framework for manually placing orders. After all, in this application it is important to see prices and to be able to place 15 orders. Because the same rules apply to receiving prizes and sending out orders as in the automatic trading application, there is no reason not to reuse these objects ("the framework"). In fact, this has a major advantage: if the operator / trader decides to trade on a new exchange, then the connector 31 for that exchange only needs to be programmed once. The trader has the ability to trade automatically and manually on that exchange (electronic exchange 4 (i, j) to which the engine 3 (i) is connected). The same applies to a different class of applications: that where an overview is shown of all transactions made, or of all active orders. All this can be built on the aforementioned framework.

25 In een uitvoeringsvorm worden de bij de verschillende functionele componenten 21-25 en 31-36 gebruikte configuraties opgeslagen als XML bestand. Met de structuur van XML kunnen zeer geschikt samenhangende objecten worden beschreven. Ook uitwisseling met andere typen applicaties is eenvoudig met XML bestanden.In one embodiment, the configurations used with the various functional components 21-25 and 31-36 are stored as an XML file. With the structure of XML very coherent objects can be described. Exchange with other types of applications is also easy with XML files.

In de hier beschreven uitvoeringsvormen wordt gesproken over het 30 monitorsysteem 2, de handelsmachine l(i) en de elektronische exchanges 4(i,j) in de zin van computersystemen. Elk van deze computersystemen kan zijn eigen functionaliteit ontlenen aan op een computer uitvoerbare instructies, die in een programmageheugen geladen zijn. De computersystemen kunnen afzonderlijke 19 computersystemen zijn, met elk een of meer processoren, geheugeneenheden, en in- en uitvoerapparatuur, zoals beeldschermen, toetsenborden, printers en interface-apparatuur (bijvoorbeeld netwerkinterfaces), zoals bekend bij de deskundige, en zoals nodig voor het implementeren van de respectieve functionaliteiten. Als alternatief kan 5 functionaliteit van een element 2, 1 (i), 4(ij) verdeeld zijn over een of meer met elkaar verbonden computersystemen. De onderhavige uitvinding kan daardoor ook belichaamd worden als een computeruitleesbaar medium met daarop door een computersysteem uitvoerbare instructies, waardoor de respectieve functionaliteiten van elk element 2, l(i), 4(i,j) verkregen wordt na inladen van de instructies.In the embodiments described here, reference is made to the monitoring system 2, the trading machine 1 (i) and the electronic exchanges 4 (i, j) in the sense of computer systems. Each of these computer systems can derive its own functionality from computer-executable instructions that are loaded into a program memory. The computer systems can be separate computer systems, each with one or more processors, memory units, and input and output equipment, such as monitors, keyboards, printers, and interface equipment (e.g., network interfaces), as known to those skilled in the art, and as needed for implementation of the respective functionalities. Alternatively, functionality of an element 2, 1 (i), 4 (ij) can be distributed over one or more interconnected computer systems. The present invention can therefore also be embodied as a computer-readable medium with instructions executable thereon by a computer system, whereby the respective functionalities of each element 2, 1 (i), 4 (i, j) are obtained after loading of the instructions.

10 Een voorbeeld van een dergelijk computersysteem wordt getoond in Fig. 3.An example of such a computer system is shown in FIG. 3.

Fig. 3 toont een computersysteem 40 met een processor 41 voor het uitvoeren van rekenkundige bewerkingen.FIG. 3 shows a computer system 40 with a processor 41 for performing arithmetic operations.

De processor 41 is verbonden met een aantal geheugencomponenten waaronder een harde schijf 45, Read Only Memory (ROM) 47, Elektrically Erasable 15 Programmable Read Only Memory (EEPROM) 49 en Random Access Memory (RAM) 51. Niet al deze geheugentypen hoeven noodzakelijkerwijs aanwezig te zijn. Bovendien hoeven zij niet fysiek vlak bij de processor 41 te zijn geplaatst. Zij kunnen ook op afstand daarvan zijn geplaatst.The processor 41 is connected to a number of memory components including a hard disk 45, Read Only Memory (ROM) 47, Electrically Erasable 15 Programmable Read Only Memory (EEPROM) 49 and Random Access Memory (RAM) 51. Not all of these memory types necessarily have to be present to be. Moreover, they do not have to be physically placed close to the processor 41. They can also be placed at a distance therefrom.

De processor 41 is eveneens verbonden met middelen voor het invoeren van 20 instructies, gegevens, enz. door een gebruiker, zoals een toetsenbord 53(i) en een muis 55. Andere invoermiddelen, zoals een touch screen, een track ball en/of spraakconverter, die bekend zijn aan de deskundige, kunnen eveneens worden toegepast.The processor 41 is also connected to means for entering instructions, data, etc. by a user, such as a keyboard 53 (i) and a mouse 55. Other input means, such as a touch screen, a track ball and / or speech converter which are known to the person skilled in the art can also be used.

Een met de processor 41 verbonden leeseenheid 57 is voorzien. De leeseenheid 25 57 is ingericht om gegevens te lezen van en eventueel op te slaan op een gegevensdrager, zoals een floppy disk 59 of een CDROM 61. Andere gegevensdragers kunnen bijvoorbeeld memory sticks, DVD’s of blu ray schijven betreffen, zoals bekend is aan de deskundige.A reading unit 57 connected to the processor 41 is provided. The reading unit 57 is adapted to read data from and possibly store it on a data carrier, such as a floppy disk 59 or a CDROM 61. Other data carriers may, for example, concern memory sticks, DVDs or blu-ray discs, as is known to those skilled in the art. .

De processor 41 is ook verbonden met een printer 63 (i) voor het printen van 30 uitvoergegevens op papier, alsmede een weergeefeenheid 43, bijvoorbeeld een monitor, LCD (Liquid Crystal Display) scherm, plasma scherm of enig ander type weergeefeenheid bekend aan de deskundige.The processor 41 is also connected to a printer 63 (i) for printing output data on paper, as well as a display unit 43, for example a monitor, LCD (Liquid Crystal Display) screen, plasma screen or any other type of display unit known to the skilled person .

2020

De processor 41 is verbonden met een communicatienetwerk 67, bijvoorbeeld het PSTN (Public Switched Telephone Network), een lokaal netwerk (LAN = local area network), een breedgebied-netwerk (WAN = Wide Area Network), enz. door middel van invoer/uitvoermiddelen 65. De processor 41 is ingericht om met andere 5 communicatie-inrichtingen, zoals andere computersystemen te communiceren via het netwerk 67.The processor 41 is connected to a communication network 67, for example the PSTN (Public Switched Telephone Network), a local area network (LAN), a wide area network (WAN = Wide Area Network), etc. output means 65. The processor 41 is adapted to communicate with other communication devices, such as other computer systems, via the network 67.

De processor 41 kan zijn geïmplementeerd als een op zich zelf staand systeem of als een aantal parallel opererende processoren, die ieder zijn ingericht om subtaken van een groter programma uit te voeren, of als een of meer hoofdprocessoren met diverse 10 subprocessoren.The processor 41 can be implemented as a stand-alone system or as a number of parallel operating processors, each of which is arranged to execute sub-tasks of a larger program, or as one or more main processors with various sub-processors.

Hierboven is een handelssysteem beschreven met handelsmachines l(i) die dichtbij respectieve elektronische exchanges 4(i,j) zijn opgesteld en een monitorsysteem 2 op afstand daarvan dat gekoppeld is met dehandelsmachines l(i). De 15 engines 3(i) die op de handelsmachines l(i) draaien omvatten de volgende componenten: • Connector C 31 • Price Feed PFEED 32 • Account ACCT 34 20 • Specs SPEC 35 en • Order router ORD-ROUTE 36 • Contract CONT 21 • Tradables TRADS 22 • Price Check P-CHECK 23 25 • Theocomputation TH-COMP 24 • Strategy STRAT 25Described above is a trading system with trading machines 1 (i) arranged close to respective electronic exchanges 4 (i, j) and a remote monitoring system 2 coupled to the trading machines 1 (i). The 15 engines 3 (i) running on the trading machines l (i) include the following components: • Connector C 31 • Price Feed PFEED 32 • Account ACCT 34 20 • Specs SPEC 35 and • Order router ORD-ROUTE 36 • Contract CONT 21 • Tradables TRADS 22 • Price Check P-CHECK 23 25 • Theocomputation TH-COMP 24 • Strategy STRAT 25

In het monitorsysteem 2 zijn via monitor-instanties 2(i) kopieën opgeslagen van de software / parameterwaarden van de software / parameterwaarden die op alle engines 3(i) zijn opgeslagen. De monitor-instanties 2(i) omvatten programmatuur 30 waardoor een handelaar “offline” wijzigingen kan aanbrengen in de kopie van de software / parameterwaarden van de bijbehorende engine 3(i), waarna de monitor-instanties 2(i) de geactualiseerde software / parameterwaarden naar de betreffende engine(s) kunnen laden. Na ontvangst zal de betreffende engine 3(i) de geactualiseerde 21 software / parameterwaarden gebruiken voor het besturen van de automatische financiële transactie op de daarmee gekoppelde elektronische exchange 4(i,j).In the monitoring system 2, copies of the software / parameter values of the software / parameter values stored on all engines 3 (i) are stored via monitor instances 2 (i). The monitor instances 2 (i) include software 30 which allows a trader to make "offline" changes to the copy of the software / parameter values of the associated engine 3 (i), whereafter the monitor instances 2 (i) update the updated software / be able to load parameter values to the relevant engine (s). Upon receipt, the relevant engine 3 (i) will use the updated 21 software / parameter values for controlling the automatic financial transaction on the associated electronic exchange 4 (i, j).

Door deze opstelling worden de meest tijdkritieke onderdelen van de totale software in de engines 3(i) zo dicht mogelijk bij de elektronische exchanges 4(i,j) 5 uitgevoerd, waardoor de noodzakelijke snelheid wordt verkregen.By this arrangement, the most time-critical components of the total software in the engines 3 (i) are executed as close as possible to the electronic exchanges 4 (i, j) 5, whereby the necessary speed is obtained.

Wanneer er veel beurzen, producten, accounts en/of pricefeeds zijn, kan het gecompliceerd zijn om een engine 3(i) in te richten zodanig dat deze optimaal functioneert. Binnen het proces van handelen is niet alleen het automatisch handelen van belang. Het is ook van belang om, naar wens, handmatig orders in kunnen geven, 10 de markt te bekijken op een visueel aangename manier, een overzicht te hebben van de orders in de markt, een overzicht van de gedane transacties en het hebben van een signaleringssysteem voor excessieve handel. Wanneer de configuratie van een automatisch handelssysteem zou kunnen worden hergebruikt voor al deze beschreven toepassingen, scheelt dit enorm aan setup- en onderhoudstijd. Doordat het systeem 15 gebruik maakt van componenten die op afstand toegevoegd, veranderd en verwijderd kunnen worden ontstaat een soort kameleon: de applicatie kan zich voordoen als een automatisch handelssysteem, en door het iets anders op te starten als een van de andere genoemde toepassingen.When there are many fairs, products, accounts and / or price feeds, it can be complicated to set up an engine 3 (i) in such a way that it functions optimally. Within the process of acting, automatic acting is not only important. It is also important, if desired, to be able to enter orders manually, to view the market in a visually pleasing manner, to have an overview of the orders in the market, an overview of the transactions made and to have a signaling system. for excessive trade. If the configuration of an automatic trading system could be reused for all of these described applications, this saves a lot of setup and maintenance time. Because the system 15 uses components that can be added, changed and removed remotely, a kind of chameleon is created: the application can act as an automatic trading system, and by starting it up slightly differently as one of the other applications mentioned.

Een voorbeeld: een engine 3(i) is ingericht om te handelen op Nokia Finland, met 20 gebruikmaking van een FinlandOrderrouter en een FinlandConnector waarbij de gedane transacties worden geboekt op een account 34. De engine 3(i) heeft geen behoefte aan een historie van alle gedane transacties op account 34 voor die dag, maar zou dit in principe gemakkelijk kunnen krijgen omdat het alle informatie rondom de bijbehorende connector 31 en account 34 heeft. Echter een zogenaamde TradeBook 25 applicatie, die een overzicht laat zien van alle gedane transacties op een of meerdere accounts 34, zou die informatie nodig hebben om te kunnen werken. Het ligt dus voor de hand deze informatie te hergebruiken. Met andere woorden: de configuratie van de handelsapplicatie wordt gebruikt in de Tradebook applicatie, maar doordat de applicatie met andere parameters wordt opgestart lijkt het alsof een compleet ander programma 30 wordt gestart. Het is echter exact dezelfde programmacode die zich als verschillende applicaties kan voordoen. In sommige gevallen moeten voor een additionele applicatie vorm nieuwe objecten (componenten) worden toegevoegd aan het softwareraamwerk. Hierdoor komen die nieuwe objecten ook beschikbaar in 22 bijvoorbeeld de automatisch handelsapplicatie. Veelal worden ze daar dan niet gebruikt, maar in sommige gevallen opent het nieuwe mogelijkheden.An example: an engine 3 (i) is arranged to trade on Nokia Finland, using a FinlandOrder router and a FinlandConnector where the transactions made are posted to an account 34. The engine 3 (i) does not need a history of all transactions made on account 34 for that day, but could in principle get this easily because it has all the information about the associated connector 31 and account 34. However, a so-called TradeBook 25 application, which shows an overview of all transactions made on one or more accounts 34, would need that information to work. It is therefore obvious to re-use this information. In other words: the configuration of the trade application is used in the Tradebook application, but because the application is started with other parameters, it seems as if a completely different program is being started. However, it is exactly the same program code that can occur as different applications. In some cases, for an additional application form, new objects (components) must be added to the software framework. As a result, these new objects also become available in, for example, the automatic trading application. Often they are not used there, but in some cases it opens up new possibilities.

Claims (12)

1. Handelssysteem voor het uitvoeren van een financiële transactie , omvattende • een of meer handelsmachines met een of meer engines die ieder zijn 5 ingericht voor het automatisch genereren van een financiële transactie en het verzenden van een financiële transactie-instructie naar ten minste één elektronische exchange via een ingangscommunicatielijn van de elektronische exchange en het ontvangen van een bevestigingssignaal van de ten minste ene elektronische exchange na voltooiing van de financiële 10 transactie via een uitgangscommunicatielijn van de elektronische exchange, • een monitorsysteem dat voor iedere engine een bijbehorende monitor-instantie omvat, waarbij elke handelsmachine is ingericht als een computersysteem met een processor en geheugen welk geheugen voor implementatie van elke engine 15 enginesoftware en engineparameterwaarden heeft opgeslagen voor het automatisch besturen van een financiële transactie, en waarbij het monitorsysteem eveneens is ingericht als een computersysteem met een monitorsysteemprocessor en een monitorsysteemgeheugen met monitorsoftware, die het een gebruiker mogelijk maakt iedere monitor-instantie te creëren, waarbij elke 20 monitor-instantie een kopie omvat van de enginesoftware en engineparameterwaarden van de bijbehorende engine, en de monitorsoftware het tijdens bedrijf de monitorsysteemprocessor mogelijk maakt om: • een gebruiker veranderingen te laten aanbrengen in de voor de monitor-instantie opgeslagen kopieën van de enginesoftware en 25 engineparameterwaarden en • aldus verkregen geactualiseerde enginesoftware en engineparameterwaarden te laden op de bijbehorende engine en waarbij iedere enginesoftware het de processor van de handelsmachine mogelijk maakt om: 30 «de geactualiseerde enginesoftware en engineparameterwaarden, na ontvangst daarvan, automatisch te gebruiken voor het besturen van de financiële transactie.A trading system for executing a financial transaction, comprising • one or more trading machines with one or more engines each arranged for automatically generating a financial transaction and sending a financial transaction instruction to at least one electronic exchange via an input communication line of the electronic exchange and receiving a confirmation signal from the at least one electronic exchange after completion of the financial transaction via an output communication line of the electronic exchange, a monitoring system comprising an associated monitor instance for each engine, each trading machine is arranged as a computer system with a processor and memory which memory for implementation of each engine has stored 15 engine software and engine parameter values for automatically controlling a financial transaction, and wherein the monitoring system is also set up addresses as a computer system with a monitoring system processor and a monitoring system memory with monitoring software, which allows a user to create each monitoring instance, each monitoring instance comprising a copy of the engine software and engine parameter values of the associated engine, and the monitoring software during company allows the monitoring system processor to: • have a user make changes to the copies of the engine software and engine parameter values stored for the monitor instance and • load updated engine software and engine parameter values thus obtained onto the associated engine and where each engine software the processor of the trading machine to: 30 «automatically use the updated engine software and engine parameter values, after receipt, to control the financial transaction. 2. Handelssysteem volgens conclusie 1, waarin de enginesoftware is gebaseerd op object-georiënteerde programmatuur, en de kopieën van de enginesoftware schaduwobjecten daarvan omvatten die zelf geen financiële transactie kunnen besturen.The trading system of claim 1, wherein the engine software is based on object-oriented software, and the copies of the engine software include shadow objects thereof that cannot themselves control a financial transaction. 3. Handelssysteem volgens conclusie 2, waarbij elke engine en het monitorsysteem zijn ingericht voor het uitwisselen en opslaan van data in de vorm van XML data.The trading system of claim 2, wherein each engine and the monitoring system are arranged for exchanging and storing data in the form of XML data. 4. Handelssysteem volgens conclusie 1, 2 of 3, waarbij ten minste één engine één of meer sub-engines heeft voor het uitvoeren van één of meer taken namens de ene engine 10 en het monitorsysteem daartoe per sub-engine voor de bijbehorende monitor-instantie een sub-monitor-instantie heeft.Trading system according to claim 1, 2 or 3, wherein at least one engine has one or more sub-engines for performing one or more tasks on behalf of the one engine 10 and the monitoring system therefor per sub-engine for the associated monitor instance has a sub-monitor instance. 5. Handelssysteem volgens conclusie 4, waarbij de sub-engines van een engine op aparte processoren draaien en de plaatsen van de aparte processoren waarop de sub- 15 engines draaien zo worden gekozen dat de totale afstand tussen de door de engine bestuurde elektronische exchange en deze aparte processoren plus de afstand tussen deze aparte processoren en een processor waarop de engine draait zo klein mogelijk is.5. Trading system according to claim 4, wherein the sub-engines of an engine run on separate processors and the locations of the separate processors on which the sub-engines run are selected such that the total distance between the electronic exchange controlled by the engine and this one separate processors plus the distance between these separate processors and a processor on which the engine runs is as small as possible. 6. Handelssysteem volgens een van de conclusies 1-5, waarbij iedere engine één of 20 meer extra ingangsmodules heeft die kunnen worden aangesloten op een dedicated communicatielijn, bijvoorbeeld een glasvezelkabel, voor het ontvangen van financiële gegevens en de processor van de handelsmachine is ingericht voor het gebruiken daarvan bij het initiëren van de financiële transactie.A trading system according to any of claims 1-5, wherein each engine has one or more additional input modules that can be connected to a dedicated communication line, for example a fiber optic cable, for receiving financial data and the processor of the trading machine is arranged for using it when initiating the financial transaction. 7. Handelssysteem volgens één van de conclusies 1-6, waarbij iedere engine zodanig is ingericht dat een financiële transactie binnen 1 ms kan plaatsvinden.A trading system according to any of claims 1-6, wherein each engine is arranged such that a financial transaction can take place within 1 ms. 8. Handelssysteem volgens één van de conclusies 1-7, waarbij tenminste één handelssysteem met meerdere elektronische exchanges is verbonden voor het besturen 30 van een financiële transactie.A trading system according to any of claims 1-7, wherein at least one trading system is connected to a plurality of electronic exchanges for controlling a financial transaction. 9. Handelssysteem volgens één van de conclusies 1-8, waarbij het monitorsysteem verder is ingericht voor het genereren van signaleringsdata voor een gebruiker op basis van geanalyseerde data.The trading system of any one of claims 1-8, wherein the monitoring system is further adapted to generate signaling data for a user based on analyzed data. 10. Handelssysteem volgens één van de conclusies 1-9, waarbij tenminste één engine verder is ingericht voor het splitsen van orderdata in een eerste transactie en tweede transactie, en het versturen van de tweede transactie nadat bevestiging van uitvoering 5 van de eerste transactie is ontvangen van de bijbehorende elektronische exchange.10. A trading system according to any of claims 1-9, wherein at least one engine is further adapted to split order data into a first transaction and a second transaction, and to send the second transaction after confirmation of execution of the first transaction has been received of the associated electronic exchange. 11. Werkwijze voor het uitvoeren van een financiële transactie op een handelssysteem zoals gedefinieerd in een van de voorgaande conclusies, welke werkwijze omvat: 10 «het door een gebruiker veranderingen laten aanbrengen in de op de monitor- instantie opgeslagen kopieën van de enginesoftware en engineparameterwaarden, • het laden van aldus verkregen geactualiseerde enginesoftware en engineparameterwaarden op de bijbehorende engine, en 15 • het door de bijbehorende engine automatisch gebruiken van de geactualiseerde enginesoftware en engineparameterwaarden, na ontvangst daarvan, voor het besturen van de financiële transactie.11. Method for executing a financial transaction on a trading system as defined in any one of the preceding claims, which method comprises: having a user make changes to copies of the engine software and engine parameter values stored on the monitor instance, • loading updated engine software and engine parameter values thus obtained onto the associated engine, and • the associated engine automatically using the updated engine software and engine parameter values, after receipt, to control the financial transaction. 12. Computerleesbaar medium voorzien van daarop opgeslagen, door een 20 computersysteem uitvoerbare instructies, die het computersysteem, wanneer de opgeslagen instructies worden ingeladen, het computersysteem de functionaliteit verlenen van de werkwijze volgens conclusie 11.12. Computer-readable medium provided with instructions stored thereon, executable by a computer system, which, when the stored instructions are loaded, confer on the computer system the functionality of the method according to claim 11.
NL2004104A 2010-01-18 2010-01-18 DISTRIBUTED TRADE SYSTEM. NL2004104C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NL2004104A NL2004104C2 (en) 2010-01-18 2010-01-18 DISTRIBUTED TRADE SYSTEM.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL2004104A NL2004104C2 (en) 2010-01-18 2010-01-18 DISTRIBUTED TRADE SYSTEM.
NL2004104 2010-01-18

Publications (1)

Publication Number Publication Date
NL2004104C2 true NL2004104C2 (en) 2011-07-19

Family

ID=42101311

Family Applications (1)

Application Number Title Priority Date Filing Date
NL2004104A NL2004104C2 (en) 2010-01-18 2010-01-18 DISTRIBUTED TRADE SYSTEM.

Country Status (1)

Country Link
NL (1) NL2004104C2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803808A2 (en) * 1996-04-26 1997-10-29 Sun Microsystems, Inc. System for configuring and remotely administering a unix computer over a network
US20030130985A1 (en) * 2001-12-17 2003-07-10 Volker Driesen Systems, methods and articles of manufacture for upgrading a database with a shadow system
US20060206407A1 (en) * 2005-03-11 2006-09-14 Chicago Mercantile Exchange System and method of utilizing a distributed order book in an electronic trade match engine
US20080033865A1 (en) * 1995-12-12 2008-02-07 Reuters Limited Electronic trading system including an auto-arbitrage feature or name switching feature

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080033865A1 (en) * 1995-12-12 2008-02-07 Reuters Limited Electronic trading system including an auto-arbitrage feature or name switching feature
EP0803808A2 (en) * 1996-04-26 1997-10-29 Sun Microsystems, Inc. System for configuring and remotely administering a unix computer over a network
US20030130985A1 (en) * 2001-12-17 2003-07-10 Volker Driesen Systems, methods and articles of manufacture for upgrading a database with a shadow system
US20060206407A1 (en) * 2005-03-11 2006-09-14 Chicago Mercantile Exchange System and method of utilizing a distributed order book in an electronic trade match engine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DETICA: "Algorithmic trading: Can you meet the need for speed ?", 31 December 2008 (2008-12-31), pages 1 - 8, XP002597898, Retrieved from the Internet <URL:http://www.detica.com/index.php?option=com_assetmanager&Itemid=125&task=assetdownload&id=7&Artid=505> [retrieved on 20100506] *

Similar Documents

Publication Publication Date Title
US11636544B2 (en) Method and apparatus for order entry in an electronic trading system
JP7474002B2 (en) Financial instruments transaction management system, and financial instruments transaction management method in the financial instruments transaction management system
US20210374842A1 (en) System and method for apportioning trading orders based on size of displayed quantities
CN110009489A (en) Based on the assets transfer method and device of block chain, electronic equipment
JP2005501349A (en) Electronic trading system
KR102447254B1 (en) Exchange operation method and system for supporting high speed transaction execution
CN110020948A (en) Assets source tracing method and device, electronic equipment based on block chain
CN110275767A (en) A kind of batch data processing method and processing device
JP7070272B2 (en) Transaction management device, transaction management method and transaction management program
JP5514939B1 (en) Transaction support system and program
NL2004104C2 (en) DISTRIBUTED TRADE SYSTEM.
US20190057445A1 (en) System And Processes To Reduce And Redirect Inaccuracies In Computationally Irreducible Electronic Exchange Data Systems
JP2006338562A (en) Financial instrument management system and financial instrument management method
CN109447788A (en) Loan method, equipment and storage medium
JP2001134641A (en) Method and device for deciding transaction priority, transaction system and recording medium
KR20210080748A (en) Method for processing covering of cryptocurrency collateral and System for the same
JP7191522B2 (en) FOREX TRANSACTION CONTROL DEVICE, FOREX TRANSACTION CONTROL METHOD AND PROGRAM
US20230119912A1 (en) Omnibus Address Generation and Autoconversion of Cryptocurrency
US20070130047A1 (en) System and method for submitting trading orders
EP4239556A1 (en) Method and apparatus for providing recommendations based on return data
KR20190107367A (en) Funding system and funding method using ico
JP6375060B2 (en) Securities transaction management system
CN114418674A (en) Order processing method, e-commerce system and electronic equipment
JP2001319049A (en) Portfolio management and evaluation system
JP2020129227A (en) Information processing method, information processing apparatus, and program

Legal Events

Date Code Title Description
SD Assignments of patents

Effective date: 20150115