流動性測量指標:量化市場質量的完整指南
流動性係金融市場的核心概念之一,但佢並唔係可以直觀感測的單一維度。要真正理解同比較不同資產的流動性,需要依靠一系列量化指標。呢篇文章詳細介紹最主要的流動性測量指標,包括計算方法、適用場景同實戰應用。
流動性指標的分類
流動性指標可以分為三類:價格基礎指標(Price-based)、成交量基礎指標(Volume-based)、訂單簿基礎指標(Order Book-based)。
價格基礎指標
價格基礎指標使用價格數據(收益率、價差等)計算流動性:
- 買賣價差:最直接的流動性指標
- Roll measure:基於價格自相關的隱性價差估計
- High-Low Range:基於每日高低點的流動性指標
- Garman-Klass Volatility:考慮開盤、收盤、最高、最低的波動率估計
成交量基礎指標
成交量基礎指標使用成交量數據衡量流動性:
- 成交量:最基本的流動性指標
- 轉手率:成交量除以流通股本
- Amihud 非流動性指標:考慮價格變動同成交量的關係
訂單簿基礎指標
訂單簿基礎指標使用訂單簿數據衡量流動性:
- 訂單簿深度:各價格檔位的掛單量
- 訂單簿斜率:深度隨價格的衰減速度
- 訂單簿不平衡:買賣深度的相對差異
- 市場衝擊成本:特定成交量導致的價格變動
主要流動性指標详解
1. 買賣價差(Bid-Ask Spread)
定義:最佳賣出價同最佳買入價之間的差額。
計算:
絕對價差 = Ask Price - Bid Price
相對價差 = (Ask Price - Bid Price) / Mid Price
其中 Mid Price = (Ask Price + Bid Price) / 2
優點:
- 計算簡單,數據容易獲取
- 直觀易懂
- 反映即時的交易成本
缺點:
- 只反映掛單成本,不反映實際成交成本
- 對低頻數據不敏感
- 無法捕捉隱性成本
適用場景:
- 即時流動性評估
- 交易執行優化
- 做市商報價監測
2. Amihud 非流動性指標
定義:衡量單位成交量引起的價格變動幅度。
計算:
Illiq_i = (1/D) * Σ(|R_id| / Volume_id)
其中:
- R_id = 股票 i 在日 d 的收益率
- Volume_id = 股票 i 在日 d 的成交量(美元)
- D = 計算期間的天數
解讀:
- Illiq 值越大,流動性越差
- 通常取對數後使用:Ln(Illiq + 1)
優點:
- 使用日級數據即可計算
- 考慮了價格變動同成交量的關係
- 廣泛應用於學術研究
缺點:
- 假設價格變動完全由流動性引起
- 對外生衝擊敏感
- 不區分買方驅動同賣方驅動
實戰應用:
- 股票篩選:排除高 Amihud 值的股票
- 因子投資:流動性因子
- 組合優化:將流動性成本納入優化目標
3. Roll Measure
定義:基於價格自相關估計隱性價差。
計算:
σ_ε² = Cov(ΔP_t, ΔP_{t-1})
Roll Spread = 2 * √|σ_ε²|
其中 ΔP_t = P_t - P_{t-1}(價格變動)
原理:
- 如果價差為正,價格會在中間價兩側交替變動
- 價格變動的自相關係數為負
- 自相關的絕對值越大,價差越大
優點:
- 不需要訂單簿數據
- 估計隱性價差
- 可以捕捉買賣雙方力量
缺點:
- 假設價格變動僅由價差引起
- 對市場波動敏感
- 需要較高頻的數據
4. Kyle's Lambda
定義:衡量訂單流對價格的影響程度。
計算:
ΔP_t = λ * Ω_t + ε_t
其中:
- ΔP_t = 價格變動
- Ω_t = 訂單流(成交量 * 訂單方向)
- λ = Kyle's lambda(流動性指標)
- ε_t = 誤差項
解讀:
- λ 越大,表示單位訂單流引起的價格變動越大,流動性越差
- λ 反映市場對信息的反應速度
優點:
- 直接衡量訂單流對價格的影響
- 理論基礎紮實
- 可以區分信息交易同流動性交易
缺點:
- 需要逐筆交易數據
- 計算複雜
- 對數據質量要求高
5. 訂單簿深度
定義:訂單簿中所有掛單的總量。
計算:
Total Depth = Σ(Bid Volume_i) + Σ(Ask Volume_i)
Bid Depth = Σ(Bid Volume_i)
Ask Depth = Σ(Ask Volume_i)
Depth Ratio = Bid Depth / Ask Depth
優點:
- 最直接嘅流動性衡量
- 反映即時的市場狀況
- 可以細分到各價格檔位
缺點:
- 數據獲取困難(需要 Level 2 數據)
- 掛單可能隨時撤銷
- 不反映實際成交成本
不同市場環境下的指標表現
正常市場環境
在正常市場環境中:
| 指標 | 典型值(大型科技股) | 典型值(小型股) |
|---|---|---|
| 相對價差 | 0.01-0.05% | 0.5-2% |
| Amihud Illiq | 0.001-0.01 | 0.1-10 |
| Roll Spread | 0.02-0.1% | 0.5-2% |
| Kyle's Lambda | 0.001-0.01 | 0.1-1 |
高波動市場環境
在高波動環境中,所有流動性指標都會惡化:
- 價差擴大 2-5 倍
- Amihud Illiq 上升 5-10 倍
- 深度減少 50-80%
- Kyle's Lambda 上升 3-5 倍
流動性危機期間
流動性危機期間,指標可能達到極端值:
- 價差可能擴大 10-50 倍
- 深度可能減少 90% 以上
- 成交量可能萎縮 50-80%
Python 實現示例
Amihud 指標計算
import pandas as pd
import numpy as np
def calculate_amihud(df, period=30):
"""
計算 Amihud 非流動性指標
參數:
df: DataFrame,包含 'return'(日收益率)同 'volume_usd'(成交量美元)
period: 計算期間的天數
返回:
Series: Amihud 指標值
"""
df = df.copy()
# 計算每日 Amihud 值
df['daily_illiq'] = np.abs(df['return']) / df['volume_usd']
# 計算滾動平均
illiq = df['daily_illiq'].rolling(window=period).mean()
return illiq
訂單簿深度計算
def calculate_order_book_metrics(bid_levels, ask_levels):
"""
計算訂單簿流動性指標
參數:
bid_levels: DataFrame,包含 'price' 同 'volume' 的買盤數據
ask_levels: DataFrame,包含 'price' 同 'volume' 的賣盤數據
返回:
dict: 流動性指標
"""
# 總深度
bid_depth = bid_levels['volume'].sum()
ask_depth = ask_levels['volume'].sum()
total_depth = bid_depth + ask_depth
# 深度比率
depth_ratio = bid_depth / ask_depth if ask_depth > 0 else float('inf')
# 價差
spread = ask_levels['price'].min() - bid_levels['price'].max()
mid_price = (ask_levels['price'].min() + bid_levels['price'].max()) / 2
relative_spread = spread / mid_price if mid_price > 0 else 0
# 訂單簿斜率(買盤)
bid_slope = bid_levels['volume'].diff().mean()
return {
'bid_depth': bid_depth,
'ask_depth': ask_depth,
'total_depth': total_depth,
'depth_ratio': depth_ratio,
'spread': spread,
'relative_spread': relative_spread,
'bid_slope': bid_slope
}
實戰應用:流動性篩選
选股中的流動性篩選
在使用流動性指標進行选股時,可以採用以下方法:
-
流動性閾值篩選:
- 排除 Amihud Illiq > 閾值的股票
- 排除相對價差 > 閾值的股票
- 排除日均成交量 < 閾值的股票
-
流動性因子:
- 將 Amihud Illiq 作為獨立因子
- 納入多因子模型
- 研究流動性溢價
-
流動性變化追蹤:
- 追蹤 Amihud Illiq 的變化趨勢
- 識別流動性改善或惡化的股票
- 作為交易信號
組合層面的流動性管理
-
組合流動性衡量:
- 計算加權平均 Amihud Illiq
- 評估組合在壓力情景下的變現能力
- 監控組合的總交易成本
-
流動性約束:
- 設定單一資產的最大持倉比例(相對於成交量)
- 設定組合的總流動性風險閾值
- 定期進行壓力測試
總結
流動性測量指標為量化市場質量提供咗系統化的工具。從簡單的買賣價差到複雜的 Kyle's lambda,每種指標都有其獨特的同適用場景。交易者需要根據自身的數據可得性、研究目的同市場環境選擇合適的指標。
將流動性分析納入你嘅投資框架,可以更好地評估交易成本、優化執行策略、管理流動性風險。加入 Algo Lab VIP,獲取專業流動性分析工具。
常見問題
最常用的流動性指標有啲咩?
最常用嘅流動性指標包括:(1) 買賣價差(Bid-Ask Spread):最直接嘅流動性指標;(2) Amihud 非流動性指標:基於價格變動同成交量的關係;(3) Roll measure:基於價格自相關計算隱性價差;(4) Kyle's lambda:衡量訂單流對價格的影響;(5) 訂單簿深度:訂單簿中掛單的總量。
點樣選擇合適的流動性指標?
選擇指標需要考慮以下因素:(1) 數據頻率:日級數據適合Amihud,高頻數據適合Order Book metrics;(2) 研究目的:选股篩選適合Amihud,執行優化適合Order Book metrics;(3) 計算複雜度:Amihud 計算簡單,Kyle's lambda 需要高頻數據;(4) 市場類型:不同市場適用的指標可能不同。
流動性指標點樣應用於选股?
流動性指標應用於選股的常見方法:(1) 流動性篩選:排除低於特定流動性閾值的股票;(2) 流動性因子:將流動性作為獨立因子納入多因子模型;(3) 流動性變化:追蹤流動性的變化趨勢,識別流動性改善或惡化的股票;(4) 流動性異象:研究低流動性股票是否確實存在溢價。
🚀 升級到 VIP 會員,獲取 Algo Lab 專業市場微結構分析工具。加入 VIP 享受實時訂單簿數據、暗池成交量監控同流動性風險評估。