不同开源做市商框架和经典理论中的波动率用法
开源做市商实战框架对波动率的使用分为两种情况。
hftbacktest将波动率作为价差、网格间距、偏度(skew)的基础单位。波动率按秒级计算,采样100毫秒的价格变化,采用10分钟窗口,每5秒更新一次。
在GLFT示例中,波动率通过公式进入报价;在简化版本中,直接使用“波动率×经验倍数”计算,倍数通过回测标定。
另一个开源框架Hummingbot默认不使用波动率。
Hummingbot V2版本中,pmm_simple、pmm_v1、pmm_mister策略都采用预先配置的固定价差。只有pmm_dynamic策略将波动率作为参考,它用3分钟K线的归一化平均真实波动范围(NATR,窗口约42分钟)来缩放价差和价格偏移。
Hummingbot V1版本中,PMM策略不使用波动率;A-S版本大约每1秒更新一次波动率,工程实现中按波动率一次方使用,不采用原始A-S模型的方差形式。
经典做市商理论策略中,A-S模型将波动率平方(即方差)作为库存风险的惩罚项。持仓时间固定为距离收盘的时间,和波动率无关。该风险成本同时决定报价中心的平移,以及价差中的风险部分。
A-S模型是库存派做市商理论的起源,核心过程分为两步:第一步计算考虑库存风险后的报价中点;第二步计算价差,结合第一步得到的中点完成报价。
GLFT理论继承自A-S模型,仍从波动率平方(价格方差风险)出发。不同的是,库存风险会通过最优报价表现为偏度(skew):风险越大,报价调整越激进,库存出清通常也越快。
在长期稳态解中,库存风险和成交强度共同决定报价,最终报价中的风险调整仅与波动率的一次方成正比。
可以直观理解为,更激进的偏度会缩短实际库存的持有时间,但这不是模型明确规定的持仓时间机制。这种关系依赖市场有足够对手盘承接库存;如果流动性枯竭,稳态关系本身也会失效。
Glosten-Milgrom理论属于信息派,没有库存风险的概念。波动率在这里可作为知情交易者交易时,单次亏损的工程代理变量,乘以对手是知情交易者的概率,可以近似表示逆向选择的强度。
本文整理自@Boywus早年发布的学习笔记。