TL;DR

  • BMLL이 Polars를 활용해 단일 192코어 머신에서 최대 1.5TB가 넘는 시장 데이터를 4분 안에 처리하며, 전체 데이터 기반 분석을 실용화함.
  • BMLL은 100곳이 넘는 글로벌 거래소의 시장 데이터를 나노초 정밀도로 정규화해 제공함.
  • 미국 주식 거래 데이터 전체를 불러오는 데 Polars는 4.3초가 걸려 pandas보다 약 48배 빠름.
  • 상하이증권거래소의 거래일 16일분 1.5TB 이상 데이터를 집계하는 데 3분 조금 넘게 걸림.
  • 단일 머신에서 데이터 전체를 다루면 전용 데이터 인프라와 배치 컴퓨팅 비용을 줄이고 분석 반복 주기를 단축할 수 있음.

BMLL과 시장 데이터 규모

  • BMLL Technologies는 케임브리지대학교의 머신러닝 연구실에서 설립됐으며, 글로벌 주식, 상장지수펀드(ETF), 선물, 미국 주식 옵션의 레벨 3·2·1 과거 시장 데이터와 분석 자료를 제공함.
  • 데이터는 100곳이 넘는 글로벌 거래소에 걸쳐 나노초 정밀도로 정규화되며, BMLL Data Lab을 통해 고객이 원시 거래소 데이터를 직접 수집·정제·조화하는 부담 없이 분석용 데이터에 접근할 수 있게 함.
  • 시장 전체의 틱 데이터를 하루치만 분석해도 세션당 수십~수백 기가바이트를 처리해야 하므로, 고성능 데이터 처리 라이브러리인 Polars를 고객용 도구로 검토함.

과제: 틱 데이터 규모에서 한계를 보이는 pandas

  • 시장 데이터는 세 수준으로 나뉨.
  • 레벨 1은 최우선 호가로, 최우선 매수·매도 호가와 마지막 거래 가격을 포함함.
  • 레벨 2는 해당 가격대 뒤에 있는 전체 주문 잔량을 포함함.
  • 레벨 3은 나노초 단위로 거래소에 전달되는 모든 개별 주문 메시지, 즉 주문 제출·수정·취소를 기록하며 시장 의도를 가장 완전하게 보여주는 데이터로, 대부분의 고객이 활용함.
  • 정량 분석팀은 대용량 메모리 머신에서 pandas를 주로 사용하지만, 틱 데이터 규모에서는 처리에 어려움을 겪음.
  • 미국 주식 거래 데이터 하루치를 불러오는 데 pandas는 조인이나 집계를 시작하기 전부터 약 3.5분이 걸림.
  • 실행 시간을 관리하기 위해 분석 대상 틱을 일부로 제한하면 데이터 전체를 다루지 못하고 신호를 놓치며, 실제 데이터가 아니라 표본에 기반한 분석이 됨.

Polars는 같은 데이터를 48배 빠르게 불러옴

  • 미국 주식 1만 1,000개가 넘는 REG NMS 종목의 하루치 전체 거래 데이터를 불러오는 데 Polars는 4.3초가 걸림. 표본 추출 없이 전체 데이터를 사용해 pandas보다 약 48배 빠른 결과임.
  • Polars의 지연 평가(lazy evaluation)는 계산을 시작하기 전에 여러 단계로 구성된 복잡한 쿼리를 계획할 수 있게 함.
  • 체결 시점의 유효 주문장 상태에 각 거래를 연결하는 비동등 시점 조인(as-of join)을 기본 지원하며 효율적으로 처리함.
  • 별도의 설정 부담 없이 사용 가능한 모든 CPU 코어를 활용함.

비동등 시점 조인이란

  • 비동등 시점 조인은 정확한 일치를 요구하지 않고, 타임스탬프처럼 정렬된 열을 기준으로 한 데이터프레임의 각 행을 다른 데이터프레임에서 가장 가까운 행과 연결함.
  • 거래와 호가 데이터에서는 각 거래 시각과 같거나 그보다 이전인 가장 최근 호가를 연결해, 별도의 병합·필터링 과정 없이 체결 순간의 유효 주문장 상태를 매칭함.
  • BMLL은 데이터를 프로그램으로 다루는 고객에게 Polars를 권장하며, 데이터 피드에서 가능한 성능을 측정할 때도 Polars를 사용함.

