본문 바로가기
SingleStoreDB/사례연구

[사례 연구, CME] 시카고 상업거래소를 역설계한 방법

by 에이플랫폼 [Team SingleStore Korea] 2021. 8. 24.

거래소는 우리 경제 시스템의 핵심입니다. 베니스의 리알토(Rialto, 14세기), 터키의 그랜드 바자르(Grand Bazaar, 17세기), 네덜란드의 암스테르담 증권거래소(Amsterdam Bourse, 17세기), 뉴욕 증권거래소(NYSE; New York Stock Exchange, 20세기)에서 시장은 의도적으로 상품과 서비스의 구매자와 판매자가 만나 거래합니다. 이 블로그 게시물에서는 SingleStore를 핵심으로 하여 거래소를 구축한 방법을 설명합니다.


컴퓨터가 발명되고 인터넷이 널리 보급된 후 시장은 온라인이 되었습니다. 네덜란드 동인도 제도(오늘날의 인도네시아)의 향신료 상인이 약 한 달 동안 걸리던 매매는 암스테르담 증권 거래소에서 제공하는 가격 매칭을 통해 이제는 자동화된 컴퓨터 거래 시스템을 통해 단 몇 초 만에 이루어집니다. 구매자와 판매자를 위한 더 나은 가격 탐색 방법이 진화했습니다.

그러한 중앙 집중식, 전산화된 거래 플랫폼을 구축하는 것은 쉬운 일이 아닙니다. 우리는 매칭 엔진이 많은 경제 활동의 핵심이기 때문에 인터넷 어딘가에서 사용할 수 있는 거래 시스템을 처음부터 구축하기 위한 단계별 튜토리얼이 있어야 한다고 생각했습니다. 우리의 가정은 완전히 잘못된 것으로 판명되었습니다.

거래소를 구축하려면 게임 이론(수학), 알고리즘 및 데이터 구조(컴퓨터 과학), 시장미시구조(금융)와 같은 다양한 분야의 지식이 필요합니다. 시노버(Cinnober, 현재 Nasdaq에서 인수)와 오슬로 증권거래소(Oslo Bourse exchange)를 운영하는 LSE(London Stock Exchange)에서 영감을 받아 우리 팀은 기초부터 다시 구축하기로 결정했습니다. 우리는 처음부터 금융거래소를 구축하는 것을 목표로 삼았습니다.

웹에서 찾을 수 있는 튜토리얼은 빈번한 시장 형성 또는 금융거래소의 독점 구매자 및 판매자를 대상으로 합니다. 금융 용어에서 튜토리얼은 구매/판매 측을 위한 것이며, 거래소 측(거래소에 자동 주문(금융상품을 구매하거나 판매하기 위해)을 보내고, 결정을 내리는 방법)을 위한 것이 아닙니다. 거래가 발생한 후 고객으로부터 주문을 받고 매칭하며 적절한 청산(clearing) 메커니즘, 즉 청산 프로세스를 수행하는 방법에 대한 정보를 찾지 못했습니다. 또한 거래가 발생한 후 각 시장 참가자가 거래 중 발생한 가격 변동, 즉 가격 데이터 피드를 올바르게 수신하도록 하는 방법은 무엇입니까?

우리는 이것을 중앙집중식 거래소 문제라고 부르며, 사실 이 문제는 전미증권거래자협회(NASDAQ; National Association of Securities Dealers Automated Quotations Exchange), 뉴욕 증권거래소(NYSE; New York Stock Exchange), 시카고 상업거래소(CME; Chicago Mercantile Exchange) 그룹과 같은 대규모 금융그룹에 의해 효율적으로 해결되었습니다. CME 금융 거래의 특별한 이행은 우리를 흥미롭게 했습니다. CME가 다른 이유는 플랫폼이 표준화된 현물 거래가 있을 뿐만 아니라, 내재 주문 기능이 있는 표준화된 옵션, 선물 및 스프레드 시장이 있기 때문입니다.

