← 최신 논문
💰 quantitative finance

Packets, Transactions and Queues: Design Principles for HFT Systems from a Measurement Study of CME Market Data

1년 이상의 CME 시장 데이터를 분석함으로써, 본 논문은 한 스레드가 서브 피리어드 패킷 처리에 충분함에도 불구하고, 분할을 통해 시스템의 가장 느린 단계를 단축할 수 있다면 2단계 스레드 구조가 트랜잭션 급증으로 인한 대기열 꼬리(queuing tails)를 유의미하게 줄일 수 있음을 입증하며 기존의 단일 스레드 HFT 설계를 반박한다.

원저자: Vincent Maciejewski

게시일 2026-09-29✓ Author reviewed ⓘ
📖 5 분 읽기🧠 심층 분석

원저자: Vincent Maciejewski

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. ✨ 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

컴퓨터가 0.1초도 안 되는 찰나의 순간에 주식을 사고파는 고빈도 매매(HFT)의 세계에서, 속도는 단순한 이점이 아니라 게임의 전부입니다. 이러한 시스템은 단순한 전제를 바탕으로 작동합니다. 즉, 다른 누구보다 빠르게 시장 정보를 처리할 수 있다면, 가격 차이가 사라지기 전에 그 미세한 차이로부터 이익을 얻을 수 있다는 것입니다. 이를 위해 엔지니어들은 주식 거래소로부터 끊임없이 들어오는 데이터 스트림을 경청하고, 이를 해독하며, 마이크로초 단위로 결정을 내리는 특화된 소프트웨어를 구축합니다. 수년 동안 업계는 이 소프트웨어의 가장 핵심적인 부분을 단일 프로세서 코어에 유지해야 한다는 엄격한 규칙을 고수해 왔습니다. 서로 다른 코어, 즉 '스레드(thread)' 간에 데이터를 이동시키는 것은 너무 느리고 위험하며, 시스템의 속도를 망칠 수 있는 지연을 초래한다는 논리였습니다. 이 방식은 소프트웨어를 마치 작업을 절대 남에게 넘기지 않는 하나의 집중력 있는 노동자처럼 취급했으며, 어떤 방해라도 생기면 그 작업 자체보다 더 많은 비용이 들 것이라고 믿었습니다.

하지만, 오랫동안 유지되어 온 이 믿음은 시장 데이터가 어떻게 도착하는지에 대한 하나의 가정에 의존하고 있었습니다. 바로 데이터가 예측 불가능한 간격으로 떨어지는 빗방울처럼 일정하고 무작위적인 스트림으로 들어온다는 가정이었습니다. 만약 그것이 사실이라면, 단일 작업자 방식이 확실히 가장 빠를 것입니다. 하지만 데이터가 무작위로 떨어지지 않는다면 어떨까요? 만약 데이터가 눈 깜짝할 사이에 수천 개의 업데이트가 몰려드는 갑작스럽고 강렬한 폭발(burst) 형태로 도착한다면 어떨까요? 시카고 상품거래소(CME)의 실제 시장 데이터를 이용한 새로운 측정 연구는, 가장 바쁜 순간에는 기존의 규칙이 틀렸을 수도 있음을 시사합니다. 1년 이상 수십억 개의 데이터 패킷을 추적한 연구진은 시장 데이터가 무작위로 도착하지 않는다는 사실을 발견했습니다. 대신, 한 이벤트가 다른 이벤트들의 급격한 연속을 유발하는 '자기 흥분형(self-exciting)' 패턴을 보이며 데이터가 조밀하게 클러스터(cluster)를 이루며 도착합니다. 이 발견은 속도의 수학을 바꿉니다. 데이터가 이러한 특정적인 클러스터 형태의 폭발로 도착할 때, 시스템이 폭발의 리듬을 올바르게 처리하도록 설계된다면 작업을 여러 프로세서로 나누는 것이 실제로 시스템을 더 빠르고 안정적으로 만들 수 있다는 사실이 밝혀졌습니다.

연구진은 먼저 거래소의 매칭 엔진(주문이 처리되는 곳)에서 트레이더의 컴퓨터로 이동하는 가공되지 않은 데이터 스트림을 살펴보았습니다. 그들은 모든 개별 데이터 패킷을 추적하며, 패킷이 거래소를 떠난 정확한 시점과 도착한 시점을 기록했습니다. 그들은 거래소의 시스템이 일정한 속도 제한을 가진 문지기 역할을 한다는 것을 발견했습니다. 매칭 엔진이 때로는 각각의 주문을 1마이크로초 미만의 간격으로 매우 빠르게 처리하더라도, 거래소의 데이터 퍼블리셔는 이들을 한꺼번에 보낼 수 없습니다. 퍼블리셔는 각 패킷 사이에 약 7.5마이크로초의 최소 간격을 두어 하나씩 전송합니다. 이로 인해, 소스(source)에서의 활동이 아무리 혼란스러웠더라도 트레이더의 컴퓨터에는 일정한 리듬을 가진 데이터 패키지 열차가 도착하게 됩니다.

