【金融知识】交易市场中的Maker与Taker

写在前面

本文假设诸位对于各种专业名词有一定的了解,当然,如果对其中的专业名词还不熟悉,可以看一下这篇文章:[点击下载 Theory For Ready Trader One](/Theory For Ready Trader One.pdf)

对于Fair price,所谓Fair price就是我们通过模型和经验预测的资产在某一时间点的真实价值。所以交易的本质内在逻辑就是当市场价高于Fair price就卖出,否则就买入。

Market maker & Market taker

首先要知道交易市场中存在maker与taker两种身份,其中maker是市场流动性的提供者,能够促进整个市场的交易,对整个交易所有利,所以maker在交易过程中的交易费较低,甚至是负的交易费;反之taker则需要像正常金融产品交易一样,缴纳相对较高的交易费。当然,如果maker获得了负交易费,那么该费用的绝对值一定比taker的费用低,否则交易所无法盈利。

从具体的行为上来看,在当前LOB中的一系列价格中,你下在一个位置,等待别人来交易,那你就是maker;反之,你直接选择一个交易对手报出的价格,直接进行交易,那么你就是taker。

定义taker交易费为$f_t$,maker交易费为$f_m$在这个过程中,交易所的利润就是$f_t+f_m$,$f_m<0$时也是一样的。

交易策略

img

在市场中有两种身份,自然也会有对应的两种策略,在面对市场trade数据(上图),当前市场交易方向为buy,用交易价格为0.9431,交易量为16.371728,如果你愿意使用更高的价格买入,那么就是taker策略;如果愿意用更低的价格卖出,那么就是maker策略。(需要了解,trade数据中side字段所代表的方向均为taker的方向)

img

具体考虑上图四种情况($f_m<0, f_t>0$, fair price不变化只是时点状态):

  1. 此时市场方向为sell,说明当时市场中maker在LOB上挂了买单,taker在这个价格主动买入了资产。当交易被撮合后,由于$f_m<0$所以maker只需要付出$maker_paid = price*(1+f_m)<0$即可,taker只能获得$taker_get = price*(1-f_t)<0$,交易所在这个过程中盈利了$maker_paid-taker_get$。进一步考虑,我们希望使用$fair price - ask$卖出,使用$fair price - bid$买入。此时的$maker_paid$比我们的$fair price bid$高,我们不愿意用这么高的价格买,无法通过maker策略交易;此时的$taker_get$比我们的$fair price ask$高,也就是我们愿意以比当时市场价更低的价格卖,那在当时的市场条件下,我们就可以用这个价格(或者低一些)卖出资产,成功交易,实现taker策略。
  2. 使用maker策略sell
  3. 使用maker策略buy
  4. 使用taker策略buy

后三个可以自己尝试分析,进一步可以思考交易价穿插于fair、 price之间的分析,比如下面这种情况,maker sell和taker buy都是无利可图的。

img

当然,对于我们交易者来说,同一时刻的Fair price不是一成不变的,会由于你的持仓情况不同而不同。毕竟我们是做市商,是通过交易来盈利而非持有资产而盈利。因此,当我们持有BTC较多时,我们就希望调低自己对于BTC的fair price,让自己能够更容易地卖出他们。具体的方法论可以看下一篇文章~