量化交易中文教材

第 02 章 概率公理

本章对应 Ross 第 2 章。它回答"概率到底是什么、必须满足什么规则"。三条公理看起来平淡,但由它们推出的补事件公式、加法公式、容斥恒等式和 Boole 不等式(union bound),是量化研究中多重检验校正、联合风险估计的数学根基。

学习目标

  1. 能为一个随机试验写出样本空间,用并、交、补表示复杂事件,熟练运用 De Morgan 律。
  2. 掌握概率的三条公理,并能由公理推出 \(P(E^c)=1-P(E)\)、单调性、加法公式。
  3. 理解并会用容斥恒等式;知道它截断后给出交替的上下界,一阶截断就是 Boole 不等式(union bound)。
  4. 在等可能模型中把概率化为计数,能在有序与无序两种建模之间切换,并会用对称性论证简化计算。
  5. 理解生日问题、配对问题、游程分布等经典结果,并能把它们和"数据挖掘中的偶然显著"联系起来。
  6. 了解概率的连续性、频率解释与主观概率解释。

读前导读

这一章在解决什么问题。 CFA 一级教过你几条概率规则:\(P(A\text{ 或 }B)=P(A)+P(B)-P(AB)\)、\(P(\text{非}A)=1-P(A)\),还有乘法规则。当时这些规则是"给定的"。本章把顺序倒过来:只假设三条最基本的公理,其余规则全部推出来。这样做的好处是,遇到 CFA 没覆盖的情形(无穷多个事件、事件之间结构未知),你知道哪些结论仍然可靠。

本章与 CFA 相比深在三处。第一,公理 3 要求对可列无穷多个互斥事件可加,这是处理"无限次交易""最终会不会破产"这类问题的基础。第二,容斥恒等式把加法公式推广到 \(n\) 个事件,它的截断给出 Boole 不等式(union bound),也就是多重检验中 Bonferroni 校正的数学来源。你在 CFA 里见过"数据挖掘偏差(data snooping)"的概念,本章给它一个可计算的上界。第三,2.5 节讨论事件序列的极限,这是后面讲分布函数、大数律时要用的工具。

需要先想起来的数学。

  • 集合记号。 \(E\cup F\)(并,"或")、\(E\cap F\) 或 \(EF\)(交,"且")、\(E^c\)(补,"非")、\(E\subset F\)(\(E\) 是 \(F\) 的一部分)、\(\varnothing\)(空集)。把事件想成"满足某条件的情景集合"即可:\(E\)="组合日亏损超 2%",\(F\)="波动率超 30%",\(EF\) 就是两者同时出现的情景。见 第 00 册第 08 章 读懂数学证明与符号。
  • 无穷级数。 \(\sum_{i=1}^\infty a_i\) 定义为前 \(n\) 项部分和在 \(n\to\infty\) 时的极限。例:\(\sum_{i=1}^\infty(1/2)^i=1\),因为部分和 \(1-(1/2)^n\to1\)。公理 3 和 2.5 节都在用这个定义。另一条要记的是 \(e^x=\sum_{i\ge0}x^i/i!\),令 \(x=-1\) 得 \(e^{-1}=\sum_i(-1)^i/i!\),配对问题的极限就来自这里。见 第 00 册第 04 章 级数与收敛。
  • 极限。 \(\lim_{n\to\infty}a_n=a\) 的意思是:\(n\) 足够大以后,\(a_n\) 与 \(a\) 的距离可以小于任何事先给定的正数。例:\((0.95)^n\to0\)。见 第 00 册第 01 章 函数极限与连续。
  • 二项式定理与计数。 第 01 章的 \((1-1)^m=0\) 会在容斥证明里出现,组合数会贯穿 2.4 节。

怎么读这一章。 2.1–2.3 是核心:把三条公理和由它们推出补事件、单调性、加法公式的过程读懂;容斥恒等式的"贡献计数"证明值得细读;Boole 不等式和"量化实战"第 1 部分(多重检验)是本章与量化工作联系最紧的地方。2.4 的例题很多,第一次读可以只挑例 5b(有序与无序)、例 5d(对称性)、例 5i(生日问题)、例 5m(配对问题),其余当练习。例 5k 的大公式和 2.5 节的例 6a 第一次可以跳过;2.5 节只需记住命题 6.1 的结论。2.6 节轻松读完即可。


2.1 样本空间与事件

样本空间(sample space) \(S\) 是一个随机试验所有可能结果组成的集合。试验结果事先无法确定,但哪些结果可能出现是已知的。原书的例子:

  1. 新生儿性别:\(S=\{g,b\}\)。
  2. 7 匹马(起跑位 1–7)的完赛顺序:\(S\) 是 \((1,\dots,7)\) 的全部 \(7!\) 个排列。
  3. 抛两枚硬币:\(S=\{(H,H),(H,T),(T,H),(T,T)\}\)。
  4. 掷两颗骰子:\(S=\{(i,j):i,j=1,\dots,6\}\),共 36 个点。
  5. 晶体管寿命(小时):\(S=\{x:0\le x<\infty\}\)。

**事件(event)**是样本空间的任意子集 \(E\)。试验结果落在 \(E\) 中,就说 \(E\) 发生了。例如例 4 中 \(E=\{(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)\}\) 表示"两骰之和为 7";例 5 中 \(E=\{x:0\le x\le5\}\) 表示"寿命不超过 5 小时"。

事件运算:

  • 并(union) \(E\cup F\):\(E\)、\(F\) 至少一个发生。
  • 交(intersection) \(EF\)(也写 \(E\cap F\)):\(E\)、\(F\) 同时发生。
  • 空事件(null event) \(\varnothing\):不含任何结果。若 \(EF=\varnothing\),称 \(E\)、\(F\) 互斥(mutually exclusive)。如"和为 7"与"和为 6"互斥。
  • 可列并 \(\bigcup_{n=1}^\infty E_n\):至少一个 \(E_n\) 发生;可列交 \(\bigcap_{n=1}^\infty E_n\):所有 \(E_n\) 都发生。
  • 补(complement) \(E^c\):\(E\) 不发生;\(S^c=\varnothing\)。
  • 包含 \(E\subset F\):\(E\) 发生必然导致 \(F\) 发生。若 \(E\subset F\) 且 \(F\subset E\),则 \(E=F\)。