이 리듬감 있는 도착이 새로운 발견의 핵심입니다. 연구진은 서로 다른 소프트웨어 설계가 이러한 특정 리듬을 어떻게 처리하는지 테스트하기 위해 컴퓨터 시뮬레이션을 구축했습니다. 그들은 한 프로세서가 모든 작업을 수행하는 전통적인 단일 스레드 방식과, 여러 프로세서가 순차적으로 협력하여 작업을 나누는 다단계 파이프라인 방식을 비교했습니다. 시뮬레이션에서 그들은 실제 데이터 패킷의 타이밍을 시스템에 입력했습니다. 결과는 명확했습니다. 패킷 사이의 간격인 7.5마이크로초보다 긴 시간이 걸리는 작업의 경우, 단일 스레드 방식은 거대한 백로그(backlog, 밀린 작업)를 생성했습니다. 데이터 폭발이 발생하면 단일 프로세서는 과부하 상태가 되며, 폭발 내 마지막 몇 개의 패킷에 대한 지연 시간은 작업 자체보다 수십 배 더 길어집니다. 이 지연은 트레이더들이 두려워하는 '테일(tail)'을 의미하며, 이는 그들의 결정이 너무 늦게 내려짐을 뜻합니다.

반면, 다단계 파이프라인은 이러한 폭발을 쉽게 처리했습니다. 작업을 분할함으로써 시스템은 들어오는 패킷 열을 병렬로 처리할 수 있었습니다. 첫 번째 프로세서가 첫 번째 패킷을 해독하는 동안, 두 번째 프로세서는 이미 두 번째 패고를 작업하고 있었습니다. 이를 통해 시스템은 백로그를 훨씬 더 빠르게 비울 수 있었고, 모든 패킷에 대한 지연 시간을 낮고 일정하게 유지할 수 있었습니다. 시뮬레이션 결과, 16마이크로초 이상의 시간이 걸리는 작업에 대해 작업을 나누는 방식은 최악의 경우 발생하는 지연을 10배 이상 줄여주었으며, 일반적인 비폭발적 순간에는 아주 미미한 페널티만 발생시켰습니다. 연구진은 이러한 개선이 단순히 데이터의 양 때문이 아니라, 도착 시간의 클러스터링된 폭발적 특성 때문임을 확인했습니다. 동일한 양의 데이터를 무작위로 도착하도록 시뮬레이션했을 때, 다단계 시스템은 아무런 이점이 없었으며 단일 스레드 시스템이 여전히 효율적이었습니다.

연구진은 또한 지연의 다른 잠재적 원인들을 배제했습니다. 그들은 데이터 패킷의 크기나 그 안의 메시지 수가 속도 저하의 주요 동인이 아님을 발견했습니다. 폭발 현상을 제거하기 위해 데이터를 재배열하더라도 패킷 수가 동일하다면 거대한 지연은 사라졌습니다. 이는 문제가 순수하게 도착의 타이밍에 관한 것임을 입증했습니다. 연구진은 또한 왜 데이터가 이러한 클러스터를 형성하는지 이해하기 위해 거래소 자체를 조사했습니다. 그들은 거래소의 매칭 엔진이 종종 여러 주문을 거의 동시에 처리한다는 것을 발견했는데, 이는 아마도 많은 트레이더가 동일한 시장 이벤트에 동시에 반응하기 때문일 것입니다. 그러나 거래소의 퍼블리셔는 이를 간격을 두고 배치하여, 트레이더의 시스템이 처리해야 할 리드미컬한 열차를 만들어냅니다.

이러한 시스템의 설계자들에게 이 논문은 명확하고 데이터에 기반한 가이드를 제공합니다. 만약 시스템의 처리 시간이 패킷 사이의 간격인 7.5마이크로초보다 짧다면, 기존의 규칙이 여전히 적용됩니다. 즉, 작업을 나눌 이점이 없으며, 나누는 것은 불필요한 복잡성만 더할 뿐입니다. 하지만 처리 시간이 그 간격보다 길다면, 단일 스레드 방식은 폭발 상황에서 실패할 것이며, 따라서 작업을 여러 단계로 나누어야 합니다. 연구진은 목표가 가능한 한 많은 프로세서를 사용하는 것이 아니라, 프로세스의 가장 느린 부분이 거래소의 리듬을 따라갈 수 있을 만큼 충분히 빨라지도록 보장하는 것이라고 강조합니다. 또한 그들은 프로세서의 구체적인 배열보다 가장 느린 단계를 효율적으로 처리하는 것이 더 중요함을 발견했습니다.

이 연구는 고빈도 매매의 모든 문제를 해결했다고 주장하거나, 단일 스레드 방식이 시대에 뒤떨어졌다고 제안하는 것이 아닙니다. 단지 그 방식이 언제 작동을 멈추는지, 그리고 언제 다른 설계가 필요한지를 정밀하게 측정해낸 것입니다. 이론적 모델에 의존하는 대신 현실 세계를 측정함으로써, 연구진은 엔지니어들에게 대조할 수 있는 구체적인 임계치를 제공했습니다. 그들은 데이터 스트림의 본질, 즉 특정하게 자기 흥분형 폭발로 도착하는 경향이 컴퓨터의 속도만큼이나 데이터를 소비하는 소프트웨어를 구축하는 방식에 결정적인 영향을 미친다는 것을 보여주었습니다. 금융의 고속 세계에서 데이터의 리듬을 이해하는 것이 컴퓨터의 속도만큼이나 중요하다는 교훈을 남긴 것입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →