🧠 Max Dama 论自动化交易——脑筋急转弯与量化面试题(增强版) 🔗

这是一份受 Max Dama《论自动化交易》(On Automated Trading)笔记中的量化面试主题启发而编写的原创、修正与扩充版学习指南。本文修正了原版流传笔记中的多处数学错误,补充了缺失的完整推导过程,并将每道题目重新表述为清晰、自包含的形式。

📑 目录 🔗


📈 做市与下注(Market Making and Betting) 🔗

问:一个袋子里有 100 枚硬币:98 枚是均匀硬币(50% 正面,50% 反面),1 枚是双正面硬币(HH),1 枚是双反面硬币(TT)。你均匀随机地抽取一枚硬币,抛掷一次,观察到正面朝上。那么你抽到双正面硬币的后验概率是多少?

答: 应用贝叶斯定理(Bayes’ Theorem): 在 100 枚硬币中,98 枚以 0.50.5 的概率掷出正面,1 枚以 11 的概率掷出正面,1 枚以 00 的概率掷出正面。 令 HH 表示观察到正面,HHHH 表示抽中双正面硬币:

P(HH∣H)=P(H∣HH)P(HH)P(H)P(HH \mid H) = \frac{P(H \mid HH) P(HH)}{P(H)}

P(H)=(98100⋅0.5)+(1100⋅1)+(1100⋅0)=0.49+0.01=0.50P(H) = \left(\frac{98}{100} \cdot 0.5\right) + \left(\frac{1}{100} \cdot 1\right) + \left(\frac{1}{100} \cdot 0\right) = 0.49 + 0.01 = 0.50

P(HH∣H)=1⋅0.010.50=150=2%P(HH \mid H) = \frac{1 \cdot 0.01}{0.50} = \frac{1}{50} = 2\%

从直觉上看,袋子里共有 200 个等可能出现的硬币面,其中恰好有 100 个是正面,而这 100 个正面中有 2 个属于那枚双正面硬币——因此概率为 2%2\%。

问:假设抛掷 10,000 枚均匀硬币(正面计 1 分,反面计 0 分)。有人向你提供一个等额赔率(1 赔 1)的赌局,赌正面朝上的总次数严格小于 5,000,你可以下注 $1 到 $100 之间的任意整数美元金额。你应该下注多少?如果你事先得知正面朝上的总次数严格小于 5,100,你的最优下注额会发生怎样的变化?

答: 首先,计算恰好落在中点 5,000 次正面的概率:

P(X=5000)=(100005000)⋅0.510000≈15000π≈0.79%P(X = 5000) = \binom{10000}{5000} \cdot 0.5^{10000} \approx \frac{1}{\sqrt{5000\pi}} \approx 0.79\%

根据二项分布的对称性,正面次数严格小于 5,000 的概率为:

P(X<5000)=1−0.00792=49.6%P(X < 5000) = \frac{1 - 0.0079}{2} = 49.6\%

因为在等额赔率下你的胜率低于 50%,所以该赌局的期望值为负。你应该下注 $0。

当拥有 X<5100X < 5100 的额外信息时: 由于标准差为 σ=10000⋅0.25=50\sigma = \sqrt{10000 \cdot 0.25} = 50,5,100 的阈值位于均值上方 +2σ+2 \sigma 处,其累积概率为 P(X<5100)≈97.7%P(X < 5100) \approx 97.7\%。 在给定 X<5100X < 5100 的条件下,你赢得 X<5000X < 5000 赌局的更新后概率变为:

P(X<5000∣X<5100)=P(X<5000)P(X<5100)=0.4960.977≈50.76%P(X < 5000 \mid X < 5100) = \frac{P(X < 5000)}{P(X < 5100)} = \frac{0.496}{0.977} \approx 50.76\%

现在你拥有了正优势(positive edge)。对等额赔率赌局应用凯利公式(Kelly Criterion,f∗=2p−1f^* = 2p - 1):

f∗=2(0.5076)−1=0.0152f^* = 2(0.5076) - 1 = 0.0152

你应该下注总资金(bankroll)的 1.52%。

