认知偏差与投资
知道偏差在哪 ≠ 能避免它 — 知道和做到之间差了十万八千里
我知道这些偏差
2025 年夏天,我花了两个月读完了《思考,快与慢》。读完之后,我对以下认知偏差如数家珍:
- 损失厌恶 — 亏 100 元的痛苦远大于赚 100 元的快乐(详见损失厌恶专篇)
- 确认偏误 — 只看支持自己观点的证据,忽略反面证据
- 锚定效应 — 被第一个看到的数字影响后续判断
- 沉没成本 — 因为已经投入了就不愿意止损
- 过度自信 — 高估自己的判断能力
- 可得性偏差 — 容易想到的事情被认为更常发生
- 后见之明偏误 — 事情发生后觉得"我早就知道了"
读完那段时间,我逢人就说"这是损失厌恶""那是确认偏误",觉得自己已经掌握了投资心理学的精髓。
读完一本书产生的"我懂了"的感觉,本身就是一种认知偏差——能力幻觉。你以为理解了概念就等于掌握了能力,但理解和应用之间隔着一条鸿沟。Kahneman 自己都说:"我研究了一辈子认知偏差,做决策时还是会犯。"
但我还是犯了 — 三个真实故事
故事一:确认偏误让我亏了 20%
2025 年 9 月,我研究了一家消费公司。财报很好——收入连续 5 年增长,毛利率稳定在 65%,ROE 20%+。我越看越觉得好,连夜写了 3000 字的研究笔记,全是买入理由。
但我忽略了一个信号:这家公司的应收账款天数从 30 天涨到了 55 天。我当时注意到了,但给自己找了个解释:"可能是渠道扩张导致的,正常。"——这就是确认偏误:我看到了反面证据,但选择性地把它合理化了。
三个月后,这家公司公告计提大额坏账,股价跌了 20%。
复盘笔记
确认偏误最狡猾的地方在于:你不会忽略反面证据,你会重新解释反面证据,让它符合你的判断。应收账款天数上升 → 不是回款问题,是"渠道扩张的正常现象"。每一条反面证据都能被合理化——直到它不能。
故事二:沉没成本让我多亏了 15%
买了一只股票,成本 25 元,跌到 20 元。理性告诉我应该止损——公司基本面确实在恶化。但"已经亏了 5 块,卖了就真亏了"这个念头一直盘旋在脑子里。
我给自己找了一堆不卖的理由:"可能是短期波动""长期持有总会回来的""巴菲特不是说了吗,别人恐惧我贪婪"。每一个理由听起来都很有道理,但本质上都是为了回避"承认亏损"的痛苦。
结果又跌到 17 元才割。多亏了 15%。
"已经亏了这么多"不是不卖的理由。你应该问的问题是:如果我现在手里是现金,我会按当前价格买这只股票吗?如果不会,那就该卖。已经亏的钱是沉没成本,跟未来的决策无关。
故事三:锚定效应让我觉得"便宜"
一只股票从 100 跌到 60,我觉得"便宜了 40%"。但 100 是锚,不是价值。也许它就值 50。
后来我学到一个方法:不看历史价格,只看当前估值。PE 15、PB 2.5、股息率 3%——这些数字跟它曾经从 100 跌到 60 没有任何关系。你买的是公司未来的现金流,不是它过去的价格。
但说实话,我现在看到"从高点跌了 50%"还是会心动。锚定效应太深了,知道也没用,只能靠规则——我给自己定了个规矩:买入前只看估值,不看 K 线图。
还有几个我经常犯的
过度自信
每次研究完一家公司,我都觉得自己已经把它看透了。但回头复盘,我的判断正确率大概只有 60%——比扔硬币好一点。Taleb 在《随机漫步的傻瓜》里说,大部分投资成功都是运气,不是能力。我不完全同意,但确实要警惕"我觉得我判断对了"的感觉。
可得性偏差
最近哪只股票涨得多,我就越容易想到它,越觉得它好。2025 年 AI 概念股暴涨,我差点追进去——因为每天刷到的都是 AI 股的新闻,觉得"AI 就是未来"。但 AI 是未来不代表 AI 股现在值这个价。可得性偏差让近期信息权重过大,远期信息被忽略。
后见之明偏误
每次亏钱后复盘,我都会觉得"我当时就应该看出来"。但当时我并没有看出来。后见之明偏误让你高估自己"本来能预测到"的能力,从而在下一次决策时更加过度自信。
我的应对方法
知识不够,得靠规则。这是我目前用的几招,不完美但比"靠意志力"靠谱:
- 写投资日志 — 每次买卖都记录理由,事后复盘看有没有偏差。详见投资日志。这个方法最有效,因为写下来之后你没法骗自己。
- 设止损线 — 买入前就定好止损点,到了就执行,不给自己犹豫的机会。我用FinBuddy设了自动提醒,到了止损位手机弹通知。
- 找反面证据 — 研究一家公司时,故意找"不该买"的理由。如果找不到,再买。我甚至让 FinBuddy 的 AI 帮我找反面证据——它比我自己客观。
- 不看持仓盈亏 — 只看公司基本面有没有变化,不看浮盈浮亏。浮亏不影响决策,基本面恶化才影响决策。
- 24 小时冷却期 — 想买的时候等 24 小时。如果 24 小时后还想买,再买。大部分冲动会消失。
# FinBuddy 认知偏差提醒 — 买入前自动检查
class BiasCheckSkill:
"""买入前检查清单 — 强制系统2介入"""
async def check_before_buy(self, trade: TradeIntent) -> BiasReport:
checks = [
self._check_sunk_cost(trade),
self._check_anchoring(trade),
self._check_confirmation(trade),
self._check_overconfidence(trade),
]
return BiasReport(
passed=all(c.passed for c in checks),
warnings=[c.message for c in checks if not c.passed],
)
def _check_anchoring(self, trade: TradeIntent) -> CheckResult:
if trade.reason and "跌了" in trade.reason:
return CheckResult(
passed=False,
message="锚定效应风险:买入理由包含'跌了',"
"请确认是基于估值而非历史价格",
)
return CheckResult(passed=True)
这些方法不完美,但比"靠意志力克服偏差"靠谱多了。大脑的硬件改不了,只能用软件(规则)来补。就像 Kahneman 说的:你不能阻止系统 1 启动,但你可以让系统 2 在系统 1 做出决定之前介入。更多关于系统1和系统2的讨论,见决策科学。