画 Venn 图(Venn diagram) 是理解事件关系的好办法:矩形表示 \(S\),圆表示事件,阴影表示目标事件。

事件运算满足交换律、结合律和分配律:

\[E\cup F=F\cup E,\quad EF=FE;\qquad (E\cup F)\cup G=E\cup(F\cup G),\quad (EF)G=E(FG);\]
\[(E\cup F)G=EG\cup FG,\qquad EF\cup G=(E\cup G)(F\cup G).\]

证明方法是"左边任一结果属于右边,反之亦然"。

De Morgan 律(DeMorgan's laws):

\[\Big(\bigcup_{i=1}^nE_i\Big)^c=\bigcap_{i=1}^nE_i^c,\qquad\Big(\bigcap_{i=1}^nE_i\Big)^c=\bigcup_{i=1}^nE_i^c\]

第一式:\(x\) 不在 \(\bigcup E_i\) 中 \(\iff\) \(x\) 不在任何 \(E_i\) 中 \(\iff\) \(x\) 属于每一个 \(E_i^c\)。第二式:对 \(E_i^c\) 用第一式,再利用 \((E^c)^c=E\) 两边取补。

直觉:De Morgan 律在风控里天天用。"组合中没有任何一个头寸触发止损"等于"每个头寸都没触发";它的补事件"至少一个触发"往往更难直接算,于是常用 \(1-P(\text{都不触发})\)。

2.2 概率的三条公理

为什么不用频率来定义概率

最朴素的想法是:在相同条件下重复试验,记 \(n(E)\) 为前 \(n\) 次中 \(E\) 发生的次数,定义

\[P(E)=\lim_{n\to\infty}\frac{n(E)}{n}.\]

问题在于:凭什么知道 \(n(E)/n\) 一定收敛?凭什么对每一列重复试验都收敛到同一个值?把这种收敛性本身当作假设太复杂了。现代的公理化方法(axiomatic approach)反过来做:先假设一组更简单、不言自明的公理,然后证明频率在某种意义下收敛到 \(P(E)\)——这就是第 08 章的强大数律。

三条公理

对样本空间 \(S\) 中的每个事件 \(E\),存在一个数 \(P(E)\),满足:

  • 公理 1:\(0\le P(E)\le1\);
  • 公理 2:\(P(S)=1\);
  • 公理 3(可列可加性,countable additivity):对任意两两互斥的事件序列 \(E_1,E_2,\dots\)(\(i\ne j\) 时 \(E_iE_j=\varnothing\)),
    \[P\Big(\bigcup_{i=1}^\infty E_i\Big)=\sum_{i=1}^\infty P(E_i).\]

满足这三条的 \(P(E)\) 叫事件 \(E\) 的概率。

白话解释:"可列"(countable)指能用 1, 2, 3, … 逐个编号的无穷多个,例如"第 1 天、第 2 天、……"。公理 3 说:把不重叠的情景拆成无穷多块,概率可以逐块相加。为什么要对无穷多块成立?考虑"策略第一次回撤超过 20% 发生在第 \(n\) 天"这类事件,\(n=1,2,\dots\) 没有上限,"最终会发生"就是它们的可列并。只有有限可加性时,我们没法从"每天的概率"算出"最终发生的概率"。等式右边是无穷级数,含义是部分和的极限(见读前导读)。 两个直接推论:

  • \(P(\varnothing)=0\)。取 \(E_1=S\)、\(E_i=\varnothing\ (i>1)\),由公理 3 得 \(P(S)=P(S)+\sum_{i\ge2}P(\varnothing)\),所以 \(P(\varnothing)=0\)。
  • 有限可加性:互斥的 \(E_1,\dots,E_n\) 有 \(P(\bigcup_{i=1}^nE_i)=\sum_{i=1}^nP(E_i)\)。令 \(i>n\) 时 \(E_i=\varnothing\) 即可。样本空间有限时,公理 3 与有限可加性等价;样本空间无限时,需要可列可加性的额外一般性。

例 3a:公平硬币 \(P(\{H\})=P(\{T\})=1/2\);若认为正面出现的可能是反面的两倍,则 \(P(\{H\})=2/3,\ P(\{T\})=1/3\)。例 3b:公平骰子每面概率 \(1/6\),掷出偶数的概率 \(P(\{2,4,6\})=1/2\)。

技术注记:当样本空间不可数时,\(P(E)\) 只对一类称为**可测(measurable)**的事件有定义。实际中关心的事件都是可测的,本册不必担心这一点;需要测度论严格处理时,可参考专门的测度论概率教材(如 Billingsley《Probability and Measure》),本套教材不展开。

2.3 由公理推出的基本性质

命题 4.1 \(P(E^c)=1-P(E)\)。

证明:\(E\) 与 \(E^c\) 互斥且并为 \(S\),由公理 2、3 得 \(1=P(E)+P(E^c)\)。

命题 4.2 若 \(E\subset F\),则 \(P(E)\le P(F)\)。

证明:\(F=E\cup E^cF\) 且二者互斥,\(P(F)=P(E)+P(E^cF)\ge P(E)\)。

命题 4.3(加法公式) \(P(E\cup F)=P(E)+P(F)-P(EF)\)。

证明:\(E\cup F=E\cup E^cF\)(互斥),所以 \(P(E\cup F)=P(E)+P(E^cF)\);又 \(F=EF\cup E^cF\)(互斥),得 \(P(E^cF)=P(F)-P(EF)\)。用 Venn 图看更直观:\(P(E)+P(F)\) 把交集 \(EF\) 那块数了两次,要减掉一次。

例 4a:J 喜欢第一本书的概率是 .5,喜欢第二本是 .4,两本都喜欢是 .3。至少喜欢一本的概率是 \(.5+.4-.3=.6\),都不喜欢的概率是 \(1-.6=.4\)。

三个事件时,反复使用命题 4.3 和分配律可得

\[P(E\cup F\cup G)=P(E)+P(F)+P(G)-P(EF)-P(EG)-P(FG)+P(EFG).\]

容斥恒等式

命题 4.4(容斥恒等式,inclusion–exclusion identity)

\[P\Big(\bigcup_{i=1}^nE_i\Big)=\sum_{r=1}^n(-1)^{r+1}\sum_{i_1<\cdots<i_r}P(E_{i_1}E_{i_2}\cdots E_{i_r})\]

其中内层求和遍历 \(\{1,\dots,n\}\) 的全部 \(\binom nr\) 个 \(r\) 元子集。

一个漂亮的非归纳证明。 看任意一个样本点 \(s\) 对等式两边的"贡献"。若 \(s\) 不属于任何 \(E_i\),它对两边都没有贡献。若 \(s\) 恰好属于 \(m>0\) 个 \(E_i\),它在左边被计 1 次;在右边,它属于其中任意 \(r\) 个的交,所以被计

\[\binom m1-\binom m2+\binom m3-\cdots\pm\binom mm\]
次。由二项式定理 \(0=(1-1)^m=\sum_{i=0}^m\binom mi(-1)^i\),上式恰好等于 \(\binom m0=1\)。两边相等。

推导拆解:这个证明的思路是"把概率当成按样本点加权求和":\(P(E)=\sum_{s\in E}P(\{s\})\)(这里默认样本空间离散)。等式两边都是这种加权和,只要每个样本点在两边被计的次数相同,两边就相等。

  1. 设 \(s\) 恰好属于 \(E_1,\dots,E_n\) 中的 \(m\) 个。左边 \(\bigcup E_i\) 包含 \(s\),计 1 次。
  2. 右边第 \(r\) 层是所有 \(r\) 个事件之交的概率之和。\(s\) 属于某个 \(r\) 元交,当且仅当这 \(r\) 个事件全在那 \(m\) 个之中,共 \(\binom mr\) 个;带符号 \((-1)^{r+1}\)。\(r>m\) 时 \(\binom mr=0\)。
  3. 由 \(\sum_{i=0}^m\binom mi(-1)^i=0\),把 \(i=0\) 项(等于 1)移到另一边:\(\sum_{i=1}^m\binom mi(-1)^{i+1}=1\)。这正是右边对 \(s\) 的计数。 例:\(m=2\) 时右边计 \(2-1=1\) 次;\(m=3\) 时计 \(3-3+1=1\) 次。"多加了再减、多减了再加",最后每个点都恰好计一次。

交替上下界与 Boole 不等式

容斥展开截断到奇数项给出上界,截断到偶数项给出下界:

\[P\Big(\bigcup E_i\Big)\le\sum_iP(E_i)\tag{4.1}\]
\[P\Big(\bigcup E_i\Big)\ge\sum_iP(E_i)-\sum_{j<i}P(E_iE_j)\tag{4.2}\]
\[P\Big(\bigcup E_i\Big)\le\sum_iP(E_i)-\sum_{j<i}P(E_iE_j)+\sum_{k<j<i}P(E_iE_jE_k)\tag{4.3}\]

证明思路:把并写成互斥分解

\[\bigcup_{i=1}^nE_i=E_1\cup E_1^cE_2\cup E_1^cE_2^cE_3\cup\cdots\cup E_1^c\cdots E_{n-1}^cE_n,\]
令 \(B_i=E_1^c\cdots E_{i-1}^c=(\bigcup_{j<i}E_j)^c\),由 \(P(E_i)=P(B_iE_i)+P(B_i^cE_i)\) 得
\[P\Big(\bigcup_{i=1}^nE_i\Big)=\sum_iP(E_i)-\sum_iP\Big(\bigcup_{j<i}E_iE_j\Big).\tag{4.5}\]
概率非负直接给出 (4.1);对 (4.5) 中的 \(P(\bigcup_{j<i}E_iE_j)\) 应用 (4.1) 得 (4.2),再应用 (4.2) 得 (4.3),依此类推。

推导拆解:

  1. 互斥分解:第 \(i\) 块 \(B_iE_i\) 表示"\(E_i\) 发生,而前面的 \(E_1,\dots,E_{i-1}\) 都没发生",即"第一个发生的事件是 \(E_i\)"。各块互斥,并起来就是"至少一个发生",所以 \(P(\bigcup E_i)=\sum_iP(B_iE_i)\)。
  2. \(E_i\) 拆成"前面都没发生"与"前面至少一个发生"两块:\(P(B_iE_i)=P(E_i)-P(B_i^cE_i)\)。
  3. \(B_i^c=\bigcup_{j<i}E_j\)(De Morgan 律),再用分配律 \(B_i^cE_i=\bigcup_{j<i}E_iE_j\)。代入第 1 步即得 (4.5)。
  4. (4.5) 中被减去的项非负,去掉它得 (4.1)。被减去的项是一个并的概率,对它用 (4.1) 放大,减得更多,于是得到下界 (4.2)。对它用 (4.2) 缩小,减得更少,得上界 (4.3)。上下界就是这样逐层交替出现的。

(4.1) 就是 Boole 不等式,在统计和机器学习里通常叫 union bound。它不需要知道事件之间的任何相关结构,这正是它在实务中好用的原因。与之配套的还有原书理论练习 11、16 的 Bonferroni 不等式 \(P(E_1\cdots E_n)\ge\sum P(E_i)-(n-1)\)。

金融直觉:Boole 不等式像对一组头寸的"损失简单加总"。不知道相关性时,把各头寸单独的尾部概率相加,得到的是"至少一个出事"的保守上界;真实值只会更小,因为同时出事的情景被重复计算了。这与 VaR 的情况相反:VaR 不满足次可加性,组合 VaR 可能大于各头寸 VaR 之和;而概率对"至少一个发生"总是次可加的。Bonferroni 不等式则是它的对偶:每个信号正确的概率都是 0.9,\(n\) 个同时正确的概率至少是 \(1-0.1n\),相关性未知时这已是最好的保证。

2.4 等可能结果的样本空间

若 \(S=\{1,\dots,N\}\) 有限且各结果等可能,由公理 2、3 得 \(P(\{i\})=1/N\),从而

\[P(E)=\frac{E\text{ 中的结果数}}{S\text{ 中的结果数}}.\]

于是概率问题化为第 01 章的计数问题。下面按方法归类介绍原书例题。

有序还是无序:两种建模都行,但要一致

例 5b 碗中 6 白 5 黑,随机取 3 个,求恰好 1 白 2 黑的概率。

  • 有序看法:样本空间有 \(11\cdot10\cdot9=990\) 个等可能的有序结果。"白黑黑""黑白黑""黑黑白"各有 \(6\cdot5\cdot4=120\) 种,概率 \(360/990=4/11\)。
  • 无序看法:\(\binom{11}{3}=165\) 个等可能子集,概率 \(\binom61\binom52/\binom{11}3=60/165=4/11\)。

每个无序集合恰好对应 \(3!\) 个有序结果,所以有序结果等可能蕴含无序结果等可能。两种建模任选,但分子分母必须用同一种。

例 5c 6 男 9 女中随机选 5 人委员会,恰好 3 男 2 女的概率为 \(\binom63\binom92/\binom{15}5=240/1001\)。

补充例 20 人由 10 对夫妻组成,随机选 5 人,互不为夫妻的概率:无序看法 \(\binom{10}5 2^5/\binom{20}5\)(先选 5 对夫妻,再每对选一人);有序看法 \(\frac{20\cdot18\cdot16\cdot14\cdot12}{20\cdot19\cdot18\cdot17\cdot16}\)。两者相等。

对称性论证

例 5d 瓮中 \(n\) 个球,其中一个特殊,逐个无放回取 \(k\) 个,特殊球被取到的概率是多少?

方法一:取出的 \(k\) 球集合在 \(\binom nk\) 个子集中等可能,含特殊球的有 \(\binom{n-1}{k-1}\) 个,概率 \(\binom{n-1}{k-1}/\binom nk=k/n\)。

方法二:令 \(A_i\) 为"特殊球是第 \(i\) 个被取出的"。由对称性,每个球在第 \(i\) 次被取出的可能性相同,所以 \(P(A_i)=1/n\),与 \(i\) 无关。\(A_i\) 互斥,相加得 \(k/n\)。

"第 \(i\) 次取到某特定球的概率与 \(i\) 无关"这个对称性论证非常好用,第 06b 章会把它升华为"可交换性"。

例 5e \(n\) 红 \(m\) 蓝球随机排成一列(\((n+m)!\) 种等可能),只记颜色序列,则每种颜色序列仍然等可能,概率都是 \(\frac{n!\,m!}{(n+m)!}\)。例如 2 红 2 蓝时,每种颜色序列对应 \(2!2!=4\) 种排列,概率 \(4/24=1/6\)。

例 5j 一副洗好的 52 张牌逐张翻开,直到第一张 A 出现。下一张是黑桃 A 的可能性大,还是梅花 2 的可能性大?答案是一样大,都是 \(1/52\)。论证:先把除黑桃 A 以外的 51 张排好(\(51!\) 种),再把黑桃 A 插进 52 个空位之一;要使它紧跟在第一张 A 后面,只有 1 个位置可选。所以概率为 \(51!/52!=1/52\)。同理任何一张指定的牌都是 \(1/52\)。直觉上容易误以为"黑桃 A 有 1/4 的可能自己就是第一张 A"会降低它的机会,而梅花 2 只有 1/5 的可能出现在第一张 A 之前……这些直觉都抵不过精确计数。

扑克与桥牌

  • 例 5f(顺子):5 张点数连续且不全同花。A,2,3,4,5 型有 \(4^5\) 种花色组合,减去 4 种同花顺得 \(4^5-4\);起点有 10 种(A-5 到 10-A),概率 \(\frac{10(4^5-4)}{\binom{52}5}\approx.0039\)。
  • 例 5g(葫芦):三条加一对,\(P=\frac{13\cdot12\cdot\binom42\binom43}{\binom{52}5}\approx.0014\)。
  • 例 5h(桥牌):(a) 某人拿到全部 13 张黑桃:四人各自的事件互斥,\(P=4/\binom{52}{13}\approx6.3\times10^{-12}\)。(b) 每人恰有 1 张 A:\(\frac{4!\binom{48}{12,12,12,12}}{\binom{52}{13,13,13,13}}\approx.1055\)。

生日问题:巧合比直觉多得多

例 5i(生日问题,birthday problem) \(n\) 个人生日互不相同的概率(忽略 2 月 29 日,各日等可能)为

\[\frac{365\cdot364\cdots(365-n+1)}{365^n}.\]

当 \(n\ge23\) 时这个概率小于 \(1/2\),也就是说 23 人中至少两人同生日的概率超过一半。直观解释:每一对人同生日的概率只有 \(1/365\),但 23 人共有 \(\binom{23}{2}=253\) 对。50 人时至少两人同日的概率约为 .970;100 人时超过 \(\frac{3\times10^6}{3\times10^6+1}\)。

量化含义:在大量候选里出现"惊人巧合"的概率,远比盯着单个候选时的直觉高。回测几百个策略后,看到某个策略"惊人地好",首先要怀疑的就是这种组合爆炸。

用容斥求概率

例 5l(用概率解计数题) 俱乐部中 36 人打网球、28 人打壁球、18 人打羽毛球;网壁都打 22 人、网羽 12 人、壁羽 9 人、三项都打 4 人。随机选一人,\(P(C)=|C|/N\),由容斥 \(P(T\cup S\cup B)=(36+28+18-22-12-9+4)/N=43/N\),故至少打一项的有 43 人。

例 5m(配对问题,matching problem) \(N\) 人把帽子扔到房间中央,混合后每人随机拿一顶。没有人拿到自己帽子的概率是多少?

令 \(E_i\) 为"第 \(i\) 人拿到自己的帽子"。结果可视为 \(1..N\) 的排列,共 \(N!\) 种等可能。指定的 \(n\) 个人都拿对时,其余人有 \((N-n)!\) 种拿法,所以 \(P(E_{i_1}\cdots E_{i_n})=(N-n)!/N!\);这样的 \(n\) 元组有 \(\binom Nn\) 个,和为 \(\binom Nn\frac{(N-n)!}{N!}=\frac1{n!}\)。由容斥,

\[P\Big(\bigcup_{i=1}^NE_i\Big)=1-\frac1{2!}+\frac1{3!}-\cdots+(-1)^{N+1}\frac1{N!},\]

无人配对的概率为 \(\sum_{i=0}^N(-1)^i/i!\),\(N\) 大时趋于 \(e^{-1}\approx.3679\)。

推导拆解:

  1. 为什么 \(\binom Nn\frac{(N-n)!}{N!}=\frac1{n!}\):把 \(\binom Nn=\frac{N!}{n!(N-n)!}\) 代入,\(N!\) 与 \((N-n)!\) 都约掉,只剩 \(1/n!\)。
  2. 容斥第 \(n\) 层带符号 \((-1)^{n+1}\),所以 \(P(\text{至少一人配对})=\sum_{n=1}^N(-1)^{n+1}/n!\)。
  3. 无人配对 \(=1-\) 上式 \(=1-1+\frac1{2!}-\frac1{3!}+\cdots=\sum_{i=0}^N(-1)^i/i!\)(\(i=0,1\) 两项是 \(1-1\))。
  4. 这正是 \(e^x=\sum_{i=0}^\infty x^i/i!\) 在 \(x=-1\) 时的前 \(N+1\) 项部分和,\(N\to\infty\) 时趋于 \(e^{-1}\)。阶乘增长极快,\(N=6\) 时误差已小于 \(1/7!\approx0.0002\),所以人数不必很大,答案就几乎固定在 0.368。很多人以为 \(N\to\infty\) 时它趋于 1,其实不然。第 03 章会用条件概率再推一次,第 04b 章会看到"配对人数近似服从参数 1 的泊松分布"。

例 5n 10 对夫妻随机围圆桌就座,无夫妻相邻的概率。20 人围圆桌有 \(19!\) 种排法。指定 \(n\) 对相邻时,每对捆绑成一个单位,\(20-n\) 个单位围圆桌有 \((19-n)!\) 种,每对内部 2 种,所以 \(P(E_{i_1}\cdots E_{i_n})=2^n(19-n)!/19!\)。至少一对相邻的概率为

\[\binom{10}{1}2^1\frac{18!}{19!}-\binom{10}{2}2^2\frac{17!}{19!}+\cdots-\binom{10}{10}2^{10}\frac{9!}{19!}\approx.6605,\]
所求概率约 .3395。

例 5k(室友配对) 20 名进攻球员和 20 名防守球员随机两两配成 20 对。无序配对共 \(\frac{40!}{2^{20}20!}\) 种。恰有 \(2i\) 个攻防混合对(混合对数必为偶数)的概率为

\[P_{2i}=\frac{\binom{20}{2i}^2(2i)!\left[\frac{(20-2i)!}{2^{10-i}(10-i)!}\right]^2}{\frac{40!}{2^{20}20!}},\quad i=0,\dots,10.\]
借助 Stirling 公式 \(n!\approx n^{n+1/2}e^{-n}\sqrt{2\pi}\) 可得 \(P_0\approx1.3403\times10^{-6}\),\(P_{10}\approx.345861\),\(P_{20}\approx7.6068\times10^{-6}\)。

游程分布:检验"手感"是否存在

例 5o(游程,runs) 一支球队一个赛季 \(n\) 胜 \(m\) 负。想判断是否有某段时期更容易赢。假设所有 \(\binom{n+m}{n}\) 个胜负序列等可能(即胜负与时间无关),求恰有 \(r\) 个胜利游程(连续的 W 段)的概率。例如 \(n=10,m=6\) 时,WWLLWWWLWLLLWWWW 有 4 个胜利游程,长度为 2,3,1,4。

给定胜利游程的长度 \(x_1+\cdots+x_r=n\)(\(x_i>0\)),记 \(y_1\) 为第一段胜利前的负场数,\(y_i\) 为相邻两段胜利之间的负场数,\(y_{r+1}\) 为最后的负场数,则 \(y_1+\cdots+y_{r+1}=m\),其中 \(y_1,y_{r+1}\ge0\)、中间 \(y_i>0\)。平移 \(\bar y_1=y_1+1\)、\(\bar y_{r+1}=y_{r+1}+1\),化为 \(\sum\bar y_i=m+2\) 的正整数解,个数为 \(\binom{m+1}{r}\);胜利游程长度的正整数解有 \(\binom{n-1}{r-1}\) 个。所以

\[P\{r\text{ 个胜利游程}\}=\frac{\binom{m+1}{r}\binom{n-1}{r-1}}{\binom{m+n}{n}},\qquad r\ge1.\]

白话解释:一个"恰有 \(r\) 个胜利游程"的序列由两件独立的选择决定:\(n\) 场胜利怎样切成 \(r\) 段(每段至少 1 场),\(m\) 场失败怎样填在这些段的两头和中间(中间的缝至少 1 场,两头可以为 0)。前者是第 01 章命题 6.1 的正整数解 \(\binom{n-1}{r-1}\),后者经过平移也化为正整数解 \(\binom{m+1}{r}\)。两者相乘得到有利序列数,再除以全部序列数 \(\binom{m+n}{n}\)。分母之所以是 \(\binom{m+n}{n}\),是因为一个胜负序列就是"在 \(m+n\) 场里选哪 \(n\) 场赢"。

例:\(n=8,m=6\) 时,7 个游程(如 WLWLWLWLWWLWLW)的概率是 \(\binom77\binom76/\binom{14}8=1/429\);只有 1 个游程(WWWWWWWWLLLLLL)的概率是 \(\binom71\binom70/\binom{14}8=1/429\)。两种极端都很不可能,提示胜率并非常数:前者像"输后易赢、赢后易输",后者像"状态持续"。这正是非参数**游程检验(runs test)**的思想。

2.5 概率是连续的集函数(原书选读)

若 \(E_1\subset E_2\subset\cdots\),称为递增列,定义 \(\lim_nE_n=\bigcup_{i=1}^\infty E_i\);若 \(E_1\supset E_2\supset\cdots\),称为递减列,定义 \(\lim_nE_n=\bigcap_{i=1}^\infty E_i\)。

命题 6.1(概率的连续性) 若 \(\{E_n\}\) 递增或递减,则

\[\lim_{n\to\infty}P(E_n)=P\big(\lim_{n\to\infty}E_n\big).\]

证明(递增情形):令 \(F_1=E_1\),\(F_n=E_nE_{n-1}^c\)(\(E_n\) 中新增的部分)。\(F_n\) 两两互斥,且 \(\bigcup_1^nF_i=E_n\)、\(\bigcup_1^\infty F_i=\bigcup_1^\infty E_i\)。由可列可加性,

\[P\Big(\bigcup_1^\infty E_i\Big)=\sum_1^\infty P(F_i)=\lim_n\sum_1^nP(F_i)=\lim_nP(E_n).\]
递减情形对补事件应用递增情形即可。

白话解释:命题说"概率可以和极限交换次序"。举例:\(E_n\)="前 \(n\) 个交易日内出现过单日跌幅超 5%",它随 \(n\) 递增,\(\lim E_n\)="迟早会出现"。命题保证 \(P(\text{迟早出现})=\lim_nP(\text{前 }n\text{ 天内出现})\),于是可以先算有限期,再取极限。证明的关键是把递增列切成"每一步新增的部分" \(F_n\),它们互斥,于是可以用可列可加性;第二个等号是无穷级数的定义(部分和的极限),第三个等号是有限可加性 \(\sum_1^nP(F_i)=P(E_n)\)。 这个命题是处理"无穷多步之后会怎样"的基本工具,后面证明 CDF 右连续(第 04a 章)、赌徒破产终将结束(第 03 章)都要用到。

例 6a(瓮与"悖论") 原书用一个思想实验说明对无穷的直觉不可靠:12 点前 1 分钟往瓮里放入 1–10 号球并取出一个,前 1/2 分钟放入 11–20 号并取出一个,依此类推。若每次取出的是 10 号、20 号、30 号……,12 点时瓮中有无穷多个球;若每次取出的是 1 号、2 号、3 号……,12 点时瓮是空的。若每次随机取出一个,可以证明以概率 1 瓮在 12 点是空的:1 号球在前 \(n\) 次后仍在瓮中的概率为 \(\prod_{k=1}^n\frac{9k}{9k+1}\),由连续性它的极限就是 1 号球最终留下的概率,而 \(\prod(1+\frac1{9n})\ge\frac19\sum\frac1i=\infty\) 说明这个乘积趋于 0;再由 Boole 不等式,"至少有一个球留下"的概率不超过 \(\sum_i0=0\)。此例与交易实务无直接关系,属于理论基础。

2.6 概率作为信念的度量

除了长期频率解释,概率还常用于"莎士比亚写了《哈姆雷特》的可能性是 90%"这类不可重复的陈述。最自然的解释是说话者的信念程度(degree of belief),称为主观概率(subjective / personal probability)。合理的信念也应满足公理:若你 70% 确信《尤利乌斯·恺撒》是莎士比亚写的、10% 确信是马洛写的,那么应当 80% 确信是二者之一。所以无论采用哪种解释,概率的数学性质都一样。

例 7a 7 匹马比赛,你认为 1、2 号各 20%,3、4 号各 15%,其余 3 匹各 10%。在 1:1 赔率下,押"冠军在 1–3 号中"的胜率是 \(.2+.2+.15=.55\),押"冠军是 1、5、6、7 号之一"的胜率是 \(.2+.1+.1+.1=.5\),前者更有吸引力。

一致性。 真实的人给出的主观概率可能不自洽。例如某人说"今天下雨 30%、明天下雨 40%、两天都下雨 20%、至少一天下雨 60%",这违反了加法公式:\(.3+.4-.2=.5\ne.6\)。一组自洽的回答是 30%、40%、10%、60%。

补充(非原书内容):如果一个人的主观概率不满足公理,别人就可以按他认可的赔率构造一组下注,让他无论结果如何都输钱,这叫"荷兰赌(Dutch book)"。金融里的对应物就是套利:一组资产价格隐含的概率若不自洽,就存在无风险获利机会。第 08 册的无套利定价可以看作这一思想的延伸。


量化实战

1. 多重检验与 union bound

回测 \(N\) 个其实毫无预测力的策略,每个都用 5% 的显著性水平检验。记 \(E_i\) 为"第 \(i\) 个策略被误判为显著",\(P(E_i)=0.05\)。"至少一个被误判"的概率是 \(P(\bigcup E_i)\):

  • 若各策略独立,\(P(\bigcup E_i)=1-(0.95)^N\)(De Morgan 律 + 独立性,独立性见第 03 章)。\(N=20\) 时已达 0.64。
  • 不管相关结构如何,Boole 不等式都给出 \(P(\bigcup E_i)\le0.05N\)。

反过来,要让"至少一个误判"的概率不超过 \(\alpha\),只需把每个检验的门槛设为 \(\alpha/N\)——这就是 Bonferroni 校正。它的优点是对相关结构完全稳健,代价是在策略高度相关时过于保守。下面的模拟展示了这一点:策略之间相关时,实际的"至少一个显著"概率远低于独立情形,union bound 仍然成立但更松。

2. 游程检验:交易胜负是否成簇

例 5o 的公式可以直接用来检验一串交易结果是否独立。如果胜利游程太少(左尾),说明盈亏成簇出现,策略可能存在"状态"(例如只在趋势行情里赚钱);游程太多则说明盈亏交替过于频繁。下面用一个两状态马尔可夫链模拟"保持上一笔结果的概率为 stay"的胜负序列:stay=0.5 时各笔独立,stay=0.7 时有明显的成簇效应。

import numpy as np
from math import comb

rng = np.random.default_rng(42)

# ---------- 1) 多重检验:"N 个无效策略中至少一个显著"的概率 ----------
alpha, T, n_sim = 0.05, 250, 4000
print(" N   独立精确 1-(1-a)^N   Union bound N*a   模拟(独立)   模拟(相关rho=0.5)")
for N in (1, 5, 20, 100):
    exact = 1 - (1 - alpha) ** N
    bound = min(1.0, N * alpha)
    hits_ind = hits_cor = 0
    for _ in range(n_sim // 10):
        # 每个策略 T 天收益,真实均值为 0;用 t 统计量 > 1.645 判"显著"(单侧 5%)
        z_ind = rng.standard_normal((10, N, T))
        common = rng.standard_normal((10, 1, T))
        z_cor = np.sqrt(0.5) * common + np.sqrt(0.5) * rng.standard_normal((10, N, T))
        for z, flag in ((z_ind, "ind"), (z_cor, "cor")):
            t = z.mean(-1) / (z.std(-1, ddof=1) / np.sqrt(T))
            any_sig = (t > 1.645).any(axis=1).sum()
            if flag == "ind":
                hits_ind += any_sig
            else:
                hits_cor += any_sig
    print(f"{N:3d}   {exact:18.3f}   {bound:15.3f}   {hits_ind/n_sim:10.3f}   {hits_cor/n_sim:15.3f}")

# ---------- 2) 游程检验:胜负序列是否"成簇" ----------
def p_win_runs(r, n, m):
    """n 胜 m 负、所有排列等可能时,恰有 r 个胜利游程的概率(Ross 例 5o)"""
    if r < 1:
        return 0.0
    return comb(m + 1, r) * comb(n - 1, r - 1) / comb(m + n, n)

def count_win_runs(seq):
    seq = np.asarray(seq)
    return int(seq[0] == 1) + int(((seq[1:] == 1) & (seq[:-1] == 0)).sum())

print("\n书中数值: n=8,m=6 时 P(7 个胜利游程)=%.6f, P(1 个)=%.6f, 1/429=%.6f"
      % (p_win_runs(7, 8, 6), p_win_runs(1, 8, 6), 1 / 429))

def simulate_trades(n_trades, stay):
    """两状态马尔可夫胜负序列:stay=保持上一笔结果的概率;stay=0.5 即独立"""
    s = [rng.integers(2)]
    for _ in range(n_trades - 1):
        s.append(s[-1] if rng.random() < stay else 1 - s[-1])
    return np.array(s)

for stay in (0.5, 0.7):
    seq = simulate_trades(60, stay)
    n, m = int(seq.sum()), int((1 - seq).sum())
    r_obs = count_win_runs(seq)
    p_low = sum(p_win_runs(r, n, m) for r in range(1, r_obs + 1))   # 游程太少 => 成簇
    print(f"stay={stay}: 胜 {n} 负 {m}, 胜利游程 {r_obs}, 期望约 {n*(m+1)/(n+m):.1f}, "
          f"左尾 p 值 P(R<={r_obs}) = {p_low:.4f}")

# 用置换模拟核对精确分布
seq = simulate_trades(60, 0.7); n, m = int(seq.sum()), int((1 - seq).sum())
r_obs = count_win_runs(seq)
perm = np.array([count_win_runs(rng.permutation(seq)) for _ in range(20000)])
print(f"核对: 精确 P(R<={r_obs}) = {sum(p_win_runs(r,n,m) for r in range(1,r_obs+1)):.4f}, "
      f"置换模拟 = {(perm <= r_obs).mean():.4f}")

关键输出:

 N   独立精确 1-(1-a)^N   Union bound N*a   模拟(独立)   模拟(相关rho=0.5)
  1                0.050             0.050        0.048             0.059
  5                0.226             0.250        0.230             0.162
 20                0.642             1.000        0.655             0.331
100                0.994             1.000        0.993             0.554

书中数值: n=8,m=6 时 P(7 个胜利游程)=0.002331, P(1 个)=0.002331, 1/429=0.002331
stay=0.5: 胜 30 负 30, 胜利游程 12, 期望约 15.5, 左尾 p 值 P(R<=12) = 0.0602
stay=0.7: 胜 30 负 30, 胜利游程 10, 期望约 15.5, 左尾 p 值 P(R<=10) = 0.0046
核对: 精确 P(R<=11) = 0.0765, 置换模拟 = 0.0742

读法:独立时模拟值与 \(1-(0.95)^N\) 吻合;相关时"至少一个显著"的概率小得多,union bound 依然成立但很松。游程检验中,stay=0.7 的成簇序列给出 p 值 0.0046,能被识别出来;精确公式与置换模拟一致。代码里用到的期望游程数 \(n(m+1)/(n+m)\) 可以用第 04a 章(4.6 节)的示性变量法推出。

3. 其他用法

  • 联合触发的保守估计:多个头寸同时触发止损、多个债务人同时违约时,完整的联合分布往往未知。加法公式与 (4.2) 下界只需要两两联合概率,就能给出"至少一个发生"的区间估计,常用于压力测试。
  • 数据一致性检查:原书习题 14 用容斥证明一组调查数据自相矛盾(算出的概率大于 1)。同样的思路可用于检查分组统计报表是否自洽。

本章小结

概率是定义在事件上、满足非负性、规范性和可列可加性三条公理的集函数;频率解释和主观信念解释都与公理相容,"频率收敛到概率"是大数律证明的定理,而不是定义。由公理可以推出补事件公式、单调性、加法公式和容斥恒等式;容斥截断给出交替的上下界,一阶截断就是 Boole 不等式。等可能模型下概率化为计数,有序和无序建模都可以,但要前后一致;对称性论证常能免去繁琐计数。生日问题、配对问题和游程分布都说明:直觉在"大量组合"面前很不可靠。

概念 公式
三条公理 \(0\le P(E)\le1\);\(P(S)=1\);互斥时 \(P(\bigcup E_i)=\sum P(E_i)\)
补事件 \(P(E^c)=1-P(E)\)
单调性 \(E\subset F\Rightarrow P(E)\le P(F)\)
加法公式 \(P(E\cup F)=P(E)+P(F)-P(EF)\)
容斥恒等式 \(P(\bigcup_1^nE_i)=\sum_{r=1}^n(-1)^{r+1}\sum_{i_1<\cdots<i_r}P(E_{i_1}\cdots E_{i_r})\)
Boole 不等式 \(P(\bigcup E_i)\le\sum P(E_i)\)
Bonferroni 不等式 \(P(E_1\cdots E_n)\ge\sum P(E_i)-(n-1)\)
等可能模型 \(P(E)=\lvert E\rvert/\lvert S\rvert\)
生日问题 \(P(\text{无人同日})=\prod_{k=0}^{n-1}\frac{365-k}{365}\),\(n=23\) 时首次 \(<1/2\)
配对问题 \(P(\text{无人配对})=\sum_{i=0}^N\frac{(-1)^i}{i!}\to e^{-1}\)
胜利游程数 \(P\{r\}=\binom{m+1}{r}\binom{n-1}{r-1}/\binom{m+n}{n}\)
概率的连续性 单调事件列 \(\lim P(E_n)=P(\lim E_n)\)

练习

基础

  1. 用 \(E,F,G\) 的运算表示:(a) 只有 \(E\) 发生;(b) 至少两个发生;(c) 恰好一个发生。 答案:(a) \(EF^cG^c\);(b) \(EF\cup EG\cup FG\);(c) \(EF^cG^c\cup E^cFG^c\cup E^cF^cG\)。
  2. 证明 \(P(EF^c)=P(E)-P(EF)\),以及"恰好一个发生"的概率为 \(P(E)+P(F)-2P(EF)\)。 提示:\(E=EF\cup EF^c\) 互斥。
  3. 掷一颗骰子 4 次至少出现一个 6,与掷两颗骰子 24 次至少出现一次双 6,哪个概率大?(de Méré 问题,原书习题 41、42) 答案:\(1-(5/6)^4\approx.518\);\(1-(35/36)^{24}\approx.491\)。前者大。
  4. 证明 \(P(EF)\ge P(E)+P(F)-1\)。若两个信号各自"正确"的概率都是 0.9,它们同时正确的概率至少是多少? 答案:由加法公式和 \(P(E\cup F)\le1\) 立得;至少 0.8。
  5. 某人给出:今天下雨 30%、明天 40%、两天都下 20%、至少一天下 60%。指出矛盾并修正其中一个数使之自洽。 答案:\(P(A\cup B)\) 应为 \(.5\);可把"两天都下"改为 10%。

进阶

  1. 一位研究员独立测试了 200 个无效因子,每个用 1% 显著性水平。求至少一个"显著"的概率,并给出若要求这一概率不超过 5%,单个检验应使用的门槛(Bonferroni)。 答案:\(1-0.99^{200}\approx0.866\);门槛 \(0.05/200=0.00025\)。
  2. 一个月有 21 个交易日。假设某指数每天出现"单日跌幅超过 3%"的概率是 0.02,且各天独立。用 union bound 和精确公式分别估计一个月内至少出现一次的概率,并说明哪个是上界。 答案:union bound \(21\times0.02=0.42\)(上界);精确 \(1-0.98^{21}\approx0.346\)。
  3. 证明容斥截断的下界 (4.2),并在 3 个事件的情形下检查它与命题 4.4 的关系。 提示:从 (4.5) 出发,对 \(P(\bigcup_{j<i}E_iE_j)\) 用 Boole 不等式。
  4. 在例 5o 中,\(n=m=10\),求胜利游程数 \(r\le3\) 的概率。若一个策略 20 笔交易恰好 10 胜 10 负且只有 3 个胜利游程,你会得出什么结论? 答案:\(\sum_{r=1}^3\binom{11}{r}\binom9{r-1}/\binom{20}{10}=(11+55\cdot9+165\cdot36)/184756=6446/184756\approx0.035\)。在 5% 水平下拒绝"胜负顺序随机",盈亏可能成簇。
  5. 30 只股票,每只股票的"日内最高价出现时刻"等可能落在 240 个分钟之一,彼此独立。至少两只股票的最高价出现在同一分钟的概率是多少?这对"多只股票同时见顶"的解读有什么启示? 答案:\(1-\prod_{k=0}^{29}\frac{240-k}{240}\approx0.85\)。即便毫无联动,"撞在同一分钟"也很常见,不能据此断言存在同步信号。

原书推荐习题:Problems 14(用容斥发现数据矛盾)、15–16(牌型概率)、25–26(craps,"先发生哪个"问题的原型)、41–42(de Méré 问题)、54(容斥求缺门)、56(非传递转盘);Theoretical Exercises 8(Bell 数)、11 与 16(Bonferroni 不等式)、17(错排递推)、18(Fibonacci 计数)、19(负超几何)、20(可列无穷空间上不能均匀分布)、21(总游程数的分布);Self-Test 4、14(Boole 不等式)、20(对称性巧解)。


原书对照

本章小节 原书章节 PDF 页码 书内页码
2.1 样本空间与事件 2.1 Introduction;2.2 Sample Space and Events p.34–38 p.21–25
2.2 概率的三条公理 2.3 Axioms of Probability p.38–41 p.25–28
2.3 由公理推出的基本性质 2.4 Some Simple Propositions p.41–45 p.28–32
2.4 等可能结果的样本空间 2.5 Sample Spaces Having Equally Likely Outcomes p.45–55 p.32–42
2.5 概率的连续性 *2.6 Probability as a Continuous Set Function p.55–59 p.42–46
2.6 概率作为信念的度量 2.7 Probability as a Measure of Belief p.59–60 p.46–47
小结与习题 Summary, Problems, Theoretical Exercises, Self-Test p.60–68 p.47–55

(书内页码 = PDF 页码 − 13。)