(注:如果赌局本身的获胜条件变成只要 X<5100X < 5100 就赔付,那么你的胜率就是 97.7%97.7\%,凯利比例则为总资金的 2(0.977)−1=95.4%2(0.977) - 1 = 95.4\%)。

问:你反复掷一颗均匀的六面骰子并累加点数,一旦累计总和超过 63 就立即停止。倒数第二次(即最后一次之前的那次)掷出的点数为某个特定值 X∈{1,2,3,4,5,6}X \in \{1, 2, 3, 4, 5, 6\} 的概率是多少?

答: 对于 1 到 6 中的每一个值,概率都是均匀的 1/61/6。因为累加和上的马尔可夫链在远未达到 63 之前就已经在余数上达到了几乎均匀的平稳分布,而且倒数第二次投掷是在以最后一次停止投掷为条件之前完成的,所以每个面出现的概率依然相等(均为 1/61/6)。

问:六个密封的信封里分别装有 $2、$4、$8、$16、$32 和 $64,它们按严格有序的方式排成一排(升序或降序的概率相等)。从中选出两个相邻的信封,洗匀后分别发给你和交易对手。你打开自己的信封,发现里面是 $16。你应该提议交换信封吗?

答: 考虑你拿到 $16 信封的四种等可能情况(两种在升序下,两种在降序下):

  1. 组合($8, $16),升序 → 交换后得到 $8(亏损 $8)。
  2. 组合($16, $32),升序 → 交换后得到 $32(盈利 $16)。
  3. 组合($32, $16),降序 → 交换后得到 $32(盈利 $16)。
  4. 组合($16, $8),降序 → 交换后得到 $8(亏损 $8)。

在双人理性交易博弈(逆向选择 / 无交易定理,Adverse Selection / No-Trade Theorem)中,如果交易对手在同意交换前也偷看了自己信封里的金额,那么当他们持有 $32 时绝不会同意交换,而当他们持有 $8 时则总会同意交换!因此,自愿达成的双向交易具有负期望值(你只有在对手拿着 $8 时才会成交)。如果交换是单方面强制执行的(无需对手同意),那么由于 $16 是一个内部值,交换的期望收益为 0.5(8)+0.5(32)=20>160.5(8) + 0.5(32) = 20 > 16。

问:假设你先从某一个概率分布中抽取一个随机数量 NN,然后再从第二个分布(与 NN 独立)中抽取 NN 个独立同分布(i.i.d.)的样本 X1,X2,…,XNX_1, X_2, \dots, X_N。你该如何为它们的总和定价(计算公允价值)?

答: 根据瓦尔德恒等式(Wald’s Identity),当 NN 与序列 XiX_i 相互独立时,随机和的期望值就等于两个期望值的乘积:

E(∑i=1NXi)=E(N)⋅E(X)E\left(\sum_{i=1}^{N} X_i\right) = E(N) \cdot E(X)

问:假设抛一枚均匀硬币,正面朝上净赚 +x+x,反面朝上净亏 −y-y(其中 x>y>0x > y > 0)。请推导在对数效用(log-utility)下,你应该投入总资金的最优比例。

答: 使用凯利公式,其中每单位风险敞口的净赔率为 b=x/yb = x/y,获胜概率为 p=0.5p = 0.5:

f∗=p(b+1)−1bf^* = \frac{p(b+1) - 1}{b}

f∗=0.5(x/y+1)−1x/y=0.5((x+y)/y)−1x/y=0.5x−0.5yx=x−y2xf^* = \frac{0.5(x/y + 1) - 1}{x/y} = \frac{0.5((x+y)/y) - 1}{x/y} = \frac{0.5x - 0.5y}{x} = \frac{x - y}{2x}

注意,该比例是相对于亏损额 yy 进行缩放的;在出现反面结果时,总资金中实际面临亏损风险的比例为 (x−y)/(2x)(x - y) / (2x)。

问:在 25 因子量化交易模型与 100 因子模型之间,你的研究与风险管理方法有何不同?如果 100 因子模型在回测中表现高出 25%,你会如何评估是否将其部署上线?

