PPO学Uniswap V3集中做市:低波动PnL近50,高压下选择空仓

Concentrated Liquidity Provision: a Reinforcement Learning Perspective

Georgios Chionas, Charalampos Kleitsikas, Stefanos Leonardos, Leandro Sánchez-Betancourt, Carmine Ventre

q-fin.TR, cs.AI, cs.LG, q-fin.CP, q-fin.MF

2026-08-20

把Uniswap V3动态做市写成带gas费的脉冲控制,用PPO学何时换档、挂多宽。低波动低gas下窄仓PPO均PnL 49.91,高压高gas时风险厌恶策略学会不挂单。

这篇在解决什么

Uniswap V3允许流动性提供者把资金打进选定价格区间。区间越窄,价格还在里面时分到的手续费越高,价格一走出区间就零收入,还要付gas去重挂。宽区间更稳、更淡。经验上LP整体在亏,闭式策略要么忽略gas,要么维数一高Hamilton-Jacobi方程就解不动。

需要一种能同时决定「现在要不要动」和「新区间中心、宽度」的策略,并且能读:错价、库存、gas、波动率各自把策略往哪推。

方法

外部中间价走几何布朗运动,池内价格由吃单推动。吃单强度含噪声交易加套利压力:池价偏离外部价时,朝纠偏方向的单更密。LP的动作是一串干预时刻加每次选定的上下tick,每次固定gas。目标是手续费减去无常损失再减去gas;风险厌恶再加一项库存偏离惩罚。

理论结果:在单tick跳动、自身流动性相对池子很小的设定下,手续费和无常损失都对自身深度线性,gas是与深度无关的常数。风险中性时,这给出「尽量打进最赚钱的窄档」的激励,也解释后面窄仓智能体为什么手续费更高、重挂更勤。

解析脉冲控制在这个状态空间里不可解,于是用PPO。两个动作参数化:灵活智能体自由选上下界;窄仓智能体宽度锁成两tick,只学往哪挂。观测包括错价S−Z、到边界的距离、时间、gas、累计手续费和当前两种资产库存。动作落在当前tick附近±15档。72组情景(波动率×gas×风险厌恶),每组10个训练种子,评估1000条轨迹。对照包括一次挂死的宽/窄仓、按到达次数重挂,以及Cartea-Drissi-Monga(CDM)的解析策略(对照里按无gas乐观版每100步免费再平衡)。

结果

低波动低gas(σ=0.01, g=2),风险中性:

策略均PnL5% CVaR
窄仓一次挂死15.85-14.52
ArrivalRebalance49.726.86
CDM35.1811.55
PPO(可变宽)42.31±0.976.08
PPOnarrow49.91±0.389.15

窄仓PPO和调过的到达重挂均PnL几乎打平,CVaR更好。中等压力(σ=0.02, g=4)风险中性时CDM均PnL 15.01,两个PPO只有5到6.5;换成ϕ=50的风险厌恶后,均PnL再让大约4 USDC,CVaR相对风险中性同市场改善约27 USDC。高压(σ=0.03, g=6)风险厌恶PPO均PnL约0,策略几乎是空仓,等价于「什么都不做」。

策略剖面上读得出来:gas一高,不作为区变大,即使错价很大也不重挂;错价指向套利方向时,中心往外盘偏;ETH库存高时宽度当风险管理旋钮。不同风险偏好的仓位叠在一起,能定性复现链上池子价格附近的钟形流动性。

为什么重要

对做市研究,价值在可解释的状态依赖策略,不在再刷一条回测曲线。窄仓吃手续费、宽仓少重挂、极端时离场,都和定理里的线性激励对得上。链上实证LP常亏,这篇把gas和库存惩罚写进目标后,智能体会在恶劣参数下主动不部署,这比「再优化一档宽度」更接近真实约束。

它不能直接当主网机器人。环境是平稳模型,训练和测试同一套动态。

局限与存疑

作者写得很明白:策略只在训练所用的平稳机制下评估,没有机制切换和体制识别。CDM对照按无gas乐观实现,对解析基线偏友好。连续时间脉冲控制被离散成每100步一次决策,学的是离散版。把异质风险偏好叠成钟形流动性只是定性类比,没有用链上数据识别因果。单智能体、自身流动性不影响后续吃单,多LP竞争不在范围内。

术语

原文与代码

社区讨论

相关论文

全部论文解读