交易 血淋淋的订单簿顶

liquidity-khanate · 2024年02月04日 · 47 次阅读

本文是对之前一篇旧文的修正,同时也是一篇回应。

这篇文章讨论的主要内容还是关于高频交易的执行细节(无论你如何定义高频交易)。该文章是愚人节的深夜里临时起意写的,一直拖到了四月十三日。

本文的背景是在 Maker-Taker Fee Structure 之下,maker fee 和 taker fee 往往是不同的,故在计算执行者的 spread 时,可以将 mid price spread 与"maker-taker spread"都算进去。不过这算是细节问题,不需要过多的考虑。

前言:教练,我想买入

当一个人具有急切买入的需求时,往往有两个选择,要么选择在盘口上挂一个限价单,然后等着成交,要么就选择跨越 spread 去买位于彼岸的货。一般来说,spread 越宽,跨越 spread 就越费力,这就让人不禁开始思索:首先,跨越 spread 的成本是可预料的、结果是相对容易估计的,我要付出的成本包括 spread 的一半外加交易手续费。

而另一个选择的成本好像不是那么容易估计,因为我把单子挂在 book 顶,可能没一会就成交了、可能一辈子也没成交,可能成交之后马上就涨上去了,可能成交之后我马上就开始亏了(价格向下大跳的情况),把这些情况统计起来,求一个平均值,似乎是个吃力不讨好的事。统计意义上讲,直接求平均值似乎是个不靠谱的想法,一方面置信区间是不容易估计的、因为很难认为挂单收益率的统计分布为近似正态(真实情况应该是一个左偏的肥尾分布),另一方面就算做出了对上述分布的拟合解析解,收益率在不同时间段上是否保持同分布也是一个问题。

我在上面那一段话中提出的问题对于部分读者来说,可能有些苛刻了。在靠统计数据得出结论时,如果都需要考虑这么多的情况并分别处理细节,那我们就真的一筹莫展了。对于上述的问题,是由我个人在研究之初提出、并花了很多精力和时间来设计实验、并一一解答的,因此我可以在事后说:上述的问题中,大多数的问题忽略掉也不太影响最终的结论。但在事前来看,你作为一个零知识技术人员,如果你不通过提出假设并验证假设、设计实验并反复检查结论的正确性,甚至是代码表达的正确性,那你费尽工夫得出的结论很可能是完全偏离现实的。

花大精力做这种完全偏离现实的实验,不仅仅是浪费时间和精力那么简单。如果是设计火箭出了纰漏,火箭会及时的给予反馈,但设计交易策略出了纰漏,谁能给出反馈呢?

可能市场会给出反馈吧,可能很快、可能很慢,但终究会在你人生中的某一天给予你反馈。反馈可能会迟到,但不会缺席。虽然如此,这反馈本身的准确与否,也是很成问题的。

让我们来回顾一下在大学课堂上解简单微分方程应用题的情景吧,如果你推导过重力下锤链线的形状方程,那么你大概率做错过好多次,才最终推导出正确答案(或可能根本就没独立推导出过,直接把书一合了之)。在这个情景中,你所使用的数学工具是确定的、假设是天上掉下来的、答案就在课本的后几页藏着,甚至连锤链的图示就画在一旁——编者怕学生想象不出锤链的形状。在这样简单(相对于现实中的微观结构问题)的问题中,一个聪明的学生尚且要多次修正自己的思路与计算细节,才能最终将问题做对。而理论上的问题比现实中的问题又简化的多了,我们凭什么认为靠自己提出的假设模型就能一次性地、很轻松地接近复杂事实的真相呢?

事实上,在对交易成本与预期收益作估计时,这种严谨而周密的思考是十分必要的,一点点估计误差就可以让你的研究结论呈现一个假的阳性结果,反之也是一样,对于一个赚钱的 idea,一点悲观的估计就可以让赚钱的 idea 完全不 work。所谓魔鬼都藏在细节里,make sense 的 idea 与真正 work 的实盘策略之间的差距是很大的。在探寻为什么 idea 不 work 的过程中,所有的细节问题都会浮出水面,最终你会不得不亲手 handle 每一个细节与难题。从这个角度上说,我的很多所谓“金融直觉”都是在这个过程中被迫学到的。 最后,在屏幕前的年轻无产者,感谢你的阅读,感谢你陪我一起虚度青春。

正文

前几天一个朋友问我,他现在有一个平均收益万分之三左右的信号,如果要吃单的话,似乎收益不能覆盖 spread 加手续费,问我无脑挂盘口顶的平均成本是多少。

当时我思考不周,按照之前一篇文章中的结论作了回答,我说加上返佣大概有万分之一不到,远比 take 便宜。

我晚上躺在床上睡不着,顺便想了想这个问题,发现我的回答出了纰漏,所谓万分之一不到的执行成本只是平均意义上的,而在你具有一个 alpha 信号的情况下,这个问题的答案则是开放的,如果让我脱离具体数据,按照我自以为健全的微观结构常识来回答,我会说在具有一个平均万分之三的信号的情况下,挂订单簿顶的优势相较于市价单应该分布于 [-1.5, 1] 之间(假设 spread 为 0 的情况下)。

所以,当你具有一个万分之三的信号时,我认为是不能依靠简单挂在订单簿顶就赚到万分之二的利润的,真实的情况肯定要比这个少。 所谓订单簿顶血淋淋,一方面指的是订单簿顶是容量最大、竞争最激烈的位置。另一方面,如果你在没有精确估计的情况下进入订单簿顶,那你很容易成为血淋淋的牺牲品。

Spread 的两岸就如同是麦克白的僭主之路,去时是血腥,回头路也是一样血腥。

思考题

  • [-1.5, 1] 是个拍脑袋的参数估计,了解上下文的读者可以大概猜猜上下界是如何得出的。
  • 不了解上下文的读者也可以大概猜猜信号、顶部挂单成本、市价单成本、spread、ticksize 之间到底是什么样的关系。
  • 我在正文中提到我在床上躺着睡不着思考,这个思考的过程具体是怎么样的?
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号