答: 从 25 个因子增加到 100 个因子会大幅增加自由度以及**样本内过拟合(in-sample overfitting)**的风险(即维度灾难)。在特征数量增加到 4 倍的情况下,回测收益或夏普比率提升 25% 很容易是因为拟合了历史噪声,而非真正捕捉到了样本外信号。 为了对其进行严格评估:

  1. 共线性与降维(PCA): 检查因子相关性矩阵和特征值谱,看看那额外的 75 个因子实际上跨越了多少个正交的风险/Alpha 维度。
  2. 正则化与信息准则: 应用 L1L_1(Lasso)/ 弹性网络(Elastic Net)正则化,并比较带惩罚项的模型选择指标(如 AIC、BIC 或交叉验证对数似然),检验新增参数是否值得付出相应的复杂度代价。
  3. 严格的样本外与滚动前推验证(Walk-Forward Validation): 在未触碰过的留出集(holdout period)上测试绩效衰减情况,并衡量换手率及交易成本拖累。

问:某项资产初始价格为 pp,先上涨 x%x\%,随后又下跌 x%x\%(其中 x>0x > 0)。最终价格与 pp 相比如何?

答: 最终价格严格小于 pp(这被称为波动率拖累,volatility drag)。因为下跌的百分比是作用在上涨后更大的基数 p(1+x)p(1+x) 之上的:

p⋅(1+x)⋅(1−x)=p⋅(1−x2)<pp \cdot (1+x) \cdot (1-x) = p \cdot (1-x^2) < p

问:初始资金为 $100,你可以对一枚有偏硬币进行 100 次连续下注,该硬币有 90% 的概率掷出正面。每次下注 xx 美元,若为反面则输掉 xx,若为正面则返还 2x2x。每次抛掷时你应该下注总资金的多少比例?

答: 最优比例取决于“返还 2x2x”是指净赚 2x2x(1 赔 2 赔率,b=2b = 2),还是指连本带利总返还 2x2x(净赚 xx,1 赔 1 赔率,b=1b = 1):

问:请就纽约市井盖(manhole covers)的总数报出一个双边市场(买价/卖价,Bid/Ask)。

答: 我们可以从道路里程出发构建一个费米估算(Fermi estimate): 纽约市大约有 850 万居民,铺设好的街道总长约 6,000 英里。市政检修井盖(下水道、自来水、电力、通信)大约每隔 100 英尺就会在城市街道上出现一个,这相当于每英里大约有 5,280/100≈525,280 / 100 \approx 52 个井盖: 6,000 英里×52 个/英里≈312,000 个井盖6{,}000\text{ 英里} \times 52\text{ 个/英里} \approx 312{,}000\text{ 个井盖}。 考虑到估算方差,一个合理的初始双边报价市场是 200,000 买价(Bid)/ 450,000 卖价(Ask)。


🎲 概率论(Probability) 🔗

问:仅用心算,以 5% 以内的误差估算抛掷一枚均匀硬币 1,000 次恰好出现 500 次正面的概率。

答: 应用斯特林公式(Stirling’s approximation)n!≈2πn(n/e)nn! \approx \sqrt{2 \pi n} (n/e)^n:

P(X=500)=(1000500)0.51000=1000!500!⋅500!0.51000P(X = 500) = \binom{1000}{500} 0.5^{1000} = \frac{1000!}{500! \cdot 500!} 0.5^{1000}

≈2π⋅1000(1000/e)1000⋅0.51000(2π⋅500(500/e)500)2\approx \frac{\sqrt{2\pi \cdot 1000} (1000/e)^{1000} \cdot 0.5^{1000}}{\left(\sqrt{2\pi \cdot 500} (500/e)^{500}\right)^2}

=2000π2π⋅500=1500π= \frac{\sqrt{2000\pi}}{2\pi \cdot 500} = \frac{1}{\sqrt{500\pi}}

由于 500π≈1570500 \pi \approx 1570 且 402=160040^2 = 1600,故 1570≈39.6≈40\sqrt{1570} \approx 39.6 \approx 40。 因此 P≈1/40=2.5%P \approx 1/40 = 2.5\%(精确值为 2.523%2.523\%)。

问:为了通过一场对阵两名对手(实力较强的选手 A 和实力较弱的选手 B)的三局网球挑战赛,你必须连续赢下两局。你应该选择赛程 A-B-A 还是 B-A-B?

