javifalces/HFTFramework

HFTFramework utilized for research on " A reinforcement learning approach to improve the performance of the Avellaneda-Stoikov market-making algorithm "

해결하는 문제

이 프레임워크는 고빈도 거래(HFT) 전략의 개발, 백테스트, 배포를 위한 프로페셔널 수준의 인프라를 제공합니다. 세부적인 연구와 실시간 실행 사이의 격차를 메우기 위해, 동일한 코드베이스를 L2 틱 데이터 백테스트와 실시간 시장 인터페이스에 모두 사용할 수 있게 합니다.

작동 방식

시스템은 하이브리드 Java 및 Python 아키텍처로 구성되어 있습니다. Java는 고성능 코어, 시장 연결, 백테스트 엔진을 담당하고, Python은 ZeroMQ 기반 통신 레이어를 통해 전략 개발에 사용됩니다.

  • 연결성: XChange(암호화폐용) 또는 MetaTrader 5용 사용자 정의 ZeroMQ 게이트웨이와 같은 "마켓 엔진"을 사용하여 원시 시장 데이터를 표준화된 형식으로 변환합니다.
  • 전략 실행: 최고의 성능을 위해 Java로 알고리즘을 작성하거나, 유연성을 위해 Python으로 작성할 수 있습니다. Python 전략은 ZeroMQ(TCP 또는 IPC)를 통해 Java 코어와 통신하며, JSON 또는 MessagePack을 사용해 직렬화할 수 있습니다.
  • 백테스트: Parquet 파일을 사용한 L2 틱 레벨 백테스트를 지원하여 시뮬레이션이 실시간 시장 행동과 매우 유사하게 동작하도록 합니다.
  • 모니터링: 실시간 이벤트 스트리밍을 위한 웹 기반 대시보드, JVM 및 포트폴리오 성능 모니터링을 위한 Grafana 통합, 그리고 Java UI를 포함합니다.

대상 사용자

L2 마켓메이킹 전략을 테스트하고 시뮬레이션에서 실전 또는 종이 거래로 전환해야 하는 정량적 연구자 및 알고리즘 트레이더.

주요 특징

  • 통합 코드베이스: 백테스트와 실전 거래에 동일한 논리를 사용하여 시뮬레이션 편향을 줄입니다.
  • 다중 언어 지원: 저지연 ZeroMQ 전송을 통해 Java 또는 Python으로 전략을 작성할 수 있습니다.
  • L2 정밀도: 높은 정밀도를 위해 틱 레벨에서 백테스트를 수행합니다.
  • 실시간 가시성: 주문서 시각화를 위한 내장 웹 UI와 PnL 및 지연 시간 모니터링을 위한 Grafana 대시보드.
  • RL 준비 완료: 강화학습 모델 훈련을 위한 Gymnasium 래퍼를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트