nautechsystems/nautilus_trader
리서치용 백테스트 코드와 실전 매매 코드를 똑같이 쓰게 만든 Rust 기반 트레이딩 엔진
NautilusTrader는 주식, 코인, 외환 등 다양한 자산을 다루는 자동매매 시스템을 위한 오픈소스 엔진이다. 핵심 로직은 Rust로 짜서 빠르고 안전하게 만들고, 전략 작성과 설정은 Python으로 하도록 나눠놨다. 같은 코드가 과거 데이터로 시뮬레이션할 때와 실제 거래소에 연결해 돈을 굴릴 때 동일하게 동작하도록 설계됐다.
무엇을 하는 레포인가
- 보통 트레이딩 전략은 연구 단계에서 Python으로 대충 짜고, 실전 배포할 때는 별도로 다시 구현하는 경우가 많은데, 이 프로젝트는 그 이중 작업을 없애려 한다
- Rust로 만든 core가 이벤트가 발생할 때마다 정해진 순서로 반응하는 결정론적 실행 구조를 제공하고, Python은 전략 로직과 설정을 다루는 제어 계층 역할을 한다
- 바이낸스, 바이빗, OKX, 코인베이스, 크라켄, dYdX, 인터랙티브 브로커스, Databento 등 다양한 거래소·데이터 제공사를 어댑터 방식으로 연결해서 쓸 수 있다
- Rust 표준 라이브러리 대신 mimalloc 메모리 할당기와 tokio 비동기 네트워킹을 써서 속도를 높였고, IOC/FOK/GTC 같은 다양한 주문 조건과 OCO/OTO 같은 연계 주문 타입도 지원한다
- 강화학습(RL)이나 진화전략(ES) 같은 AI 매매 에이전트를 훈련시킬 수 있을 만큼 엔진 속도가 빠르다고 소개하고 있다
왜 중요한가
퀀트 트레이더나 개인 개발자가 백테스트한 전략을 실전 거래로 옮길 때 코드를 다시 짜야 하는 번거로움과 그 과정에서 생기는 오류 위험을 줄여준다. Rust와 Python을 결합해 성능과 개발 편의성을 동시에 노리는 구조라, 저지연 자동매매 시스템을 직접 만들려는 사람에게 참고할 만한 사례다.
이 레포의 용어
- 이벤트 기반 아키텍처 · 주문 체결, 시세 변동 같은 사건(이벤트)이 발생할 때마다 정해진 절차로 반응하는 프로그램 설계 방식
- 결정론적(deterministic) · 같은 입력을 넣으면 항상 같은 순서, 같은 결과가 나오는 성질
- 어댑터(adapter) · 거래소마다 다른 API 형식을 하나의 공통 인터페이스로 바꿔주는 연결 모듈
- PyO3 · Rust로 만든 코드를 Python에서 바로 불러 쓸 수 있게 이어주는 바인딩 도구
- 백테스팅 · 과거 시세 데이터를 이용해 매매 전략이 어떤 성과를 냈을지 미리 시뮬레이션하는 것
레포 원문 소개 (영문)
Production-grade Rust-native trading engine with deterministic event-driven architecture
GitHub에서 보기주목받는 레포
- vorssaint/vorssaint-utils메뉴바 아이콘 하나로 유료 맥 앱 열 개 값을 대신하는 오픈소스 도구
- Alishahryar1/free-claude-code코딩 AI 에이전트를 무료 모델 49곳에 자유롭게 연결해주는 로컬 프록시
- freestylefly/awesome-gpt-image-2GPT-Image2로 원하는 이미지를 정확히 뽑아내는 프롬프트 설계도 532개를 모아놓은 저장소
- block/buzz사람과 AI 에이전트가 같은 채팅방에서 함께 일하는 오픈소스 협업 플랫폼
- NousResearch/hermes-agentNous Research가 만든, 쓰면 쓸수록 스스로 똑똑해지는 AI 에이전트 Hermes
- virgiliojr94/book-to-skill기술서 PDF를 AI 에이전트가 언제든 펼쳐볼 수 있는 '스킬'로 바꿔주는 도구
- VoltAgent/awesome-agent-skillsAI 코딩 도구가 특정 작업을 '전문가처럼' 하도록 도와주는 매뉴얼 1000개 이상을 한곳에 모았다
- anthropics/claude-plugins-community누구나 만든 Claude 확장 기능을 한곳에 모아 설치하게 해주는 저장소