매매 시스템
증권 매매 시스템의 인프라부터 OMS 설계, 저지연 최적화까지 DMA 관점에서 다룹니다. 한국거래소를 기준으로 설명하며, 필요한 코드는 Rust로 작성합니다.
매매 시스템
앞으로 매매 시스템의 설계에 대해 다룹니다. 한국거래소를 기준으로 예를 들어 설명하고, 코드로 설명이 필요한 부분은 Rust로 작성하겠습니다. Rust에 대한 별도 강의는 하지 않겠습니다. 그냥 제가 현재 Rust가 제일 편합니다.
크게 세 가지 주제를 다룹니다:
- 인프라: 증권 전산의 기본 구조와 배경 지식
- OMS 설계: 주문 관리 시스템 설계
- 최적화: 몇 가지 최적화 팁
제가 정의하는 매매시스템 설계에서 속도는 꽤나 중요한 요소입니다. 결국 소위 말하는 DMA의 관점에서 설명하게 된다는 점을 미리 말씀드립니다.
정답은 없습니다
매매 시스템 설계에는 정답이 없습니다. 같은 목적을 달성하는 데도 수십 가지 방법이 있고, 각각 장단점이 다릅니다.
- 어떤 방식은 구현이 쉽지만 성능이 떨어지고
- 어떤 방식은 빠르지만 유지보수가 어렵고
- 어떤 방식은 이론적으로 최적이지만 현실의 제약(비용, 인력, 규제)에 부딪힙니다
이 시리즈에서 다루는 내용도 하나의 접근법일 뿐입니다.
시리즈 구성
인프라 (Infra)
증권 전산의 기본 구조와 배경 지식을 다룹니다. HTS/MTS 매매 흐름, FEP/BEP의 역사, 코로케이션과 지연시간 등을 설명합니다.
OMS 설계
주문 관리 시스템의 핵심 요소를 살펴봅니다. 정수 기반 가격 관리 등 실무에서 중요한 설계 결정을 다룹니다.
최적화
나노초 단위 성능 향상을 위한 기법들입니다. 메모리 얼라인먼트와 캐시 효율화 등을 설명합니다.
This post is licensed under CC BY 4.0 by the author.