많은 기술 그룹이 현물 시장을 매우 쉽게 해결했습니다. BitMEX, Binance, Bitfinex 및 Coinbase와 같은 전 세계적으로 나타나는 여러 암호화폐 거래소에 대해 들어보셨을 것입니다. 1-100x 범위의 레버리지를 사용하여 영구 인버스 스왑(기본적으로 레버리지에 해당), 비트코인 ​​및 이더리움과 같은 암호화폐 직접 구매/판매와 같은 여러 금융 상품을 쉽게 거래할 수 있습니다.

현물 거래소 구축

솔루션을 설명하기 전에 일반적인 현물 거래소가 어떻게 작동하는지 살펴보겠습니다. 각각 수량과 가격이 포함된 일련의 주문을 보내는 여러 클라이언트가 있습니다. 그런 다음 주문은 다음과 같이 여정으로 진행됩니다.

1. 게이트웨이에서 주문을 받고, 주문 타임스탬프 생성

2. 위험 관리 시스템에 주문을 보내, 클라이언트에 충분한 잔고가 있는지 계산

3. 그렇다면, 일치하는 엔진으로 주문을 보냄

4. 그런 다음, 매칭 엔진은 거래 이벤트, 주문 이벤트, 깊이 이벤트와 같은 이벤트를 내보냄

5. 그런 다음, 이벤트는 거래소의 다른 여러 파트로 전달됨

6. 시장 데이터 피드 엔진은 거래와 깊이를 파악하여 고객에게 전달함

7. 현물 청산 시스템은 거래 양측을 담당하고, 각 거래자의 계좌에서 인출(debit)하고, 입금(credit)함

(이 순서는 거래소의 왕복 시간(RTT)도 결정합니다. 자세한 내용은 나중에 설명합니다.)

이제 마지막에 청산 시스템이 고객 거래의 상대방 입장을 취하고 금융 상품을 제공한다는 점을 명심하십시오. 독점 거래자가 $207.36(미국 달러 기준)에 골드만 삭스($GS) 주식 3000주를 구매하고 뉴욕의 다른 헤지 펀드가 $207.36에 $GS 3000주를 판매한다고 가정해 보겠습니다. 그런 다음 청산 시스템은 거래자 계좌에서 $622,080를 인출하고 거래자에게 $GS 주식 3000주를 입금합니다. 그 반대의 경우도 마찬가지입니다. 헤지 펀드에서 $622,080를 입금하고 $GS 주식 3000주를 출금합니다. 현물 거래소 청산 엔진은 중앙 집중식 청산 문제를 해결합니다. 예를 들어, 청산 엔진은 모든 구매자의 판매자가 되고 모든 판매자의 구매자가 됩니다. 따라서 시장 무결성이 존재하는지 확인하고 거래가 이루어지도록 합니다.

방정식에 레버리지를 추가하면 이것은 조금 더 복잡해집니다. 여기에서 대부분의 주식 중앙 집중식 거래소의 경우 개인/기관 거래자에게 돈을 빌려주지 않습니다. 청산 목표를 보장하기 위해 청산소는 거래자에게 대출을 제공하는 중개소가 구매자가 보낸 주문 금액을 항상 지불할 수 있도록 해야 합니다. 이는 레버리지 판매자(공매도)의 경우에도 마찬가지입니다.

이제 중개소와 같은 중개자가 없는 경우를 상상해 보십시오. 레버리지 거래가 발생하기 위해 이제 청산소는 레버리지 구매자, 공매도자의 신용 불이행 위험에 노출됩니다. 각 틱 동안 청산소는 가격 변동을 수신하고 레버리지 매수자/매도자의 위치를 ​​계산하고 이를 유지해야 합니다. 급격한 가격 변동의 경우 중앙 청산소가 포지션을 인수하여 공개 시장에서 청산해야 합니다. 레버리지 매수자/매도자가 청산되는 수준을 청산 가격이라고 합니다.

파생상품 거래소 구축

