一、流动性预判概述
1.1 什么是流动性?
流动性,说白了就是市场能不能让你「想买就买、想卖就卖」。
我刚开始做量化那会儿,总觉得流动性是个很虚的概念。直到有一次,我挂了一笔大单,结果盘口瞬间被打穿,成交价滑出去好几个点——嗯,那次教训让我记住了流动性的真实含义。
从技术角度讲,流动性包含三个维度:
- 深度:盘口挂单的总量。深度越大,大单冲击越小。
- 宽度:买卖价差。价差越小,交易成本越低。
- 弹性:价格被冲击后恢复的速度。恢复越快,流动性越好。
举个例子,你想想看:
| 市场 | 深度(买一+卖一) | 价差 | 弹性 |
|---|---|---|---|
| BTC/USDT(币安) | 约500 BTC | 0.01% | 极快(<1秒) |
| 某小币种 | 约5 BTC | 0.5% | 慢(>10秒) |
看到区别了吧?流动性好的市场,你进出自由;流动性差的市场,你动一动就引发价格波动。
1.2 为什么预判流动性?
我个人习惯,在每次交易前都会问自己一个问题:「现在的流动性,能撑住我的策略吗?」
预判流动性,核心原因有三个:
- 控制交易成本:流动性差的时候,滑点会吃掉你的利润。我在项目中遇到过,一个看起来盈利的策略,实盘跑起来却是亏的——后来一查,全是滑点惹的祸。
- 避免踩踏:流动性枯竭时,市场会瞬间崩塌。你想想看,2020年3月那次原油暴跌,流动性直接消失,想平仓都平不掉。
- 优化执行算法:知道流动性什么时候好、什么时候差,你就能选择最佳时机下单。说白了,就是「好天气出海,坏天气收帆」。
核心观点:流动性预判不是锦上添花,而是量化交易的生存技能。
1.3 流动性对交易策略的影响
流动性对策略的影响,比你想象的要大得多。我把它分成三个层面:
(1)高频策略
这类策略对流动性最敏感。我曾经做过一个做市策略,专门吃价差。流动性好的时候,一天能赚几十个BP;流动性一差,价差扩大,策略直接失效。
为什么会这样?因为高频策略依赖的是「快速进出」,流动性差的时候,你的订单根本成交不了。
(2)中低频策略
这类策略看似对流动性不敏感,其实不然。举个例子,你做一个趋势跟踪策略,信号出来了,但流动性差,你只能分批建仓。结果呢?建仓还没完成,趋势已经走完了。
嗯,这里要注意:中低频策略的「执行成本」往往被低估。我建议你在回测时,一定要加入流动性成本模型。
(3)套利策略
套利策略对流动性的要求是最苛刻的。因为套利机会转瞬即逝,流动性差的话,你根本抓不住。
我记得有一次做跨交易所套利,两个交易所的价差出现了,但其中一个交易所流动性极差,我挂单后等了30秒才成交——价差早就消失了。
避坑指南:我曾经犯过一个错误,在回测时用了「理想流动性」假设,结果实盘跑出来亏损严重。后来我加了一个「流动性折扣因子」,才让回测结果更贴近实盘。
1.4 流动性预判的核心逻辑
说了这么多,流动性预判到底怎么做?我画了一张图,帮你理清思路:
这张图展示了我常用的预判流程。简单来说:
- 输入层:收集订单簿、成交量、价差等原始数据
- 特征提取:计算流动性指标,比如深度加权价差、成交量斜率等
- 输出层:给出流动性等级(高/中/低)或概率值
注意:流动性预判不是一次性的工作。市场是动态的,流动性每时每刻都在变化。我建议你至少每5秒重新计算一次流动性指标。
1.5 一个简单的流动性预判代码
说了这么多理论,来点实际的。下面是我常用的一个流动性预判函数:
def liquidity_judge(order_book):
"""
简单的流动性预判函数
order_book: 订单簿数据,包含 bids 和 asks
"""
# 计算买卖价差
best_bid = order_book['bids'][0][0]
best_ask = order_book['asks'][0][0]
spread = (best_ask - best_bid) / best_bid
# 计算前5档深度
bid_depth = sum([b[1] for b in order_book['bids'][:5]])
ask_depth = sum([a[1] for a in order_book['asks'][:5]])
total_depth = bid_depth + ask_depth
# 流动性评分
score = total_depth / (spread + 0.0001)
if score > 1000:
return '高流动性'
elif score > 100:
return '中流动性'
else:
return '低流动性'
这个代码很简单,但很实用。我在实盘里用的就是这个思路的升级版。
个人经验:这个函数里的阈值(1000和100)不是固定的。不同品种、不同市场,阈值都不一样。我建议你根据历史数据自己调参。
好了,流动性预判的概述就讲到这里。记住一句话:不懂流动性,就别做量化。这是我在这个行业摸爬滚打多年最深的体会。