프로젝트 소개
NautilusTrader는 다중 자산, 다중 거래소 거래 시스템을 위한 오픈소스, 프로덕션급, Rust 네이티브 엔진입니다. 단일 이벤트 기반 아키텍처 내에서 연구, 결정론적 시뮬레이션, 실시간 실행을 포괄하며, Python은 전략 로직, 구성, 오케스트레이션을 위한 제어 평면 역할을 합니다. 이러한 분리는 컴파일된 거래 엔진의 성능과 안전성을 제공하면서도 시스템 구성과 전략 개발에 Python의 유연성을 제공합니다. 거래 시스템은 미션 크리티컬 워크로드의 경우 완전히 Rust로 작성할 수도 있습니다.
동일한 전략 및 실행 알고리즘 코드가 백테스트와 실시간 시스템에서 실행될 수 있어 배포 차이를 줄입니다. 그러나 실시간 실행은 시뮬레이션이 재현하지 못할 수 있는 거래소, 전송, 타이밍, 영속성, 외부 활동, 조정 동작을 도입합니다.
NautilusTrader는 자산 클래스에 구애받지 않습니다. REST API 또는 WebSocket 피드가 있는 모든 거래소는 모듈식 어댑터를 통해 통합할 수 있습니다. 현재 통합은 암호화폐 거래소(CEX 및 DEX), 전통 시장(FX, 주식, 선물, 옵션), 베팅 거래소를 포괄합니다.
주요 기능은 다음과 같습니다:
- 빠름: mimalloc 할당자와 tokio 비동기 네트워킹을 갖춘 Rust 코어.
- 신뢰성: Rust가 지원하는 타입 및 스레드 안전성, 선택적 Redis 기반 상태 영속성.
- 이식성: Linux, macOS, Windows에서 실행. Docker로 배포 가능.
- 유연성: 모듈식 어댑터가 모든 REST API 또는 WebSocket 피드를 통합.
- 고급: IOC, FOK, GTC, GTD, DAY, AT_THE_OPEN, AT_THE_CLOSE 시간 유효성, 고급 주문 유형 및 조건부 트리거. post-only, reduce-only, iceberg 실행 지시. OCO, OUO, OTO를 포함한 컨틴전시 주문.
- 사용자 정의: 사용자 정의 구성 요소 또는 캐시와 메시지 버스를 사용하여 처음부터 전체 시스템 조립.
- 백테스팅: 나노초 해상도의 과거 호가 틱, 거래 틱, 바, 주문서, 사용자 정의 데이터를 사용하여 여러 거래소, 상품, 전략을 동시에 실행.
- 실시간: 연구와 실시간 배포 간 동일한 전략 구현.
- 다중 거래소: 여러 거래소에서 마켓 메이킹 및 교차 거래소 전략을 동시에 실행.
- AI 훈련: AI 거래 에이전트(RL/ES) 훈련에 충분히 빠른 엔진.
통합에는 AX Exchange, Betfair, Binance, BitMEX, Bybit, Coinbase, Databento, Deribit, Derive, dYdX, Hyperliquid, Interactive Brokers, Kraken, Lighter, Robinhood의 Lighter, OKX, Polymarket, Tardis가 포함됩니다.
NautilusTrader는 핵심 값 유형(Price, Quantity, Money)에 대해 두 가지 정밀도 모드를 지원합니다: 고정밀도(128비트 정수, 최대 16자리 소수) 및 표준 정밀도(64비트 정수, 최대 9자리 소수). 공식 Python 휠은 기본적으로 고정밀도 모드로 제공됩니다.
설치는 PyPI 또는 Nautech Systems 패키지 인덱스의 사전 빌드된 바이너리 휠을 통해 또는 소스에서 빌드하여 가능합니다. 프로젝트는 활발히 개발 중이며, 격주 릴리스 일정과 master, nightly, develop 브랜치가 있습니다. 보안은 우선순위이며, 의존성 선택, 개발, 빌드, 릴리스 전반에 걸친 통제(cargo-vet, cargo-deny, SLSA provenance, Sigstore 서명 포함)가 적용됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.