交易股票的数据结构 – 订单簿
最近股票市场很冷落啊,你晓得买单和卖单是如何匹配的吗?
证券交易所应用的数据结构称为订单簿 (Order Book)。订单簿是按价格排列的订单队列。它有一个买入簿和一个卖出簿,匹配时依照先进先出 (First In First Out) 的准则。
下图是一个简略的订单簿数据结构示意图。
咱们联合图来看一个例子。如果买入 2700 股的市价单,会产生什么状况呢?
- 该买入订单与价格为 100.10 的所有卖出订单以及价格为 100.11 的第一笔订单(以浅红色显示)相匹配。
- 当初,因为大买单“吃掉”了卖出簿上的第一个价位,最佳卖出价从 100.10 升至 100.11。
- 因而,当市场看涨时,人们偏向于买入股票,价格就会一涨再涨。
订单簿的高效数据结构必须满足以下条件:
- 恒定的查问工夫。操作包含:
- 获取某一价位或两个价位之间的成交量
- 查问最佳买入价 / 卖出价。
- 疾速增加 / 勾销 / 执行 / 更新操作,工夫复杂度最好为 O(1)。操作包含:
- 下新订单
- 勾销订单
- 匹配订单
欢送点赞留言提出你的宝贵意见!
【图解架构设计,关注公众号:ByteByteGo】