撮合引擎实现原理
概述
撮合引擎是交易系统中的核心组件,负责实现买卖订单的成交。它通过价格优先、时间优先的原则,确保买单价格大于等于卖单价格时双方成交。
关键概念
- 撮合交易:允许买卖双方各自提交订单并报价,按价格和时间优先级顺序成交。
- 价格优先、时间优先:买盘价格从高到低排序,卖盘价格从低到高排序。
- 订单:包含价格、数量、方向(买或卖)等信息。
- 订单簿(OrderBook):存储买卖盘信息,确保订单按价格排序,好的订单簿结构设计是撮合效率的一个关键,这里采用
红黑树实现,因为它是一种自平衡的二叉排序树,插入和删除的效率都是O(logN)。
订单类设计
Go语言实现订单类Order如下: