Orderbook: FPGA 가속을 이용한 고빈도 거래 주문장
요약
본 프로젝트는 고빈도 거래(HFT) 주문장 시스템을 구현하며, 저지연 및 높은 처리량을 목표로 합니다. 시장 데이터 파싱과 초기 유효성 검사 같은 지연 시간에 민감한 작업은 FPGA 가속을 활용하고, 복잡한 매칭 로직과 위험 관리는 CPU가 담당하는 하이브리드 아키텍처를 채택했습니다.
핵심 포인트
- FPGA와 CPU의 역할을 분담하여 저지연 HFT 주문장 구현
- 시장 데이터 핸들러 및 주문 입력 처리에 FPGA 활용
- 주문 관리, 매칭, 위험 점검 등 핵심 로직은 C++ 기반 CPU에서 처리
- PCIe/DMA 인터페이스를 통한 효율적인 하드웨어 간 통신 설계
Orderbook
FPGA 가속을 이용한 고빈도 거래 주문장
개요 (Overview)
본 프로젝트는 저지연(low latency)과 높은 처리량(high throughput)을 달성하기 위해 FPGA 가속을 활용하는 고빈도 거래(HFT, High-Frequency Trading) 주문장 시스템을 구현합니다. 이 주문장은 실시간 시장 데이터 처리를 하고 거래를 효율적으로 실행하도록 설계되었습니다. FPGA는 시장 데이터 처리 및 초기 주문 유효성 검사와 같은 지연 시간에 민감한 작업을 처리하며, CPU는 복잡한 주문 매칭(order matching), 위험 점검(risk checks), 그리고 거래 실행을 담당합니다.
주요 기능 (Features)
- 고성능 (High Performance): 실시간 데이터 처리를 위해 FPGA를 활용합니다.
- 저지연 (Low Latency): 고빈도 거래에 최적화되었습니다.
- 확장 가능한 아키텍처 (Scalable Architecture): 대량의 주문과 업데이트를 효율적으로 처리합니다.
- 위험 관리 (Risk Management): 내장된 위험 점검 및 유효성 검사를 제공합니다.
- 실시간 분석 (Real-time Analytics): 시스템 성능과 시장 상황을 모니터링합니다.
- 복원력 있는 설계 (Resilient Design): 상태 지속성(State persistence) 및 복구 메커니즘을 갖추고 있습니다.
아키텍처 (Architecture)
구성 요소 (Components)
-
시장 데이터 핸들러 (Market Data Handler) (FPGA)
- 수신되는 시장 데이터를 파싱하고 정규화합니다.
- 초기 데이터 필터링 및 전처리(preprocessing)를 처리합니다.
-
주문 입력 핸들러 (Order Entry Handler) (FPGA)
- 수신되는 주문을 받고 전처리합니다.
- 기본적인 유효성 검사(validation checks)를 수행합니다.
-
주문 관리 시스템 (Order Management System) (CPU - C++)
- 주문장의 상태를 유지합니다.
- 주문을 처리하고 매칭시킵니다.
- 거래를 실행하고 위험 관리를 처리합니다.
-
FPGA 통신 계층 (FPGA Communication Layer) (CPU - C++)
- PCIe/DMA 인터페이스를 통해 CPU와 FPGA 간의 데이터 교환을 관리합니다.
-
거래 실행 및 보고 (Trade Execution and Reporting) (CPU - C++)
- 매칭된 거래를 실행하고 보고서를 생성합니다.
-
모니터링 및 로깅 (Monitoring and Logging) (CPU - C++)
- 시스템 성능을 모니터링합니다.
- 중요한 이벤트와 트랜잭션을 기록(log)합니다.
데이터 흐름 다이어그램 (Data Flow Diagram)
<img width=
- Endrias Project Final Report. [MIT]에서 가져옴 (https://web.mit.edu/6.111/volume2/www/f2019/projects/endrias_Project_Final_Report.pdf).
- HFT Book Builder. [컬럼비아 대학교]에서 가져옴 (https://www.cs.columbia.edu/~sedwards/classes/2024/4840-spring/designs/HFT-Book-Builder.pdf).
- Virtual FPGA Lab. [GitHub]에서 가져옴 (https://github.com/os-fpga/Virtual-FPGA-Lab?tab=readme-ov-file).
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub ML Hardware의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기