이제 파생상품에 대한 이 매칭 시스템을 상상해 보십시오. 파생상품은 기초 가격과 연계된 금융 계약입니다. 예를 들어 Goldman Sachs($GS) 주식에 대한 옵션은 나중에(예: 한 달 후) 현재 미리 결정된 특정 가격(행사가(strike price)라고 함)으로 Goldman Sachs($GS)를 매수(또는 매도)할 수 있는 권리입니다.

현물금융거래소와 파생금융거래소의 주요 차이점은 거래소에 있는 모든 거래자의 모든 포지션에 대한 시가(market-to-market) 계산을 수행하는 능력입니다. 컴퓨터 과학자에게 이것은 단순한 행렬 계산 문제이지만 시장 데이터의 모든 단일 틱에 대해 상상해보십시오.

현물 시장 주문 매칭 프로세스를 다시 살펴보면 프로세스 1-7이 비슷해 보이지만 몇 가지 추가 단계가 있습니다.

  1. 게이트웨이에서 주문을 받고, 주문 타임스탬프 생성
  2. 위험 관리 시스템에 주문을 보내, 클라이언트에 충분한 잔고가 있는지 계산
  3. 그렇다면, 일치하는 엔진으로 주문을 보냄
  4. 그런 다음, 매칭 엔진은 거래 이벤트, 주문 이벤트, 깊이 이벤트와 같은 이벤트를 내보냄
  5. 그런 다음, 이벤트는 거래소의 다른 여러 파트로 전달됨
  6. 시장 데이터 피드 엔진은 거래와 깊이를 파악하여 고객에게 전달함
  7. 파생상품 청산 시스템은 몇 가지 작업을 수행
    1) 최신 거래를 가져와서 변동성 예측, 가격대(이동평균(moving average)) 및 기타 여러 지표를 계산하고 거래소에서 각 거래자 포트폴리오의 모든 단일 값을 다시 계산함
    2) 위험이 너무 크거나, 좋은 마진 잔고에 포함되지 않은 포지션을 가진 거래자는 청산됨
    3) 청산 시 해당 포지션은 독립적인 청산소에서 관리되며 즉시 매각됨
  8. 파생상품 청산소는 인도일에 계약의 매도인이 현금/물리적 결제에 의존하는 금융 계약을 인도하는지 확인함

이제 알고리즘적으로 이것은 한 단계 더 어려워집니다. 7단계를 효율적으로 수행하려면 GPGPU(GPU 상의 범용 계산; General-Purpose computing on Graphics Processing Units) 컴퓨팅과 같은 병렬 계산 방법을 사용할 수 있습니다.

내재 시장을 위한 파생 상품 파이프라인 구축

Chicago Mercantile Exchange의 Globex 시스템에서 거래한 적이 있다면 전체 아키텍처가 작동하는 방식의 아름다움에 감탄할 수도 있습니다. 특히 "내재 시장(implied market)"이라는 기능 주변에서(내재 시장에 대한 자세한 내용은 https://www.cmegroup.com/education/videos/implied-markets-video.html 참조 ).

CME의 confluence 웹사이트( https://www.cmegroup.com/confluence/display/EPICSANDBOX/Implied+Orders )에 따르면 시장에 보내는 내재 주문 수량에 대한 몇 가지 규칙이 있습니다.

  1. ​내재는 적절한 조합으로 관련 시장에서 최소 2개의 주문이 필요함
  2. 내재 매수(bid)은 내재 ​​매도(offer)와 거래되지 않음
  3. 내재 매수는 내재 매도와 동일하거나 반대 가격 수준으로 존재할 수 있음. 이 경우 CME Globex는 내재 매입의 배포를 중단함. 그러나 매입가는 여전히 계산되고 거래될 수 있음
  4. 내재 OUT 수량은 포함된 스프레드의 레그 값이 1보다 큰 비율에 있을 때 스프레드되지 않음. 가격과 수량은 여전히 ​​계산되고 이에 대해 거래될 수 있음
  5. 선물 시장의 내재 수량에는 시간 우선권이 없음
  6. 내재 수량을 사용할 수 없는 경우
    1) 시장이 매칭스테이트가 아닌 경우(예: Pre-Open)
    2) 내재 계산이 중단된 경우

