KR20110101148A - 개선된 자동 거래 시스템 - Google Patents

개선된 자동 거래 시스템 Download PDF

Info

Publication number
KR20110101148A
KR20110101148A KR1020117013194A KR20117013194A KR20110101148A KR 20110101148 A KR20110101148 A KR 20110101148A KR 1020117013194 A KR1020117013194 A KR 1020117013194A KR 20117013194 A KR20117013194 A KR 20117013194A KR 20110101148 A KR20110101148 A KR 20110101148A
Authority
KR
South Korea
Prior art keywords
dedicated hardware
matching engine
communication interface
message
engine
Prior art date
Application number
KR1020117013194A
Other languages
English (en)
Other versions
KR101711675B1 (ko
Inventor
매튜 채프만
매튜 존 허드
Original Assignee
조모조 피티와이 주식회사
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
Priority claimed from AU2008905788A external-priority patent/AU2008905788A0/en
Application filed by 조모조 피티와이 주식회사 filed Critical 조모조 피티와이 주식회사
Publication of KR20110101148A publication Critical patent/KR20110101148A/ko
Application granted granted Critical
Publication of KR101711675B1 publication Critical patent/KR101711675B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Technology Law (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

자동 거래 시스템용 통신 인터페이스(1)가 개시된다. 이 통신 인터페이스(1)는 자동 거래 시스템에서 외부 네트워크(2)와 매칭 엔진(3) 사이에서 메시지(4)를 처리하는 전용 하드웨어(1) 어레이를 갖는다.

Description

개선된 자동 거래 시스템{IMPROVED AUTOMATED TRADING SYSTEM}
본 발명은 일반적으로 시장 거래용 자동 거래 시스템에서의 개선에 관한 것이며, 더 상세하게는, 자동 거래 시스템용 통신 인터페이스에 대한 것이지만, 오로지 이것에 대한 것만은 아니다.
자동 거래 시스템(ATS: Automated Trading Systems: ATS)은 시장에서 구매자와 판매자의 실시간 매칭을 용이하게 하는 것으로 알려져 있으며, 여기서 하나 이상의 열거된 인스트러먼트(주식, 유가증권(securities) 등)가 거래된다.
현재의 ATS는 전자 통신 네트워크(ECN: Electronic Communication Network)를 활용한다. ECN은 중앙 제한 주문 북(CLOB: Central Limited Order Book)을 구현하며, CLOB는, 특정 가격에서 금융 인스트러먼트를 판매하기 원하는 판매자와 특정한 가격에 하나 이상의 금융 인스트러먼트를 구매하기 원하는 구매자 사이의 표준 이중 옥션(standard double auction)을 포함한다.
Nasdaq, ASX 등과 같은 주요 거래 시장에서, 강력한 계산 시스템이 거래 도중에 실행되는 많은 거래를 구현해야한다.
계산 시스템의 속도가 매우 중요하다. 거래를 수행할 때 두 가지 중요한 요인, 즉 가격 우선 및 시간 우선이 있다. 가격 우선이 의미하는 점은, 가장 좋은 가격에 판매하기 원하거나 가장 좋은 가격에 구매하기 원하는 사람에게 거래 시 우선권을 제공할 것이라는 점이다. 시간 우선이 의미하는 점은, 동시에 두 명의 판매자나 두 명의 구매자가 있는 경우, 거래는 구매자나 판매자 중 그 주문이 CLOB에 처음 도착해서 처음 수행되는 처음 사람에게 수행될 것이라는 점이다. ECN의 처리 속도가 그러므로 중요하다.
ECN의 클라이언트는, 최대/최소 가격과 같은 특정한 조건으로 특정한 양의 열거된 인스트러먼트를 구매 또는 판매할 주문을 전자적으로 제출한다. 이들 주문은 큐(queue)에 놓인다. 초기에, 클라이언트에게는, 그 주문이 확인되었음이 통보된다.
서로 매칭하여 그 가격 조건을 만족할 수 있는 구매자와 판매자가 발견된 경우, 거래가 발생한다. 구매자와 판매자 모두에게는, 그 주문이 성공적으로 수행되었음이 통보된다.
주문 가격 및 거래("시장 데이터")의 익명화된 요약(anonymised summary)이 또한 다른 관심 클라이언트에게 배포된다.
ENC 성능의 메트릭스(Metrics)는 대기시간(latency)과 처리량(throughput)을 포함한다. 대기시간은 교환의 응답 시간이다. 이것은, 많은 다양한 컨텍스트(contexts): 주문하고부터 초기 확인을 받기까지, 주문하고부터 수행 통지를 받기까지, 주문하고, 이것이 시장 데이터로 배포될 때까지로 측정될 수 있다. 처리량은, ECN이 지원할 수 있는, 초당 주문 또는 거래의 최대 수이다.
FCN의 많은 클라이언트는, 빈번하고 신뢰할 만하게 거래할 수 있어서, 그들의 주문의 상태에 대해 더 적은 불확실성을 갖고, 변화하는 조건에 신속하게 응답할 수 있도록, 낮은 대기시간 및 높은 처리량을 원한다.
현재의 FCN은 범용 프로세서 아키텍처 상의 소프트웨어로 그리고 전형적으로는 범용 운영체계로 구현된다. 이것이 구현을 간략화하는 반면, 이들 솔루션은 큰 대기시간- 최대로 할 때 수백 ㎲, 및 전형적으로는 ㎳ -을 보인다. 범용 운영체계가 사용될 때, 이것은 또한, 적대적인 침입자(hostile attacker)가 ECN 소프트웨어를 운영하는 컴퓨터와 타협할 수 있는 기회를 증가시켜; 그러한 이유로, 추가 방화벽 시스템이 종종, 클라이언트와 ECN 시스템 사이에 추가되어, 대기시간을 더 증가시킨다.
제 1 구성에 따라, 본 발명은, 자동 거래 시스템용 통신 인터페이스로서, 자동 거래 시스템에서 외부 네트워크와 매칭 엔진 사이에서 메시지를 처리하도록 배치된 전용 하드웨어를 포함하는 상기 통신 인터페이스를 제공한다.
실시예에서, 전용 하드웨어는 금융 트랜잭션 메시지의 처리를 위해 프로그램된 프로그램 가능한 로직 장치(PLD: Programmable Logic Device)이다. 실시예에서, 전용 하드웨어는 프로그램 가능한 게이트 어레이(PGA: Programmable Gate Array) 실시예에서는 필드 프로그램 가능한 게이트 어레이(FPGA: Field Programmable Gate Array)에 의해 구현된다.
실시예에서, 전용 하드웨어의 사용은 하드웨어 속도로 착신 및 발신 메시지를 유리하게도 처리할 수 있어, 자동 거래 시스템의 전체 속도를 높일 수 있으며, 이러한 시스템은 한 구현에서 전자 통신 네트워크(ECN)이다.
실시예에서, 전용 하드웨어 배치는, 착신 메시지(예컨대, 브로커로부터의 주문)를, 실시예에서 더 간단한 요청 포맷으로 변환하도록 배치된 파싱(parsing) 및 검증(validation) 엔진을 구현하며, 매칭 엔진에 적절하다.
실시예에서, 전용 하드웨어는, 매칭 엔진으로부터 트랜잭션 정보를 수신하고, 네트워크 쪽으로 전송하기 위한 적절한 메시지를 작성하기 위한 통지 엔진을 구현하도록 배치된다.
실시예에서, 전용 하드웨어는, 보안 기능을 구현하도록 배치되며, 착신 메시지가 진본인지를 체크하도록 배치된다. 실시예에서, 보안 기능은, 특정한 교환 프로토콜을 활용하는, 착신 메시지의 체크 섬 체크를 구현함으로써 구현된다.
전용 하드웨어 처리를 사용하면, 낮은 대기시간으로 매우 높은 데이터 처리량을 유리하게 이용한다. 나아가, PLD와 같은 하드웨어는 네트워크에 상대적으로 용이하게 인터페이스할 수 있다. PLD를 ECN의 클라이언트를 위한 부분으로서 배치함으로써, 클라이언트와의 큰 대역폭 및 적은 대기시간의 통신을 실현할 수 있다. 또한, 실시예에서, APLD가 매우 최소한의 검증 가능한 네트워킹 구현을 가지므로, 방화벽의 기능을 포함하여, 침입자일 수 있는 대상에 노출되는 침입면은 최소가 된다.
실시예에서, 추가 통신 인터페이스와 추가 매칭 엔진을 제공함으로써 리던던시(redundancy)가 제공되며, 추가 통신 인터페이스와 통신 인터페이스는 연결된다. 실시예에서, 추가 통신 인터페이스와 통신 인터페이스는 직렬 연결에 의해 연결된다. 실시예에서, 또한 추가 통신 인터페이스와 매칭 엔진이 추가 리던던시를 제공하기 위해 제공된다. 추가 통신 인터페이스는 실시예에서 직렬 연결에 의해 다른 통신 인터페이스에 연결된다.
실시예에서, 매칭 엔진은 또한 전용 하드웨어에 의해 구현될 수 있다. 실시예에서, 매칭 엔진은 PLD에 의해 구현될 수 있고, 실시예에서 FPGA에 의해 구현될 수 있다.
제 2 구성에 따라, 본 발명은 자동 거래 시스템과의 통신을 다루는 방법으로서, 네트워크와 자동 거래 시스템 사이에서 메시지를 하드웨어나 하드웨어 속도에 가깝게 처리하는 단계를 포함하는, 상기 방법을 제공한다.
실시예에서, 이러한 처리는, 프로그램 가능한 로직 장치(PLD)에 의해 구현될 수 있는 전용 하드웨어 배치에 의해 실행된다.
제 3 구성에 따라, 본 발명은 자동 거래 시스템용 매칭 엔진으로서, 인스트러먼트의 거래를 위한 표준 이중 옥션 처리를 수행하도록 배치된 전용 하드웨어를 포함하는, 상기 매칭 엔진을 제공한다.
실시예에서, 전용 하드웨어는 프로그램 가능한 로직 장치(PLD)이다. 실시예에서, 전용 하드웨어는 필드 프로그램 가능한 게이트 어레이(FPGA)이다.
제 4 구성에 따라, 본 발명은, 자동 거래 시스템용 보안 장치로서, 외부 네트워크로부터 자동 거래 시스템으로의 착신 메시지를 수신하도록 배치된 통신 인터페이스와, 착신 메시지를 확인하기 위해 배치된 전용 하드웨어를 포함하는, 상기 보안 장치를 제공한다.
실시예에서, 확인은 체크 섬 체크에 의해 실행된다.
실시예에서, 전용 하드웨어는 프로그램 가능한 로직 장치(PLD)이다. 실시예에서, 프로그램 가능한 로직 장치는 필드 프로그램 가능한 게이트 어레이(FPGA)이다.
본 발명의 특성 및 장점은, 단지 예를 통해, 수반하는 도면을 참조하여, 그 실시예에 대한 다음의 상세한 설명으로부터 명백하게 될 것이다.
도 1은, 본 발명의 실시예에 따른 장치를 병합하는 자동 거래 시스템의 높은 수준의 블록도이다.
도 2는, 도 1의 시스템의 더 상세한 블록도이다.
도 3은, 본 발명의 추가 실시예에 따른 장치의 블록도이다.
도 1을 참조하면, 자동 거래 시스템용의, 참조번호(1)로 표시한 통신 인터페이스를 예시한다. 통신 인터페이스(1)는 전용 하드웨어, 이 예에서는 필드 프로그램 가능한 게이트 어레이(FPGA: Field Programmable Gate Array)(1) 형태로 구현되며, 이러한 어레이는 외부 네트워크(2)와 매칭 엔진(3) 사이에서 인터페이스를 제공하도록 프로그램되며, 이러한 엔진(3)은 범용 프로세서상에서 소프트웨어(예컨대 시장 거래용 표준 이중 옥션을 구현하는 범용 서버 및 컴퓨터 프로그램)에 의해 구현된다.
FPGA에 의해 구현되는 통신 및 메시징 인터페이스(1)와 범용 소프트웨어 시스템 및 소프트웨어에 의해 구현되는 매칭 엔진은 함께 자동 거래 시스템(ATS: Automated Trading System)을 구현하는 전자 통신 네트워크(ECN)를 구성한다.
통신 및 메시징 인터페이스(1)의 기능은 네트워크(3)로부터 메시지를 수신하여, 이들을 처리한 후 이들을 매칭 엔진(3)에 전달하는 것이다. 이것은 또한 메시지를 매칭 엔진(3)으로부터 수신하여 이들을 처리한 후 네트워크(2)에 다시 전달하는 기능을 갖는다.
ECN의 클라이언트, 예컨대 브로커, 거래자 등은 특정한 양의 열거된 인스트러먼트, 예컨대 주식이나 유가증권을 구매하거나 판매하기 위한 주문을 제출한다. 이들 주문은 ORDER 메시지(4)로서 제출된다. ORDER 메시지는 보통 특정한 거래 교환에 따라 알려진 포맷을 가질 것이다. ORDER 메시지(4)의 전형적인 포맷을 이후에 더 상세하게 기술할 것이다.
ORDER(4)를 수신함에 응답하여, ECN은, ECN이 ORDER(4)를 수신했음을 승인하는 승인, ACK(5)를 보통 제공할 것이다. 나아가, 주문이 처리되어 매칭 엔진에 전달되어 표준 이중 옥션 거래 처리에 포함된 경우, CONFIRM 메시지(6)가 ECN에 의해 제공될 것이다.
거래가 발생할 때, 즉 매칭 엔진이 구매와 판매를 매칭시켜 거래를 수행할 때, EXECUTE 메시지(7)가 다시 외부 네트워크(2)에 전달되어, 클라이언트는 거래를 권고받는다. 거래가 발생할 때, 구매자와 판매자 둘 모두는, 그들의 주문이 성공적으로 수행되었다는 EXECUTE 메시지(7)를 통보받는다.
ECN의 응답 시간이 성능의 중요한 척도(measure)이다. 이것은 ACK(5)를 제공하기 위한 응답 시간과, 또한 CONFIRM(6)을 제공하기 위한 응답 시간을 포함한다. 척도는 또한, 주문할 때부터 EXECUTE(7)를 수신할 때까지의 시간일 수 있다.
앞서 논의한 바와 같이, 현재의 ECN은 전형적인 소프트웨어를 사용하는 범용 프로세서상에서 운영된다. 이들 현재의 솔루션은 기껏해야 수백 ㎲, 전형적으로는 ㎳의 높은 대기시간을 보인다. 시간이 중요한(문자 그대로 "시간이 돈인") 분야에서, 그러한 대기시간은 개선이 필요하다.
이 실시예에서, FPGA(1)는 직접 또는 하나 이상의 물리 레이어 트랜시버를 통해 (이더넷과 같은) 네트워크(2)에 연결된다. 이 실시예에서, Xilinx의 Virtex 5 FPGA와 같은 높은 수준의 PLD가 적은 대기시간의 매우 큰 데이터 처리량을 제공하기 위해 활용된다. 출원인은, PLD를 ECN의 클라이언트를 위한 부분으로서 배치함으로써, 큰 대역폭과 적은 대기시간의 클라이언트와의 통신을 실현할 수 있다는 점을 알게 되었다.
통신 및 매칭뿐만 아니라, 도 1의 실시예는 또한, 처리된 거래로부터 시장 데이터의 생성 및 처리된 정보의 저장과 같은 ECN의 다른 기능을 실행한다.
도 2는 도 1의 ECN을 더 상세하게 도시한다.
FPGA(1)는 물리 레이어 인터페이스(12)를 통해 네트워크에 연결되는 파싱 및 검증 엔진(10)과 통지 엔진(11)을 포함한다. (브로커 등과 같은) 클라이언트는 메시지를 네트워크(2)를 통해 ECN 시스템에 전송한다. 새로운 주문을 제출하고 이전 주문을 변경하는 것과 같은 동작을 위해 다른 타입의 메시지가 있다.
파싱 및 검증 엔진(10)은 이들 메시지를 더 간단한 요청 포맷으로 변환한다. 이 처리에서, 이것은 또한, 메시지가 승인받은 클라이언트로부터의 것임과 합법적인 데이터를 포함함을 예컨대 체크 섬 체크(check sum check)를 행하여 검증한다. 주문은 그 후 요청된 인스트러먼트에 대한 매칭 엔진(12)에 전송된다. 이 실시예에서, 매칭 엔진은 범용 프로세서상에 위치하며 전형적인 소프트웨어에 의해 구현된다.
매칭 엔진은 요청에 따라 쿼테이션(quotations)의 큐를 업데이트한다.
매칭 엔진(13)은 결과적인 트랜잭션 세트를 통지 엔진(11)(FPGA에 의해 구현됨)과 또한 저장 엔진(14)(전형적인 소프트웨어를 사용하여 범용 프로세서상에서 또한 구현됨)에 통신한다.
통지 엔진(11)은 통지 메시지(예컨대, EXECUTE(7))를 요청 클라이언트와 주문이 매칭할 수 있는 임의의 다른 클라이언트에 전송한다. 이것은 또한 시장 데이터를 다른 클라이언트에 배포한다.
저장 엔진(14)은, 모든 트랜잭션이 디스크나 다른 안정적인 저장 매체 상에 안전하게 저장됨을 보장한다.
파싱 및 검증 엔진(10)과 통지 엔진(11)을 구현하기 위해 FPGA를 사용함으로써, FCN에 대해 훨씬 더 적은 대기시간을 초래하고, 매우 적은 기간(대략 수 ㎲이하)에 CONFIRM(6) 및 ACK(5)를 얻을 수 있으며, 또한 주문이 종래의 시스템을 통해서보다 더 빠르게 매칭 엔진에 도달하므로 수행을 개선한다. EXECUTE(7) 메시지는 또한 더 빠르게 반환된다.
이 실시예에서, 파싱 및 검증 엔진(10)과 통지 엔진(11)은 FPGA에 의해 구현된다. 즉, 통신 및 메시징 인터페이스(1)는 FPGA에 의해 구현된다.
다른 실시예에서, 매칭 엔진(13)도 FPGA(또는 다른 프로그램 가능한 또는 로직 장치 또는 전용 하드웨어)로 구현될 수 있어서, 속도를 더 높인다. 다른 실시예에서, 저장 엔진은 예컨대, PLD's, FPGA's 등과 같은 전용 하드웨어로 구현될 수도 있다. 일반적으로, ECN의 기능은, 성능과 구현의 용이성 사이의 원하는 절충에 따라, PLD와 범용 프로세서 사이에서 다양하게 나뉠 수 있다.
다음의 설명은, 예시적인 메시지를 활용하는 FPGA(1)에 의한 처리의 더 상세한 설명이다.
파싱 /검증 이메일
FPGA(1)의 파싱/검증 엔진 0은 네트워크 수신과 동기적으로 동작하도록 설계된다. Gigabit 이더넷(Ethernet) 네트워크의 경우, 125Mhz의 FPGA 클록 속도가 바람직하며, 이로 인해 8비트(1바이트)의 데이터가 매 클록 사이클마다 수신되어 처리된다.
이 예에서 FPGA(1)에 의해 처리되는 ECN 메시지는 두 타입이 있다: 새로운 주문 메시지, 및 주문 변경/취소 메시지. ECN 메시지는 표준 인터넷 프로토콜(UDP/IP) 패킷에서 캡슐화된다. 예시적인 새로운 주문 메시지는 다음과 같다:
이더넷 프로토콜 헤더 : 112비트/ 14바이트
IP 프로토콜 헤더 : 160비트/ 20바이트(최소)
UDP 프로토콜 헤더 : 64비트/ 8바이트
---
세션 ID : 16비트/ 2바이트
시퀀스 번호 : 16비트/ 2바이트
인스트러먼트 코드 : 32비트/ 4바이트
메시지 타입 : 8비트/ 1바이트(0= NEW ORDER)
트랜젝션 타입 : 8비트/ 1바이트(0= 구매, 1= 판매)
(장래 사용을 위해 예비됨): 16비트/ 2바이트
양 : 16비트/ 2바이트
가격 : 16비트/ 2바이트
클라이언트 레퍼런스 : 32비트/ 4바이트
먼저, 이더넷, IP 및 UDP 프로토콜 헤더가 스킵된다; 이것은 상당히 간단하지만, IP 헤더는 가변-길이일 수 있다.
그 후 ECN 프로토콜 필드가 수신된다.
제 1 필드- 세션 ID -는 클라이언트와 교환 사이의 세션을 나타내는 불분명한 토큰(opaque token)이다. 이 제 1 필드를 활용하여, 클라이언트에 관련된 데이터가 FPGA에 저장된 클라이언트 정보 어레이에서 룩업될 수 있다. 시퀀스 번호 필드가 수신될 때, FPGA는, 시퀀스 번호가 클라이언트에 대한 예상 시퀀스 번호와 매칭하는지를 확인한다. 이 체크가 실패하면, 나머지 메시지를 무시하고, 통지 메시지를 즉시 클라이언트에 반환한다. 그렇지 않다면, 예상 시퀀스 번호는 그 다음 메시지를 준비하기 위해 1만큼 증분되며, 처리가 진행된다. 세션 ID는 클라이언트를 식별케 하는 더 콤팩트한 "클라이언트 인덱스"로 변환되며, 이들 두 필드는 그 후 폐기된다.
다음의 네 바이트는, 메시지가 관련되는 인스트러먼트 코드를 지시한다. 이것은 "MSFT"나 어떤 다른 식별자와 같은 주식 코드일 수 있다. FPGA는, 효율적인 룩업 테이블(LUTs)을 사용하여, 이 인스트러먼트 코드가 유효한지를 판정한다. 그렇다면, 이 장치는 이 코드를 더 콤팩트한 형태, 즉 인스트러먼트 인덱스로 변환한다. 그러한 형태로 인해 처리는 훨씬 더 효율적이게 되지만, 이 번호는 일시적으로(ephemerally)만 유효할 수 있는 반면, 클라이언트가 표준 인스트러먼트 코드를 사용하는 것이 바람직하다.
메시지 내의 다른 필드는 트랜젝션 타입(구매 또는 판매), 가격, 양 및 클라이언트 레퍼런스(주문에 대해 상응하게 클라이언트에게 전송된 클라이언트-공급 필드)를 전달한다. 나머지 필드 각각이 수신됨에 따라, 내부 표시는 아래의 구조에 따라 구성된다. 입력 필드 중 많은 부분은 있는 그대로(verbatim) 전달할 수 있다. 그러나 일부 검증이 필드에 실행되어, 이들 필드가 합리적인 값을 갖고 있는지를 확인하며; 예컨대, 트랜젝션 타입이 구매 또는 판매인지를 확인한다. 이것은 매칭 엔진에서 추후에 일어날 필요가 있는 검증을 최소화한다. 예약된 필드와 같은 일부 필드는 오직 장래에 확장하기 위한 프로토콜로 되어 있고, 내부 형태로부터 생략될 수 있다.
필드 모두가 수신되면, 내부 시퀀스 번호를 첨부한다. 결과적인 16-바이트 내부 레코드가, 매칭 엔진과 공유되는 메모리 영역의 써큘러 버퍼에 기록된다.
클라이언트 인덱스 : 1바이트
인스트러먼트 인덱스 : 1바이트
메시지 타입 : 1바이트(0= NEW ORDER)
트랜젝션 타입 : 1바이트(0= 구매, 1= 판매)
양 : 2바이트
가격 : 2바이트
클라이언트 레퍼런스 : 4바이트
(미사용) : 2바이트
내부 시퀀스 번호 : 2바이트
유사한 처리가 또한 변경/삭제 메시지에 적용된다:
이더넷 프로토콜 헤더 : 112비트/ 14바이트
IP 프로토콜 헤더 : 160비트/ 20바이트
UDP 프로토콜 헤더 : 64비트/ 8바이트
---
세션 ID : 16비트/ 2바이트
시퀀스 번호 : 16비트/ 2바이트
인스트러먼트 : 32비트/ 4바이트
메시지 타입 : 8비트/ 1바이트(1= MODIFY/CANCEL ORDER)
(장래에 사용하기 위해 예비됨) : 8비트/ 1바이트
새로운 양 : 16비트/ 2바이트
주문 레퍼런스 : 32비트/ 4바이트
클라이언트 레퍼런스 : 32비트/ 4바이트
이 메시지는 새로운 주문 메시지와 유사한 필드를 포함하며 유사하게 처리된다. 트랜젝션 타입 및 가격 대신, 주문 레퍼런스가 사용되어 내려졌던 주문을 참조한다. 이것은 있는 그대로 16바이트 내부 레코드가 되며, 이 경우 다음과 같이 나타난다:
클라이언트 인덱스 : 1바이트
인스트러먼트 인덱스 : 1바이트
메시지 타입 : 1바이트(1= MODIFY/CANCEL ORDER)
(미사용) : 1바이트
주문 레퍼런스 : 4바이트
클라이언트 레퍼런스 : 4바이트
새로운 양 : 2바이트
내부 시퀀스 번호 : 2바이트
매칭 엔진
---------
매칭 엔진은 파싱/검증 엔진에 의해 생성된 16바이트 레코드에 액세스한다. 판독한 각 레코드에 대해, 엔진은 그 내부 큐 상에서 요청된 업데이트를 실행하여 출력 써큘러 버퍼(통지 큐)에서 16바이트 레코드를 생성한다. 통지 포맷을 추후에 설명한다.
메시지 타입이 MODIFY/CANCEL ORDER라면, 매칭 엔진은 기존의 주문의 위치를 찾아 새로운 양 필드를 사용하여 그 양을 업데이트하기 위해 주문 레퍼런스를 사용한다. 다른 클라이언트에 속해 있어, 주문의 위치를 찾지 못하거나, 새로운 양이 이전 양보다 더 크다면, MODIFY-REJECT 통지가 대기한다(queued). 그렇지 않다면 MODIFY-ACCEPT 통지가 대기한다.
메시지 타입이 NEW ORDER라면, 매칭 엔진은, 이 새로운 주문이 정반대 편 상에서 대기된 주문과 매칭할 수 있는지를 체크한다(예컨대, 구매 주문인 경우, 엔진은 인스트러먼트에 대한 판매자의 큐를 체크한다). 그렇다면, ORDER-EXECUTE 통지가 양측에 대해 대기한다. 가격이 현재 시장가와 너무 떨어져 있다면, ORDER-REJECT가 된다.
그렇지 않다면, 주문이 큐에 추가되고, ORDER-ACCEPT 통지가 생성된다.
통지는 간단한 레코드 포맷을 따르며, 이러한 포맷은 매칭 엔진에 대한 입력 포맷과 유사하다.
클라이언트 인덱스 : 1바이트
인스트러먼트 인덱스 : 1바이트
통지 타입 : 1바이트(0= ORDER-REJECT, 1= ORDER-ACCEPT, 2= ORDER-EXECUTE, 3= MODIFY-REJECT, 4= MODIFY-ACCEPT)
트랜젝션 타입 : 1바이트
양 : 2바이트
가격 : 2바이트
클라이언트 레퍼런스 : 4바이트
주문 레퍼런스 : 4바이트
통지 엔진
----------
FPGA에서 통지 엔진은 통지 큐로부터 레코드를 판독하여 메시지를 클라이언트에 전송한다. 클라이언트 인덱스는 클라이언트 정보 어레이에 인덱싱하는데 사용되며, 이 어레이는 그 다음 발신 시퀀스 번호뿐만 아니라 이더넷 어드레스, IP 어드레스 및 UDP 포트 번호를 포함하여 클라이언트에 접촉하는데 사용한다. 내부 인스트러먼트 인덱스는 다시, 클라이언트에 의해 사용되는 4바이트 인스트러먼트 코드로 매핑된다. 다른 필드는 있는 그대로 전달된다.
발신 메시지는, 메모리에 미리-구성된 메시지를 요구하기보다는 필요에 따라 각 출력 바이트를 생성하는 것을, 네트워크 송신과 동기적으로 수행하는 FPGA 로직에 의해 생성된다.
통지 레코드로부터의 필드가 적절한 슬롯에서 발신 메시지로 대체된다. 발신 메시지의 예는 다음과 같다:
이더넷 프로토콜 헤더 : 112비트/ 14바이트
IP 프로토콜 헤더 : 160비트/ 20바이트
UDP 프로토콜 헤더 : 64비트/ 8바이트
---
시퀀스 번호 : 16비트/ 2바이트
통지 타입 : 8비트/ 1바이트
트랜젝션 타입 : 8비트/ 1바이트
인스트러먼트 코드 : 32비트/ 4바이트
양 : 16비트/ 2바이트
가격 : 16비트/ 2바이트
클라이언트 레퍼런스 : 32비트/ 4바이트
주문 레퍼런스 : 32비트/ 4바이트
상기 상세한 설명에 포함된 메시지는 단지 예이며, 다른 포맷의 메시지나 다른 메시지가 본 발명의 다른 실시예에 따른 배치에 의해 처리될 수 있음을 이해해야 할 것이다.
실시예에서, 상술한 실시예와 같은 시스템은 리던던시를 실현하기 위해 많은 횟수 복제될 수 있다. 이와 같은 시스템에서 리던던시는, 시장 거래가 (시스템의 일부나 전체가 고장 난 경우에도) 계속될 수 있고, 거래 레코드가 보관됨을 보장하기 위해 중요할 수 있음을 이해해야 할 것이다.
도 3은 본 발명의 추가 실시예에 따른 시스템의 개략적인 블록도를 도시한다. 이 시스템은, 이 예에서, 세 개의 시스템 유닛(30, 31 및 32)을 포함한다. 시스템 유닛 각각은 통신 및 메시징 인터페이스(1)와, 다른 ECN 기능을 실행하기 위한 매칭 엔진 및 장치(3)를 포함한다. 다시 말해, 시스템 유닛(30, 31 및 32)은 도 1의 시스템의 세 개의 복제이다.
이 실시예에서, 각 시스템 유닛(30, 31 및 32)의 FPGA(1)는 연결(33 및 34)에 의해 직렬로 인터페이스된다. 이점은, 시스템 내외로 전송되는 모든 메시지의 경우, 백업 시스템이 있음을 보장한다. 예컨대 시스템(30)이 고장나면, 시스템(31 및 32)은 시장 거리 데이터 처리를 계속하는데 이용 가능한 모든 정보를 가질 것이다.
상술한 바와 같은 실시예는, 주식, 유가증권, 통화, 옵션, 선물(futures), 채권, 기타 파생상품(derivatives), CFD, 원자재(commodity), 반도체 칩 등을 포함하지만 이들로 제한되지는 않는 임의의 인스트러먼트를 거래하는데 사용될 수 있다.
상술한 실시예에서, 통신 인터페이스는 FPGA에 의해 구현된다. 이것은 임의의 프로그램 가능한 로직 장치에 의해 구현되며, 사실 임의의 전용 하드웨어에 의해 구현될 수 있다. 최적화된 칩이 예컨대 통신 인터페이스의 기능을 구현하는데 사용될 수 도 있다. 유사하게, ECN의 다른 부분이 전용 하드웨어(예컨대, 매칭 엔진 및/또는 저장 엔진)를 사용하여 구현되는 경우, 이들 부분은, FPGA뿐만 아니라 주문 회로, 임의의 PLD와 같은 임의의 타입의 전용 하드웨어를 사용하여 구현될 수 도 있다
다음의 청구범위에서 그리고 본 발명의 선행하는 상세한 설명에서, 문맥이 분명한 의미(language)나 필요한 암시로 인해 달리 필요로 하는 경우를 제외하고는, 단어 "포함한다"나 "포함된"이나 "포함하는"과 같은 파생어는 포괄적인 의미, 즉 언급한 특성의 존재를 명시하지만 본 발명의 여러 실시예에서 추가 특성이 존재하거나 추가되는 것을 불가능하게 하지 않도록 사용된다.
당업자에게는, 수많은 변형 및/또는 변경이 본 발명의 사상이나 범주에서 벗어나지 않고 넓게 기술된 특정한 실시예에 도시된 바와 같이, 본 발명에 대해 이뤄질 수 있음이 이해될 것이다. 본 실시예는 그러므로 모든 면에서 제한적이 아닌 예시적인 것으로 간주 될 것이다.

Claims (25)

  1. 자동 거래 시스템용 통신 인터페이스로서,
    상기 자동 거래 시스템에서 외부 네트워크와 매칭 엔진 사이에서 메시지를 처리하도록 배치된 전용 하드웨어를 포함하는, 통신 인터페이스.
  2. 청구항 1에 있어서, 상기 전용 하드웨어는 메시지를 처리하기 위해 프로그램된 프로그램 가능한 로직 장치인, 통신 인터페이스.
  3. 청구항 2에 있어서, 상기 전용 하드웨어는 프로그램 가능한 게이트 어레이인, 통신 인터페이스.
  4. 청구항 3에 있어서, 상기 전용 하드웨어는 필드 프로그램 가능한 게이트 어레이인, 통신 인터페이스.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서, 상기 전용 하드웨어 배치는, 착신 메시지를 상기 매칭 엔진에 적절한 요청 포맷으로 변환하도록 배치된 파싱(parsing) 및 검증 엔진을 구현하는, 통신 인터페이스.
  6. 청구항 1 내지 청구항 5 중 어느 한 항에 있어서, 상기 전용 하드웨어는, 상기 매칭 엔진으로부터 트랜젝션 정보를 수신하여, 상기 네트워크로 외부로 전송하기 위한 메시지를 작성하기 위한 통지 엔진을 구현하는, 통신 인터페이스.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서, 상기 전용 하드웨어는 보안 기능을 구현하는, 통신 인터페이스.
  8. 청구항 7에 있어서, 상기 전용 하드웨어는, 착신 메시지의 체크 서밍 체크(check summing check)를 구현함으로써, 상기 보안 기능을 구현하도록 배치되는, 통신 인터페이스.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 기재된 통신 인터페이스와, 매칭 엔진을 포함하는 자동 거래 시스템.
  10. 청구항 9에 있어서, 상기 매칭 엔진은 전용 하드웨어에 의해 구현되는, 자동 거래 시스템.
  11. 청구항 10에 있어서, 상기 매칭 엔진을 구현하는 상기 전용 하드웨어는 프로그램 가능한 로직 장치인, 자동 거래 시스템.
  12. 청구항 11에 있어서, 상기 매칭 엔진을 구현하는 상기 전용 하드웨어는 필드 프로그램 가능한 게이트 어레이인, 자동 거래 시스템.
  13. 자동 거래 시스템과의 통신을 다루는 방법으로서,
    네트워크와 상기 자동 거래 시스템 사이에서 메시지를 하드웨어나 하드웨어 속도에 가깝게 처리하는 단계를 포함하는, 방법.
  14. 청구항 13에 있어서, 상기 메시지 처리 단계는 전용 하드웨어 배치에 의해 실행되는, 방법.
  15. 청구항 14에 있어서, 상기 전용 하드웨어 배치는 프로그램 가능한 로직 장치인, 방법.
  16. 청구항 15에 있어서, 상기 전용 하드웨어 배치는 필드 프로그램 가능한 게이트 어레이인, 방법.
  17. 자동 거래 시스템용 매칭 엔진으로서,
    인스트러먼트(instrument)의 거래를 위해 표준 이중 옥션 처리를 수행하도록 배치된 전용 하드웨어를 포함하는, 매칭 엔진.
  18. 청구항 17에 있어서, 상기 전용 하드웨어는 프로그램 가능한 로직 장치인, 매칭 엔진.
  19. 청구항 18에 있어서, 상기 전용 하드웨어는 필드 프로그램 가능한 게이트 어레이인, 매칭 엔진.
  20. 자동 거래 시스템용 보안 장치로서,
    외부 네트워크로부터 상기 자동 거래 시스템으로의 착신 메시지를 수신하도록 배치된 통신 인터페이스를 포함하고, 상기 착신 메시지를 확인하도록 배치된 전용 하드웨어를 포함하는, 보안 장치.
  21. 청구항 20에 있어서, 체크 서밍 체크에 의해 확인을 실행하도록 배치되는, 보안 장치.
  22. 청구항 20 또는 청구항 21에 있어서, 상기 전용 하드웨어는 프로그램 가능한 로직 장치인, 보안 장치.
  23. 청구항 22에 있어서, 상기 전용 하드웨어는 필드 프로그램 가능한 게이트 어레이인, 보안 장치.
  24. 자동 거래 시스템으로서,
    청구항 1 내지 청구항 9 중 어느 한 항에 기재된 통신 인터페이스, 매칭 엔진, 청구항 1 내지 청구항 9 중 어느 한 항에 기재된 추가적인 통신 인터페이스, 및 추가적인 매칭 엔진을 포함하며, 상기 통신 인터페이스 및 추가적인 통신 인터페이스는 연결되어, 상기 자동 거래 시스템에 대한 시스템 리던던시(redundancy)를 제공하는, 자동 거래 시스템.
  25. 청구항 24에 있어서, 청구항 1 내지 청구항 9 중 어느 한 항에 기재된 추가적인 통신 시스템과, 추가적인 매칭 엔진을 더 포함하여, 추가적인 시스템 리던던시를 제공하는, 자동 거래 시스템.
KR1020117013194A 2008-11-10 2009-07-02 개선된 자동 거래 시스템 KR101711675B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2008905788 2008-11-10
AU2008905788A AU2008905788A0 (en) 2008-11-10 Improved Automated Trading System
PCT/AU2009/000849 WO2010051575A1 (en) 2008-11-10 2009-07-02 Improved automated trading system

Publications (2)

Publication Number Publication Date
KR20110101148A true KR20110101148A (ko) 2011-09-15
KR101711675B1 KR101711675B1 (ko) 2017-03-02

Family

ID=42152380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117013194A KR101711675B1 (ko) 2008-11-10 2009-07-02 개선된 자동 거래 시스템

Country Status (11)

Country Link
US (1) US8706606B2 (ko)
JP (1) JP5670341B2 (ko)
KR (1) KR101711675B1 (ko)
CN (1) CN102246194B (ko)
AU (1) AU2009311242B2 (ko)
BR (1) BRPI0921524A2 (ko)
CA (1) CA2743221C (ko)
DE (1) DE112009002716B4 (ko)
GB (1) GB2478093B (ko)
HK (1) HK1161762A1 (ko)
WO (1) WO2010051575A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320336A1 (en) * 2010-06-29 2011-12-29 Omx Technology Ab System and a method for generating market input
JP5629387B2 (ja) * 2010-11-19 2014-11-19 ドイチェ バンク アクチェンゲゼルシャフト 電子金融取引のワイヤスピードの監視及び制御
US9792649B1 (en) 2010-11-24 2017-10-17 Nyse Arca Llc Methods and apparatus for performing risk checking
US9197428B1 (en) 2010-11-24 2015-11-24 Nyse Arca Llc Methods and apparatus for requesting message gap fill requests and responding to message gap fill requests
AU2011200733B2 (en) * 2011-02-21 2015-08-13 Zomojo Pty Ltd A market access system and method
US8548900B1 (en) * 2012-12-19 2013-10-01 Nyse Group, Inc. FPGA memory paging
GB2512061A (en) * 2013-03-18 2014-09-24 Rapid Addition Ltd Transactional message format data conversion
CN103425746A (zh) * 2013-07-18 2013-12-04 大连理工大学 基于fpga的实时金融指数行情并行计算方法
US20150032590A1 (en) * 2013-07-25 2015-01-29 The Nasdaq Omx Group, Inc. Apparatus and a method for creating a high speed financial market data message stream
US10692143B2 (en) 2013-11-07 2020-06-23 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10929926B2 (en) 2013-11-07 2021-02-23 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
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
US10467693B2 (en) 2013-11-07 2019-11-05 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10332206B2 (en) 2013-11-07 2019-06-25 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10366452B2 (en) 2013-11-07 2019-07-30 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US11037239B2 (en) 2013-11-07 2021-06-15 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US9691102B2 (en) 2013-11-07 2017-06-27 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
CA2946896A1 (en) * 2014-08-13 2016-02-18 Metamako Technology Lp Apparatus and method for low latency switching
CA2944925C (en) * 2014-10-08 2017-04-25 Tsx Inc. Selective delayed and undelayed database updating
US9848025B2 (en) 2014-12-12 2017-12-19 Services Development Company LLC Data transmission via a high frequency radio band
CN104599185A (zh) * 2015-02-02 2015-05-06 恒生电子股份有限公司 交易方法、终端及系统
CN105989538B (zh) * 2015-07-28 2021-11-02 盛立安元科技(杭州)股份有限公司 一种金融产品自动交易系统及自动交易方法
CN105989539B (zh) * 2015-09-22 2019-10-25 盛立金融软件开发(杭州)有限公司 一种金融交易行情获取系统以及获取方法
US11288739B2 (en) 2015-10-12 2022-03-29 Chicago Mercantile Exchange Inc. Central limit order book automatic triangulation system
US11164248B2 (en) 2015-10-12 2021-11-02 Chicago Mercantile Exchange Inc. Multi-modal trade execution with smart order routing
US10580100B2 (en) 2016-06-06 2020-03-03 Chicago Mercantile Exchange Inc. Data payment and authentication via a shared data structure
US11514448B1 (en) 2016-07-11 2022-11-29 Chicago Mercantile Exchange Inc. Hierarchical consensus protocol framework for implementing electronic transaction processing systems
US10417217B2 (en) 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
US10943297B2 (en) 2016-08-09 2021-03-09 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of instructions across multiple components
US10748210B2 (en) 2016-08-09 2020-08-18 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of scheduled instructions across multiple components
WO2020159089A2 (ko) * 2019-02-01 2020-08-06 비씨카드(주) 복수의 디바이스 간 통신을 지원하는 인터페이스 관리 시스템 및 방법
US11463560B2 (en) 2021-01-20 2022-10-04 Jump Algorithms, Llc Network interface architecture having a directly modifiable pre-stage packet transmission buffer
US11915315B1 (en) 2022-08-10 2024-02-27 Bgc Partners, L.P. Method, apparatus and system for time stamping and sequencing data items

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156722A1 (en) * 2001-03-21 2002-10-24 Greenwood Ken M. Automated securities trading system
US20080243675A1 (en) * 2006-06-19 2008-10-02 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024A (en) * 1851-04-08 Bbick-pbess
US4903201A (en) * 1983-11-03 1990-02-20 World Energy Exchange Corporation Automated futures trading exchange
US5115432A (en) 1989-12-12 1992-05-19 At&T Bell Laboratories Communication architecture for high speed networking
EP2312519A1 (en) * 1995-06-07 2011-04-20 Citibank, N.A. Method and system for providing integrated brokerage and other financial services through customer activated terminals
US7130823B1 (en) * 1995-09-14 2006-10-31 Citibank Aktiengesellschaft Computer system for data management and method for operation of the system
US20050267836A1 (en) 1996-03-25 2005-12-01 Cfph, Llc Method and system for transacting with a trading application
GB9910588D0 (en) * 1999-05-08 1999-07-07 Tullett Financial Information Automated trading system
US7251629B1 (en) 1999-10-14 2007-07-31 Edge Capture, Llc Automated trading system in an electronic trading exchange
US7356499B1 (en) * 2000-02-09 2008-04-08 Dean Amburn Method and apparatus for automated trading of equity securities using a real time data analysis
AU2001273668A1 (en) * 2000-06-30 2002-01-14 Enron Net Works Llc Buying and selling goods and services using automated method and apparatus
US8005743B2 (en) * 2001-11-13 2011-08-23 Intercontinentalexchange, Inc. Electronic trading confirmation system
US7660761B2 (en) * 2002-07-17 2010-02-09 Ubs Ag System and method for automated trading
US7483854B2 (en) * 2003-01-24 2009-01-27 Liu Michael C Method and system for intelligent automated security trading via the internet
JP2007524923A (ja) * 2003-05-23 2007-08-30 ワシントン ユニヴァーシティー Fpgaデバイスを使用するインテリジェントデータ記憶および処理
US20050228741A1 (en) * 2004-04-08 2005-10-13 Hotspot Fx, Inc. Financial instrument trading system and method
US20050283427A1 (en) * 2004-06-21 2005-12-22 Fx Engines, Inc. Automated trading system and software for financial markets
AU2006314882A1 (en) * 2005-11-21 2007-05-24 Saxo Bank A/S A financial trading system
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US7515986B2 (en) * 2007-04-20 2009-04-07 The Boeing Company Methods and systems for controlling and adjusting heat distribution over a part bed
CN101217551A (zh) * 2008-01-14 2008-07-09 中国科学院计算技术研究所 本地存储协议接口和网络存储协议接口间的数据传输方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156722A1 (en) * 2001-03-21 2002-10-24 Greenwood Ken M. Automated securities trading system
US20080243675A1 (en) * 2006-06-19 2008-10-02 Exegy Incorporated High Speed Processing of Financial Information Using FPGA Devices

Also Published As

Publication number Publication date
GB2478093A (en) 2011-08-24
CA2743221A1 (en) 2010-05-14
BRPI0921524A2 (pt) 2018-05-29
CN102246194A (zh) 2011-11-16
AU2009311242A1 (en) 2011-06-23
DE112009002716T5 (de) 2013-02-07
CA2743221C (en) 2016-08-16
WO2010051575A1 (en) 2010-05-14
GB201109707D0 (en) 2011-07-27
KR101711675B1 (ko) 2017-03-02
GB2478093B (en) 2013-07-24
AU2009311242B2 (en) 2015-05-21
CN102246194B (zh) 2014-05-21
HK1161762A1 (en) 2012-08-03
JP5670341B2 (ja) 2015-02-18
DE112009002716B4 (de) 2023-02-23
US20110264578A1 (en) 2011-10-27
JP2012508409A (ja) 2012-04-05
US8706606B2 (en) 2014-04-22

Similar Documents

Publication Publication Date Title
KR20110101148A (ko) 개선된 자동 거래 시스템
JP6364132B2 (ja) ブロックチェーン取引記録のシステムおよび方法
US11055775B2 (en) Secure consolidated exchange feed for order entry and market data
US8326734B2 (en) System and method for implementing an anonymous trading method
JP2004528654A (ja) 金融取引システムのユニバーサルインタフェース
JP2015072685A (ja) 取引所供給市場データのセキュアな解禁時間制限
HU223246B1 (hu) Számítógéprendszer adatkezeléshez, és eljárás a rendszer működtetésére
US11727488B2 (en) System and method for pre-marshalling messages in an electronic trading environment
US20140164205A1 (en) Market access system and method
JP7389114B2 (ja) 取引システムを実施するネットワークノードのサブセット内の文脈ベースのフィルタリング
US20200193520A1 (en) Customizable Macro-Based Order Entry Protocol and System
JP2008129926A (ja) 売買約定システムおよびその処理方法、売買約定装置とそのプログラム
WO2023081024A1 (en) Systems for distributed order processing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant