今年,随着加密货币市场各大币种的价格下跌,大量空气币项目的破发和交易平台的跑路,投资者们已经不像2017年那样狂热的追求暴涨,而是更多的将目光放在了追求安全、稳定上。
作为加密货币市场的信任中介,中心化的交易所承载着人们对交易信任与安全的重任。然而,如今对中心化交易所的质疑声音却越来越大,黑客攻击,交易刷量,暗箱操作,宕机爆仓,资金回滚,平台币归零等负面消息不绝于耳。特别是在最近,有报道指出,作为交易量全球排名前三的OKEx的每日交易金额可能被注水放大了 19.2 倍,而老牌交易所火币的每日交易金额很有可能被注水放大了 12.5 倍。当然,也有人对此报道的数据提出了质疑,怀疑其哗众取宠,博人眼球,计算过程颇有考究。
那么到底,交易所的注水是真是假呢?
我们相信,数据是最可靠的证明。
因此,我们利用数据,通过一个很简单的方法就可以验证。
我们选取了最近一直处于舆论风头浪尖的OKEx的数据来检验。
1.获取交易所逐笔和盘口数据
通过MATRIX DATA 中实时盘口数据 和 逐笔数据 接口获取OKEx交易所当前时间段市值前五币种的盘口和逐笔数据。
放上官网 https://matrixdata.io
MATRIX DATA:一家专门为量化交易者提供多家交易所深度行情数据的服务商,数据包括实时盘口、tick、K线,历史逐笔、盘口、K线,以及指数数据、公有链数据等,以API接口和CSV下载的方式调取。现在注册还有机会成为种子用户,永久免费调用数据。(具体请咨询客服)
以下示例以Python为例。
逐笔数据示例代码:
def get_trades_data(symbol = 'BTC/USD.OK.TW'):
url = "https://api.matrixdata.io/matrixdata/api/v1/historicalTrades"
params = {'symbol':symbol,
'limit':'500'}
response = requests.get(url + concat_param(params), headers=headers)
#Get json result
result = response.json()
try:
if result['Head']['Code'] == '200':
return result['Result']
except:
pass
return []
盘口数据示例代码:
def get_depth_data(symbol = 'BTC/USD.OK.TW'):
url = "https://api.matrixdata.io/matrixdata/api/v1/depth"
params = {'symbol':symbol}
response = requests.get(url + concat_param(params), headers=headers)
result = response.json()
try:
if result['Head']['Code'] == '200':
temp = result['Result']
temp['Bids'] = float(temp['Bids'][0][0])
temp['Asks'] = float(temp['Asks'][0][0])
return temp
except:
pass
return []
(其他语言的demo可以在官网上自行查找,支持demo复制粘贴)
2. 查找买一&卖一价
根据两个数据的时间进行匹配,找到每笔交易数据最近的盘口买一和卖一价。
示例代码:
merge_data = pd.merge_asof(trade_data,depth_data,on = 'dt',direction = 'nearest',by = 'Symbol',tolerance = pd.Timedelta('2s'))
3.计算主动交易量
若成交价格在买一和卖一价中间,则我们记为非主动成交(疑似虚假交易)。若成交价格大于卖一价或小于买一价,则我们记为主动成交(真实交易)。
计算公式:
4.计算主动成交量指标
计算对应的主动成交量与总成交量的比,以此作为主动成交量指标。
计算公式:
这个主动成交量指标,就是衡量交易所交易额的“注水”量了!
5.获取主动成交量指标的时间序列曲线
每间隔一段时间,计算过去100条成交数据的主动成交量指标。得到一条主动成交量指标的时间序列曲线。
从这条曲线,我们可以查看出哪个阶段的“注水量”比较高,哪个阶段“注水量”比较低。
1.OKEx主要币种的主动成交量指标时间序列曲线
2.重点行情的盘口数据
我们选取一些时刻重点关注,特别是主动成交量比较小的时候,比如说下图中画红圈的那个点的数据。
上面这个红点的盘口数据如下:
由于数据量较大,我们在此只展示部分数据。
从展示的部分成交数据来看,改点主动成交量指标偏低是由于某几笔大额成交发生在了最佳买卖价之间。这有可能是交易所为提高市场活跃度虚构的成交数据,也可能是某些大户为了隐藏成交意图而设置的冰山订单。无论如何,理解并关注市场微观结构都能对加深大家对市场的认知。
3.关于此行情的分析与指标局限性提示
我们把这个指标称为主动成交量指标,旨在衡量交易所返回数据中以积极的市价单成交的交易量比例。考虑到若交易所想在成交量数据中“注水”,主要是在买一和卖一价间虚构成交数据,所以该指标也能从侧面反映交易所成交量的“注水”程度。
在计算指标过程中,我们考虑到真实的交易场景下会包含冰山订单,瞬时间最佳报盘价的变化,数据延时等问题,该指标在计算过程中会包含一定的误差。因此指标的值只能提供参考,对成交量数据给出相对的分析。
同时,我们在观察这个主动成交量指标时,更多的是要观察曲线的时间段,是否和某些舆情有所重合,或者出于什么理由,交易量会有“注水”的现象。在这些数据的背后,才蕴藏着交易的真相。
结论:本次我们选取的是OKEx的合约交易来提取主动成交量指标。从时间序列图上来看,okex的合约交易主动成交量比例还是蛮高的。尽管OKEx最近负面消息缠身,但毕竟是老牌交易所,近期又降低了交易手续费。这无疑都吸引了一批新老用户,巨额的真实成交量也让交易所没有了“注水”的动机。
我们将利用数据做更多有意思的尝试,我们也深知,数据的力量的庞大的,拥有了数据,就有了主动权。有兴趣的小伙伴可以关注我们,一起探索加密货币的秘密。