答: 令 PaP_a 和 PbP_b 分别为你单局战胜 A 和 B 的概率,其中 Pa<PbP_a < P_b。 要在三局中连赢两局,你必须赢下中间那一局(第 2 局),并且至少赢下两端的其中一局(第 1 局或第 3 局):

因为 Pa<PbP_a < P_b,所以我们有 Pa2Pb<PaPb2P_a^2 P_b < P_a P_b^2,这使得 A-B-A 严格更优! (修正说明:虽然直觉常常让人觉得应该在某处少碰强手,但在必须拿下的中间局对阵强手 A 实际上会导致更低的总胜率,因为 2PaPb−Pa2Pb>2PaPb−PaPb22P_a P_b - P_a^2 P_b > 2P_a P_b - P_a P_b^2。选择 A-B-A 能最大化你在至关重要的中间局战胜较弱对手 B 的机会!)

问:两名玩家轮流掷一颗均匀的六面骰子。玩家 1 先掷,若掷出 1 则立即获胜;否则由玩家 2 掷,若掷出 6 则立即获胜;否则轮回到玩家 1,以此类推。求每位玩家的获胜概率。

答: 令 EE 为玩家 1 从一轮开始时的获胜概率:

E=16+(56⋅56⋅E)E = \frac{1}{6} + \left(\frac{5}{6} \cdot \frac{5}{6} \cdot E\right)

E=16+2536EE = \frac{1}{6} + \frac{25}{36} E

1136E=16  ⟹  E=611≈54.55%\frac{11}{36} E = \frac{1}{6} \implies E = \frac{6}{11} \approx 54.55\%

玩家 2 的获胜概率为 1−6/11=5/11≈45.45%1 - 6/11 = 5/11 \approx 45.45\%。

问:一副标准 52 张扑克牌(26 张红牌,26 张黑牌)被一张接一张地翻开。在牌发完之前的任意时刻,你都可以喊“停”,并对紧接着的下一张牌的颜色下注(若为红牌赢 +$1,若为黑牌输 -$1)。在最优停止规则下,玩这个游戏的公允价格是多少?

答: $0。 在第 tt 步时牌堆中剩余红牌的比例构成一个鞅(martingale)。根据杜布可选停止定理(Doob’s Optional Stopping Theorem),对于任意有界停时 τ\tau,在时刻 τ\tau 红牌的期望比例等于初始比例(26/52=0.526/52 = 0.5),这意味着没有任何算牌策略能够获得正的期望收益。

问:某项针对罕见疾病(在普通人群中的患病率为 0.5%)的医学筛查检测具有 99% 的灵敏度(真阳性率)和 99% 的特异度(真阴性率)。如果一名随机接受检测的人得到了阳性结果,他实际上患有该疾病的概率是多少?

答: 根据贝叶斯定理:

P(患病∣阳性)=0.005⋅0.99(0.005⋅0.99)+(0.995⋅0.01)P(\text{患病} \mid \text{阳性}) = \frac{0.005 \cdot 0.99}{(0.005 \cdot 0.99) + (0.995 \cdot 0.01)}

=0.004950.00495+0.00995=0.004950.0149≈33.22%= \frac{0.00495}{0.00495 + 0.00995} = \frac{0.00495}{0.0149} \approx 33.22\%

由于基础患病率(0.5%0.5\%)小于假阳性率(1%1\%),大约三分之二的阳性筛查结果实际上是假阳性。

问:盘子里叠放着三张煎饼:一张两面都煎焦了,一张一面焦一面浅,还有一张两面都是浅色的。你随机挑出一张煎饼,看到它朝上的一面是焦的。那么它的背面也是焦的概率是多少?

答: 去数等可能出现的煎饼面,而不是数煎饼:总共有 6 个煎饼面,其中 3 个面是焦的。在这 3 个焦面中,有 2 个属于那张两面焦的煎饼(其背面也是焦的)。因此,概率为 2/3≈66.7%2/3 \approx 66.7\%。

问:反复掷一颗均匀的六面骰子,求观察到以下结果所需的期望投掷次数:(a) 单个 6,(b) 连续两个 6(6-6),以及 (c) 6 后面紧跟着一个 5(6-5)。

答:

