halo 的技术博客

返回

你身边一定有人这样买股票:不看估值、不看财报,就因为「这票上周一根大阳线拉了 18%,搞不好下个月就十倍」。这种用小钱博巨奖的冲动,不是散户的专利,而是被写进行为金融教科书的一种稳定偏好——博彩偏好(lottery preference)

更反直觉的是,被这种偏好追捧的「彩票型股票」,长期来看跑不赢那些平淡无奇的普通股。本文要讲清楚的,就是如何用一个极简指标 MAX 把「彩票性」量化出来,并用分组回测证明:越像彩票,未来越亏。

一、MAX:把「像不像彩票」变成一个数字#

彩票的本质是小概率、大赔付。对应到股价上,就是「过去一段时间里,出现过一根特别夸张的上涨大阳线」。Bali、Cakici 与 Whitelaw(2011)用一个干净到离谱的指标抓住了它:

MAXi=maxt[21,0]ri,t\text{MAX}_i = \max_{t\in[-21,0]} r_{i,t}

也就是个股在过去 21 个交易日(约一个月)里的最大单日收益率

为什么是「单日最大」而不是「月涨幅」?因为散户记住的不是「这个月涨了 12%」,而是「那天一根线拉了 15%」的那种刺激感。MAX 衡量的正是这种极端正向跳变的强度——它和月累计收益高度不同:一只票可以一个月慢慢涨 12% 但 MAX 只有 3%(毫无彩票感),也可以横盘一个月、最后一天旱地拔葱 20%(十足彩票感)。

截面里 MAX 右偏、厚尾:少数股票带着一根巨阳线,多数股票平淡

二、行为逻辑:为什么高 MAX 反而亏#

逻辑链条很短,但很硬:

  1. 散户对「博巨奖」有超额需求,愿意为彩票型股票支付溢价
  2. 溢价推高了当前价格,等于提前透支了未来的收益
  3. 当炒作退潮、价格向价值回归,高 MAX 股票就系统性跑输

换句话说,MAX 不是一个「利好信号」,而是一个被高估的程度计。它越高,说明当前的博彩溢价越厚,未来均值回归的向下空间越大。这和动量相反:动量是「涨了还会涨」,MAX 异象是「涨得太刺激反而要跌」——因为驱动它的是噪声交易者的情绪,不是基本面。

三、Python:计算 MAX、分组、看未来收益#

下面这段代码与四张配图完全对应,是自洽合成数据(每只股票带偶发巨阳线的「彩票跳涨」,未来 21 日收益被设定为随 MAX 单调下降,仅用于演示方法;真实落地请用实际日收益,见文末)。

跑出来的分组收益(D01 = 最低 MAX 组,D10 = 最高 MAX 组)呈现出教科书式的单调下滑

D01 (MAX 3.1%)  future=+1.72%
D02 (MAX 5.4%)  future=+1.01%
...
D09 (MAX 18.2%) future=-0.66%
D10 (MAX 22.5%) future=-2.21%   ← 最像彩票的一组,显著跑输
plaintext

最高 MAX 组未来 21 日平均亏 −2.21%,最低组赚 +1.72%,单次截面多空约 +3.9%/月(图三把这种组合做 60 个月再平衡,月度均值约 +3.6%、年化约 50%)。注意这是横截面排序收益,和个股绝对涨跌无关——它测的是「彩票性」本身的定价错误。

按 MAX 十分组,未来 21 日收益单调下滑;最高组显著为负

四、配图解读:四张图各说明什么#

图一(分布):MAX 在截面里是右偏、厚尾的——大多数股票一个月里最猛的一天也就涨两三个点,少数股票带着一根 15%+、甚至 27% 的巨阳线,正是这些「尾部」构成了彩票股。

图二(分组):把全市场按 MAX 十等分,未来收益从 D01 的正值一路滑到 D10 的负值。这条下滑曲线本身就是异象存在的证据:它和任何宏观、行业因子都没关系,纯粹由「过去涨得有多刺激」驱动。