벤치마크

벤치마크 실행 방식

  • 아래 벤치마크는 모두 BMLL Data Lab의 192코어·1.5TB RAM 단일 머신에서 실행함.
  • 서로 다른 규모와 데이터 유형에서 Polars의 처리 성능을 보여주도록 두 시장과 세 가지 분석 사례를 선정함.

미국 주식: 경매 불균형

  • 미국 주식 거래소(XNYS, XNAS, BATS)의 모든 주식을 대상으로 나노초 정밀도의 경매 불균형 분석을 10년 기간에 걸쳐 수행함.
  • 시장 전체의 10년치 데이터를 표본 추출이나 필터링 없이 단일 머신에서 처음부터 끝까지 2분 안에 처리함.

상하이증권거래소 하루치 데이터: 2025년 2월 17일

  • 미국 외 시장에서의 성능을 보여주기 위해 상하이증권거래소(XSHG)의 모든 주식을 대상으로 거래 및 호가 데이터를 나노초 정밀도로 분석함.
  • 시장 미시구조 데이터 94GB를 단일 머신에서 불러오고 조인한 뒤 분류하는 데 약 36초가 걸림.

상하이증권거래소 16거래일 데이터: 2026년 3월 1~16일

  • 같은 분석을 16거래일로 확장했으며, 거래 데이터 약 268GB와 레벨 2 주문장 데이터 1.2TB를 처리함.
  • 중국 주식 2주분에 걸친 시장 미시구조 데이터 1.5TB 초과분을 3분 조금 넘는 시간에 집계함.

실제 운영에서의 의미

  • 운용자산이 1,000억 달러인 자산운용사를 사례로 들면, BMLL이 대화한 틱 데이터 분석을 수행하는 대부분의 기관 팀은 전용 데이터 인프라에 연간 30만~60만 달러, 야간 배치 처리용 클라우드 컴퓨팅에 추가로 연간 20만~40만 달러를 지출함.
  • Polars를 사용하면 같은 작업을 단일 머신에서 필요할 때마다 수분 안에 실행할 수 있어 전체 인프라 계층을 선택 사항으로 만들 수 있음.
  • 연간 회전율이 20%인 1,000억 달러 운용사는 연간 약 200억 달러 규모의 거래를 집행함. 집행 부족액(implementation shortfall)을 1bp 개선할 때마다 투자자에게 돌아가는 금액은 200만 달러임.
  • 매주가 아니라 매일 반복 분석하는 팀은 더 많은 거래소와 금융상품에서 일관되게 더 많은 베이시스포인트를 확보하며, 효과가 빠르게 누적됨.
  • 인프라 비용 절감으로 데이터 비용의 상당 부분을 충당할 수 있으며, 주요 수익은 집행 알파에서 발생함.
  • BMLL이 데이터 수집·정제·정규화를 맡으므로 사용자는 데이터 준비보다 분석에 시간을 쓸 수 있음. Polars를 이용하면 전체 데이터 분석이 수분이 아니라 수초 안에 실행돼 기다리는 시간을 줄이면서 데이터에 더 많은 질문을 할 수 있음.

나노초 정밀도의 페타바이트 규모 시장 데이터를 다루려면 느린 피드백 주기를 받아들이거나 인프라에 많은 비용을 투자해야 했지만, Polars가 그 절충을 없앰.

결론

  • BMLL의 조화된 시장 데이터와 Polars를 결합하면 단일 노트북 환경에서 시장 전체의 미시구조 데이터를 매일 반복 분석하는 일이 실용적임.
  • 이전에는 도구의 제약에 맞춰 작업하던 팀이 이제는 도구를 기다리지 않고 연구 질문의 속도에 맞춰 분석을 진행할 수 있음.