《量化交易入门》第 8 章:风险管理——仓位、止损与爆仓的数学
前面七章都在讲怎么”进攻”:写策略、回测、选因子、挑股票。但在真实市场里,活得久的人往往不是赚得最猛的,而是亏得最有节制的。这一章讲防守——风险管理。它的核心不是一句”小心点”,而是几道可以算出来的数学题。
8.1 先活下来,再谈赚钱
为什么要把风险管理放在这么靠前的位置?因为市场里淘汰你的方式只有一种:本金亏光。策略再好,只要中间有一次把钱亏到无法翻身,后面所有的机会都与你无关。
赚钱和亏钱,在数学上是不对称的。亏 10% 看起来和赚 10% 对称,可一旦真的亏下去,你会发现回本需要的涨幅,比你想象的大。
8.2 第一道题:亏损与回本的不对称
用一小段代码算给你看:
print("亏损与回本:")for loss in [0.10, 0.20, 0.30, 0.50, 0.90]: need = 1 / (1 - loss) - 1 print(f" 亏 {loss*100:.0f}% 后,需涨 {need*100:.1f}% 才回本")输出:
亏损与回本: 亏 10% 后,需涨 11.1% 才回本 亏 20% 后,需涨 25.0% 才回本 亏 30% 后,需涨 42.9% 才回本 亏 50% 后,需涨 100.0% 才回本 亏 90% 后,需涨 900.0% 才回本原理很简单:亏 50% 后,你的本金只剩下一半(10 万变 5 万),5 万要涨回 10 万,需要的是 +100%,而不是 +50%。亏损越深,回本难度不是线性增长,而是急剧弯曲向上。这就是为什么”控制回撤”比”追求高收益”更基础——一旦掉进深坑,爬出来的难度会指数级变大。
8.3 第二道题:仓位——每次冒多大的险
既然亏损要严防,那一笔交易最多该让自己亏多少?专业做法叫风险预算法:先规定”这笔交易就算完全做错,我最多只亏总资金的 X%“,常见取值是 1%~2%。再结合你的止损幅度,反推出该买多少。
capital = 100000risk_budget = 0.02 # 单笔最多承担总资金 2% 的亏损stop_loss_pct = 0.05 # 个股止损线:买入价下方 5%position_ratio = risk_budget / stop_loss_pctprint(f"仓位上限 = {risk_budget*100:.0f}% / {stop_loss_pct*100:.0f}% = {position_ratio*100:.0f}%")print(f"即最多买入 {capital*position_ratio:.0f} 元;打止损只亏 {capital*risk_budget:.0f} 元")
# 严格执行,连亏 10 次后还剩多少equity = capitalfor _ in range(10): equity *= (1 - risk_budget)print(f"连亏 10 次后:{equity:.0f},总回撤 {(equity/capital-1)*100:.1f}%")输出:
仓位上限 = 2% / 5% = 40%即最多买入 40000 元;打止损只亏 2000 元连亏 10 次后:81707,总回撤 -18.3%看明白了吗?仓位不是靠”我有多看好”来定的,而是倒着算出来的:愿意承担多大亏损(2%)÷ 止损有多宽(5%)= 能用多大仓位(40%)。 这样哪怕你运气差到连续 10 次全错,账户也只回撤约 18%,完全可以东山再起。反过来,如果每次都满仓、又不设止损,一两次重创就可能跌进 8.2 节那个爬不出来的深坑。
8.4 第三道题:止损是认错的纪律
止损,就是事先定好”价格跌到哪里,说明我看错了,无条件卖出”。
它反人性:止损意味着亲口承认自己错了,并且把账面浮亏变成真实亏损。很多人越亏越舍不得卖,心里默念”等回本就走”,结果小亏拖成大亏。止损纪律的意义,是把”要不要认错”这个最容易被情绪绑架的决定,提前在冷静的时候用规则定死。
量化策略里,止损通常是代码自动执行的,没有犹豫的空间。这反而是一种保护:机器不会”心存侥幸”。 止损线设多宽要和波动匹配(第 6 章的波动率因子在这里派上用场)——太窄会被正常抖动反复扫出去,太宽则单笔亏损过大,两者都要靠回测权衡。
8.5 单笔风险之外:别忘了总风险
风险预算管住了”一笔”,但如果你同时持有十只股票、每只都按 2% 配风险,是不是等于承担了 20%?这里要区分两种情况。如果这十只股票分属完全不同的行业、走势彼此独立,那么它们同一天全部打止损的概率很低,风险会被分散掉一部分——这正是第 7 章”买一篮子”在风险层面的好处。可如果它们高度相关,比如全是同一个板块、同涨同跌,那一旦板块出事,十只股票会像约好了一样一起跌,名义上的分散就是假的,2% 加起来的真实风险会接近 20%。
所以管理总风险时要多问一句:我这些持仓,到底是十笔独立的赌注,还是同一笔赌注拆成了十份? 真正的分散,靠的不是数量多,而是背后风险来源的不同。
8.6 爆仓:杠杆如何把小概率变成致命
最后说爆仓。杠杆就是借钱放大仓位:用 10 万本金借 10 万,买 20 万的货,涨跌都翻倍计算。赚的时候很爽,但亏的时候,你可能在价格只跌一部分时,本金就归零甚至倒欠钱,被强制平仓——这就是爆仓。
回到 8.2 那张表,体会一下高杠杆的致命之处:
- 无杠杆,亏 50% 还有一半本金,理论上还能靠 +100% 爬回来;
- 5 倍杠杆,标的反向波动约 20%,你的本金就接近清零,连回本的资格都没有了。
杠杆没有改变你判断对错的概率,它改变的是”错一次的代价”。量化里有句老话:亏钱的策略会慢慢死,加了杠杆的策略会突然死。 对初学者,最稳妥的风险管理其实最朴素:不加杠杆、分散持仓、严格止损、控制单笔风险。先保证自己永远留在牌桌上。
8.7 这一章你该记住的
- 亏损与回本不对称:亏 50% 需涨 100%,亏 90% 需涨 900%,所以控回撤第一
- 风险预算法:仓位 = 单笔风险预算 ÷ 止损幅度(如 2% ÷ 5% = 40%)
- 止损是提前定好、无条件执行的认错纪律,量化里自动执行
- 杠杆不改胜率,只放大犯错代价;新手不加杠杆,先留在牌桌上
防守讲完了。但还有一个会悄悄啃掉利润的隐形对手,前面几次提到却一直没算账——手续费、滑点和冲击成本。下一章:交易成本:被忽略的利润杀手,我们看看为什么一个回测漂亮的策略,加上成本后可能反而亏钱。
📚 《量化交易入门》系列:零基础小白向量化交易,每章一个主题 + 可运行 Python 示例。第 8 章已读,下一章《交易成本:被忽略的利润杀手》明天见。