CH709741A1 - Börsenhandelsplattform. - Google Patents
Börsenhandelsplattform. Download PDFInfo
- Publication number
- CH709741A1 CH709741A1 CH00866/14A CH8662014A CH709741A1 CH 709741 A1 CH709741 A1 CH 709741A1 CH 00866/14 A CH00866/14 A CH 00866/14A CH 8662014 A CH8662014 A CH 8662014A CH 709741 A1 CH709741 A1 CH 709741A1
- Authority
- CH
- Switzerland
- Prior art keywords
- data processing
- processing device
- trading platform
- trading
- merchant
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Die Erfindung betrifft eine Börsenhandelsplattform für eine Mehrzahl von mit der Handelsplattform in Kommunikationsverbindung stehenden Händlerdatenverarbeitungseinrichtungen, wobei die Handelsplattform eine Handelsplattformdatenverarbeitungseinrichtung («Matcher») aufweist, die befähigt ist, von einer der Händlerdatenverarbeitungseinrichtungen erzeugte Aufträge in einem Auftragsbuch abzuspeichern oder bei einem passenden bereits im Auftragsbuch abgespeicherten Auftrag mindestens teilweise auszuführen, solche eingegangene Aufträge an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Nachrichten an eine Mehrzahl von angeschlossenen Händlerdatenverarbeitungseinrichtungen (bei einem Handelssystem mit lauter gleichberechtigten Händlern an alle) abzusenden. Die Handelsplattform zeichnet sich insbesondere dadurch aus, dass eine die wahlweise Ausführung oder Abspeicherung der Aufträge steuernde Einheit der Handelsplattformdatenverarbeitungseinrichtung als dedizierte Logikschaltung ausgebildet ist. Weiterhin betrifft die Erfindung ein Börsenhandelssystem, ein Netzwerkinterface sowie eine Händlerdatenverarbeitungseinrichtung.
Description
[0001] Die vorliegende Erfindung betrifft eine Börsenhandelsplattform, ein Börsenhandelssystem und ein Netzwerkinterface für ein Börsenhandelssystem.
[0002] Seit Jahren wird der Börsenhandel fast nur noch computerisiert ausgeführt. Dabei sitzen die Händler an einem Computerterminal, und dieses ist über ein Computernetzwerk mit einer computerimplementierten Handelsplattform verbunden. Eine solche Handelsplattform weist als Kernstück mindestens einen sogenannten «Matcher» (Handelsplattformdatenverarbeitungseinrichtung d.h. eine Auftragsbuchführungs- und -ausführungseinheit) auf, in welchem Aufträge in einem Auftragsbuch gespeichert oder ausgeführt werden. Der Matcher ist einerseits – im Allgemeinen über mindestens einen Switch – mit den Händlern und andererseits mit einem Auftragsnachbearbeitungssystem (Backoffice), in welchem die Auftragsausführung komplettiert und bspw. die entsprechende finanzielle Transaktion abgewickelt wird.
[0003] Hat ein Händler Interesse an einem Börsengeschäft, setzt er einen Auftrag (Order) an die Handelsplattform ab. Diese enthält den betroffenen Titel, Informationen darüber ob der Titel verkauft oder gekauft werden soll (buy/sell), die gewünschte Anzahl (Quantity) sowie den Preis. Die Handelsplattform führt das Auftragsbuch (order book). Wenn ein Auftrag eintrifft wird geprüft, ob es einen passenden abgespeicherten Auftrag gibt. Wenn nein, wird der Auftrag im Auftragsbuch gespeichert und an den Auftraggeber quittiert. Wenn ja, wird der Handel ausgeführt, im Verkaufsbuch eingetragen und beide Parteien werden informiert. Die Information über den abgewickelten Handel geht dann in anonymisierter Form (d.h. ohne die Information darüber, wer die beiden involvierten Händler waren) auch an alle Händler («broadcast»). Natürlich ist auch möglich, dass ein Auftrag nur teilweise umgesetzt werden kann, dann verbleibt ein nach Ausführung des Handels verbleibender Rest-Auftrag im Auftragsbuch. Ebenso werden neben dem genannten Auftragstyp mit den Attributen buy/sell, Anzahl und Preis auch beliebige andere Auftragsvarianten unterstützt (unter anderem: «Market Order», «Accept Order», «Fill-or-Kill Order, «Iceberg Order»).
[0004] Aus diesem Kommunikationsmuster für den elektronischen Börsenhandel ergeben sich primär drei Arten der Kommunikation:
<tb>a)<SEP>Händler → Handelsplattform (Punkt → Punkt)
<tb>b)<SEP>Handelsplattform → Händler (Punkt → Punkt, hierarchisch)
<tb>c)<SEP>Handelsplattform → alle Händler (Broadcast)
[0005] Ein Netzwerk für den schnellen elektronischen Handel sollte diese Kommunikationsmuster unterstützen.
[0006] Zusätzlich kommt hinzu, dass auch die Entscheidungsfindung beim Händler mit grosser Computerunterstützung erfolgt; in einige Fällen ist es sogar ein Computerprogramm, das beim Händler die effektive Entscheidung trifft (natürlich nach Vorgaben des Händlers). Hier wird von Algotrading gesprochen.
[0007] Bei dieser Anwendung sind Netzwerkgeschwindigkeit, Verarbeitungsgeschwindigkeit im Handelssystem und Verarbeitungsgeschwindigkeit im Händlersystem von entscheidender Bedeutung. Während elektronische Handelssysteme am Anfang in Sekunden handelten (und damit um eine Grössenordnung schneller als menschliche Handelssysteme), wird heute im Millisekundenbereich gehandelt und es werden Zeiten von wenigen Mikrosekunden angestrebt.
[0008] Werden für diese Anwendungen standardisierte Netzwerke wie TCP/IP eingesetzt, so beträgt die Übertragungslatenz allein des Netzwerks oft einige 10 µs. Schnelle Händler möchten aber «Round-Trip»-Zeiten (d.h. die Zeit zwischen der Abgabe eines Auftrags durch den Händler und es Eingangs einer Quittierung beim Händler) von unter 10 µs erreichen. Um diese Aufgabe zu lösen, wurden unter anderem auch Supercomputerkommunikationsnetzwerke mit Latenzen von einigen µs vorgeschlagen. Diese Netzwerke erfüllen zwar die Latenzanforderungen, bringen aber einige Nachteile mit sich: Supercomputernetzwerke sind meistens auf symmetrische Kommunikation ausgelegt (jeder mit jedem), in Finanzanwendungen haben gibt es jedoch praktisch nur «Viele-zu-Einem-» und «Einer-zu-Vielen-» Kommunikationen sowie Punkt-zu-Punkt-Kommunikationen zwischen einer Handelsplattform und einer bestimmten Händlerdatenverarbeitungseinrichtung. Die «Jeder-zu-Jedem»-Kommunikation der Supercomputernetzwerke verursacht dabei nicht nur höheren Aufwand (und damit höhere Kosten), sie kann durch Störungen (gewollt oder ungewollt) zu unfairem Verhalten des Kommunikationssystems führen.
[0009] Die Fairness ist ein wichtiges Thema, sowohl bei der Gleichbehandlung von durch die Händler abgegebenen Aufträge als auch beim Prinzip, dass über Broadcast informierte Händler alle jederzeit auf dem gleichen Informationsstand sind. Ohne spezielle aufwändige Massnahmen ist eine solche Fairness beim Einsatz traditioneller Netzwerke – auch aus dem Supercomputerbereich – nicht möglich. Im Weiteren sollte dafür gesorgt werden, dass in solchen Netzwerken das System nicht überlastet werden kann. Auch sollten hochverfügbare Kommunikationssysteme zur Verfügung stehen.
[0010] Eines der Ziele dieser Erfindung ist, Nachteile eines Supercomputernetzwerkes zu eliminieren, ohne dabei den Vorteil der hohen Geschwindigkeit zu verlieren.
[0011] Im Weiteren kann vorteilhaft sein, wenn ein Netzwerk für diese Anwendung «Börse» skalierbar ist, und fast beliebig viele Händlerdatenverarbeitungseinrichtungen anschliessbar sind. Es kann dabei auch sinnvoll sein, dass aus Leistungsgründen mehrere Handelsplattformdatenverarbeitungseinrichtungen (Matcher) zum Einsatz kommen.
[0012] Eine weitere Herausforderung ist die «Flusskontrolle» im Netzwerk. Dabei kann folgendes Problem auftauchen: Die Handelsplattform hat nur einen beschränkten Pufferspeicher für eintreffende Aufträge. Ein Händler kann das Handelssystem zur Überlastung bringen, und Aufträge können verloren gehen.
[0013] Eine weitere Herausforderung ist die intelligente Aufnahme von Information auf der Händlerseite. Bei einem Hochleistungssystem kann es Zeiten geben, bei denen die Händlerdatenverarbeitungseinrichtung nicht mehr in der Lage sein wird, die Informationsflut, die auf sie hereinbricht, zu bearbeiten und zu sortieren.
[0014] Schliesslich sind die meisten dieser Systeme nicht als hochverfügbare Systeme ausgelegt. Diese Eigenschaft kann nachträglich nur mit sehr hohem Aufwand realisiert werden.
[0015] Es ist eine Aufgabe der vorliegenden Erfindung, die vorstehend geschilderten Nachteile mindestens teilweise zu eliminieren und ein System und ein Verfahren zu schaffen, welches den Anforderungen an Geschwindigkeit, Fairness, Funktionstüchtigkeit während und nach Ausfällen von Komponenten sowie Energie- und Ressourcenverbrauch genügt.
[0016] Gemäss einem ersten Aspekt der Erfindung wird eine elektronische Plattform für den Börsenhandel für eine Mehrzahl von mit der Handelsplattform in Kommunikationsverbindung stehenden Händlerdatenverarbeitungseinrichtungen zur Verfügung gestellt, wobei die Handelsplattform eine Handelsplattformdatenverarbeitungseinrichtung («Matcher») mit Speichermitteln und einer steuernden Einheit, aufweist. Die steuernde Einheit ist dazu ausgebildet, von einer der Händlerdatenverarbeitungseinrichtungen erzeugte Aufträge zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen und den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren, solche eingegangene Nachrichten an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Broadcast-Nachrichten mit Informationen über ausgeführte Aufträge und/oder in den Speichermitteln abgespeicherte Aufträge an eine Mehrzahl von angeschlossenen Händlerdatenverarbeitungseinrichtungen abzusenden, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln.. Die Handelsplattform zeichnet sich insbesondere dadurch aus, dass die steuernde Einheit der Handelsplattformdatenverarbeitungseinrichtung als dedizierte Logikschaltung ausgebildet ist.
[0017] Die steuernde Einheit des Matchers, welche wahlweise Ausführung oder Abspeicherung der Aufträge steuert, ist das zentrale Kernstück der Handelsplattform. Diese Einheit gleicht eingehende Aufträge mit dem Auftragsbuch ab, fuhrt Handelstransaktionen durch (inklusive Bestätigung, Eintrag ins Handelsbuch und/oder Kommunikation mit dem «Backoffice», ggf. Mitteilung an viele oder alle Teilnehmer) und/oder trägt Aufträge ins Auftragsbuch ein, entfernt ausgeführte Aufträge oder modifiziert Einträge bei teilweise durchgeführten Aufträgen.
[0018] Als «Backoffice» wird das Auftragsnachbearbeitungssystem bezeichnet, in welchem die Auftragsausführung komplettiert und bspw. die entsprechende finanzielle Transaktion abgewickelt wird. Die ans Backoffice nach Durchführung des Auftrags übermittelten Transaktionsdaten beinhalten Menge und Preis der gehandelten Titel und ermöglicht, dass die Transaktion finanziell und «physisch» (Lieferung der Titel) nachvollzogen wird.
[0019] Eine dedizierte Logikschaltung ist ein Hardwarebaustein oder eine Gruppe von Hardwarebausteinen, in welcher die Logikfunktionen, durch welche Signale oder Daten verarbeitet werden, durch in der Hardware selbst vorhandene und vorgegebene Schaltungen vorgegeben implementiert sind. Die Logikschaltung bildet so eine Funktionsstruktur mit untereinander verschalteten Blöcken. Dies steht im Gegensatz zu Hauptprozessoren von konventionellen Computern (inklusiver Servercomputern) die als «generische», universell einsetzbare Mikroprozessoren ausgebildet sind, welche in einem Speicher (als Software) vorgelegte Sequenz von Befehlen abarbeitet, wobei dann nur diese Software und nicht die Schaltung selbst zweckgebunden ist.
[0020] Eine solche dedizierte Logikschaltung kann beispielsweise als Field Programmable Gate Array (FPGA) ausgebildet sein. Ein FPGA wird durch die Konfiguration dediziert, d.h. anwendungsspezifisch ausgebildet.
[0021] Ein solcher FPGA kann Speicherzellen (z.B. EEPROM, EPROM, SRAM, Flash) aufweisen, in denen die Konfiguration gespeichert ist. Jeweils bei Inbetriebnahme wird die Konfiguration auf die eigentliche Schaltung übertragen. Alternativ kann der FPGA auch permanent programmiert sein, indem die Verbindungen zwischen den Schalteinheiten permanent eingerichtet werden, bspw. mit der sogenannten «antifuse»-Technologie.
[0022] Die Konfigurierung eines FPGA ist nicht zu verwechseln mit der Programmierung im konventionellen Sinn, d.h. mit der Erstellung von Software für einen Prozessor: Bei eines FPGA oder einer anderen konfigurierbaren Logikschaltung werden Schaltungsstrukturen mittels Hardwarebeschreibungssprachen oder in Form von Schaltplänen erstellt und nachfolgend diese Strukturen zwecks Konfiguration in den Baustein übertragen. Dadurch werden in der konfigurierbaren Logikschaltung bestimmte Schalterstellungen aktiviert und/oder deaktiviert. Daraus ergibt sich eine konkret implementierte digitale Schaltung, die i.A. hochgradig parallel arbeitet, weil jede Einheit der Schalterstellung parallel arbeitet. Im Kontrast dazu führen auch die schnellsten Mikroprozessoren höchstens wenige und meist gar keine Operationen parallel aus.
[0023] Zu den FPGAs werden oft auch die Complex Programmable Logic Devices (CPLD) gerechnet, die ein weiteres Beispiel von konfigurierbaren Logikschaltungen darstellen.
[0024] Ein weiteres Beispiel von dedizierten Logikschaltungen sind anwendungsspezifische integrierte Schaltungen (application-specific integrated circuits; ASICs), deren Schaltlogik bei der Herstellung vorgegeben wird und nicht mehr veränderbar ist.
[0025] Dedizierte Logikschaltungen sind im Stand der Technik verbreitet als Standardbausteine zum Durchführen vorgegebener, immer identischer Aufgaben, bspw. in Steuerungen, für die Umwandlung (Codierung/Decodierung) von Daten, digitale Filterung etc. Für zentrale Einheiten in komplexen Systemen – ein solches stellt die Anwendung «Handelsplattform» eindeutig dar – wurden sie bisher jedoch in keiner Weise in Betracht gezogen – unter anderem weil sie als bei weitem nicht genug flexibel für solche Anwendungen gelten.
[0026] Es ist eine Erkenntnis, welche der vorliegenden Erfindung zu Grunde liegt, dass die Anwendung «Matcher einer Börsenhandelsplattform» sich trotzdem auf geradezu ausgezeichnete Weise für die Implementierung durch eine dedizierte Logikschaltung eignet, weil sich die Aufgaben des Matchers bei aller Komplexität des Börsengeschäfts und trotz der ungeheuren zu bewältigen Datenmenge auf recht wenige Grundtransaktionen reduzieren lässt und eine solche Reduktion gar von Vorteil ist.
[0027] Die durch das Vorgehen gemäss dem ersten Aspekt erzielbaren Vorteile sind eklatant. Die Datenverarbeitungsgeschwindigkeit ist aufgrund der in dedizierten Logikschaltungen sich zwangslos ergebenden Parallelität der Datenverarbeitung viel höher als bei der Verwendung von Mikroprozessoren der gängigen Art, auch im Vergleich mit hochraffinierten und leistungsfähigen Mehrkernprozessoren. Die Latenzzeiten sind im Verbleich zum Stand der Technik markant reduzierbar. Ausserdem kann der Matcher sehr viel kleiner sein als die für diesen Zweck gemäss dem Stand der Technik verwendeten Rechenzentren, und der Stromverbrauch beträgt nur einen Bruchteil des Stromverbrauchs von diesen. Das Vorgehen gemäss dem ersten Aspekt der Erfindung ermöglicht auch die Umgehung von PCIe-Übergängen, ebenso wird eine Netzwerkstack-Verarbeitung im Betriebssystem umgangen: Durch die dedizierte Logik im Matcher kann die latenzkritische Verarbeitung komplett eigenständig durchgeführt werden. Die Daten müssen nicht via PCIe an den zentralen Prozessor (CPU) kommuniziert werden und allenfalls vom Betriebssystem durch Netzwerkstack-Verarbeitung prozessiert werden. Dadurch wird markant Zeit gewonnen. Es hat sich gezeigt, dass die Latenzzeit von für sehr schnelle Plattformen gemäss dem Stand der Technik üblichen 30–50 Mikrosekunden auf ca. 10 Mikrosekunden reduziert werden kann.
[0028] Natürlich ist es auch möglich, einige Teilprozesse, wie das heute der Fall ist, in Software zu realisieren.
[0029] Durch das Vorgehen gemäss dem ersten Aspekt kann den Erfordernissen der von einem Matcher auszuführenden Aufgaben geradezu ideal entsprochen werden. Diese ist in einem gewissen Sinn hochkomplex. Die Komplexität ergibt sich aus der schieren Anzahl von praktisch gleichzeitig zu verarbeitenden Nachrichten, wobei die eigentliche Kernaufgabe des Matchers aus Fairnessgründen nur beschränkt auf parallel auszuführende Teilaufgaben aufteilen lässt – das eigentliche «Matching» muss nach strikten Börsenregeln stattfinden. Daher sind Börsenhandelsplattformen gemäss dem Stand der Technik entsprechend hochkomplexe Gebilde, was sich auch in deren schieren Grösse, im Wartungsaufwand und im Energieverbrauch äussert. Es ist eine der Erfindung zugrunde liegende Erkenntnis, dass sich bei all dieser Komplexität die eigentlichen Aufgaben auf einen überschaubaren Kern reduzieren lassen und dass diese durch eine Hardwarelösung – als solche stellt sich eine dedizierte Logikschaltung dar – geradezu ideal umgesetzt werden können, was in einer massiven Reduktion der Komplexität resultiert.
[0030] Gemäss einem zweiten Aspekt der Erfindung wird ein wird Börsenhandelssystem zur Verfügung gestellt, welches aufweist:
Eine Mehrzahl von Händlerdatenverarbeitungseinrichtungen; und
Eine Handelsplattform – insbesondere nach dem ersten Aspekt – mit einer Handelsplattformdatenverarbeitungseinrichtung mit Speichermitteln und einer steuernden Einheit und mindestens einem Switch, über welchen die Handelsplattformdatenverarbeitungseinrichtung mit den Händlerdatenverarbeitungseinrichtungen verbunden ist;
Wobei jede Händlerdatenverarbeitungseinrichtung befähigt ist, Nachrichten mit darin enthaltenen Aufträgen an die Handelsplattform abzugeben und die steuernde Einheit dazu ausgebildet ist, diese Nachrichten zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen, den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren und das Abspeichern bzw. mindestens teilweise Ausführen an die Händlerdatenverarbeitungseinrichtung zu quittieren, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln;
und wobei eine Schaltlogik des mindestens einen Switches nur Nachrichten von einer Händlerdatenverarbeitungseinrichtung an die Handelsplattformdatenverarbeitungseinrichtung, von der Handelsplattformdatenverarbeitungseinrichtung an eine bestimmte Händlerdatenverarbeitungseinrichtung und von der Handelsplattformdatenverarbeitungseinrichtung an eine Gruppe von Händlerdatenverarbeitungseinrichtungen oder alle Händlerdatenverarbeitungseinrichtungen zulässt.
[0031] Der zweite Aspekt der Erfindung betrifft auch eine elektronische Plattform für ein solches System.
[0032] Eine «Händlerdatenverarbeitungseinrichtung» kann ein integrierter Computer sein. Sie muss jedoch nicht eine Einheit im Sinne eines «Personal Computer» sein. Sie kann auch auf mehrere, unter Umständen räumlich getrennte, Einheiten aufgeteilt sein; dasselbe gilt für andere in dieser Anmeldung beschriebene Datenverarbeitungseinrichtungen.
[0033] In diesem Text wird mit «Switch» generell ein Netzwerkknoten bezeichnet, der eine selektive Weiterleitung an bestimmte (einzelne oder mehrere, u.U. wahlweise auch an alle) angeschlossene Geräte erlaubt – im vorliegenden Kontext erlaubt der Switch mindestens, dass ein von einer Händlerdatenverarbeitungseinrichtung eingehender Auftrag an einen oder mehrere Handelsplattformdatenverarbeitungseinrichtung(en) weitergeleitet wird und nicht bspw. auch an alle anderen Händlerdatenverarbeitungseinrichtungen. Ein Switch im hier verwendeten Sinn ist eine diese Funktionalität gewährleistende Einrichtung, unabhängig davon, ob alle dazu gehörenden Elemente physisch beieinander (und bspw. in einem gemeinsamen Gehäuse) angeordnet sind oder nicht. Bei der Netzwerkarchitektur gemäss dem zweiten Aspekt der Erfindung kann der Switch auch als «Aggregation Switch» bezeichnet werden.
[0034] Ein Switch gemäss dem zweiten Aspekt der Erfindung weist ausserdem zusätzlich zu dieser allgemein geltenden Eigenschaft die vorstehend spezifizierte Schaltlogik auf.
[0035] In Ausführungsformen ist der Switch insbesondere als dedizierte Logikschaltung ausgeführt.
[0036] Eine Gruppe von Händlerdatenverarbeitungseinrichtungen kann bspw. eine vorgegebene Gruppe sein, die sich für ein bestimmtes Segment von gehandelten Titeln interessiert. Insbesondere kann das System eingerichtet sein, dass alle Teilnehmer, die sich für einen bestimmten Titel interessieren, betreffen Informationen zu diesem Titel gleichbehandelt werden. Oft wird das System gar eingerichtet sein, dass im Broadcast-Modus immer alle Teilnehmer die entsprechenden Daten erhalten werden.
[0037] Es kann bspw. vorgesehen sein, dass der Switch – bspw. als dedizierte Logikschaltung ausgeführt – für Datenströme von den Händlern in Richtung Matcher einerseits und vom Matcher in Richtung Händler andererseits physisch verschiedene Pfade vorsieht. Der erste Pfad (vom Händler zum Matcher) sieht dabei eine Weiterleitung einer von einem der Eingänge kommenden Nachricht in Richtung Matcher vor, während der zweite Pfad (vom Matcher zu den Händlern) wahlweise eine Punkt-zu-Punkt-Verschaltung (Nachricht geht an den Ausgang, welcher einem Händler zugeordnet ist) oder eine Broadcast-Verschaltung (Nachricht geht an eine Vielzahl von Ausgängen, insbesondere an alle Ausgänge) ermöglicht.
[0038] Insbesondere kann vorgesehen sein, dass in jedem Switch ein erster Arbiter (zuständig für die Übermittlung von Nachrichten in Richtung vom Händler zum. Matcher; «uplink») einen uplink-Schalter («Multiplexer») so einstellt, dass die entsprechende Verbindung von der sendenden Datenverarbeitungseinrichtung oder dem entsprechenden Netzwerkknoten nach oben zum Matcher hin entsteht. Ein zweiter Arbiter (zuständig für die Übermittlung von Nachrichten in Richtung vom Matcher zum Händler; «downlink») stellt einen downlink-Schalter («Demultiplexer») so, dass entweder eine Verbindung vom Matcher oder Netzwerkknoten zu einem bestimmten Händler/Netzwerkknoten oder zu einer Gruppe/zu allen entsteht.
[0039] Beim Vorgehen gemäss dem zweiten Aspekt der Erfindung wird also das sich im elektronischen Börsenhandel ergebende Kommunikationsmuster gleich in der Schaltlogik des Netzwerks implementiert. Diese ist so, dass Nachrichtenströme gar nicht möglich sind, wenn sie nicht dem Kommunikationsmuster entsprechen. Dies unterscheidet sich vom Stand der Technik bei welchem durch die Verwendung von – zwar leistungsfähigen – Standardnetzwerkkomponenten und von Protokollen wie TCP/IP die Flexibilität der Kommunikationsmöglichkeiten ungleich höher ist und sich die Kommunikationsmuster nur durch die entsprechende Programmierung der Netzwerkteilnehmer ergeben.
[0040] Das Vorgehen gemäss dem zweiten Aspekt der Erfindung hat bspw. den Vorteil der Einfachheit – auch bei der Sicherheit und der Überprüfung der Abläufe. Ausserdem ergibt sich auch durch dieses Vorgehen der Vorteil der verbesserten Netzwerkgeschwindigkeit, da die Kommunikationswege gleich durch die Schaltlogik vorgegeben sind und also das Abarbeiten von entsprechenden in einer Software vorgegebenen Schritten entfällt. Weiter ist das Vorgehen auch aus Fairnessgründen vorteilhaft. Auf eine einfache Weise wird sichergestellt, dass nicht bspw. durch Händlercomputer-zu-Händlercomputer-Nachrichten gewisse Vorgänge aufgehalten oder beschleunigt werden – da solche Nachrichtenwege im Handelssystem gar nicht vorkommen.
[0041] Das Vorgehen gemäss dem zweiten Aspekt der Erfindung schliesst natürlich nicht aus, dass die Teilnehmer des Handelssystems noch auf anderem Weg, bspw. über ein konventionelles, langsameres Netzwerk, miteinander in Kommunikationsverbindung stehen.
[0042] Gemäss einem dritten Aspekt der Erfindung wird eine Händlerdatenverarbeitungseinrichtung eines Börsenhandelssystems, insbesondere gemäss Aspekt 1 oder 2, zur Verfügung gestellt, der wie an sich bekannt eine zentrale Einheit mit einem zentralen Prozessor (CPU), zentralen Speichermitteln mit einem Betriebssystem und im allgemeinen auch mit einem Benutzerinterface sowie ein mit der zentralen Einheit in Kommunikationsverbindung stehendes Netzwerkinterface als Interface zur Handelsplattform hin aufweist. Ein solches Interface kann bspw. durch auf einer Netzwerkkarte implementiert sein.
[0043] Gemäss dem dritten Aspekt der Erfindung weist nun das Netzwerkinterface Speichermittel zum Speichern von Zustandsdaten eines aktuellen Zustand des Börsenhandelssystems, bspw. zum Nachführen des Auftragsbuchs mindestens für die für den entsprechenden Händler relevanten Titel, auf, sowie eine Recheneinrichtung, welche als dedizierte Logikschaltung ausgebildet ist, derart, dass die Recheneinrichtung befähigt ist, nach Vorgaben der zentralen Einheit in Abhängigkeit der Zustandsdaten Aufträge in der Form von Nachrichten an die Handelsplattform abzugeben.
[0044] Dedizierte Logikschaltungen, bspw. ASICs oder FPGAs auf Netzwerkkarten sind an sich bekannt, bspw. für Protokollumwandlungen oder andere feststehende Aufgaben, unter Umständen auch im Zusammenhang mit Alogtrading. Gemäss dem dritten Aspekt wird jedoch vorgeschlagen, dass eine dedizierte Logikschaltung peripher direkt im Netzwerkinterface für das Algotrading verwendet wird, d.h. ohne dass Daten durch die zentrale Einheit fliessen. Das ermöglicht, dass die Händlerdatenverarbeitungseinrichtungen auf eingehende Informationen sehr schnell reagieren können und bspw. einen Auftrag sofort auslösen können, wenn der Kurs eines interessierenden Titels unter einen vorgegebenen Wert (= Vorgabe der Zentraleinheit) fällt.
[0045] Wenn der Händler gemäss dem Stand der Technik sehr schnell auf eine Veränderung auf dem Markt reagieren will, so muss er die mit gängigen Börsenprotokollen (UDP; TCP) versandten Daten auf der Kommunikationskarte zuerst umwandeln, an den Händlercomputer übertragen, sie dort verarbeiten und anschliessend wieder auf die Kommunikationskarte zurück schreiben. Dabei geht viel kostbare Zeit verloren. Durch die schnelle programmierbare Recheneinheit auf dem Netzwerkinterface, die ohne Umwandlung von einem Standardprotokoll die eintreffenden Daten direkt abgreift und Aufträge direkt abgibt, und die auch noch über schnellen lokalen Speicher verfügt, wird der Händler bei Implementation des dritten Aspekts der Erfindung hingegen in die Lage versetzt, noch schneller auf Ereignisse an der Börse zu reagieren.
[0046] Besonders vorteilhaft ist die Kombination des dritten Aspekts mit dem ersten Aspekt. Dann kann vorgesehen sein, dass für die verwendete Hardware geeignete Protokolle ohne die Verwendung der langsameren Standardprotokolle für den Datenaustausch zwischen dem Netzwerkinterface und dem Matcher verwendet werden, d.h. es fallen auch Protokollumwandlungen weg.
[0047] Es kann insbesondere vorgesehen sein, dass das Netzwerkinterface mindestens einen Netzwerkinterface-Bus aufweist, über welchen einerseits vom Netzwerk eingehende Nachrichten an die zentrale Einheit weitergeleitet werden und andererseits Nachrichten (Aufträge oder dergleichen) von der zentralen Einheit ans Netzwerk (spezifisch: die Netzwerkschnittstelle) weitergeleitet werden. Die als dedizierte Logikschaltung ausgebildete Recheneinrichtung ist dann bspw. ebenfalls direkt auf diesem Bus angeordnet, d.h. sie ist befähigt, sowohl über den Bus laufende Daten zu lesen als auch Daten dorthin zu schreiben.
[0048] Beispielsweise kann der Netzwerkinterface-Bus auf einen «read bus» (über den vom Netzwerk herkommende Daten laufen) und einen «write bus» (über den ins Netzwerk zu übermittelnde Daten laufen) verfügen, wobei dann die Recheneinrichtung mit beiden, dem «read bus» und dem «write bus» in Kommunikationsverbindung steht.
[0049] Der Netzwerkinterface-Bus kann optional vom Bus der zentralen Einheit (WCB Workstation Communications Bus) verschieden sein, wobei dann eine Schnittstelle (WI Workstations Interface) die beiden Bus-Systeme verbindet.
[0050] Mit Hilfe einer optionalen zusätzlichen Alarmeinheit kann die Händlerdatenverarbeitungseinrichtung äusserst zeitnah informiert werden, wenn ein bestimmtes Ereignis eintrifft (z.B. wurde ein vorbestimmter Kurswert erreicht, die Anzahl von Einträgen im Auftragsbuch (bzw. im von der Händlerdatenverarbeitungseinrichtung in Kopie geführten Teil des Auftragsbuchs) wird unterschritten, etc.). Mit dieser Zusatzfunktion des Netzwerkinterfaces (d.h. bspw. der Händler-Netzwerkkarte) kann die Händlerdatenverarbeitungseinrichtung zusätzlich entlastet werden.
[0051] Oft ist es für den Händler wünschenswert, die Zeit für den einzelnen Handel in sehr hoher Zeitauflösung zu kennen. Um dieses Ziel zu erreichen, befindet sich auf der Kommunikationskarte optional ein Zeitgeber.
[0052] Der dritte Aspekt betrifft auch ein Netzwerkinterface (insbesondere Netzwerkkarte) für eine solche Händlerdatenverarbeitungseinrichtung.
[0053] Ebenfalls in Ausführungsformen des ersten, zweiten und/oder dritten Aspekts können, jeweils allein oder in beliebigen Kombinationen, folgende Merkmale vorgesehen sein:
Das Handelssystem kann baumartig-hierarchisch mit mehreren Ebenen aufgebaut sein, wobei die Netzwerkknoten der Ebenen jeweils durch Switches mit je mindestens einer «uplink»-Verbindung und mehreren «downlink»-Verbindungen gebildet werden.
Jede Händlerdatenverarbeitungseinrichtung ist durch dieselbe Anzahl von Ebenen (mit derselben Anzahl von Switches) mit der Handelsplattformdatenverarbeitungseinrichtung verbunden sind.
Jede Händlerdatenverarbeitungseinrichtung verfügt über ein identisches Netzwerkinterface (eine identische Netzwerkkarte TB).
Um die Leistungsfähigkeit des Systems zu erhöhen, können auch mehrere Handelsplattformdatenverarbeitungseinrichtungen (mehrere «Matcher») eingesetzt werden, wobei jede Handelsplattformdatenverarbeitungseinrichtung für einen oder mehrere Titel verantwortlich ist. Die Weiterleitung an die zuständige/korrekten Handelsplattformdatenverarbeitungseinrichtung kann im «obersten» Netzwerkknoten (Switch) z.B. anhand der Zieladresse erfolgen.
Der «oberste» Netzwerkknoten kann über einen weiteren Ausgang verfügen, der alle relevanten Nachrichten, die durch den Netzwerkknoten weitergeleitet werden, in einem Archiv A abspeichert. Mit anderen Worten wird Archivierungseinheit, welche die Aufträge und Transaktionen protokolliert, direkt am Netzwerkknoten (d.h. am Switch) der höchsten Ebene angeschlossen sein und nicht unbedingt am Matcher selbst. Bei einer – optionalen – Segmentierung des Matchers auf mehrere Matcher mit festen Zuständigkeiten ergibt sich ausserdem zwangslos eine zentrale Archivierung.
Ein solches Archiv kann bspw. dem «Back-Office» für die weitere Verarbeitung zur Verfügung stehen. Vorteil ist, dass die Handelsplattformdatenverarbeitungseinrichtung nicht mit der Archivierung belastet ist: die Daten werden dort vom quasi selbständigen Archiv abgegriffen, wo sie ohnehin vorbeifliessen. Dadurch wird der Matcher von einer an sich sehr wichtigen Aufgabe befreit, was sich sehr gut mit den anderen Massnahmen zur Steigerung der Geschwindigkeit ergänzt. Alternativ kann jede Handelsplattformdatenverarbeitungseinrichtung über ein eigenes Archiv (A*) verfügen.
Die Händlerdatenverarbeitungseinrichtungen führen Kopien der den jeweiligen Händlern interessierenden Teile des Auftragsbuchs – diese können das ganze Auftragsbuch umfassen.
Die Zeit zwischen Auftrag und Antwort des Handelssystems kann durch den genannten Zeitgeber genau gemessen werden, bspw. zum Zweck des Debugging.
Das System kann eingerichtet sein, sämtliche offene Aufträge eines bestimmten Handelsteilnehmers in einem einzigen Auftrag umgehend aus dem System zu löschen (Mass Cancel MC).
Die Aufträge an die Handelsplattform können mit einer Zeitlimite versehen werden und nach Ablauf der Zeitlimite automatisch gelöscht werden (Time-of-Life TOL).
Bei Ausführungen des Systems als redundantes System kann seitens jedes Händlers eine Einheit vorhanden sein, welche die erste gültige Nachricht weiterverarbeitet (bspw. weiterleitet) und identische Kopien unterdrückt.
[0054] Ebenfalls in Ausführungsformen des ersten, zweiten und/oder dritten Aspekts kann vorgesehen sein, dass sämtliche Berechtigungen des Händlers für jeden Auftrag in Echtzeit vor der Ausführung des Auftrags überprüft werden. Ergänzend oder alternativ kann vorgesehen sein, dass die relevanten Limiten für jeden Handelsteilnehmer (z.B. der Gesamtwert sämtlicher im Buch stehender Aufträge etc.) in Echtzeit vor der Ausführung des Auftrags nachgeführt und überprüft werden. Diese beiden je einzeln oder in Kombination realisierbaren Massnahmen dienen der möglichen Selbstregulierung im Handel.
[0055] Nachfolgend werden Prinzipien und Ausführungsbeispiele der Erfindung anhand von schematischen Zeichnungen beschrieben. Es zeigen:
<tb>Fig. 1<SEP>eine Darstellung eines Börsenhandelssystems;
<tb>Fig. 2<SEP>Elemente eines Switches S, einer Mandelsplattformdatenverarbeitungseinrichtung und von Händlerdatenverarbeitungseinrichtungen;
<tb>Fig. 3<SEP>ein redundantes System;
<tb>Fig. 4<SEP>Elemente eines Netzwerkinterfaces;
<tb>Fig. 5<SEP>Elemente einer Handelsplattformdaten Verarbeitungseinrichtung; und
<tb>Fig. 6<SEP>schematisch Elemente eines Matchers.
[0056] Eine für die schnelle Kommunikation für Börsensysteme günstige Netzwerkarchitektur ist in Fig. 1 dargestellt. Es handelt sich dabei um ein hierarchisches Netzwerk, das optimal an die Kommunikationsbedürfnisse in Börsenanwendungen angepasst ist. Im gezeichneten Ausführungsbeispiel sind mehrere Handelsplattformdatenverarbeitungseinrichtungen (Matcher Ml...Mm) vorhanden, d.h. die Funktion des Matchers ist auf mehrere Matcher aufgeteilt ist. Jeder Matcher ist dann für einen oder mehrere Titel verantwortlich. Die Weiterleitung an den korrekten Matcher kann durch den zentralen Switch S0beispielsweise anhand der Zieladresse erfolgen.
[0057] S0ist der zentrale Switch, über den die Händlerdatenverarbeitungseinrichtungen (hier als Clients (Cl, ... Ck) bezeichnet) mit dem Matcher kommunizieren. Im dargestellten Ausführungsbeispiel ist ausserdem eine optionale weitere Switch-Ebene mit dezentralen Switches S gezeichnet, wobei an jedem dieser dezentralen Switches mindestens eine Händlerdatenverarbeitungseinrichtung (im allgemeinen mehrere Händlerdatenverarbeitungseinrichtungen) angehängt sind. Es ist auch eine Ausweitung auf noch weitere Ebenen und entsprechend noch weiter baumartig verzweigte Architektur möglich. Der Ansatz mit den dezentralen Switches ermöglicht eine gute Skalierbarkeit und kann dann angezeigt sein, wenn der zentrale Switch physisch nicht genug Interfaces zu allen Händlern aufweist. Es kann vorteilhaft sein, wenn jeder Händler über die gleiche Anzahl Ebenen mit dem zentralen Switch verbunden ist, da dann die Weiterleitungszeiten ungefähr identisch sind und beim vorstehend diskutierten Ansatz mit einer Sortierung entsprechend einer Zeitangabe die Wartezeit bevor eine Nachricht (bspw. Auftrag) nach oben weitergeleitet wird kürzer gehalten werden kann.
[0058] In der Fig. 1 bezeichnet TB die Netzwerkinterfaces (Trader Boards) der Händlerdatenverarbeitungseinrichtungen. Dj steht für die sogenannten Downlinks der Switches, U bzw. Uifür den jeweiligen Uplink.
[0059] Der oberste Switch (d.h. der oberste Netzwerkknoten) kann ausserdem optional über einen weiteren Ausgang verfügen, der alle relevanten Nachrichten, die durch diesen Switch weitergeleitet werden, in einem Archiv A abspeichert und so diese Informationen bspw. dem Auftragsnachbearbeitungssystem (Backoffice) für die weitere Verarbeitung zur Verfügung stellen. Diese Option existiert unabhängig davon, ob nur ein Matcher oder wie in Fig. 1 mehrere Matcher verwendet werden. Bei der Verwendung von mehreren Matchern ist sie jedoch besonders günstig, weil sie eine zentrale Archivierung ermöglicht. Alternativ oder ergänzend kann auch jeder Matcher über ein eigenes Archiv Ai(in Fig. 1 in der obersten Ebene eingezeichnet) verfügen.
[0060] Die Innenschaltung eines Switches S ist in Fig. 2 symbolisch gezeichnet. Der in Fig. 2 gezeichnete Aufbau wird bspw. insbesondere im Switch der obersten Ebene, d.h. dem obersten Netzwerkknoten verwendet. Optional können auch Switches der dar unterliegenden Ebenen – sofern vorhanden – entsprechend ausgestaltet sein, wobei mindestens – die Broadcast-Funktion auch auf den eventuellen darunterliegenden Ebenen implementiert sein sollte.
[0061] Auch Fig. 2 enthalten generell zu sogenannten «Uplinks» (in Richtung Matcher) gehöhrende Bausteine ein «U» in der Bezeichnung, und zu «Downlinks» (in Richtung Händler) gehörende Bausteine ein «D».
[0062] In Fig. 2 ist nur ein Matcher M gezeichnet; bei einer Aufteilung der Matcher-Funktion auf mehrere Matcher findet auf der Uplink-Seite des Switches noch eine Aufteilung anhand der Adressen statt.
[0063] In der in Fig. 2 dargestellten Ausführungsform sind im Switch unterschiedliche Pfade für Datenströme von den Händlern in Richtung Matcher einerseits und vom Matcher (Ausführungsformen mit mehreren Matchern sind in diesem Text jeweils mitgemeint) zu den Händlern andererseits vorhanden.
[0064] Eine Nachricht (Datenpaket; insbesondere mit einem Auftrag) wird von der Händlerdatenverarbeitungseinrichtung (hier als Client Cl...Cnbezeichnet) über einen Transmitter Tx (einem Senderbaustein) übertragen. Dabei findet beispielsweise eine Umwandlung in ein serielles Datenformat statt. Dieses wird im Switch S empfangen und bspw. wieder parallel gewandelt (KDRx0…KDRxn) und in den Pufferspeicher (UB0...UBn) hineingeschrieben. Im gezeichneten Ausführungsbeispiel ist dabei jedem ersten Empfänger (KDRx0... KDRxn; d.h. jedem Downlink) ein dedizierter Pufferspeicher zugeordnet. In alternativen Ausführungsformen wäre es auch möglich, eine zentrale Pufferung vorzusehen.
[0065] Der erste Arbiter UA entscheidet, welches Paket weitergeleitet wird und steuert dementsprechend den Multiplexer UM. Die Daten werden nun durch den ersten Switch-Transmitter KUTx wieder in ein serielles Protokoll umgewandelt, übertragen und von einem Matcher-Empfänger MRx wieder in ein paralleles Format gewandelt. Über einen optionalen Matcher-Pufferspeicher MB gelangt die Nachricht an den Matcher M.
[0066] Sendet nun der Matcher M eine Nachricht (bspw. die Quittierung eines Auftrags) an einen spezifischen Händler Co...Cn, so wird sie über einen Matcher-Transmitter MTx wieder in ein serielles Format umgewandelt, übertragen und vom zweiten Switch-Empfänger KURx empfangen und wieder in paralleles Format gewandelt. Der zweite Arbiter DA entscheidet nun, anhand der Adresse, welcher Händler C0...Cn die Nachricht erhalten soll und schliesst den entsprechenden Schalter DDo, DDl, ... oder DDn. Anschliessend wird die Nachricht über einen zweiten Switch-Transmitter KDTxo...KDTxn an den entsprechenden Händler-Empfänger Rx0...Rxn übertragen und steht nun dem Händler Cn zur weiteren Verarbeitung zur Verfügung.
[0067] Neben der oben beschriebenen spezifischen Kommunikation zwischen dem Matcher und zu einem spezifischen Händler Co...Cn gibt es noch den Broadcast-Fall: Matcher zu allen Händlern Co...Cn. Dieser Fall unterscheidet sich zum spezifischen Fall nur dadurch, dass der zweite Arbeiter DA erkennt, dass es sich um eine Broadcast-Nachricht handelt und jetzt alle Schalter DDo...DDN schliesst, so dass schliesslich die Datenpakete an alle Händler Co...Cn übertragen werden.
[0068] Die in Fig. 2 gezeichnete Schaltung entspricht gemäss dem zweiten Aspekt der Erfindung genau dem eingangs erwähnten Kommunikationsmuster. Die von den Arbitern UA, DA betätigten Schalter lassen Kommunikationen der drei Arten a) bis c) zu, nicht jedoch beispielsweise eine direkte Punkt-zu-Punkt-Kommunikation zwischen den Händlern.
[0069] Im gezeichneten Ausführungsbeispiel ist jede Händlerdatenverarbeitungseinrichtung mit einem Zeitgeber, hier in Form einer genau synchronisierten Uhr CLKo...CLKn ausgestattet. Die Zeitreferenz für diese Uhr kann dabei durch den Matcher oder den obersten Netzwerkknoten (den obersten Switch) vorgegeben werden, indem dieser periodisch Referenzzeitnachrichten aussendet, die dann die lokalen Uhren CLKo...CLKn nachstellen. Der eigentliche Zeittakt kann dabei sowohl von einem lokalen Oszillator als auch vom globalen Netzwerktakt, der wiederum vom Matcher M vorgegeben wird, erzeugt werden. Im Ausführungsbeispiel wird nun jede Nachricht vom Client Co...Cn mit einem Zeitstempel versehen, und das Netzwerksystem sorgt dafür, dass ältere Nachrichten immer zuerst beim Matcher eintreffen; das Netzwerk «sortiert» also die Nachrichten anhand der Zeit. Diese Funktion erfolgt hier dadurch, dass der erste Arbiter UA die ältere Nachricht zuerst weiterleitet. Damit diese Auswahl fair abläuft, muss er mindestens die Zeit (Wartezeit) abwarten, die durch ungleiche Bauweisen (z.B. Kabellängen, Bausteintoleranzen) entstehen. Erst dann darf er seine Entscheidung treffen. Auf jedem Uplink oder mindestens auf dem Uplink des obersten Netzwerkknotens sind die Nachrichten also streng nach der Zeit geordnet und treffen damit in der zeitlich richtigen Reihenfolge (auch über mehrere Switch-Ebenen) beim Handelssystem M ein.
[0070] Dieses optionale Prinzip der Zeitsortierung ist mit jedem der Aspekte 1 bis 3 kombinierbar.
[0071] Auch in einer solchen Architektur könnte es immer noch vorkommen, dass einzelne Händler Co...Cn sehr viele Nachrichten absetzen und so ein Switch S überlastet wird. Dies würde sich durch einen Pufferspeicher-Überlauf in einem der Pufferspeicher UBo...UBn äussern. Um dies zu verhindern kann optional ein Kreditsystem eingeführt werden: Das Handelssystem vergibt für alle Händler Co...Cn Kredite. Ein Kredit erlaubt es dem Händler einen Auftrag (oder allgemeiner: eine Nachricht) zu senden. Die Anzahl der Kredite ist so gross, dass bei unbelastetem System ein einzelner Händler immer noch mit voller Geschwindigkeit arbeiten kann, und auch bei hoch belastetem System die einzelnen Pufferspeicher nicht überlaufen. Pro Nachricht wird ein Kredit abgebucht und erst wieder gutgeschrieben, wenn die Nachricht vom Matcher an den Händler quittiert wurde.
[0072] Die Pfeile unten in Fig. 2 deuten die Verwendung einer lokalen Zeitbasis an für ein Versehen der Datenpakete mit einer Zeitangabe vor dem Versand, wie vorstehend geschildert. Während in Fig. 2 Empfänger und Transmitter der Händlerdatenverarbeitungseinrichtungen separat gezeichnet sind, können sie in Realität in ein und demselben Hardwarebauteil realisiert sein, bspw. als separat konfigurierte Einheiten in ein und demselben FPGA.
[0073] Ein redundantes System zeigt Fig. 3 . Das Prinzip der Redundanz ist hier anhand eines Ausführungsbeispiels aufgezeigt, bei welchem der Matcher für alle Titel zuständig ist. Die Übertragung auf ein System wie in Fig. 1 dargestellt mit Matchern Ml, ... Mmmit unterschiedlichen Zuständigkeiten ist ohne weiteres möglich, wobei dann mindestens ein Matcher, vorzugsweise alle Matcher doppelt vorhanden und je mit beiden obersten Netzwerkknoten S0,0, S0,0* verbunden sind. Sofern ein Archiv A am obersten Netzwerkknoten angeschlossen ist, kann auch dieses redundant, d.h. doppelt ausgeführt sein.
[0074] In Fig. 3 ist sowohl der Matcher M auf M* verdoppelt, als auch das Netzwerk mit den Switches Si,j mit Si,j*. Einer der beiden Matcher M oder M* kann dabei (in entsprechenden Ausführungsbeispielen) die Zeit vorgeben (Zeitmaster, d.h. sowohl den Netzwerktakt wie auch die Referenzzeit); der andere Matcher übernimmt dann diese. Beim Ausfall eines Matchers wird er andere Matcher zum Zeitmaster, wenn er nicht bereits vorher schon der Zeitmaster war. In der eigentlichen Auftragsverarbeitung sind beide Matcher vollkommen identisch aufgebaut, und in beiden findet unabhängig vom anderen die Auftragsbuchführung und Auftragsausführung statt.
[0075] Um zu gewährleisten, dass beide Handelssysteme auch bei einem Teilausfall des Netzwerkes über alle Information verfügen, werden hier die empfangenen Nachrichtenströme an das jeweils andere Handelssystem weitergeleitet (PS(t) und PS*(t)). Damit durch die Übertragung die eigenen Nachrichtenströme nicht bevorzugt werden, werden sie um eine Verzögerungszeit TD bzw. TD* verzögert. Die Priorisierer P und P* sorgen nun dafür, dass Nachrichten mit früheren Zeitangaben zuerst genommen werden. Zudem werden im Priorisierer P identische Nachrichten (die über die 2 unabhängigen Netzwerke kommen) unterdrückt. So kann garantiert werden, dass zu den eigentlichen Handelssystemen M und M* identisch, zeitlich geordnete Nachrichtenströme übertragen werden.
[0076] In Fig. 4 ist schematisch ein Netzwerkinterface (hier als Netzwerkkarte; Trader Board TB ausgebildet) gezeichnet, wie sie bspw. jede Händlerdatenverarbeitungseinrichtung identisch aufweist. WI (Workstation Interface) bezeichnet die Schnittstelle zur zentralen Einheit hin, NI die Schnittstelle zu den Netzwerkknoten des Handelssystems. In der gezeichneten Ausführungsform ist das Netzwerkinterface für ein redundant ausgelegtes Handelssystem eingerichtet und weist entsprechend zwei Schnittstellen NI und NI ́ auf, die zur Anbindung an je einen Netzwerkknotenpunkt (Switch) des redundanten Systems vorgesehen sind. Da aufgrund einer solchen optionalen redundanten Auslegung eingehende relevante Nachrichten – bspw. die Quittierung eines Auftrags, Nachrichten über einen abgeschlossenen Handel oder Nachrichten über den Zustand des Auftragsbuchs – im Allgemeinen zweifach eintreffen, wird ein Eingangsfilter (F First) dafür sorgen, dass identische Nachlichten nicht zweimal weitergegeben werden, d.h. die erste gültige Nachricht weiterleitet und alle weiteren Kopien unterdrückt. Eingehende Nachrichten können über den Read Bus RB wie an sich bekannt von der zentralen Einheit gelesen und verarbeitet werden.
[0077] Die zentrale Speicherung von Titeln findet im OB (Order Book) statt und wird von der dedizierten Logik basierend auf den eintreffenden Nachrichten (Market Updates) permanent nachgefühlt.
[0078] Gemäss dem dritten Aspekt der Erfindung verfügt das Netzwerkinterface (Netzwerkkarte) jeder Händlerdatenverarbeitungseinrichtung jedoch ausserdem über einen Speicher UM für die für den entsprechenden Händler relevanten Titel sowie über eine schnelle programmierbare als dedizierte Logikschaltung ausgeführte Recheneinheit UF (User FPGA). So wird der Händler in die Lage versetzt, noch schneller auf Ereignisse an der Börse zu reagieren.
[0079] Weiterführende (zusätzlich zum Aufdatieren des Auftragsbuchs (OB)) und kundenspezifische Logik (insbesondere Algorithmen) wird im Speicher UM und der Recheneinheit UF integriert.
[0080] Die Datenflusskontrolleinheit FC realisiert eine Flusskontrolle, um den vorstehend diskutierten optionalen Überlastungsschutz basierend auf Krediten zu realisieren. Nur eine bestimmte Anzahl unquittierter Aufträge wird erlaubt, bevor die Händlerdatenverarbeitungseinrichtung weitere Aufträge verweigert.
[0081] Im gezeigten Beispiel verfügt das Netzwerkinterface über mindestens einen Netzwerkinterface-Bus, der hier funktionell auf einen Schreibbus («write bus») und einen Lesebus («read bus») aufgeteilt ist. Über den Bus werden einerseits vom Netzwerk eingehende Nachrichten an die zentrale Einheit weitergeleitet und andererseits Nachrichten (Aufträge oder dergleichen) von der zentralen Einheit ans Netzwerk (spezifisch: die Netzwerkschnittstelle) weitergeleitet. Die als dedizierte Logikschaltung ausgebildete Recheneinrichtung ist direkt auf diesem Bus angeordnet, d.h. sie ist befähigt, sowohl über den Bus laufende Daten zu lesen als auch Daten über diesen an andere Einheiten zu schreiben.
[0082] Der Netzwerkinterface-Bus ist vom Bus der zentralen Einheit (WCB Workstation Communications Bus) verschieden, wobei eine Schnittstelle (WI Workstations Interface) die beiden Bus-Systeme verbindet. Das bedeutet, dass der interne Datenaustausch der zentralen Einheit – bspw. zwischen deren CPU und Peripherie oder Datenspeichern – den Netzwerkinterface-Bus nicht belastet.
[0083] Mit Hilfe der Alarmeinheit (AL) kann die Händlerdatenverarbeitungseinrichtung ausserdem äusserst zeitnah informiert werden, wenn ein bestimmtes Ereignis eintrifft (z.B. wurde ein vorbestimmter Kurswert erreicht). Mit dieser Zusatzfunktion der Händlerkarte kann die Händlerdatenverarbeitungseinrichtung zusätzlich entlastet werden.
[0084] Oft ist es für den Händler wünschenswert, die Zeit für den einzelnen Handel in sehr hoher Zeitauflösung zu kennen. Um dieses Ziel zu erreichen, befindet sich auf dem Netzwerkinterface TB optional ein Zeitgeber CLK – dabei kann es sich bspw. um einen Zeitgeber CLK der vorstehend beschriebenen Art und Funktion handeln, oder auch um einen separaten Timer. Wenn der Händler sehr schnell auf eine Veränderung auf dem Markt reagieren will, so muss er die Daten auf dem Netzwerkinterface zuerst an die Händlerdatenverarbeitungseinrichtung übertragen, sie dort verarbeiten und anschliessend wieder auf das Netzwerkinterface zurück schreiben.
[0085] Fig. 5 zeigt ein Ausführungsbeispiel einer Handelsplattform (Netzwerkknoten (Switches) sind nicht gezeichnet). Dabei bezeichnet OB den Datenspeicher mit dem Auftragsbuch, MA den eigentlichen Matcher, dessen steuernde Einheit gemäss dem ersten Aspekt der Erfindung als dedizierte Logikschaltung, insbesondere als FPGA ausgeführt ist. Mit dem Matcher verbunden und bspw. hardwaremässig mit diesem integriert sind eine Synchronisationseinheit SY Sync, die zusammen mit der entsprechenden Einheit des anderen Matchers in einem System mit zwei redundanten Matchern (Fig. 3 ) die gegenseitige Überwachung und Synchronisation der zwei Matcher koordiniert, ein Stop-Detektor SD und ein Avalanche-Detektor AD (Detektor von Nachrichtenlawinen).
[0086] Eingangsseitig werden die Nachrichten zunächst optional durch einen Eingangsfilter (F First) und/oder einen Verifikationsprozessor VP, der die Berechtigung des Kunden geprüft wird, einen bestimmen Auftrag auszuführen, geschleust und/oder auch einem Time-of-Life Processor (TOL), der Aufträge und nach Ablauf einer Zeitlimite automatisch löscht, werden zur Verfügung gestellt und/der eine Mass Cancel Einheit kann eingreifen, um sämtliche offene Aufträge eines bestimmten Handelsteilnehmers in einem einzigen Auftrag umgehend aus dem System zu löschen.
[0087] Ausgangsseitig kann eine oder mehrere der folgenden Einheiten vorhanden sein:
eine Schreib-Ereignisprotokolldatei (WL Write Log; dient dem Logging für das Auftragsnachbearbeitungssystem (Backoffice))
eine Auftragsantworteinheit (OR Order response; erzeugt «private» (nur für eine Händlerdatenverarbeitungseinrichtung bestimmte) Meldungen zu einem Auftrag);
eine Marktaktualisierungseinheit (MU Market Update; erzeugt Meldungen an alle zu einem bestimmten Auftrag)
[0088] In Fig. 5 ist die Handelsplattformdatenverarbeitungseinrichtung mit zwei Netzwerkinterfaces (NI Port, NI ́ Port) gezeichnet, d.h. sie ist für ein redundantes System ausgelegt, wie in Fig. 3 dargestellt.
[0089] Fig. 6 zeigt sehr schematisch den Matcher M. Dieser weist nebst der steuernden Einheit SE, die als dedizierte Logikschaltung, insbesondere als FPGA, ausgeführt ist, einen Datenspeicher auf. Dieser kann als RAM ausgebildet sein und/oder optional auf verschiedene physische Einheiten verteilt sein. Verschiedene RAM-Technologien können verwendet und gegebenenfalls miteinander kombiniert werden, bspw. SDRAM, QDRII, SRAM, wobei bspw. SDRAM als der eigentliche Datenspeicher und QDRII und/oder SRAM für Beschleunigerstrukturen verwendbar sind. Auch die Verwendung anderer Speicher wie bspw. SSD ist nicht ausgeschlossen. Der Datenspeicher bzw. Einheiten davon können physisch mit der dedizierten Logikschaltung integriert und/oder von dieser separat, bspw. auf einer Platine, vorhanden sein.
[0090] Der Datenspeicher enthält das Auftragsbuch, das von der steuernden Einheit bewirtschaftet wird. Trifft vom Switch her ein Auftrag ein, gleicht die steuernde Einheit diesen mit den im Auftragsbuch vorhandenen Daten ab. Falls ein mindestens teilweise passender Auftrag vorhanden ist, werden die passenden Aufträge ausgeführt; dies wird an die beiden Auftraggeber quittiert und ans Auftragsnachbearbeitungssystem BO übermittelt sowie anonymisiert per Broadcast an alle Teilnehmer. Falls der einkommende Auftrag mangels passender abgespeicherter Aufträge nur teilweise oder gar nicht ausgeführt werden kann, wird er im Datenspeicher abgelegt. Auch dann wird sein Eingang – aber selbstverständlich nicht die Ausführung – quittiert. Der Vorgang des Abgleichs eingehender Aufträge mit abgespeicherten Aufträgen nach vorgegebenen Regeln ist die Kernaufgabe des Matchers.
Claims (21)
1. Elektronische Plattform für den Börsenhandel für eine Mehrzahl von mit der Plattform in Kommunikationsverbindung stehenden Händlerdatenverarbeitungseinrichtungen, wobei die Plattform eine Handelsplattformdatenverarbeitungseinrichtung mit Speichermitteln und einer steuernden Einheit aufweist, wobei die steuernde Einheit dazu ausgebildet ist, von einer der Händlerdatenverarbeitungseinrichtungen erzeugte Nachrichten, welche Aufträge enthalten, zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen und den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren, solche eingegangene Nachrichten an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Broadcast-Nachrichten mit Informationen über ausgeführte Aufträge und/oder in den Speichermitteln abgespeicherte Aufträge an eine Mehrzahl von angeschlossenen Händlerdatenverarbeitungseinrichtungen abzusenden, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln, dadurch gekennzeichnet, dass die steuernde Einheit der Handelsplattformdatenverarbeitungseinrichtung als dedizierte Logikschaltung ausgebildet ist.
2. Plattform nach Anspruch 1, dadurch gekennzeichnet, dass die dedizierte Logikschaltung ein Field Programmable Gate Array (FPGA) ist.
3. Plattform nach Anspruch 1, dadurch gekennzeichnet, dass die dedizierte Logikschaltung eine anwendungsspezifische integrierte Schaltung (ASIC) ist.
4. Plattform nach einem der vorangehenden Ansprüche, aufweisend mindestens einen Switch, über welchen die Handelsplattformdatenverarbeitungseinrichtung mit einer Mehrzahl von Händlerdatenverarbeitungseinrichtungen verbindbar ist, die befähigt sind, Nachrichten mit darin enthaltenen Aufträgen an die Handelsplattform abzugeben.
5. Börsenhandelsplattform nach Anspruch 4, wobei eine Schaltlogik des mindestens einen Switches nur Nachrichten von einer Händlerdatenverarbeitungseinrichtung an die Handelsplattformdatenverarbeitungseinrichtung, von der Handelsplattformdaten Verarbeitungseinrichtung an eine bestimmte Händlerdatenverarbeitungseinrichtung und von der Handelsplattformdatenverarbeitungseinrichtung an alle Händlerdatenverarbeitungseinrichtungen zulässt.
6. Elektronische Plattform für den Börsenhandel, insbesondere nach einem der vorangehenden Ansprüche, aufweisend:
– eine Handelsplattformdatenverarbeitungseinrichtung mit Speichermitteln und einer steuernden Einheit und mindestens einen Switch, über welchen die Handelsplattformdatenverarbeitungseinrichtung mit einer Mehrzahl von Händlerdatenverarbeitungseinrichtungen verbindbar ist, die befähigt sind, Nachrichten mit darin enthaltenen Aufträgen an die Handelsplattform abzugeben,
– wobei die die steuernde Einheit dazu ausgebildet ist, diese Nachrichten zu verarbeiten und dabei die erhaltenen Aufträge mit gespeicherten Aufträgen abzugleichen, die in den Speichermitteln gespeichert sind und ein Auftragsbuch bilden, und abhängig von einem Resultat des Abgleichs einen erhaltenen Auftrag in den Speichermitteln abzuspeichern oder bei einem bereits in den Speichermitteln abgespeicherten passenden Auftrag mindestens teilweise auszuführen, den passenden Auftrag mindestens teilweise in den Speichermitteln zu löschen oder als ausgeführt zu markieren und das Abspeichern bzw. mindestens teilweise Ausführen an die Händlerdatenverarbeitungseinrichtung zu quittieren, sowie Transaktionsdaten zu den ausgeführten Aufträgen an ein Auftragsnachbearbeitungssystem zu übermitteln;
– dadurch gekennzeichnet, dass eine Schaltlogik des mindestens einen Switches nur Nachrichten von einer Händlerdatenverarbeitungseinrichtung an die Handelsplattformdatenverarbeitungseinrichtung, von der Handelsplattformdatenverarbeitungseinrichtung an eine bestimmte Händlerdatenverarbeitungseinrichtung und von der Handelsplattformdatenverarbeitungseinrichtung an eine Gruppe von Händlerdatenverarbeitungs-einrichtungen oder an alle Händlerdatenverarbeitungs-einrichtungen zulässt.
7. Plattform nach Anspruch 5 oder 6, wobei der Switch für Datenströme von den Händlerdatenverarbeitungseinrichtungen in Richtung Handelsplattformdatenverarbeitungseinrichtung einerseits und von der Handelsplattformdatenverarbeitungseinrichtung in Richtung Händlerdatenverarbeitungseinrichtungen andererseits physisch verschiedene Pfade vorsieht, wobei ein erster Pfad von der Händlerdatenverarbeitungseinrichtung zur Handelsplattformdatenverarbeitungseinrichtung eine Weiterleitung nur einer von einem der Eingänge kommenden Nachricht in Richtung Handelsplattformdatenverarbeitungseinrichtung ermöglicht, während ein zweiter Pfad von der Handelsplattformdatenverarbeitungseinrichtung zu den Händlerdatenverarbeitungseinrichtungen wahlweise eine Punkt-zu-Punkt-Verschaltung oder eine Broadcast-Verschaltung ermöglicht.
8. Plattform nach einem der Ansprüche 5 bis 7, wobei der Switch als dedizierte Logikschaltung ausgebildet ist.
9. Börsenhandelssystem für den elektronischen Handel an der Börse, aufweisend eine Plattform nach einem der vorangehenden Ansprüche sowie mindestens eine Händlerdatenverarbeitungseinrichtung, die befähigt ist, Nachrichten, welche Aufträge enthalten, an die Handelsplattform abzugeben und Quittierungen und Zustandsinformation von der Handelsplattformdatenverarbeitungseinrichtung zu empfangen und zu verarbeiten.
10. Börsenhandelssystem nach Anspruch 9, wobei jede Händlerdatenverarbeitungseinrichtung eine zentrale Einheit mit einem zentralen Prozessor sowie ein Netzwerkinterface als Interface zur Handelsplattform hin aufweist, und wobei die Netzwerkinterfaces aller Händlerdatenverarbeitungseinrichtungen identisch sind.
11. Netzwerkinterface für eine Händlerdatenverarbeitungseinrichtung, insbesondere für ein Börsenhandelssystem nach Anspruch 9 oder 10, wobei die Händlerdatenverarbeitungseinrichtung eine zentrale Einheit mit einem zentralen Prozessor und zentralen Speichermitteln und mit einem Betriebssystem aufweist, wobei das Netzwerkinterface ausgebildet ist, mit der zentralen Einheit in Kommunikationsverbindung zu stehen und als Interface zur einer Handelsplattform zu dienen, dadurch gekennzeichnet, dass das Netzwerkinterface Speichermittel zum Speichern von Zustandsdaten eines aktuellen Zustand des Börsenhandelssystems sowie eine Recheneinrichtung aufweist, wobei die Recheneinrichtung als dedizierte Logikschaltung ausgebildet ist, derart, dass die Recheneinrichtung befähigt ist, nach Vorgaben der zentralen Einheit in Abhängigkeit der Zustandsdaten Aufträge in der Form von Nachlichten an die Handelsplattform abzugeben.
12. Netzwerkinterface nach Anspruch 11, ausgebildet als Netzwerkkarte.
13. Netzwerkinterface nach Anspruch 11 oder 12, aufweisend eine Alarmeinheit zum Informieren der zentralen Einheit wenn ein vorbestimmtes Ereignis eintritt.
14. Netzwerkinterface nach einem der Ansprüche 11 bis 13, aufweisend einen Zeitgeber.
15. Händlerdatenverarbeitungseinrichtung für ein Börsenhandelssystem nach Anspruch 9 oder 10, aufweisend eine zentrale Einheit mit einem zentralen Prozessor, zentralen Speichermitteln und einem Betriebssystem sowie ein mit der zentralen Einheit in Kommunikationsverbindung stehendes Netzwerkinterface nach einem der Ansprüche 10 bis 13.
16. Händlerdatenverarbeitungseinrichtung nach Anspruch 15, wobei das Netzwerkinterface einen Netzwerkinterface-Datenbus aufweist und die zentrale Einheit einen zentralen Datenbus aufweist, wobei Netzwerkinterface-Datenbus und zentraler Datenbus voneinander verschieden sind, und wobei die Recheneinrichtung direkt vom Datenbus lesen und auf diesen schreiben kann.
17. Börsenhandelssystem, insbesondere nach Anspruch 9 oder 10, aufweisend eine Handelsplattform und eine Mehrzahl von Händlerdatenverarbeitungseinrichtungen nach Anspruch 14 oder 15, wobei die Handelsplattform eine Handelsplattformdatenverarbeitungseinrichtung, aufweist, die befähigt ist, von einer der Händlerdatenverarbeitungseinrichtungen erzeugte Aufträge in einem Auftragsbuch abzuspeichern oder bei einem passenden bereits im Auftragsbuch abgespeicherten Auftrag mindestens teilweise auszuführen, solche eingegangene Aufträge an die absendende Händlerdatenverarbeitungseinrichtung zu quittieren und ausserdem in einem Broadcast-Modus Nachrichten an eine Gruppe von angeschlossenen Händlerdatenverarbeitungseinrichtungen oder alle angeschlossenen Händlerdatenverarbeitungseinrichtungen abzusenden.
18. Börsenhandelssystem nach einem der Ansprüche 9, 10 oder 17, wobei jede Händlerdatenverarbeitungseinrichtung ein identisches Netzwerkinterface für die Kommunikation mit der Handelsplattform aufweist.
19. Börsenhandelssystem nach einem der Ansprüche 9, 10, 17 oder 18, aufweisend mehrere Ebenen von Switches, wobei jede Händlerdatenverarbeitungseinrichtung über eine identische Anzahl von Switches mit der Handelsplattformdatenverarbeitungseinrichtung verbunden ist.
20. Börsenhandelssystem nach einem der Ansprüche 9, 10, 17, 18 oder 19, wobei mehrere Handelsplattformdatenverarbeitungseinrichtungen eingesetzt werden, wobei jede Handelsplattformdaten Verarbeitungseinrichtung für einen oder mehrere gehandelte Titel verantwortlich ist.
21. Börsenhandelssystem nach einem der Ansprüche 9, 10, 17, 18, 19 oder 20, wobei ein zentraler Switch über einen Ausgang verfügt, der alle relevanten Nachrichten, die durch den Netzwerkknoten weitergeleitet werden, in einem Archiv A abspeichert.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CH00866/14A CH709741A1 (de) | 2014-06-05 | 2014-06-05 | Börsenhandelsplattform. |
EP15727866.4A EP3152731A1 (de) | 2014-06-05 | 2015-06-03 | Börsenhandelsplattform |
SG11201610187RA SG11201610187RA (en) | 2014-06-05 | 2015-06-03 | Stock exchange trading platform |
PCT/CH2015/000083 WO2015184557A1 (de) | 2014-06-05 | 2015-06-03 | Börsenhandelsplattform |
US15/315,408 US20170109825A1 (en) | 2014-06-05 | 2015-06-03 | Stock exchange trading platform |
US16/729,376 US20200349645A1 (en) | 2014-06-05 | 2019-12-28 | Stock exchange trading platform |
US17/812,110 US20220343424A1 (en) | 2014-06-05 | 2022-07-12 | Stock exchange trading platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CH00866/14A CH709741A1 (de) | 2014-06-05 | 2014-06-05 | Börsenhandelsplattform. |
Publications (1)
Publication Number | Publication Date |
---|---|
CH709741A1 true CH709741A1 (de) | 2015-12-15 |
Family
ID=51260533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CH00866/14A CH709741A1 (de) | 2014-06-05 | 2014-06-05 | Börsenhandelsplattform. |
Country Status (5)
Country | Link |
---|---|
US (3) | US20170109825A1 (de) |
EP (1) | EP3152731A1 (de) |
CH (1) | CH709741A1 (de) |
SG (1) | SG11201610187RA (de) |
WO (1) | WO2015184557A1 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110137785A1 (en) * | 2009-12-04 | 2011-06-09 | Lutnick Howard W | Multicomputer distributed processing of trading information |
WO2016054721A1 (en) * | 2014-10-08 | 2016-04-14 | Tsx Inc. | Selective delayed and undelayed database updating |
US20170004575A1 (en) * | 2015-07-01 | 2017-01-05 | Chicago Mercantile Exchange Inc. | Dissemination of order status information present on an electronic exchange |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120296797A1 (en) * | 2011-05-19 | 2012-11-22 | Omx Technology Ab | Method and arrangement for pre-match risk validation of orders in an automated exchange |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0411748A3 (en) * | 1989-06-02 | 1991-11-21 | Reuters Limited | System for matching of buyers and sellers with risk minimization |
US7606748B1 (en) * | 2002-09-12 | 2009-10-20 | Trading Technologies International, Inc. | System and method for preventing cross trading |
WO2005033897A2 (en) * | 2003-10-03 | 2005-04-14 | Chauveau Claude J | Method and apparatus for measuring network timing and latency |
US7805358B2 (en) * | 2005-07-29 | 2010-09-28 | Bgc Partners, Inc. | System and method for limiting aggressive trading in a electronic trading system |
US7921046B2 (en) * | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US8566218B2 (en) * | 2008-10-07 | 2013-10-22 | Chicago Mercantile Exchange Inc. | Systems and methods for matching one or more incoming order to a standing order as a function of an inner market parameter |
CA3059606C (en) * | 2008-12-15 | 2023-01-17 | Ip Reservoir, Llc | Method and apparatus for high-speed processing of financial market depth data |
US9501795B1 (en) * | 2010-08-23 | 2016-11-22 | Seth Gregory Friedman | Validating an electronic order transmitted over a network between a client server and an exchange server with a hardware device |
US9760946B1 (en) * | 2010-11-24 | 2017-09-12 | Nyse Arca Llc | Methods and apparatus for detecting gaps in a sequence of messages, requesting missing messages and/or responding to requests for messages |
US9038189B1 (en) * | 2011-02-24 | 2015-05-19 | Rexante, LLC | System and method for programming a trading system |
US20140143121A1 (en) * | 2012-02-23 | 2014-05-22 | Rexante Systems, Inc. | System and Method for Programming a Trading System |
US8655769B2 (en) * | 2012-03-16 | 2014-02-18 | Cape City Command, Llc | Method and system for improving equity trade order acknowledgement times |
US11436672B2 (en) * | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
US10121196B2 (en) * | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US20140249979A1 (en) * | 2013-03-01 | 2014-09-04 | Secodix Corporation | Enhancing the handling speed of electronic financial services messages |
US20150127509A1 (en) * | 2013-11-07 | 2015-05-07 | Chicago Mercantile Exchange Inc. | Transactionally Deterministic High Speed Financial Exchange Having Improved, Efficiency, Communication, Customization, Performance, Access, Trading Opportunities, Credit Controls, and Fault Tolerance |
-
2014
- 2014-06-05 CH CH00866/14A patent/CH709741A1/de not_active Application Discontinuation
-
2015
- 2015-06-03 WO PCT/CH2015/000083 patent/WO2015184557A1/de active Application Filing
- 2015-06-03 EP EP15727866.4A patent/EP3152731A1/de not_active Ceased
- 2015-06-03 US US15/315,408 patent/US20170109825A1/en not_active Abandoned
- 2015-06-03 SG SG11201610187RA patent/SG11201610187RA/en unknown
-
2019
- 2019-12-28 US US16/729,376 patent/US20200349645A1/en not_active Abandoned
-
2022
- 2022-07-12 US US17/812,110 patent/US20220343424A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120296797A1 (en) * | 2011-05-19 | 2012-11-22 | Omx Technology Ab | Method and arrangement for pre-match risk validation of orders in an automated exchange |
Non-Patent Citations (3)
Title |
---|
CHRISTIAN LEBER ET AL: "High Frequency Trading Acceleration Using FPGAs", FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2011 INTERNATIONAL CONFERENCE ON, IEEE, 5 September 2011 (2011-09-05), pages 317 - 322, XP031977539, ISBN: 978-1-4577-1484-9, DOI: 10.1109/FPL.2011.64 * |
GARETH W MORRIS ET AL: "FPGA Accelerated Low-Latency Market Data Feed Processing", HIGH PERFORMANCE INTERCONNECTS, 2009. HOTI 2009. 17TH IEEE SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 25 August 2009 (2009-08-25), pages 83 - 89, XP031528532, ISBN: 978-0-7695-3847-1 * |
JOHN W LOCKWOOD ET AL: "A Low-Latency Library in FPGA Hardware for High-Frequency Trading (HFT)", HIGH-PERFORMANCE INTERCONNECTS (HOTI), 2012 IEEE 20TH ANNUAL SYMPOSIUM ON, IEEE, 22 August 2012 (2012-08-22), pages 9 - 16, XP032236263, ISBN: 978-1-4673-2836-4, DOI: 10.1109/HOTI.2012.15 * |
Also Published As
Publication number | Publication date |
---|---|
US20170109825A1 (en) | 2017-04-20 |
US20200349645A1 (en) | 2020-11-05 |
SG11201610187RA (en) | 2017-01-27 |
EP3152731A1 (de) | 2017-04-12 |
US20220343424A1 (en) | 2022-10-27 |
WO2015184557A1 (de) | 2015-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112009002716B4 (de) | Verbessertes automatisches Handelssystem | |
EP0179936B1 (de) | Verfahren und Einrichtung zur Steuerung einer Sammelleitung | |
DE69904758T2 (de) | Flexible sondierungsbefehl/sondierungrespons-leitweglenkung zur aufrechterhaltung der speicherkohärenz | |
DE3300261C2 (de) | ||
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE69734432T2 (de) | Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem | |
DE112004002043B4 (de) | Verfahren, System und Programm zum Aufbau eines Pakets | |
DE112012004551T5 (de) | Mehrkernverknüpfung in einem Netzprozessor | |
DE69515355T2 (de) | Mehrfacharbitrierungsschema | |
WO2015184558A1 (de) | Börsenhandelssystem | |
DE102015004128A1 (de) | Verfahren und System zum Testen cloud-basierter Anwendungen und Dienste in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen | |
DE112007001135T5 (de) | Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System | |
DE112017004907T5 (de) | System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration | |
DE10045915A1 (de) | Verfahren und System zum Steuern von Datenübertragungen mit physikalischer Trennung der Datenfunktionalität von der Adressen- und Steuerfunktionalität in einem verteilten Multi-Bus-Mehrprozessorsystem | |
DE112010003594T5 (de) | Dynamische Ressourcen-Zuordnung für verteilte Gruppen-speichernetze | |
US20220343424A1 (en) | Stock exchange trading platform | |
DE2443579B2 (de) | Asynchroner Arbiter | |
EP0315919A1 (de) | Vermittlungsknoten für die Vermittlung von in Datenpaketen ubertragenen Datensignalen | |
DE112016004362T5 (de) | Niederlatenz-internode-kommunikation | |
DE112015006192T5 (de) | Kommunikationsvorrichtung, Kommunikationsverfahren und Programm | |
DE112019003854T5 (de) | Flusssteuerungssichtbarkeit | |
DE112013001211B4 (de) | Multithread-Paketverarbeitung | |
DE102012107577A1 (de) | Multiport-Speicherelement sowie Halbleitervorrichtung und System mit demselben | |
DE602005004508T2 (de) | Speichersystem und Speichersteuerverfahren | |
DE102016207144B4 (de) | Auswertungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCAR | Change of the address of the representative |
Free format text: NEW ADDRESS: POSTFACH, 8032 ZUERICH (CH) |
|
AZW | Rejection (application) |