本篇是以下orderbook处理框架的阅读笔记。
GitHub - abcabhishek/PyLimitOrderBook: Limit Order Book Implemented in Python
tick.py
Tick是基类,实际只使用Trade、Ask、Bid
order.py
![](https://img.haomeiwen.com/i2176694/4795fd23b14b5a55.png)
order在tick的基础上,增加了order与order,order与orderlist的关系
这里的系统设定是允许在不变ID的情况下修改订单,且如果订单量增加,成交优先级降低到最末尾。如果订单价格变化,则remove原订单,insert新订单。
orderList.py
![](https://img.haomeiwen.com/i2176694/7606241d850cdafe.png)
orderlist是同一个price下的order list,有成交优先级的关系
tree.py
![](https://img.haomeiwen.com/i2176694/da06ec96699c4b36.png)
tree是price以及每个price下orderlsit的集合
book.py
![](https://img.haomeiwen.com/i2176694/73da4f92fd1b1185.png)
book引用了前面定义个各种类
![](https://img.haomeiwen.com/i2176694/460d87ea43e7830e.png)
book包括了两颗树:ask树和bid树。通过process_bid_ask(self, tick)函数不断的更新book
Book类是orderbook的状态变量,只保留了当前数据,不包含历史切片数据。通过deque,保留了最近maxlen个trade数据。
bookViewerBook.py
Book的继承类,增加了几个函数,只显示ask/bid/trade
researchBook.py
Book的继承类,在Book基础上增加了最优成交价、中间价等指标
网友评论