高频交易中的冰山算法:原理与探测方法
高频交易中的冰山算法:原理与探测方法
高频交易是金融市场中一种重要的交易方式,而冰山算法则是高频交易中一种关键的策略。本文将详细介绍高频交易中的Order Book概念,以及冰山订单的原理和探测方法,帮助读者深入了解这一复杂的交易策略。
Order Book基础
在高频交易中,交易者最关心的是交易所内部的Order Book。主流交易所使用Order Book进行交易,记录所有买家和卖家的报价。例如:
- Bid表示买家,Offer表示卖家
- 这张报价单显示买卖双方发出的所有限价单(Limit Order)
- 任意时刻,买家的出价总是低于卖家(比如这里的98对101)
交易发生有两种情况:
- 任一方发出市价单(Market Order)
- 发出一个价格等于对方最优报价的限价单
所有交易数据都是公开的,但这也带来一个问题:巨额订单会暴露交易意图,导致Front running(抢先交易)。
冰山订单的原理
为了解决这个问题,交易所提供了一种工具:冰山订单(Iceberg Order)。这种订单可以很大,但只有一小部分是公开出来的,大部分则隐藏起来,只有交易所和发单者本人能看到。
灰色的部分就是冰山订单隐藏的部分。这样,只有当有对应隐藏量的交易发生时,交易所才会通知其他人,避免别人利用显示订单的信息来做Front running。
冰山订单的探测方法
简单探测方法
有的时候,冰山订单是挂在最优买价和卖价之间(spread),像这样:
探测方法:发一个最小额度的限价单在spread里,紧跟着取消这个订单。如果成交,说明存在冰山单。
基于历史数据的探测方法
通过建立模型来预测冰山订单的存在概率。模型可以定义为:
F(spread,bidSize/offerSize,……) = Probability(Iceberg)
基于数据的精确探测方法
高频世界里,最重要的是先看数据再建模。交易所处理冰山订单的规则可以提供线索:
- 一个冰山订单包含两个参数:V(订单总量)和p(公开显示的量)
- 交易发生时,交易所会顺序发出三条信息:成交、Order Book更新、新Bid
- 通过观察这些规律,可以判断市场中存在冰山订单
核心问题是如何确定V的值。通过历史数据估算(V,p)值组合出现的概率:
结论
这种算法并不是什么作弊神器,它只是利用市场上的公开数据所做的一种推测。而且这个推测也仅仅是基于概率的,更多的应该是作为一种参考。它对做市商这种流动性提供者很有意义,可以使他们避免因为对局势的误判而遭受损失。
本文原文来自知乎作者董可人,原文链接:https://www.zhihu.com/question/23667442/answer/28965906