LLM是否理解限价订单簿动态?
摘要
本文研究了在合成限价订单簿数据上训练的大型语言模型是否能发展出准确的世界模型。研究发现,虽然这些模型能生成有效的序列,但存在系统性错误,导致有偏和虚假的预测。
arXiv:2608.23706v1 公告类型:新
摘要:在合成限价订单簿(LOB)数据上训练的大型语言模型(LLM)在生成有效的LOB事件序列方面取得了近乎完美的分数。然而,LLM的隐式世界模型未能学习LOB的状态。这一缺陷导致在使用LLM预测未来LOB事件时出现有偏的估计和虚假的可预测性。我们的分析使用了对LLM世界模型的新颖测试,将先前工作从确定性设置扩展到LOB所需的随机动力学。
查看缓存全文
缓存时间: 2026/08/26 09:12
# 大型语言模型能否理解限价订单簿动态?
来源:https://arxiv.org/html/2608.23706
Paul Glasserman
机构:\{J1Chen27, pg20\}@gsb\.columbia\.edu
###### 摘要
在合成限价订单簿(LOB)数据上训练的大型语言模型(LLM)在生成有效的LOB事件序列时能够达到接近完美的分数。然而,LLM的隐式世界模型未能学习LOB的状态。这一缺陷导致在使用LLM预测未来LOB事件时产生有偏估计和伪可预测性。我们的分析使用了新的LLM世界模型测试,将先前的工作从确定性设置扩展到LOB所需的随机动态。
## 1 引言
如果一个大型语言模型(LLM)学会了识别和生成有效的限价订单簿(LOB)事件序列——订单到达、执行和撤销——它是否发展出了对LOB的正确世界模型?这样的理解是否重要?这些问题是我们研究的核心。我们使用模拟LOB中的事件从零开始训练了一个基于Transformer的LLM。该LLM在生成有效序列以及寻找将LOB从起始状态移动到目标状态的序列方面表现极其出色。通过这些指标,LLM似乎理解了LOB背后的关键概念:交易只能在最佳买价或卖价处发生;市价订单只能与对侧的挂单订单执行;撤销订单需要存在待撤销的限价订单。
与此同时,我们发现了LLM隐式世界模型中系统性错误的证据。正确理解LOB的动态对于将训练好的LLM应用于与训练任务相关但不同的任务变得重要。在我们的设定中,相关任务是预测。我们设想交易者或做市商使用训练好的LLM来预测,例如,下一个订单是买单还是卖单。我们发现了伪可预测性的一致证据:LLM在不存在可预测性的地方发现了可预测性,因此给出了误导性的预测。这就是不正确世界模型的抽象概念带来实际后果的地方。
通过使用模拟数据,我们能够确保数据生成LOB的状态是一个马尔可夫链。因此,给定当前状态,LOB的历史对其未来演变无关,但LLM的预测受到过去事件的影响。因此,我们的框架在不可预测性的零假设下评估LLM。实际LOB中的事件可能确实表现出一定的可预测性,但如果LLM在零假设下发现可预测性,其提供可靠预测的能力就值得怀疑。更根本的是,其隐式的LOB世界模型似乎是有缺陷的。
先前关于推断和评估LLM世界模型的工作包括\[4 (https://arxiv.org/html/2608.23706#bib.bib4),7 (https://arxiv.org/html/2608.23706#bib.bib7),10 (https://arxiv.org/html/2608.23706#bib.bib10)\]在游戏设定中,\[3 (https://arxiv.org/html/2608.23706#bib.bib3)\]在任务规划中,\[8 (https://arxiv.org/html/2608.23706#bib.bib8),12 (https://arxiv.org/html/2608.23706#bib.bib11)\]在确定性有限自动机(DFA)中,以及\[11 (https://arxiv.org/html/2608.23706#bib.bib12)\]在物理定律设定中。在这些情况下,“真实”模型是确定性的,而LOB的演变本质上是随机的。我们调整并应用了在\[12 (https://arxiv.org/html/2608.23706#bib.bib11)\]的通用框架中研究的一些测试。我们对有偏预测和伪可预测性的关注是新的,并且特别与金融环境相关。我们为此属性引入了新的测试。
我们的**核级全变差(TV)**衡量LLM的下一个令牌概率与真实分布核之间的偏差。我们的**历史级全变差(TV)**衡量过去事件对LLM预测分布的错误影响。我们还应用回归测试,使用过去事件的信息来评估未来事件概率的伪可预测性或校准误差。
从实践角度来看,我们的结果表明,有效的序列测试不足以在LOB中训练LLM完成下游任务(如事件预测)。需要更大的训练数据集或新的训练方法来改善LLM对LOB的世界模型。我们的结果使用了小的LOB设置以使从零开始训练可行;我们记录的问题在更大的状态空间中可能会更严重。越来越多的文献关注生成大型合成金融数据集;例如,\[1 (https://arxiv.org/html/2608.23706#bib.bib1),6 (https://arxiv.org/html/2608.23706#bib.bib6),9 (https://arxiv.org/html/2608.23706#bib.bib9)\]。
第2节 (https://arxiv.org/html/2608.23706#S2)回顾了LOB并制定了我们的LOB动态。第3节 (https://arxiv.org/html/2608.23706#S3)构建了数据集。第4节 (https://arxiv.org/html/2608.23706#S4)描述了我们的模型训练过程。第5节 (https://arxiv.org/html/2608.23706#S5)引入了一个用于比较的简单基线。第6节 (https://arxiv.org/html/2608.23706#S6)使用现有诊断方法评估我们的模型。第7节 (https://arxiv.org/html/2608.23706#S7)引入并应用我们的新测试。第8节 (https://arxiv.org/html/2608.23706#S8)测试了更大的LOB设置。第9节 (https://arxiv.org/html/2608.23706#S9)进行了总结。
## 2 限价订单簿
### 2.1 状态
图1 (https://arxiv.org/html/2608.23706#S2.F1)展示了一个限价订单簿。该示例有五个固定价格水平 \(p_1 > \cdots > p_5\)。在价格 \(p_1\) 处有 \(v_1=1\) 个卖单,在 \(p_2\) 处有 \(v_2=2\) 个卖单;在价格 \(p_4\) 处有 \(v_4=3\) 个买单,在 \(p_5\) 处有 \(v_5=2\) 个买单。符号 \(\ell^a=2\) 表示最低卖价为 \(p_2\),类似地 \(h^b=4\) 表示最高买价为 \(p_4\)。
**图1:限价订单簿表示**
更一般地,我们用向量 \((\ell^a, h^b, v_1, \dots, v_P)\) 表示LOB的状态,其中 \(P\) 是固定价格水平数。对于 \(i=1, \dots, \ell^a\),\(v_i\) 是在 \(p_i\) 处卖单的数量。对于 \(i=h^b, \dots, P\),\(v_i\) 是在 \(p_i\) 处买单的数量。如果没有买单(买单),则 \(h^b=P+1\);如果没有卖单(卖单),则 \(\ell^a=0\)。任何位于底部买单和顶部卖单之间的价格水平(如图中的 \(p_3\))构成价差区域,应有 \(v_i=0\)。为保持状态空间有限,我们将任何价格水平的总订单数上限设为 \(V_1\),每个单独订单的规模上限设为 \(V_2\)。(关于限价订单簿的一般背景,请参见例如 [2 (https://arxiv.org/html/2608.23706#bib.bib2)]。)
### 2.2 事件与状态转移
LOB的状态通过限价订单、撤销订单和市价订单的到来而演变。我们将一个令牌与每个可能的事件关联。令牌 `ask_p_i_v` 表示以价格 \(p_i\) 卖出 \(v\) 股的卖单到达。限价买单类似地写为 `bid_p_i_v`。撤销订单 `w_ask_p_i_v` 和 `w_bid_p_i_v` 从相应一侧的价格 \(p_i\) 处移除 \(v\) 个单位。市价卖单 `m_ask_v` 从最佳买价 \(p_{h^b}\) 开始消耗买方一侧的 \(v\) 个单位;市价买单 `m_bid_v` 从最佳卖价 \(p_{\ell^a}\) 开始消耗卖方一侧的 \(v\) 个单位。
限价订单遵循标准的匹配逻辑。如果到达的限价买单出价于低于最低卖价 \(p_{\ell^a}\) 的价格 \(p_i\),则订单挂单在价格 \(p_i\),前提是产生的成交量不超过 \(V_1\)。相反,如果提交的限价买单出价于 \(p_i \geq p_{\ell^a}\)(交叉买单),则它从最低卖价 \(p_{\ell^a}\) 开始与卖方一侧执行。如果提交的规模大于卖方一侧在价格小于或等于 \(p_i\) 的可用卖单量,则未成交的剩余部分将挂单在 \(p_i\)。限价卖单的到达类似。
撤销订单仅在相应一侧和价格水平当前至少包含所请求的撤销量时有效。市价订单仅在对侧有足够总量来完全执行订单时有效。LOB的规则决定了每个状态 \(s\) 中的有效事件集合 \(\mathcal{A}(s)\)。每个有效事件 \(a \in \mathcal{A}(s)\) 确定性地将LOB状态 \(s\) 映射到新状态 \(s' = T(s,a)\),类似于确定性有限自动机(DFA),这是 \[12 (https://arxiv.org/html/2608.23706#bib.bib11)\] 中使用的框架。可能有多个事件将状态从 \(s\) 移动到 \(s'\)。一旦我们指定了每个状态 \(s\) 中每个事件 \(a\) 的概率 \(\mu(a|s)\),状态的演变就成为一个马尔可夫链。从 \(s\) 到 \(s'\) 的转移概率由下式给出:
\[ K(s,s') = \sum_{a \in \mathcal{A}(s) : T(s,a) = s'} \mu(a|s) \]
由此产生的有限状态马尔可夫链是不可约且非周期的,因此具有唯一的平稳分布 \(\pi\),满足 \(\pi K = \pi\)。为简单起见,我们假设在每个LOB状态中,所有有效事件(令牌)是等可能的,即 \(\mu(a|s) = 1 / |\mathcal{A}(s)|\)。我们使用非均匀核(分配给买单或卖单更高概率,诱导向上或向下价格压力)也得到了一致的结果。
## 3 合成数据集构建
我们将一个状态ID令牌与每个LOB状态关联,并如上所述,将一个令牌与每个事件关联。每个训练序列表示为:
\[ s_{\mathrm{start}}\;\; s_{\mathrm{goal}}\;\; a_1\;\; a_2\;\; \cdots\;\; a_T\;\; \texttt{end} \tag{1} \]
其中 \(s_{\mathrm{start}}\) 是初始状态ID,\(s_{\mathrm{goal}\) 是目标状态ID,\(a_1, \ldots, a_T\) 是有效的LOB事件。特殊令牌 `end` 仅在当前状态等于目标状态时有效。
我们训练一个LLM来响应形式为 \((s_{\mathrm{start}}, s_{\mathrm{goal}})\) 的提示,通过生成一系列有效事件令牌,将LOB从 \(s_{\mathrm{start}}\) 移动到 \(s_{\mathrm{goal}}\)。这种格式要求LLM学习从任何LOB状态 \(s_{\mathrm{start}}\) 出发的哪些事件序列是有效的。但它更进一步要求模型学习如何到达目标状态 \(s_{\mathrm{goal}}\),这暗示了规划或预测多个事件影响的能力,从而对LOB的转移结构有更深的理解。[^1]
[^1]: 目标状态作为一个条件信号,类似于标准语言建模中的上下文条件,要求模型学习多步可达性,而不仅仅是局部转移概率。这与我们后续的预测测试并不冲突,因为该条件在从相同数据生成过程抽取的目标状态上被平均掉了。
遵循 \[12 (https://arxiv.org/html/2608.23706#bib.bib11)\],我们生成两种类型的序列数据集 (1):随机游走和最短路径。
在随机游走数据集中,我们从LOB马尔可夫链的平稳分布 \(\pi\) 中抽取 \(s_{\mathrm{start}}\)。我们从 \(\mu(\cdot | s_{\mathrm{start}})\)(当前状态下的下一个令牌分布)生成 \(a_1\)。事件 \(a_1\) 将LOB移动到新状态 \(s'\)。以概率 \(p_{\text{stop}}\),序列终止,我们设 \(s_{\mathrm{goal}} = s'\)。以概率 \(1-p_{\text{stop}}\),我们从 \(s'\) 生成 \(a_2\),并重复该过程。这种构造使得序列长度 \(T\) 服从均值为 \(1/p_{\text{stop}}\) 的几何分布。几何分布的无记忆性质意味着,沿序列观察到的事件数量不携带关于序列终止前还将观察到多少事件的信息。在我们的实验中,我们设定了最大序列长度以保持长度有界。
在最短路径数据集中,我们要求 (1) 以尽可能少的转移 \(T\) 从起始状态移动到目标状态。构造细节见附录 A.1 (https://arxiv.org/html/2608.23706#A1.SS1)。随机游走数据集旨在近似观测数据。给定实际LOB中的一段事件历史,人们可以随机将历史序列划分为片段,记录每个片段的起始和结束状态,并训练LLM生成类似的片段。最短路径数据集用于比较;我们期望最短路径能更清晰地揭示LOB动态,但对状态空间的探索不够彻底。
## 4 LLM训练
对于每个数据集,我们在形式为 (1) 的令牌序列上训练一个仅解码器的Transformer模型。我们使用GPT风格的因果解码器架构,包含12个Transformer层,嵌入维度768,12个注意力头,总共约8640万个可训练参数。我们使用更大的Transformer结构(48层,嵌入维度1600,25个注意力头,约15亿个可训练参数)也获得了非常相似的定性结果。每个Transformer模型使用标准的下一个令牌预测目标进行训练,损失函数为交叉熵。给定令牌序列 \(a_1, \ldots, a_N\),模型估计概率 \(p_\theta(a_t | a_1, \ldots, a_{t-1})\)。训练使用Adam优化器,学习率 \(10^{-4}\),批次大小32,最多训练50个epoch,采用早停法。
## 5 基线模型
我们考虑一个简单的基线模型,用于在预测任务上与LLM进行比较。该基线是一个频率计数器,它基于LOB的历史,在每种状态下独立估计下一个事件的概率。具体来说,对于每个状态 \(s\),基线记录在训练数据中观察到的每个事件 \(a\) 的出现次数。然后,它通过在状态 \(s\) 下事件 \(a\) 的计数除以该状态下所有事件的总计数,来估计概率 \(\hat{\mu}(a|s)\)。在预测任务中,对于给定的历史,基线简单地输出当前状态下的估计概率分布作为其预测。该基线代表了在训练数据中观察到的频率的“真实”分布,因此它本身具有完美的校准(如果训练数据是无限的)。
## 6 现有诊断评估
我们使用两种现有的诊断方法来评估我们的模型。
### 6.1 有效序列生成
我们首先评估模型生成有效LOB事件序列的能力。我们使用一个简单的温度采样程序,从起始状态开始生成序列,并在达到目标状态或达到最大长度时停止。我们报告生成序列的“有效率”,即生成的序列从起始状态开始并仅遵循有效转移的比例。结果表明,所有LLM在生成有效序列方面都表现出色(有效率>99%),而基线模型(通过从其估计分布中采样)也达到了高有效率(~98%)。这证实了LLM已经学会了LOB的基本语法规则。
### 6.2 压缩测试
我们应用压缩测试来评估LLM是否理解LOB状态的马尔可达性。该测试检查对于给定的状态 \(s\),从不同的历史 \(h_1\) 和 \(h_2\) 到达该状态后,LLM生成的后续令牌序列(后缀)的概率分布是否相同。具体来说,对于每个状态 \(s\),我们采样两个不同的历史 \(h_1\) 和 \(h_2\)(都导致状态 \(s\)),并从每个历史生成一组后缀。然后,我们计算“压缩分数”,该分数是 \(s\) 的后缀集合在两个历史下都具有较高概率的比例。高压缩分数表明LLM理解,在固定当前状态的情况下,可行的后缀集不依赖于到达该状态的路径。
在我们的实验中,我们使用了1000个采样的状态-目标-历史对和每个对30个后缀。前缀长度从上限几何分段分布中采样。我们设置 \(\epsilon=0.01\),但结果对该阈值选择不敏感。表1 (https://arxiv.org/html/2608.23706#S6.T1) 中所有三个LLM的压缩分数都很低,而基线分数接近100%。对于RW模型,在超过一半的状态中,有效后缀集被认为是历史依赖的,尽管在真实的LOB动态中,对于结束于相同状态 \(s_0\) 的两个历史,有效后缀集是相同的。
因此,我们得到了一个混合的情况。LLM在生成有效序列方面表现非常出色,但它们未能理解LOB动态的一个关键特征。[^2]
[^2]: 我们还应用了 [5 (https://arxiv.org/html/2608.23706#bib.bib5)] 的探测测试以及 [12 (https://arxiv.org/html/2608.23706#bib.bib11)] 的绕行和区分测试。RW模型在探测测试(检查模型的隐藏状态是否编码了真实状态的信息)上表现良好。它们在绕行和区分测试上也表现良好,而SP模型则不然。这些测试与我们关注的预测分布直接相关性较低,因此我们不在此讨论。相似文章
大型语言模型能否执行母单?
本文研究了大语言模型在算法交易中母单执行的应用,提出了层次化框架PACE,在深圳证券交易所数据上优于传统基线,并表明大语言模型可以补充人类交易员。
大型语言模型能否对检索到的信息保持审慎态度?
本文研究了大型语言模型如何适应检索信息的确定程度,指出了其在处理不确定性方面的系统性局限。论文提出了一种交互策略,在不修改模型权重的前提下,将顺从错误降低了 25%。
向您的LLM提问
本文讨论了如何有效地查询或与大型语言模型(LLMs)进行交互,以应用于各种场景。
一致但校准不佳:评估LLM在自然语言风险沟通中的局限性
本文评估了九个LLM在自然语言中准确传达概率预测的能力,发现模型表现一致但校准不佳,尤其是在不确定性任务上。
机器的内部时钟:大语言模型是否共享人类的时间错觉?
本文探讨大语言模型是否表现出类似人类的时间错觉,通过在叙事基准上进行测试,发现大语言模型经常选择与心理学文献一致的场景,而不是模仿人类的感知。