A股订单簿工具AXOrderBook完全使用指南
项目概述
AXOrderBook是一款专为A股市场设计的高性能订单簿解析工具。该项目基于逐笔行情数据,能够实时重建订单簿、发布千档快照,并展示各价位委托队列。通过Python模型算法验证与FPGA硬件加速的完美结合,为金融高频交易提供极速数据处理能力。
核心功能特性
订单簿实时重建
基于A股逐笔数据,精确还原市场深度。订单簿是某只交易标的在某一时刻买卖订单按价格档位组织而成的列表,常见的5档快照即是订单簿最优5档价格的切片。
FPGA硬件加速
采用HLS代码优化,实现毫秒级数据处理。订单簿重建需要的算力过大,通常都是采用FPGA引擎卸载来加速。
千档快照发布
全面展示市场流动性,洞察交易机会。目前A股交易所发布的L2行情快照仅发布10档快照及此10档的前50笔排队订单,而AXOrderBook能够提供更全面的市场深度信息。
快速启动指南
获取项目源码
首先克隆项目到本地:
git clone https://gitcode.com/gh_mirrors/ax/AXOrderBook.git
cd AXOrderBook
环境配置
推荐使用Anaconda创建专用环境:
conda create --name axorderbook python=3.8
conda activate axorderbook
pip install -r requirements.txt
运行示例
体验订单簿重建功能:
python example_orderbook_reconstruction.py
订单簿重建算法
模拟撮合方法
在收到逐笔委托后,模拟交易所撮合机制进行成交判断并修改价格档位和订单队列,即刻生成新的订单簿。
优势:更新订单簿的速度快;在集合竞价阶段也可以发布订单簿;可以发布价格档位的订单队列。
等待成交方法
在收到委托后先缓存,待收齐对应的成交消息后,根据成交内容修改价格档位和订单队列,从而生成新的订单簿。
优势:不需要管理订单队列,数据结构简单。
技术架构
Python模型实现
项目首先使用Python实现订单簿重建算法的模型,进行算法正确性和资源评估。为了便于转换成HLS,Python的实现会采用许多原始数据结构。
FPGA HLS实现
在验证完Python模型后,使用Xilinx Vitis环境开发对应的FPGA HLS实现,预计开发环境包括Centos 8 stream、Xilinx Vitis 2022.1、Xilinx Alveo U50等。
数据源说明
项目从深交所某日的L2行情中截取了几只个股的行情消息,并格式化成易于阅读和使用的二进制格式。数据文件需要放置于data目录下,包括不同日期的个股数据。
项目结构
AXOrderBook项目包含多个重要目录:
- data:存放测试数据文件
- doc:项目文档和技术参考资料
- hw:硬件实现相关代码
- py:Python模型和工具代码
开发环境要求
Python环境
- Windows 10 / Centos 8 stream
- Anaconda + Python 3.8.10
FPGA开发环境
- Centos 8 stream
- Xilinx Vitis 2022.1
- Xilinx Alveo U50
- Xilinx pynq 2.6.2
应用场景
AXOrderBook特别适用于以下场景:
- 高频交易系统中的订单簿实时更新
- 深度市场洞察服务
- 量化交易策略验证
- 金融科技研究和教学
最佳实践建议
策略验证流程
- 利用Python模型测试重建算法
- 在L2行情数据上验证准确性
- 优化HLS代码提升硬件效率
- 在波动市场中保持实时性和精确度
性能优化要点
- 重点优化HLS代码以达到最高效的硬件利用率
- 注意维护订单簿的实时性和准确性
- 在高波动市场环境下特别关注系统表现
技术优势
AXOrderBook结合了软件灵活性和硬件高性能的优势:
- 灵活性:Python模型便于算法验证和修改
- 高性能:FPGA实现提供硬件级加速
- 准确性:基于官方L2行情数据,确保重建准确性
- 实时性:相比交易所3秒一次的行情快照,提供更实时的市场深度
参考资料
项目提供了丰富的技术文档和参考资料,包括订单簿重建流程梳理、HLS工具测试文档等,帮助开发者深入理解技术细节。
通过AXOrderBook,开发者可以高效地应对复杂的市场动态,构建高性能的金融数据处理系统。根据实际需求调整配置,合理利用该工具以达成最佳效果。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0194- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00