내재 시장에는 두 개의 서로 다른 캘린더 선물이 있습니다. 예를 들어 현재 7월이기 때문에 N20(2020년 7월) 및 Q20(2020년 8월) 선물 인도일이 있을 것입니다. 그러면 N-Q20 캘린더 스프레드라고 하는 두 주문서 N20과 Q20 간의 델타 차이인 또 다른 내재 시장이 생깁니다.

내재 시장 문제를 해결하려면 위험 확인 시스템에서 들어오는 주문을 수신할 뿐만 아니라 캘린더 스프레드 주문장도 업데이트되도록 하는 비동기 및 이벤트 기반 매칭 엔진의 세 가지 인스턴스가 필요합니다.

출처: https://www.cmegroup.com/education/videos/implied-markets-video.html

내재 시장 문제에 대한 Bitwyre의 솔루션

금융거래소 시스템이 비동기식 이벤트 기반 시스템이라는 것을 깨닫고 이를 구축하는 데 시간이 걸렸습니다. 비동기식으로 작업을 수행하는 것과 동기식으로 작업을 수행하는 것은 다르다는 점을 염두에 두어야 합니다.

우리는 알고리즘으로 제어되는 주문 전달 시스템을 매칭 엔진에 구축하기로 결정했습니다. 이 알고리즘 마이크로서비스를 신용 위험 계좌 관리(CRAM; Credit Risk Account Management) 서비스라고 합니다. 내부적으로 우리 엔지니어들은 농담을 위해 "오라클(Oracle)"이라고 부릅니다.

  1. 게이트웨이에서 주문을 받고, 주문 타임스탬프 생성
  2. 위험 관리 시스템에 주문을 보내, 클라이언트에 충분한 잔고가 있는지 계산
  3. 그렇다면, Oracle은 검사를 수행함
    1) 정상적인 비내재 시장 주문인 경우 매칭 엔진으로 보냄
    2) 내재 시장(캘린더 선물 및 캘린더 스프레드가 있는)에 연결되어 있는 경우 하나는 캘린더 선물 매칭 엔진으로, 다른 하나는 캘린더 스프레드 매칭 엔진으로 비동기식으로 주문을 보냄
  4. 매칭 엔진은 거래 이벤트, 주문 이벤트, 깊이 이벤트와 같은 이벤트를 내보냄
  5. 이벤트는 거래소의 다른 여러 파트로 전달됨
  6. 시장 데이터 피드 엔진은 거래와 깊이를 파악하여 고객에게 전달함
  7. 파생상품 청산 시스템은 몇 가지 작업을 수행
    1) 최신 거래를 가져와서 변동성 예측, 가격대(이동평균(moving average)) 및 기타 여러 지표를 계산하고 거래소에서 각 거래자 포트폴리오의 모든 단일 값을 다시 계산함
    2) 위험이 너무 크거나, 좋은 마진 잔고에 포함되지 않은 포지션을 가진 거래자는 청산됨
    3) 청산 시 해당 포지션은 독립적인 청산소에서 관리되며 즉시 매각됨
  8. 파생상품 청산소는 인도일에 계약의 매도인이 현금/물리적 결제에 의존하는 금융 계약을 인도하는지 확인함

어떻게든 이 문제에 대한 CME의 솔루션을 보려고 하면 구현을 보지 않고 실수로 동일한 문제가 발생했습니다. 아래는 주문 입력, 삭제 복사, 신용 통제 및 위험 관리, 가격 책정 및 시장 무결성 일치, 시장 데이터 및 청산과 같은 각 기능의 분리를 볼 수 있는 Globex 아키텍처입니다. 각각은 위에서 언급한 1-8의 알고리즘 프로세스를 나타냅니다. CME는 최종 고객의 거래를 직접 처리하지 않기 때문에(중개소를 통해 처리하지만) 청산 시스템은 이전처럼 계산량이 많지 않습니다.

