第一章 流动性基础:市场流动性的本质与度量

做量化这些年,我越来越觉得流动性就像市场的血液。没有它,再好的策略也跑不起来。今天咱们就来聊聊流动性的那些事儿。

1.1 什么是市场流动性?

说白了,流动性就是一个资产能快速买卖、还不怎么影响价格的能力。你想想看,如果你手里有100万股,想在不引起市场波动的情况下卖掉,这考验的就是市场的流动性。

我在项目中遇到过这样的场景:有一次做回测,策略信号显示要立刻平仓,结果因为流动性不足,滑点直接吃掉了半个月的利润。嗯,从那以后我再也不敢忽视流动性了。

核心定义:流动性 = 交易速度 × 价格稳定性 × 交易成本

流动性有三个关键维度:

  • 即时性:想买就能买,想卖就能卖
  • 价格影响:交易对价格的冲击越小越好
  • 交易成本:买卖价差、手续费等隐性成本

1.2 流动性的度量指标

度量流动性,我习惯用三个核心指标。它们各有侧重,组合起来看才全面。

1.2.1 买卖价差(Bid-Ask Spread)

这是最直观的指标。买一价和卖一价的差值,就是你要付出的流动性成本。

# 计算相对买卖价差
def relative_spread(bid_price, ask_price):
    spread = (ask_price - bid_price) / ((ask_price + bid_price) / 2)
    return spread * 10000  # 返回BP(基点)

# 举个例子
bid = 100.50
ask = 100.55
spread_bp = relative_spread(bid, ask)
print(f"买卖价差: {spread_bp:.2f} BP")
# 输出: 买卖价差: 4.98 BP

我的经验:一般流动性好的股票,价差在1-5个BP。超过10个BP就要小心了。我曾经在某个小市值股票上看到过50个BP的价差,那真是买进去就亏了。

1.2.2 市场深度(Market Depth)

价差只告诉你第一档的价格,但真正的大单要看深度。市场深度指的是在某个价格水平上,有多少挂单等着成交。

档位 买价 买量(手) 卖价 卖量(手)
1 100.50 500 100.55 300
2 100.49 800 100.56 600
3 100.48 1200 100.57 900

你看这个表,虽然第一档价差只有5分钱,但如果你要买1000手,就得吃掉卖一到卖三的挂单,实际成交均价会高不少。这就是深度的重要性。

1.2.3 成交量(Volume)

成交量是流动性的"事后"指标。它告诉你过去一段时间里,市场实际完成了多少交易。

# 计算成交量加权平均价格(VWAP)
def calculate_vwap(trades):
    total_volume = 0
    total_value = 0
    for trade in trades:
        total_volume += trade['volume']
        total_value += trade['price'] * trade['volume']
    return total_value / total_volume if total_volume > 0 else 0

# 示例数据
trades = [
    {'price': 100.50, 'volume': 1000},
    {'price': 100.52, 'volume': 2000},
    {'price': 100.48, 'volume': 1500}
]
vwap = calculate_vwap(trades)
print(f"VWAP: {vwap:.2f}")
# 输出: VWAP: 100.50

注意:成交量高不代表流动性好。我记得有一次某只股票突然放量,我以为是流动性改善,结果发现是庄家在对倒。所以一定要结合价差和深度一起看。

1.3 流动性的时间序列特征

流动性不是一成不变的。它在一天之内、一周之内都有明显的规律。我做了这么多年,总结出几个关键特征。

1.3.1 日内U型曲线

开盘和收盘时流动性最好,中午最差。为什么会这样?

  • 开盘:隔夜信息集中释放,多空博弈激烈
  • 中午:交易员吃饭去了,挂单稀疏
  • 收盘:机构调仓、基金结算,交易量大增

1.3.2 周内效应

周一和周五流动性通常较好,周三可能是个低谷。我曾在回测中发现,如果策略在周三下午执行,滑点成本比其他时段高出30%。

1.3.3 事件驱动型变化

财报发布、政策出台、突发事件,都会瞬间改变流动性。这时候价差会急剧扩大,深度会迅速消失。

避坑指南:我曾经在财报发布前5分钟挂了一个限价单,结果财报一出,价格直接跳空,我的单子挂在那里半天没成交。后来我学乖了,事件驱动行情一定要用市价单或者做滑点保护。

1.4 知识体系总览

下面这张图是我自己整理的流动性知识框架,你可以把它当作本章的思维导图。

市场流动性 流动性定义 即时性 价格影响 交易成本 度量指标 买卖价差 市场深度 成交量 时间序列特征 日内U型曲线 周内效应 事件驱动变化 流动性 = f(价差, 深度, 成交量, 时间) 图1:市场流动性知识体系框架

这张图把流动性的三个核心维度串起来了。定义是基础,度量指标是工具,时间特征是规律。三者缺一不可。

1.5 实战中的流动性考量

说了这么多理论,来点实际的。我在做高频策略时,会这样评估流动性:

  1. 看价差:低于5个BP算合格,低于2个BP算优秀
  2. 看深度:至少要有10档挂单数据,且每档量级均匀
  3. 看成交量:日均成交额低于1亿的股票,我基本不碰
  4. 看时间:避开中午11:30-13:00和收盘前最后5分钟

一句话总结:流动性不是静态的,它像水一样流动变化。理解它、度量它、利用它,这是每个量化交易者的基本功。


专注资料整理