机制分析
符号定义
- n:选项个数
- s_{i,t}:t时刻第i个选项的份数
- \mathbf{S}_t = \left(s_{1,t},\cdots,s_{n,t}\right):t时刻所有选项的份数构成的向量
- p_i:第i个选项的价格
- \pi_i:预测第i个选项的发生概率
- \sum_{i=1}^n \pi_i\equiv 1
LMSR
- 对数市场评分规则(logarithmic market scoring rules, LMSR)通过计算交易前后市场评分之差作为报价
- 评分函数C(\mathbf{S})
C(\mathbf{S}_t)=b\cdot \ln\left[\sum_{i=1}^n \exp\left({s_{i,t}}/{b}\right)\right]
- 根据t时刻所有选项的价格情况计算市场评分
- b为固定值,会影响市场的流动性
- 价格函数p_i\left(\mathbf{S}\right)
- 假设当前市场状态为\mathbf{S}_t,某用户买卖选项后市场状态为\mathbf{S}_{t+1},则需支付
C(\mathbf{S}_{t+1})-C(\mathbf{S}_t)
- 若用户购买\Delta s份选项j且数额较小,则每份选项需支付的代币数为
p=\frac{C(\mathbf{S}_{t+1})-C(\mathbf{S}_t)}{\Delta s}\quad\quad s_{i,t+1}=\begin{cases} s_{i,t} & \text{ if } i\ne j \\ s_{i,t}+\Delta s & \text{ if } i=j\end{cases}
- 取极限得到各个选项的价格
p_i\left(\mathbf{S}_t\right)=\lim_{\Delta s\rightarrow 0}p=\frac{\partial }{\partial s_{i,t}} C(\mathbf{S}_t)=\frac{\exp({s_{i,t}}/{b})}{\sum_{i=1}^n \exp\left({s_{i,t}}/{b}\right)}
- 预测函数\pi_i\left(\mathbf{S}\right)
- 在LSMR下,定价天然满足\sum_{i=1}^n p_i\left(\mathbf{S}_t\right)\equiv 1,因此价格函数即为预测函数,即
\pi_i\left(\mathbf{S}_t\right)=p_i\left(\mathbf{S}_t\right)=\frac{\exp({s_{i,t}}/{b})}{\sum_{i=1}^n \exp\left({s_{i,t}}/{b}\right)}
DPM
- 动态对赌市场(Dynamic Pari-Mutuel Market, DPM)的核心思想与LMSR类似,但采取了不同的评分函数
- 评分函数C(\mathbf{S})
C(\mathbf{S}_t)=\sqrt{\sum_{i=1}^n s_{i,t}^2}
- 价格函数p_i\left(\mathbf{S}\right)
- 推导过程类似LMSR
p_i\left(\mathbf{S}_t\right)=\frac{\partial }{\partial s_{i,t}} C(\mathbf{S}_t)=\frac{s_{i,t}}{\sqrt{\sum_{i=1}^n s_{i,t}^2}}
- 预测函数\pi_i\left(\mathbf{S}\right)
- 在DPM下,各选项价格的平方和为1,选项发生概率的预测值为价格的平方
\pi_i\left(\mathbf{S}_t\right)=p_i^2\left(\mathbf{S}_t\right)=\frac{s_{i,t}^2}{\sum_{i=1}^n s_{i,t}^2}
- 由于\sum_{i=1}^n p_i^2\left(\mathbf{S}_t\right)=1,因此
\pi_i\left(\mathbf{S}_t\right)=p_i^2\left(\mathbf{S}_t\right)=\frac{p_i^2\left(\mathbf{S}_t\right)}{\sum_{i=1}^n p_i^2\left(\mathbf{S}_t\right)}
- 这说明不仅可以根据各选项份数计算概率,还可以根据各选项价格计算得到
DPA
- 动态价格调整算法(Dynamic Price Adjustment, DPA)假设买卖选项时每一份选项的价格相同,t时刻买入\Delta s份选项j花费的代币为
p=p_{j,t-1}\cdot\Delta s_t
- 完成交易后,选项j的价格更新为p_{j,t}
- 路径依赖,存在套利机会
- 价格函数p_{i,t}
p_{i,t}=p_{i,t-1}+\mathrm{sign}\left(\Delta s_t\right)\cdot\max\left\{\frac{\left|\Delta s_t\right|}{b^2}\cdot\frac{\sum_{\mathrm{sign}\left(\Delta s_i\right)=\mathrm{sign}\left(\Delta s_t\right)}\left|\Delta s_i\right|}{t+1} ,\tau\right\}
- b,\tau为流动性参数,调整每次价格的变动幅度
- 在DPA中,交易可能导致所有选项的价格之和不再为1,此时需要归一化(如等比例缩放价格、用1作差得到其它选项的价格等),得到的价格才为真正的价格
- 预测函数\pi_{i,t}