问:你掷一颗均匀的六面骰子,并获得与最终朝上点数相等的美元奖金。在第一次投掷后,你最多还可以选择重掷两次(总计最多投掷 3 次),但每次选择重掷都会放弃之前掷出的点数。这个游戏的公允价值是多少?

答: 通过逆向归纳法(backward induction)求解:

该游戏的公允价值为 $4.67(即 14/314/3 美元)。

问:两名玩家轮流抛一枚均匀硬币,第一个抛出正面的玩家赢得 $1。为了获得先手(而不是后手),你最多愿意支付多少钱?

答: 令 EE 为先手玩家的期望收益:

E=0.5(1)+0.5(1−E)  ⟹  E=23E = 0.5(1) + 0.5(1 - E) \implies E = \frac{2}{3}

由于后手玩家的期望收益为 1−2/3=1/31 - 2/3 = 1/3,先手行动的优势为 2/3−1/3=1/32/3 - 1/3 = 1/3,即 $0.33。

问:在 5 枚硬币中(4 枚均匀硬币和 1 枚双正面硬币),你随机挑出一枚并连续抛掷 5 次,观察到连续 5 次正面。你选中的是那枚双正面硬币的概率是多少?

答: 根据贝叶斯定理:

P(双正面∣5次正面)=1⋅0.2(1⋅0.2)+(0.55⋅0.8)=0.20.2+0.025=89≈88.89%P(\text{双正面} \mid \text{5次正面}) = \frac{1 \cdot 0.2}{(1 \cdot 0.2) + (0.5^5 \cdot 0.8)} = \frac{0.2}{0.2 + 0.025} = \frac{8}{9} \approx 88.89\%

🧮 心算(Mental Math) 🔗

快速心算基准题:


🧩 数学与逻辑(Math and Logic) 🔗

问:一名游泳者位于半径为 rr 的圆形湖泊正中心,而岸边的一只捕食者可以沿着湖岸周长以游泳者最大游泳速度的两倍奔跑(2v2v 对比 vv)。假设捕食者总是沿着湖岸向距离游泳者最近的点移动,游泳者能否在捕食者赶到之前游上岸?

答: 能。 即使游泳者只是朝着与捕食者初始位置正相反的方向沿径向直线游去,游泳者也只需要游过距离 rr(耗时 r/vr / v),而捕食者则必须沿着圆周跑上半圈,距离为 πr\pi r(耗时 (πr)/(2v)(\pi r) / (2v))。 因为 π/2≈1.57>1\pi / 2 \approx 1.57 > 1,所以游泳者会在捕食者赶到之前很久就游上岸。

问:指针式时钟的时针和分针在午夜 12:00 重合。它们下一次重合的精确时间是什么时候?

答: 分针每小时走过 360∘360^\circ,而时针每小时走过 30∘30^\circ,两者的相对角速度为每小时 330∘330^\circ。 当分针比时针多走整整一圈(360∘360^\circ)时,两针再次重合:

它们下一次重合的时间是 凌晨 1:05:27.27。

问:三名决斗者——A(命中率 100%)、B(命中率 66%)和 C(命中率 33%)——按循环顺序轮流开枪,从枪法最差的 C 开始,接着是 B,然后是 A,直到只剩一人存活。C 的最优第一步策略是什么?

答: C 在第一回合应该故意打偏(朝地面或天空开枪)。

问:求解无穷幂塔方程 xxx…=2x^{x^{x^{\dots}}} = 2 中的正实数 xx。

答: 因为无穷指数塔收敛于 2,将底数 xx 上方的整个指数塔替换为 2 可得:

x2=2  ⟹  x=2x^2 = 2 \implies x = \sqrt{2}

问:求嵌套根式 2+2+2+…\sqrt{2 + \sqrt{2 + \sqrt{2 + \dots}}} 的值。

答: 令 x>0x > 0 表示该嵌套根式的极限:

x=2+xx = \sqrt{2 + x}

x2−x−2=0  ⟹  (x−2)(x+1)=0x^2 - x - 2 = 0 \implies (x - 2)(x + 1) = 0

由于 x>0x > 0,其值为 x=2x = 2。

