第 02 章 概率公理
本章对应 Ross 第 2 章。它回答"概率到底是什么、必须满足什么规则"。三条公理看起来平淡,但由它们推出的补事件公式、加法公式、容斥恒等式和 Boole 不等式(union bound),是量化研究中多重检验校正、联合风险估计的数学根基。
学习目标
- 能为一个随机试验写出样本空间,用并、交、补表示复杂事件,熟练运用 De Morgan 律。
- 掌握概率的三条公理,并能由公理推出 \(P(E^c)=1-P(E)\)、单调性、加法公式。
- 理解并会用容斥恒等式;知道它截断后给出交替的上下界,一阶截断就是 Boole 不等式(union bound)。
- 在等可能模型中把概率化为计数,能在有序与无序两种建模之间切换,并会用对称性论证简化计算。
- 理解生日问题、配对问题、游程分布等经典结果,并能把它们和"数据挖掘中的偶然显著"联系起来。
- 了解概率的连续性、频率解释与主观概率解释。
读前导读
这一章在解决什么问题。 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\) 是一个随机试验所有可能结果组成的集合。试验结果事先无法确定,但哪些结果可能出现是已知的。原书的例子:
- 新生儿性别:\(S=\{g,b\}\)。
- 7 匹马(起跑位 1–7)的完赛顺序:\(S\) 是 \((1,\dots,7)\) 的全部 \(7!\) 个排列。
- 抛两枚硬币:\(S=\{(H,H),(H,T),(T,H),(T,T)\}\)。
- 掷两颗骰子:\(S=\{(i,j):i,j=1,\dots,6\}\),共 36 个点。
- 晶体管寿命(小时):\(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\),圆表示事件,阴影表示目标事件。
事件运算满足交换律、结合律和分配律:
证明方法是"左边任一结果属于右边,反之亦然"。
De Morgan 律(DeMorgan's laws):
第一式:\(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\) 发生的次数,定义
问题在于:凭什么知道 \(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 和分配律可得
容斥恒等式
命题 4.4(容斥恒等式,inclusion–exclusion identity)
其中内层求和遍历 \(\{1,\dots,n\}\) 的全部 \(\binom nr\) 个 \(r\) 元子集。
一个漂亮的非归纳证明。 看任意一个样本点 \(s\) 对等式两边的"贡献"。若 \(s\) 不属于任何 \(E_i\),它对两边都没有贡献。若 \(s\) 恰好属于 \(m>0\) 个 \(E_i\),它在左边被计 1 次;在右边,它属于其中任意 \(r\) 个的交,所以被计
推导拆解:这个证明的思路是"把概率当成按样本点加权求和":\(P(E)=\sum_{s\in E}P(\{s\})\)(这里默认样本空间离散)。等式两边都是这种加权和,只要每个样本点在两边被计的次数相同,两边就相等。
- 设 \(s\) 恰好属于 \(E_1,\dots,E_n\) 中的 \(m\) 个。左边 \(\bigcup E_i\) 包含 \(s\),计 1 次。
- 右边第 \(r\) 层是所有 \(r\) 个事件之交的概率之和。\(s\) 属于某个 \(r\) 元交,当且仅当这 \(r\) 个事件全在那 \(m\) 个之中,共 \(\binom mr\) 个;带符号 \((-1)^{r+1}\)。\(r>m\) 时 \(\binom mr=0\)。
- 由 \(\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 不等式
容斥展开截断到奇数项给出上界,截断到偶数项给出下界:
证明思路:把并写成互斥分解
推导拆解:
- 互斥分解:第 \(i\) 块 \(B_iE_i\) 表示"\(E_i\) 发生,而前面的 \(E_1,\dots,E_{i-1}\) 都没发生",即"第一个发生的事件是 \(E_i\)"。各块互斥,并起来就是"至少一个发生",所以 \(P(\bigcup E_i)=\sum_iP(B_iE_i)\)。
- \(E_i\) 拆成"前面都没发生"与"前面至少一个发生"两块:\(P(B_iE_i)=P(E_i)-P(B_i^cE_i)\)。
- \(B_i^c=\bigcup_{j<i}E_j\)(De Morgan 律),再用分配律 \(B_i^cE_i=\bigcup_{j<i}E_iE_j\)。代入第 1 步即得 (4.5)。
- (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\),从而
于是概率问题化为第 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 日,各日等可能)为
当 \(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!}\)。由容斥,
无人配对的概率为 \(\sum_{i=0}^N(-1)^i/i!\),\(N\) 大时趋于 \(e^{-1}\approx.3679\)。
推导拆解:
- 为什么 \(\binom Nn\frac{(N-n)!}{N!}=\frac1{n!}\):把 \(\binom Nn=\frac{N!}{n!(N-n)!}\) 代入,\(N!\) 与 \((N-n)!\) 都约掉,只剩 \(1/n!\)。
- 容斥第 \(n\) 层带符号 \((-1)^{n+1}\),所以 \(P(\text{至少一人配对})=\sum_{n=1}^N(-1)^{n+1}/n!\)。
- 无人配对 \(=1-\) 上式 \(=1-1+\frac1{2!}-\frac1{3!}+\cdots=\sum_{i=0}^N(-1)^i/i!\)(\(i=0,1\) 两项是 \(1-1\))。
- 这正是 \(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!\)。至少一对相邻的概率为
例 5k(室友配对) 20 名进攻球员和 20 名防守球员随机两两配成 20 对。无序配对共 \(\frac{40!}{2^{20}20!}\) 种。恰有 \(2i\) 个攻防混合对(混合对数必为偶数)的概率为
游程分布:检验"手感"是否存在
例 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}\) 个。所以
白话解释:一个"恰有 \(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\}\) 递增或递减,则
证明(递增情形):令 \(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\)。由可列可加性,
白话解释:命题说"概率可以和极限交换次序"。举例:\(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)\) |
练习
基础
- 用 \(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\)。
- 证明 \(P(EF^c)=P(E)-P(EF)\),以及"恰好一个发生"的概率为 \(P(E)+P(F)-2P(EF)\)。 提示:\(E=EF\cup EF^c\) 互斥。
- 掷一颗骰子 4 次至少出现一个 6,与掷两颗骰子 24 次至少出现一次双 6,哪个概率大?(de Méré 问题,原书习题 41、42) 答案:\(1-(5/6)^4\approx.518\);\(1-(35/36)^{24}\approx.491\)。前者大。
- 证明 \(P(EF)\ge P(E)+P(F)-1\)。若两个信号各自"正确"的概率都是 0.9,它们同时正确的概率至少是多少? 答案:由加法公式和 \(P(E\cup F)\le1\) 立得;至少 0.8。
- 某人给出:今天下雨 30%、明天 40%、两天都下 20%、至少一天下 60%。指出矛盾并修正其中一个数使之自洽。 答案:\(P(A\cup B)\) 应为 \(.5\);可把"两天都下"改为 10%。
进阶
- 一位研究员独立测试了 200 个无效因子,每个用 1% 显著性水平。求至少一个"显著"的概率,并给出若要求这一概率不超过 5%,单个检验应使用的门槛(Bonferroni)。 答案:\(1-0.99^{200}\approx0.866\);门槛 \(0.05/200=0.00025\)。
- 一个月有 21 个交易日。假设某指数每天出现"单日跌幅超过 3%"的概率是 0.02,且各天独立。用 union bound 和精确公式分别估计一个月内至少出现一次的概率,并说明哪个是上界。 答案:union bound \(21\times0.02=0.42\)(上界);精确 \(1-0.98^{21}\approx0.346\)。
- 证明容斥截断的下界 (4.2),并在 3 个事件的情形下检查它与命题 4.4 的关系。 提示:从 (4.5) 出发,对 \(P(\bigcup_{j<i}E_iE_j)\) 用 Boole 不等式。
- 在例 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% 水平下拒绝"胜负顺序随机",盈亏可能成簇。
- 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。)