图三(多空):把「多最低 MAX / 空最高 MAX」做成一个每月再平衡的组合,净值是稳定向上的。月度均值约 +3.6%,折算年化约 50%——这个幅度是合成数据为了可视化放大的;在真实美股样本里 Bali 等人报道的多空约 1%–1.5%/月,量级小但统计上极显著(t 值常常 > 5)。

多最低 MAX 组、空最高 MAX 组的月度再平衡组合,净值稳定向上

图四(路径):最直观地告诉你 MAX 抓住了什么——彩票股平时半死不活,突然一根巨阳线把 MAX 拉爆,然后阴跌回去;普通股则平稳爬升。散户记住的是前者那根线,机构赚的是后者的钱。

彩票股(一根巨阳后阴跌)vs 普通股(平稳上行):MAX 抓住的是那根线

五、实盘六大真实陷阱#

陷阱一:前视偏差(最容易犯)。 MAX 必须用形成期(过去)的收益算,未来收益是另一个独立窗口(之后)的。绝不能用「包含未来」的窗口算 MAX 再拿同一个窗口的收益做检验——那等于用答案算答案,会造出虚假的完美相关性。

陷阱二:退市与幸存者偏差。 彩票股多是小盘、高波动、甚至濒临退市的票。回测如果只在「活到今天」的股票里算,会自动剔除那些已经跌没退市的极端彩票股,系统性低估亏损。真实结论只会比回测更糟。

陷阱三:A 股涨跌停封顶。 在 A 股,单日最大收益被涨跌停板封在 +10%(创业板/科创板 +20%),所以 MAX 天然有上限,且「巨阳线」信息被压缩。直接用美股那套 MAX 定义会失真——要么换更细粒度(分钟级最大单根 K)、要么拉长窗口,或改用「最大 5 日收益 MAX5」等衍生代理。

陷阱四:卖空约束。 多空组合里的「空最高 MAX 组」,在 A 股几乎无法直接做(融券标的少、成本高、常无券可融)。实务上要么只用多头端(做多低 MAX、回避高 MAX),要么用股指期货/ETF 做市场中性对冲后表达,收益会被摩擦吃掉一大块。

陷阱五:市值与行业暴露。 MAX 和市值强负相关——小盘股天然更容易出巨阳线。如果不控制,你的「MAX 因子」其实是在做多大盘、做空小盘。真实研究里要对市值、行业做截面中性化(对市值/行业哑变量回归取残差)后再排序。

陷阱六:微盘流动性。 高 MAX 集中在微盘,买卖冲击成本极高。回测里用收盘价算的 +3.6%/月,实盘可能因为根本买不进/卖不出而大幅缩水,甚至方向相反。

六、落地路径与诚实结论#

真实复现时,把合成序列换成:

  • 数据:个股日收益率(前复权),剔除停牌/上市不足一个月的新股;
  • MAX 计算:用形成期 [−21,−1] 的日收益取最大值,未来收益用 [0,+21] 窗口;
  • 分组:按 MAX 十等分,计算每组等权未来收益,看最高组是否显著为负、多空是否稳定为正;
  • 中性化:对对数市值、行业哑变量回归取残差,剔除风格暴露后再排序;
  • 成本:用实际的买卖价差+冲击成本重算多空,确认 alpha 在扣费后仍在;
  • 对照:和动量、波动率、特质波动率等因子做相关性检验,确认 MAX 是独立的异象而非它们的马甲。

结论:MAX 用一根「最刺激的那根阳线」量化了散户的博彩偏好,而行为金融的逻辑很直白——被情绪溢价推高的彩票股,未来必然回归。它是少数在多个市场、多个时期都被反复证实的横截面异象。但落到自己账户上,先过了前视、退市、涨跌停、卖空、市值暴露这五关,否则你回测出的「十倍因子」,只是另一个被你自己买贵的彩票。

博彩偏好异象 MAX:散户为什么爱买彩票型股票
https://blog.halo26812.eu.org/blog/lottery-preference-max
Author halo
Published at 2026年7月12日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