줄리아(Julia) 언어로 개발된 새로운 오픈소스 암호화폐 트레이딩 봇 및 백테스팅 프레임워크인 '플래너.jl(Planar.jl)'이 최근 공개되어 주목받고 있습니다. 이 프로젝트는 CCXT(CryptoCurrency eXchange Trading Library) API를 중심으로 설계되었지만, 사용자가 직접 커스텀 거래소를 추가할 수 있도록 유연성을 제공합니다. 특히, 전문적인 트레이딩 환경에서 요구되는 복잡한 기능들을 효율적으로 처리하도록 설계된 점이 특징입니다.
플래너.jl은 기존 오픈소스 프레임워크들이 간과하기 쉬웠던 여러 난제들을 해결하고자 합니다. 예를 들어, 마진 및 레버리지 포지션 처리를 위한 정교한 타입 계층 구조를 갖추고 있으며(현재는 격리된 비헤지드 포지션만 구현), 대규모 시계열 데이터(OHLCV 등)를 메모리에 모두 올리지 않고도 Zarr.jl을 활용해 청크 단위로 효율적으로 저장하고 접근할 수 있습니다. 또한, 데이터 무결성을 최우선으로 하여 누락된 항목 없이 연속적인 시계열 데이터를 보장하며, 실시간 거래를 위한 데이터 피드 파이프라인 구축을 용이하게 합니다. 특히, 다른 프레임워크와 달리 '시뮬레이션 기반(by-simulation)' 백테스팅 방식을 채택하여, 실제 거래소와 유사한 이벤트 기반 시뮬레이션 대신 단순한 루프 방식으로 백테스터를 구현했습니다. 이는 디버깅을 용이하게 하고, 파라미터 최적화에 유리하며, 심지어 라이브 트레이딩 중에도 시뮬레이션을 실행하여 실제 거래소의 행동과 시뮬레이션 결과를 비교하며 이상 징후를 감지할 수 있는 독특한 기능을 제공합니다.
이러한 플래너.jl의 등장은 복잡한 알고리즘 트레이딩 전략을 구현하려는 개발자와 트레이더들에게 새로운 가능성을 제시합니다. 줄리아 언어의 강점인 고성능 수치 계산 능력과 유연한 디스패치(dispatch) 메커니즘을 활용하여, 거래소 API의 불일치나 특정 문제에 대한 맞춤형 해결책을 쉽게 적용할 수 있습니다. 이는 개발자가 업스트림 업데이트를 기다릴 필요 없이 자체적으로 문제를 해결하고, 포크(fork)를 유지 관리하는 부담을 줄여줍니다. 결과적으로, 플래너.jl은 기존 트레이딩 봇 프레임워크의 한계를 넘어, 더욱 안정적이고 효율적인 알고리즘 트레이딩 시스템 구축을 위한 강력한 도구가 될 것으로 기대됩니다.