GitHub - hudson-trading/inside-at-hrt: Coding exercises for the Inside@HRT event
Hudson River Trading(HRT)作为全球顶尖的量化交易公司,其工程文化始终围绕三个核心:正确性(Correctness)、高效性(Efficiency)和可维护性(Maintainability)。本次Workshop通过构建订单簿(Order Book)和匹配引擎(Matching Engine),带我们深入体验高频交易系统的核心逻辑。
订单簿需要处理四类事件:
class Order:
def __init__(self, order_id, symbol, price, size, is_bid):
self.order_id = order_id
self.symbol = symbol
self.price = price
self.size = size
self.timestamp = time.time() # 时间优先级关键
orders以O(1)复杂度快速检索bids/asks维护价格队列from sortedcontainers import SortedDict
class Book:
def __init__(self):
self.bids = SortedDict(lambda x: -x) # 买盘降序排列
self.asks = SortedDict() # 卖盘升序排列
self.orders = {} # order_id -> Order
通过订阅模式实现数据流解耦: