数学、统计与计算方法 / QT07

信息流与可执行策略

本篇先给这些事件一个准确的数学表达,再把它落实为可逐行核对的资金账。

Agent Markdown ↓
本领域路线 · 2 / 9 证明有限信息条件下的规则合法性,并重算成交与退出现金。

一、从一条信号到一笔真实持仓,中间还隔着什么

上一节把数据整理成带版本和可得时点的记录。现在我们有了一个合法输入,却还不能立即把它变成策略收益。看到某个数、作出决定、发出订单、取得成交,是几个不同的事件。只有成交以后形成的实际持仓,才承担之后的价格变化。

本篇先给这些事件一个准确的数学表达,再把它落实为可逐行核对的资金账。目标不是证明某条规则赚钱,而是判断一份规则和它声称的计算结果,能否放在同一条时间线上。

沿用真实的 GDP 例:2020Q2 初值在 7 月 30 日 08:30 EDT 公布为 −32.9%,次值在 8 月 27 日 08:30 EDT 公布为 −31.7%。观察期相同,公开时点不同。12 这只建立来源的发布时间;实际系统收到它的时间仍未知。我们把“发布事件”和“收到事件”保留为两列,而不是用前者自动替代后者。ALFRED 日期元数据同样不能替代特定系统的盘中接收日志。3

假设两位观察者看着同一个市场,一位已经收到公告,另一位还没有。他们面对的未来可能性可以相同,但此刻能据以决定的事项不同。数学上,我们因此既要描述未来结果,也要描述每一时点已经能够区分哪些结果。

二、用信息分组把“此刻知道什么”写清楚

先用一个完整但很小的模型。设 \(\Omega=\{u+,u-,d+,d-\}\)。字母表示第一阶段已经观察到的信号,正负号表示下一阶段才揭晓的价格变化。此时能区分的两组是 \(C_u=\{u+,u-\}\) 和 \(C_d=\{d+,d-\}\)。看见 \(u\) 以后,我们知道结果属于 \(C_u\),却不知道它是 \(u+\) 还是 \(u-\)。

相应信息由 \(\mathcal F_1=\{\varnothing,C_u,C_d,\Omega\}\) 表示;第二阶段结果完全揭晓后,信息变成 \(\mathcal F_2=2^\Omega\)。这里的 \(\sigma\)-代数不是装饰:它精确列出此时可以判断真假的事件。MIT Lecture 1 §4.1 用有限观察说明这一解释,Lecture 25 的 Background 接着引入随时间增长的信息。45

定义(滤过与适应)。 在概率空间 \((\Omega,\mathcal F,\mathbb P)\) 上,满足 \(\mathcal F_s\subseteq\mathcal F_t\subseteq\mathcal F\)(\(s\le t\))的一族子 \(\sigma\)-代数 \((\mathcal F_t)\) 称为滤过。若过程 \(X\) 的每个 \(X_t\) 都是 \(\mathcal F_t\)-可测的,则称 \(X\) 关于该滤过适应。

这个递增条件表示我们保留已经收到的记录。后来出现更正时,新记录可以否定旧说法,却不会抹去“此前曾公布过旧值”这件事。因此信息增长与数据值被修订并不矛盾。

现在我们能证明一个真正可以拿来审查规则的判据。

命题(有限信息分组与决策)。 设有限集 \(\Omega\) 被非空集合 \(C_1,\ldots,C_m\) 分割,\(\mathcal G=\sigma(C_1,\ldots,C_m)\)。函数 \(h\colon\Omega\to\mathbb R\) 为 \(\mathcal G\)-可测,当且仅当它在每个 \(C_j\) 内为常数。

证明。 先把这里唯一需要的集合论事实写完整。由于 \(C_1,\ldots,C_m\) 是有限分割,所有这些分组的并组成一个 \(\sigma\)-代数;它包含每个 \(C_j\)。反过来,\(\sigma(C_1,\ldots,C_m)\) 必须包含每个 \(C_j\) 以及它们的任意有限并。因此

\[ \mathcal G=\sigma(C_1,\ldots,C_m) =\left\{\bigcup_{j\in J}C_j:J\subseteq\{1,\ldots,m\}\right\}. \]

若 \(h\) 在每组内为常数,那么任意 Borel 集 \(B\) 的原像 \(h^{-1}(B)\) 都是若干整组的并,故属于 \(\mathcal G\),所以 \(h\) 可测。反过来,若同组中存在 \(\omega,\omega'\),使 \(h(\omega)<h(\omega')\),取严格介于两值之间的 \(c\)。事件 \(\{h\le c\}\) 包含该组中的一个点却不包含另一个点,不是若干整组的并,因而不属于 \(\mathcal G\),与 \(h\) 的可测性矛盾。证毕。

可测性在这里检查的是:面对完全相同的已知信息,规则是否给出相同决定。 这个判据不需要先计算条件期望,也不需要为四个情景指定概率。

完整情景此刻已知信号之后价格变化(美元/股)规则甲持仓(股)规则乙持仓(股)
\(u+\)\(u\)+221
\(u-\)\(u\)−22−1
\(d+\)\(d\)+201
\(d-\)\(d\)−20−1

规则甲在每个已知分组内相同,可以由当前信号决定。规则乙在同组内随尚未揭晓的涨跌改变,因此此时不可实施。若把乙的每一项持仓乘以后来的变化,就会得到每个情景都赚 2 美元的表面结果;那只是事后按答案选择方向。所有表中数值都是教学模型输入,不是实际交易记录。甲合法也不代表甲盈利:其毛损益分别是 4、−4、0、0 美元。

三、适应不等于来得及承担这一期的收益

规定离散时点 \(0,1,\ldots,T\),\(S_k\) 是时点 \(k\) 已经取得的价格记录。我们把 \(H_k\) 定义为在区间 \((k-1,k]\) 内保持的股数。这里先采用理想化约定:在 \(k-1\) 时点观察并决定后,能够立即按指定价格完成调仓,没有成交延迟。

定义(离散可预测持仓)。 若对每个 \(k\ge1\),\(H_k\) 都是 \(\mathcal F_{k-1}\)-可测的,则称 \(H\) 为离散可预测过程。这里“可预测”指第 \(k\) 段使用的系数在这一段结果出现以前已经能够确定,不是指可以预报未来涨跌。Tropp 的公开讲义 Definition 24.1 采用同一离散定义,并直接把它解释成一项下注必须在第 \(k\) 局结果揭晓前确定。6

在上述理想化、无分配的区间内,股票价格变化带来的毛增益是

\[ G_n=\sum_{k=1}^{n}H_k(S_k-S_{k-1}). \]

量纲是“股 × 美元/股 = 美元”。价格变化不是收益率,\(H_k\) 也不是无量纲资金权重;若换成权重模型,必须另外给出财富分母。

若令 \(H_k=\operatorname{sgn}(S_k-S_{k-1})\),乘积就变成绝对价格变化。这个 \(H_k\) 可以在 \(k\) 时刻被算出,即关于当前信息适应,但通常不属于上一时点的信息。把“当前已经算出”误当“本期开始前已知”,就是差一个下标的前视错误。

实际成交存在延迟时,不能硬把一天当作一个无法拆开的步骤。至少要分开四个层次:execution/fill 是市场上实际成交发生;fill report received 是本系统收到成交回报;booking 是本地账本把回报写入持仓与现金记录;settlement 是合约或市场规则规定的证券与资金交收。决策时可以确定目标 \(q^*\),但实际成交数量 \(\Delta q\) 在成交前仍可能未知。经济敞口从 execution 发生时就已改变,即使 fill report 稍后才到达;本地“已知持仓”则可能要到收到回报甚至完成 booking 后才更新。事后核账须以 execution 还原敞口,不能用 report 或 booking 的时间倒替成交时间。本篇不模拟 settlement,也不从教学账本推断真实可用现金的交收状态。

这也说明为什么“把信号整体向后移动一行”不总是足够。该行究竟代表发布日、接收日、开盘还是收盘?成交价格和数量是否对应那个事件?只有这些口径固定,移一行才有清楚含义。即使以上全部合法,资金、交易权限和成交条件还可能限制执行;可预测性只是信息条件,不是完整的成交保证。

四、用一笔交易把现金和收益接起来

以下是完全虚构的执行实验,不与 GDP 公布日的真实行情绑定。价格单位为美元/股。初始财富全部是现金 1,000 美元,持股 0;不计利息、税和现金分配,不借款、不卖空。完整价格记录为 100,规则在收到记录后决定购买 2 股;随后实际成交 2 股,每股 103,整笔入场费用 1 美元;之后按 105 估值。

先把事件顺序本身写成数据。E0–E6 只是教学标签,不是任何交易所的真实延迟:

事件发生什么经济上的实际持股本地已记账持股本篇是否给出交收现金
E0 observation完整价格记录 100 已取得00不适用
E1 decision目标变成买 2 股00不适用
E2 order submitted指令已发出,是否成交仍未知00不适用
E3 execution/fill实际买到 2 股,每股 10320不模拟
E4 fill report received系统收到“2 股 @ 103”的回报20不模拟
E5 booking本地账本把成交写入持仓记录22不模拟
E6 valuation后续按 105 估值22不模拟

这里故意让 report 和 booking 分成两个事件,使层次可见;真实系统可能把它们处理得几乎同时,也可能有其他中间状态。最重要的是:E3 已改变经济敞口,不能等到 E4 或 E5 才把 103 之后的价格变化算给新持仓;另一方面,本地系统在 E3 尚未收到回报时,也不能假装已经知道实际成交数量。