출처: 거래 서비스. CME 그룹의 Confluence 페이지( https://www.cmegroup.com/confluence/display/EPICSANDBOX/Trading+Services )

Bitwyre 구축에 대한 우리의 핵심 가치 제안은 다음과 같습니다. 현재 기관이나 소매 투기꾼/헤지 거래자가 대량의 암호화폐를 빠르게 청산하거나 구매할 수 있는 시장은 전 세계에 존재하지 않습니다. 이 문제를 해결하기 위해 우리는 몇 가지 솔루션을 구축했습니다.

  1. 우리는 거래량이 모든 시장 참가자에게 숨겨져 있는 시장을 구축했습니다. 거래자가 다크풀(dark pool; 익명거래시장)에서 자신의 보유 자산을 청산할 때 최소한의 슬리피지(slippage)가 있을 것입니다.
  2. 짐 사이먼의 르네상스 테크놀로지스(Jim Simon’s Renaissance Technologies)/조지 소로스의 퀀텀 펀드(George Soros’s Quantum fund)/폴 튜더 존스 펀드(Paul Tudor Jones fund)와 같은 기관 거래자는 해킹과 같은 보관 위험을 지닌 코인을 실제로 보유할 위험 없이 암호화폐 가격 움직임에 노출될 수 있습니다. 우리의 현금 결제 시스템을 통해 CME의 비트코인 ​​실시간 지수(BRTI; Bitcoin Real Time Index) 또는 인도일에 현금 차액을 교환하기 위해 내부적으로 계산한 현물 비트코인 ​​지수를 사용할 수 있습니다.
  3. 전문 마켓 메이커를 위해 코로케이션 서비스도 제공하여 독점 마켓 메이킹 알고리즘에 대한 예측 가능하고 빠른 실행 서비스를 제공합니다.

저자가 여러 현물 암호화폐 거래소 설립자와 논의하는 동안, 그들은 총 처리량이 현재 거래소 파이프라인에서 중요한 문제라고 언급했습니다. Python 또는 PHP로 간단한 거래소를 구축하면 초당 100-1000건의 주문을 처리할 수 있지만 CME/NASDAQ/NYSE와 같은 전문 거래소에서 흔히 볼 수 있는 것처럼 초당 100,000-1,000,000건의 주문을 수집할 수는 없습니다. 지난 40년 이상 동안 이러한 중앙 집중식 거래소는 매우 효율적인 저지연 고처리량 파이프라인을 가질 수 있도록 하는 FPGA(Field Programmable Gate Array; 설계 가능 논리 소자와 프로그래밍이 가능한 내부 회로가 포함된 반도체 소자) 기술에 막대한 투자를 해왔습니다.

 

https://youtu.be/YxUeg_57r2A

Bitwyre에서는 다른 접근 방식을 시도합니다. 기관 투자자를 위한 실행 장소가 될 암호화폐 거래소가 없기 때문에 우리는 그길을 전문화하기로 결정했습니다. 그것은 또한 우리가 조명이 없는/어두운 시장과 코로케이션 서비스를 가질 수 있다는 것을 의미합니다. 기술적으로 우리는 C++로 코드베이스를 시작하여 데이터베이스로 SingleStore와 Kafka 호환 스트리밍 플랫폼 Redpanda를 사용하여 모든 인메모리 작업을 수행하는 동시에 IncludeOS 및 HermitCore와 같은 흥미로운 새로운 유니커널(unikernel) 기술을 천천히 활용하여 파이프라인 처리를 위한 대기 시간과 나중에 FPGA 파이프라인에 최적화할 수 있기를 바랍니다.

우리 아키텍처의 또 다른 중요한 점은 모든 계산이 메모리에서 수행된다는 것입니다. 이는 모든 작업을 디스크에 저장하는 것보다 계산 속도를 높입니다. 이를 위해 우리가 사용하는 핵심 데이터베이스 시스템은 SingleStore입니다. 금융 서비스용으로 설계된 여러 인메모리 데이터베이스가 있었지만, Redis가 우리와 같은 저지연 처리 애플리케이션에 필요한 다중 스레드 비동기 액세스에 문제가 있다는 내 경험에 비추어 볼 때 SingleStore가 우리 애플리케이션에 가장 적합하다고 결정했습니다. 우리는 또한 KDB+를 시도했지만 시계열 연산을 수행하는 프로그래밍 언어의 의미가 마음에 들지 않았습니다. 또한 Kdb+는 비공개 소스이고 우리와 같은 소규모 스타트업에게는 높은 가격대이기 때문에 내부 작동에 대해 잘 알 수 없습니다.

Redpanda가 Kafka를 대체하는 것처럼, MariaDB/MySQL을 대체하기 때문에 SingleStore를 kdb+보다 선호합니다. JSON 스키마를 사용하여 Redis로 SET/GET, HSET/HGET, LPUSH/RPUSH 작업을 수행함으로써 SQL로의 변환이 생각보다 고통스럽지 않았습니다. 우리의 리드 퀀트인 CTO와 나는 2주 만에 Redis 작업을 SQL 작업으로 이식했습니다(우리는 각각 마이크로 서비스당 5-10개의 Redis 작업이 있는 100개의 마이크로 서비스에 걸쳐 있는 200,000줄의 코드로 구성된 코드베이스에 대해 이야기하고 있습니다). SQL 작성에 성공하면 MariaDB로 테스트한 다음 광범위한 테스트가 완료되었음을 확인한 후 MariaDB를 대체하기 위해 컴퓨팅 클러스터의 SingleStore 데이터베이스를 삭제했습니다.

Velocity Logic, Circuit Breakers(서킷브레이커)와 같은 CME Globex 거래소의 또 다른 매우 흥미로운 기능은 Bitwyre 플랫폼에서 거래되는 암호화폐 파생상품 계약의 특성 때문에 Bitwyre에서 구현되지 않습니다. CME의 비트코인 선물 및 비트코인 옵션 거래와 비교하여 암호화 파생상품은 연중무휴 24시간 거래합니다. Velocity Logic과 Circuit Breakers를 구현하면 비트코인의 고유한 변동성으로 인해 2개월에 한 번씩 서킷브레이커에 부딪힐 것입니다. Market and Stop Order Protection 및 Self-Match Prevention과 같은 기타 기능은 당사 플랫폼에서 시장 무결성을 보장하기 위한 필수 요소입니다. CRAM/Oracle에서 둘 다 구현합니다. 그 이유는 시장이 미국만큼 규제되지 않는 아시아에 있음에도 불구하고 여전히 공정한 시장 참여를 보장하고 우리 시스템에서 가장매매(wash trade)를 걸러내기를 원하기 때문입니다.

또한 CME와 달리 파생상품 거래소, 청산소, 중개소를 겸비하여 암호화폐 거래자의 대부분의 위험을 중앙 집중화합니다. 보관 운영을 위한 당사의 보안 프로토콜은 중앙 집중식 주식 시장 거래소에서 수행하는 현재 구현된 보관 운영을 능가합니다. 예를 들어 다중 서명 작업, 웜 및 핫 지갑 전송이 필요합니다. 현재 증권 거래소에서 보관 운영은 독립적인 시설에서 수행됩니다. WTI 원유 1배럴을 선물 계약 매도자로부터 선물 계약 매수자에게 인도하는 것은 선물 계약의 매도자/매수자를 대신하여 매수/매도를 수행하는 두 증권사 간에 전자적으로 이루어집니다. 이 결제 프로세스는 파생 상품 정보 거래소에서 수행합니다. 이 프로세스는 잔고와 시가 포지션을 교환하는 두 부분으로만 구성되어 있기 때문에 이 프로세스가 거의 실패하지 않습니다. 매우 드문 경우에 실패할 수 있습니다.

무기명 도구로서 암호 화폐의 개인 키 소유자는 이를 이동할 수 있는 능력을 가지고 있습니다. 악명 높은 암호화폐 거래소 해킹은 해커가 거래 기록을 조작했기 때문에 발생하는 경우는 거의 없지만 해커가 거래소의 개인 키를 손에 넣어 자신이 제어하는 암호화 주소로 전송할 때와 같이 대부분의 경우 핫 월렛 침해가 발생합니다. 이러한 위험을 완화하기 위해 여러 암호 화폐 거래소에서 암호 화폐의 제도적 관리를 도입하여 위험을 경감했습니다. 예를 들어 우리와 같은 다른 사람들은 지갑 기능을 출금 지갑(출금만 허용), 입금 지갑(입금만 가능), 웜 지갑(펀드간 자금 이체) 및 콜드 지갑 보관으로 분리합니다.

재미를 위해 파생 상품 거래소를 구축하는 방법에 대해 자세히 알아보려면 주저하지 말고 저희에게 연락해 주세요! https://bitwyre.com 에서 알파 테스트넷 출시를 구독하는 것을 잊지 마십시오.


이 블로그를 쓸 수 있도록 허락해 주신 Domenic Ravita에게 특별한 감사를 드립니다. Bitwyre 팀에 영감을 준 Joshua Levine(INSTINET/Island of NASDAQ, SOES Bandits 만세!!!!!!!!!)에게 감사드립니다. 이 설계 시스템의 구현에 대해 저자와 논의한 당사의 CR&D(Chief Research and Development; 최고 연구 개발)인 Aditya Kresna와 인내심과 헌신으로 당사의 엔지니어링 솔루션을 배포한 당사의 최고 기술 책임자인 Yefta Sutanto에게 감사드립니다. 또한 이 오픈 소스 금융거래소 인프라를 구축하는 과정에서 우리에게 영감을 준 CFO Aditya Suseno와 John Schwall에게도 감사의 말을 전합니다. Shout out to Muhammad Augi, Sudhanshu Jashoria, Gaurav Jawla, Gandharv Sharma, Veronika Vřešťálová, Genevieve Brechel, Gary Basin, Erik Rigtorp, Matt Godbolt, Zachary David, Ezra Rapoport, David Senouf, Eric Charvillat, David Steplickara , Remco Lenterman, Themis Sal, Per Buer, Alexander Gallego, Alexy Khrabrov는 전자 교환 네트워크를 설계하는 동안 영감을 주었습니다. 또한 MILA 친구인 Sai Krishna G.V, Alex Fedorov 및 Florian Golemo는 심층 강화 학습을 사용한 주문 라우팅 문제에 대해 토론했습니다. 마지막으로 항상 저를 지원하여 멋진 제품을 만들 수 있도록 도와주신 전직 상사인 Yoshua Bengio 교수님에게 감사드립니다.

참조

CME Circuit breakers

https://www.cmegroup.com/education/videos/cme-globex-circuit-breakers.html

https://www.cmegroup.com/education/videos/dynamic-circuit-breakers-market-integrity-control.html

CME Protection for Market and Stop Orders

https://www.cmegroup.com/education/protection-functionity-for-market-and-stop-orders.html

CME Globex Timestamp

https://www.cmegroup.com/education/videos/cme-globex-timestamps.html

Bitcoin Paper

https://bitcoin.org/bitcoin.pdf

Derivatives Clearing house default problem

https://www.nytimes.com/2019/05/03/business/central-counterparties-financial-meltdown.html

ISDA centralized clearing

http://online.wsj.com/public/resources/documents/ISDApaper05232011.pdf

* ISDA: International Swaps and Derivatives Association

August 10th, 2020

Dendi Suhubdy

 


​출처: https://www.singlestore.com/blog/reverse-engineer-chicago-mercantile-exchange/

 

How We Reverse-Engineered The Chicago Mercantile Exchange

The exchange is at the heart of our economic system. After the invention of computers, the marketplace went online. Building such a centralized computerized trading platform is not an easy task. Building an exchange requires knowledge spanning from multipl

www.singlestore.com

 

 

www.a-platform.biz | info@a-platform.biz