- 限价单簿隐马尔可夫建模:用 HMM 把盘口状态分成安静与挤兑
限价单簿不是一直一个样——平静时价差薄、成交稀疏,受压时( toxic flow、挤兑、闪崩前)订单流失衡、价差瞬间拉开。这个『状态切换』恰恰是马尔可夫的:今天的状态只取决于上一刻。本文用 numpy 从零实现 2 状态高斯 HMM(缩放 Baum-Welch EM + Viterbi 解码),在 1500 步合成盘口数据上把隐藏状态恢复出来,Viterbi 解码准确率 99.4%、转移矩阵 [[0.99,0.01],[0.055,0.945]] 几乎还原真值;并把状态后验概率接到一个做市商策略上——受压时减仓+加宽价差,库存风险(σ)从 50.3 砍到 19.6(−61%)、最大回撤从 −22.4% 收到 −8.6%(−62%)。附完整 Python 与四张真实仿真图。
11 min Chinese - 限价单排队位置:同样的价格,为什么你总是最后成交
两个人在同一秒、同一个价位挂同样的买单,一个成交了,一个挂到收盘也没动——差别不在价格,在队列位置。本文用事件驱动的限价单簿仿真(市价单消耗、队尾新增、前方撤单、价格跳走四类事件)量化这件事:排在队首成交概率 84.0%、中位等待 0.75 秒;前方压 20 手时掉到 55.1%、3.48 秒;前方 150 手时只剩 4.2%,前方 300 手基本归零(0.4%)——同一个挂单价格,成交概率跨度 83.7 个百分点。延迟的真实代价也由此翻译成可量化的钱:低延迟排到 q=3 成交率 77.2%,慢 300 毫秒排到 q=25 就掉到 49.1%(差 28 个百分点),中位等待从 1.18 秒拉长到 4.12 秒,订单因价格跳走而作废的比例从 22.8% 翻到 50.9%。最反直觉的是成交质量:队首成交并不更「干净」,各档位的逆向选择率都稳定在 60.5%~64.3%——因为成交本身就是被大单扫中的信号。四项对抗式检验全过:关掉队列机制后位置影响从 83.7pp 塌缩到 1.6pp、独立解析式与仿真相关 0.979、12 个种子成交率标准差仅 0.009、市价单流量翻倍也救不回深队列(前方 150 手仍仅 15.2%)(高阶)。
15 min Chinese
返回