为了核算这笔交易,我们另建一条经济账本:在 E3 按实际成交立即确认买入成本和费用。它是事后重建 execution 经济效果的教学约定,不是“已交收/可提取现金”字段。于是 \(C^{econ}=1000-2\times103-1=793\) 美元;按成交价 103 标记时,股票价值 206,总值 999;按 105 标记时,股票价值 210,总值 1,003。价格从 100 到 103 的变化发生在持股形成之前,所以这两股不能取得那 6 美元的账面涨幅;103 到 105 的股票增益是 4 美元,扣掉 1 美元入场费,标记损益为 3 美元。settlement 的实际时间与可用现金状态本篇保持“未建模”,绝不把 793 冒充为已完成交收的现金余额。

命题(单次成交的经济账本恒等式)。 设 execution 前模型经济现金和股数为 \(C^-,q^-\),实际有符号成交量为 \(\Delta q\)(买入为正),成交价为 \(P^{exec}\),费用为 \(\kappa\ge0\)。若无外部资金流入流出,并采用“成交时确认交易经济效果”的本篇账本约定,则

\[ q^+=q^-+\Delta q,\qquad C^+=C^- -P^{exec}\Delta q-\kappa. \]

在前后均采用同一个固定标记价 \(M\) 时,\(V=C+Mq\) 满足

\[ V^+-V^-=(M-P^{exec})\Delta q-\kappa. \]

证明。 把股数和现金更新式代入 \(C^++Mq^+-(C^-+Mq^-)\),\(C^-\) 与 \(Mq^-\) 抵消,剩余 \((M-P^{exec})\Delta q-\kappa\)。当 \(M=P^{exec}\) 时,变化正好为 \(-\kappa\)。若标记价与成交价不同,则还存在按标记价计算的执行差额,不能笼统说“每次调仓只损失费用”。证明逐路径成立,不需要独立同分布、正态性或鞅假设。

现在故意把这笔成交改记成 100:现金会显示为 \(1000-2\times100-1=799\),后续价值变成 1,009。这个反事实的算术没有错,但按我们的事件设定,100 出现时还没有基于完整记录的订单,更没有该订单的成交证据。它与实际设定的差额 \(2(103-100)=6\),正是时钟错配。

再改变一个真实执行中必须面对的输入:假设目标仍为 2 股,却只成交 1 股,费用仍为每笔已发生入场 1 美元。现金变成 896,后续价值为 \(896+105=1001\),标记损益 1 美元。不能继续用目标 2 股计算收益。若完全没有成交,本实验不收费用,现金和价值都是 1,000;这是一项明确的费用假设,而不是适用于所有经纪商的规则。

最后,1,003 不是退出所得,更不是“已经交收的现金”。若另假设随后以 105 全部卖出且再付 1 美元退出费用,按同一经济账本约定得到退出后经济现金 1,002,已实现净损益 2 美元;部分成交的一股同样退出时为 1,000。这里仍没有模拟卖出交易的 settlement。若要计算收益率,还必须明确分母(例如初始财富、投入资本或其他资金口径);本页只报告美元价值与美元损益,不把 2/10002/207 中任何一个自动命名为“回报率”。

五、信息条件也要贯穿训练过程

把交易时钟写对以后,信号本身仍可能含有未来信息。一个模型可能只用昨天的特征发出今天的订单,却用整段历史的均值标准化输入,或用测试期结果挑出参数。此时泄漏发生在模型生成之前,不在最后的下单时点。

FPP3 §5.10 用逐次前移的预测起点组织训练与检验,训练数据在被预测观测之前;其单步与多步示意图提醒我们,预测期限属于实验设定。7 本篇只接过这一时间原则,不把其预测误差结果解释成交易收益,也不在这里展开调参和多重检验。

更具体地,设第 \(s\) 个训练样本的特征实际就绪时点为 \(b_s\),目标标签就绪时点为 \(\ell_s\)。在时点 \(t\) 拟合模型时,样本至少要满足 \(b_s\le t\) 且 \(\ell_s\le t\);预处理参数、训练选择和版本选择也必须只使用届时允许的信息。若目标是未来五天累计收益,样本起点早于 \(t\) 不足以证明标签已经完整出现。这个条件是把前面的信息约束应用到训练数据,不是另一种神秘的“回测技巧”。

历史训练标签有时按“后来公布的最终估计”定义,有时按“首次发布数”定义。两者可以研究不同问题,但必须先选定目标;即使目标定义为最终估计,在历史训练时也不能使用尚未获得的最终标签。后续 QT21 会用完整实验处理这一层。

配套 交互页 同时保留三种视角:信息分组、正确与错配的成交账本、部分成交。先预判从 2 股改到 1 股会改变哪些行,再打开结果。无法运行脚本时,本篇的情景表与资金账就是静态等价说明,不需要猜图中的隐藏状态。

