한 줄 정의

NautilusTrader는 Rust core와 Python API를 묶어, 과거 데이터로 시험한 거래 규칙을 실거래 실행 흐름까지 최대한 같은 방식으로 돌리려는 도구야. v1.226.0은 2026-04-29에 올라왔고, 2026-05-03 기준 open issues는 76개야.

핵심은 한 번 작성한 전략 로직을 backtest에서만 쓰지 않고 live execution, risk, venue adapter까지 이어 가려는 팀에 맞는지야.

실제로 무엇을 하나

  • market data, instrument, order, position, execution event를 같은 engine model로 다루고 backtest와 live 환경에서 최대한 같은 경로를 쓰려 해.
  • Python으로 전략을 작성하지만 성능에 민감한 core는 Rust 쪽에 둬. 이 구조 때문에 runtime 설치와 native dependency 관리가 단순 Python library보다 무거워.
  • 여러 asset class와 venue adapter를 다루기 위한 framework이므로, 단순히 API 한두 개를 호출해 주문을 내는 bot보다 설계 범위가 넓어.

왜 중요한가

Trading 연구에서 가장 위험한 착각은 backtest에서 맞은 코드가 live에서도 같은 의미로 돈다는 믿음이야. NautilusTrader는 이 간극을 줄이려고 같은 event model을 backtest와 live에 걸쳐 유지하려 해.

그 대신 프레임워크가 무거워져. venue adapter, risk rule, data quality, latency까지 같이 봐야 하므로 단순 bot보다 도입 기준이 높아.

언제 쓰고 언제 넘기나

  • USE: backtest와 live trading에서 같은 event model을 유지해야 하고, 거래소 연결 코드와 risk rule을 관리할 팀이면 검토할 만해.
  • USE: multi-asset, multi-venue 전략을 장기적으로 운영하고 체결 이벤트와 포지션 상태를 일관되게 재현해야 한다면 프레임워크의 무게가 의미를 가져.
  • SKIP: 단일 거래소에서 단순 주문 자동화만 할 거라면 Binance, Interactive Brokers, CCXT 같은 broker 또는 venue SDK와 작은 backtest harness가 더 빠르고 이해하기 쉬워.

주의해서 볼 점

NautilusTrader는 수익 전략을 주는 제품이 아니야. 좋은 backtest 숫자보다 data quality, transaction cost, slippage, latency, venue adapter 안정성이 먼저야.

Rust core, Python binding, venue 연결, 실행 환경을 같이 봐야 해서 PoC도 작지 않아. 팀이 trading domain과 software ops를 모두 감당할 수 있는지 먼저 가르는 게 좋아.

같이 보면 좋은 항목

  • Python: 전략 로직과 research code를 쓰는 주요 인터페이스야.
  • runtime: backtest와 live engine이 실제로 도는 환경을 가르는 기준이야.
  • API: venue adapter와 주문 실행이 만나는 경계야.