问:一根单位长度的木棍在沿其长度独立且均匀随机选取的两个点处折断。折成的三段木棍能够拼成一个三角形的概率是多少?

答: 25%(1/41/4)。 根据三角形不等式,总长度为 1 的三条线段能拼成三角形,当且仅当每一段的长度都严格小于 1/21/2。将两个均匀分布的折断点 (u,v)∈[0,1]2(u, v) \in [0, 1]^2 绘制在平面上,满足 min⁡(u,v)<1/2\min(u,v) < 1/2、1−max⁡(u,v)<1/21 - \max(u,v) < 1/2 以及 ∣u−v∣<1/2|u - v| < 1/2 的有效区域由两个面积各为 1/81/8 的三角形组成,因此总概率为 2⋅(1/8)=1/4=25%2 \cdot (1/8) = 1/4 = 25\%。

问:在圆周上独立且均匀随机地选取三个点。这三个点全都位于某一个共同的半圆上的概率是多少?

答: 75%(3/43/4)。 一般而言,对于圆周上独立且均匀分布的 nn 个点,每个点都定义了一个从该点出发、沿顺时针方向延伸、长度为 1/21/2 圆周的半圆;其余所有 n−1n - 1 个点都落在这个半圆内的概率为 (1/2)n−1(1/2)^{n-1}。由于这 nn 个事件是互斥的(假设这些点没有覆盖整个圆周),总概率为 n/2n−1n / 2^{n-1}。代入 n=3n = 3 即得 3/4=75%3 / 4 = 75\%。

问:给定两个同心圆,外圆的一条长度为 8 的弦与内圆相切。求两个圆之间的圆环(annulus)面积。

答: 令 RR 和 rr 分别为外圆半径和内圆半径。连接圆心与切点的半径 rr 垂直于该弦,并将其平分为两条长度为 4 的线段。对由此构成的直角三角形应用勾股定理:

r2+42=R2  ⟹  R2−r2=16r^2 + 4^2 = R^2 \implies R^2 - r^2 = 16

因此,圆环的面积为 π(R2−r2)=\pi (R^2 - r^2) = 16π16 \pi。

问:杯子 A 装有 1 杯纯牛奶,杯子 B 装有 1 杯纯水。你从杯子 A 中舀出 1 茶匙牛奶倒入杯子 B 中,搅拌均匀后,再从杯子 B 中舀出 1 茶匙混合液倒回杯子 A 中。现在是杯子 A 中的水比杯子 B 中的牛奶多,还是反过来?

答: 两者完全一样多。 因为两个杯子在开始和结束时的液体总体积完全相同(各为 1 杯),所以无论现在有多少体积的水留在了杯子 A 中,都必然置换出了完全相同体积的牛奶留在了杯子 B 中。


📚 免费下载我的电子书 🔗

获取《卡乌埃的生活方式》精选离线版——一份全面优化 🍏 健康、💰 财富、❤️ 爱 与 🧘 意义 的实践指南。

卡乌埃的生活方式

卡乌埃的生活方式

📬 订阅邮件通讯 🔗

当我发布关于美好生活的新随笔、读书笔记和实践指南时接收通知。绝无垃圾邮件——可随时退订。


💬 评论与讨论 🔗

有任何问题、见解或建议吗?欢迎在下方分享您的想法。评论功能由 GitHub Discussions 驱动(无广告、无垃圾信息)——点击下方的使用 GitHub 登录即可发表评论或互动(注册免费 GitHub 账号不到一分钟即可完成)。



最后更新于 2026年10月11日.

免责声明:本站所有内容仅供信息参考与教育用途,不构成任何医疗、心理、财务、投资、税务或法律建议。此处呈现的观点、整理与见解仅代表我个人,不代表我雇主的立场。书籍、演讲及文章摘要均为独立的教育性评论,其知识产权归原作者所有。本站可能使用 AI 工具辅助编辑、排版与归纳;尽管我们竭力确保准确无误,但仍可能存在疏漏。隐私政策:本站使用第三方服务提供可选的邮件通讯订阅(follow.it)、评论(giscus / GitHub Discussions)以及嵌入媒体(YouTube),这些服务可能会依据各自的隐私政策处理访客的 IP 地址和 Cookie。