六、自检:指出哪一步错了,而不只说“有泄漏”

题一:解释与证明。 表中规则乙在第二阶段结束后已经知道所有持仓数字。为什么这不能说明它可用于赚取第二阶段的价格变化?用分组判据回答。

解析。 第二阶段结束后的可测性只对应 \(\mathcal F_2\)。要承担从第一阶段到第二阶段的变化,持仓应在 \(\mathcal F_1\) 下确定。乙在 \(C_u\) 和 \(C_d\) 内都取不同值,违反第二节命题,所以不能从第一阶段信息生成该持仓。把记录事后补齐不等于事前有这项信息。

题二:迁移计算。 初始现金 1,000;目标买 2 股,但只在 104 成交 1 股,入场费 1;之后按 102 估值。再假设全部按 102 卖出,退出费 1。分别求标记价值和最终现金。

解析。 成交后现金 \(1000-104-1=895\),实际持股 1;标记价值 \(895+102=997\),标记损益 −3。卖出后现金 \(895+102-1=996\),最终净损益 −4。目标数量 2 不进入实际资金账;102 的标记本身也没有使持股变成现金。

题三:信息时间迁移。 一条发布记录 08:30:00 公开,假设系统 08:30:05 才收到,08:30:06 完成计算。08:30:03 的决定能否用它?08:30:05 的决定呢?

解析。 08:30:03 只有来源公开,系统尚未收到,不能用。08:30:05 收到原始信息并不代表该计算结果已经生成;若决定依赖计算结果,还要等到 08:30:06 及明确的事件顺序。五秒与一秒都是题目假设,不是 BEA 或 ALFRED 的延迟测量。数学可测性只说明结果是已有信息的函数,不保证计算已经完成;计算耗时是执行层的额外约束,应与信息条件分别记录。

读到这里,我们能检查信号使用了什么信息、持仓何时形成,以及损益是否由同一笔实际成交产生。要进一步问“给定当前信息,未来平均结果是多少”,才进入 QT11 的条件期望;该问题不需要倒过来成为本篇的先修。


  1. U.S. BEA,2020Q2 Advance Estimate,2020-07-30,页首 08:30 EDT 与开篇 −32.9%。 ↩︎

  2. U.S. BEA,2020Q2 Second Estimate,2020-08-27,页首 08:30 EDT、开篇及 Updates to GDP。 ↩︎

  3. Federal Reserve Bank of St. Louis,ALFRED Help,定位数据更新、Release Dates 及日期确定顺序。本次读取 2026-09-21;不能支持实际系统的逐秒延迟。 ↩︎

  4. MIT 6.436J/15.085J,Fall 2018,Lecture 1,Probabilistic Models and Probability Measures,§4.1,印刷 pp.6–7(重点 p.7),有限观察者与信息的例子。有限分组决策判据的证明由本文给出。 ↩︎

  5. MIT 6.436/15.085,Lecture 25,讲授 Yury Polyanskiy、课堂参与者记录,Martingales I,§0 Background,pp.1–2;本篇采用 p.2 的滤过与适应,不采用 p.1 条件期望简写作本篇先修。 ↩︎

  6. Joel A. Tropp,Probability Theory & Computational Mathematics,CMS/ACM 117, Caltech, Fall 2024,typeset 2025-01-23,Lecture 24 §24.1.1, Definition 24.1,printed p.348(PDF page 363)。本次复审实际查看该页;只采用 previsible/predictable process 的离散定义及“必须在本局结果揭晓前决定”的解释,不采用后续 martingale transform 定理。 ↩︎

  7. Rob J Hyndman、George Athanasopoulos,FPP3 §5.10:Time series cross-validation,本次读取 2026-09-21,全节。支持逐次前移预测起点及预测期限;本文未运行原书代码,也没有报告其数值为自己的复现。 ↩︎

动手试一试

信息流与可执行策略

这篇词条与哪些内容相连

图中汇集本篇及其段落的直接关系,具体使用位置见下方列表。箭头按关系名称阅读。例如“需要先修”指向需要掌握的内容;推荐阅读顺序另见本领域路线。

逐条查看关系与依据

KEEP ASKING

把这一页,变成一堂课。

专属 Prompt 与同源材料会一并复制。Agent 先读取指定文献,再围绕本页的材料、推导和练习展开教学。

READ TOGETHER

一起读,也一起把问题说清楚。

关于整篇的想法留在这里;某个推导、算例或表格的问题,可以点小节旁的“章说”,在原处展开讨论。

使用 GitHub 账号参与

本篇讨论

搜索笔记

让 Agent 教我

这里包含专属 Prompt 及本次学习范围的正文、案例、来源和图表说明,分支内容以当前选择为准。复制后粘贴到你常用的 Agent。