javifalces/HFTFramework

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

解决的问题

该框架为开发、回测和部署高频交易(HFT)策略提供了专业级基础设施。它通过允许开发者使用同一代码库进行L2 tick数据回测和实时市场对接,弥合了精细研究与实时执行之间的差距。

工作原理

系统采用Java和Python混合架构。Java负责高性能核心、市场连接和回测引擎,而Python通过基于ZeroMQ的通信层用于策略开发。

  • 连接性: 使用“市场引擎”(如用于加密货币的XChange,或用于MetaTrader 5的自定义ZeroMQ网关)将原始市场数据转换为标准化格式。
  • 策略执行: 用户可使用Java编写算法以实现最高性能,或使用Python以获得灵活性。Python策略通过ZeroMQ(TCP或IPC)与Java核心通信,并可使用JSON或MessagePack进行序列化。
  • 回测: 支持使用Parquet文件进行L2 tick级回测,确保模拟行为与实时市场行为高度一致。
  • 监控: 包含Java UI、基于Web的实时事件流仪表板,以及Grafana集成,用于监控JVM和投资组合性能。

适用人群

需要高性能环境来测试L2做市策略,并将其从模拟环境过渡到实时或纸面交易的量化研究人员和算法交易员。

主要亮点

  • 统一代码库: 回测与实时交易使用相同逻辑,减少模拟偏差。
  • 多语言支持: 使用低延迟ZeroMQ传输,可在Java或Python中编写策略。
  • L2粒度: 在tick级别进行回测,实现高精度。
  • 实时可观测性: 内置Web UI用于订单簿可视化,Grafana仪表板用于PnL和延迟监控。
  • 支持强化学习: 内置Gymnasium包装器,可用于训练强化学习模型。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目