仓位与资金管理
前六章我们跑的所有回测,都有一个刻意简化的假设:要么 0% 空仓,要么 100% 全仓。
但在真实交易世界里,业余者盯住信号(「今天买不买」),专业者盯住仓位(「今天买多少」)。一次交易哪怕胜率高达 70%,如果每次都全仓梭哈,只要连续遇到两三次极端黑天鹅,账户就会元气大伤甚至爆仓。反过来,一个胜率只有 40% 的趋势策略,如果懂得在试错期轻仓、在确认期加仓、在每一笔交易中严格锁定最大亏损,长期看依然能稳定复利。
信号决定胜率,仓位决定生死。本章第一编收官:把仓位从随性的「拍脑袋满仓」,变成可以计算、可以风控的数学规则。
模型一:固定风险比例模型(Fixed Risk)
Section titled “模型一:固定风险比例模型(Fixed Risk)”核心逻辑:以损定仓
Section titled “核心逻辑:以损定仓”多数散户的思考顺序是:看好某只股票 → 拿出全部现金买入 → 跌了再看亏多少。
固定风险模型的顺序恰好反过来:先确定这笔交易最多允许亏多少钱,再根据止损位距离,倒推出应该买多少股。
公式:买入股数
Section titled “公式:买入股数”
人话解释:
- :当前账户总资产;
- :单笔最大允许风险比例(行业常规通常定为 );
- :拟买入价格;
- :预设的止损价格;
- 分子 是你这次愿意用真金白银承担的最大亏损上限;分母 是每买 1 股如果止损会亏损的金额。两者相除,得到的 就是你本次允许购买的股数上限。
手算一遍: 你的账户当前总资产为 100,000 元。设定单笔风险比例 ,即本笔交易最多允许亏损 元。 你看中一只股票,当前价格 元。结合技术支撑位,你将止损线设在 元(每股风险 2 元,止损幅度 8%)。
买入 1,000 股需要资金 元,占总资产的 25% 仓位。
验算:如果买入后行情迅速恶化,跌破 23 元无条件止损离场,你的总亏损是 元,正好占总资产的 2%。无论市场怎么跌,你对单笔亏损拥有 100% 的掌控力。
模型二:凯利公式与「半凯利」
Section titled “模型二:凯利公式与「半凯利」”如果知道了策略的胜率和盈亏比,是否存在一个数学上能让长期资金复利增速最快的「最优下注比例」?1956 年贝尔实验室科学家约翰·凯利给出了经典答案。
凯利公式(Kelly Criterion)
Section titled “凯利公式(Kelly Criterion)”
人话解释:
- :最优仓位比例;
- :策略胜率;
- :策略败率;
- :盈亏比(平均盈利金额 / 平均亏损金额)。
- 分子 实际上是单次交易的数学期望。如果期望 ,算出的 ,数学告诉你根本不该入场;只有期望为正时,公式才会给出下注比例。
手算一遍: 假设一个趋势策略经过充分验证,胜率 ,盈亏比 (平均赚 2.5 块钱,亏 1 块钱):
数学结论:每次下注 16% 的资金,长期几何增长率最高。下注小于 16%,收益增速变慢;而如果下注超过 16%(比如全仓 100%),长期复利不仅不会变快,反而会因为回撤急剧放大而导致爆仓!
为什么实盘绝不用全凯利?——「半凯利」法则
Section titled “为什么实盘绝不用全凯利?——「半凯利」法则”凯利公式有一个严苛的前提:你必须绝对精确地知道未来的胜率和盈亏比。
但在实盘中,胜率和盈亏比是从过去历史数据中估计出来的,必定带有统计噪声。如果历史胜率是 40%,未来降到了 30%,按照 16% 仓位下注就变成了「过度下注(Over-betting)」,会在连续黑天鹅中遭遇 50% 甚至更深的毁灭性回撤。
因此量化实盘的通用实践是:半凯利(Half Kelly,)。 在本例中,半凯利建议使用 仓位。数学证明:半凯利能保留全凯利 75% 的长期收益,但能将整体财富波动的方差和最大回撤降低 50% 以上。
模型三:目标波动率(Volatility Targeting)
Section titled “模型三:目标波动率(Volatility Targeting)”大盘蓝筹股日波动通常只有 1%,而小微盘股票日波动可达 4%~5%。如果同样用 10 万元买入,小微盘股票对账户的风险冲击是大盘股的数倍。
目标波动率模型的核心是:资产波动大的时候少买,波动小的时候多买,让账户承担的风险水平保持恒定。
手算一遍: 假设你的目标是让持仓的年化波动率恒定在 。
- 如果某只股票近期实际年化波动率 (市场过热,暴涨暴跌),则目标仓位为 ;
- 如果该股票进入横盘蓄势期,年化波动率降至 ,则目标仓位为 (可按上限 100% 满仓配置)。
波动率倒数加权就像汽车的自适应减震系统:颠簸时自动减速降仓,平坦时全速前进。
伪代码:带仓位管理的回测撮合
Section titled “伪代码:带仓位管理的回测撮合”把第 4 章的回测引擎升级,将「全仓买入」替换为「以损定仓」:
输入:收盘价序列 close[1..n]、信号序列 s[1..n]、初始资金 C₀、 单笔风险比例 R = 0.02、止损比例 L = 0.08、手续费与滑点cash ← C₀;shares ← 0;buy_price ← 0
对 t 从 1 到 n: # 计算当前总权益 total_equity ← cash + shares × close[t]
# ① 若持有仓位,先检查是否触发止损 若 shares > 0 且 close[t] <= buy_price × (1 − L): 卖出 shares,cash 结算,shares ← 0
# ② 执行昨日买入信号 若 昨日收盘发出买入信号 且 shares == 0: # 计算每股止损金额 per_share_risk ← close[t] × L # 允许的最大亏损金额 max_loss ← total_equity × R # 倒推目标股数(A 股向下取整到 100 的整数倍) target_shares ← floor(max_loss / per_share_risk / 100) × 100
# 资金是否充足 若 target_shares × close[t] <= cash: 以成交价买入 target_shares,扣除手续费 shares ← target_shares buy_price ← close[t]
# ③ 执行昨日卖出信号 若 昨日收盘发出卖出信号 且 shares > 0: 卖出全部持仓,cash 结算,shares ← 0
净值[t] ← cash + shares × close[t]图:全仓 vs 固定风险(动态仓位)对比
Section titled “图:全仓 vs 固定风险(动态仓位)对比”下面用同一段行情、同一个 5/20 双均线策略,对比两种仓位控制方案的净值曲线:
- 全仓模式(100% 仓位):总收益 20.5%,但最大回撤高达 15.7%;
- 固定风险模式(25% 仓位):总收益虽然降至 5.2%,但最大回撤被死死压在 4.3%。
人话读图: 仓位管理是一把双刃剑:它把收益砍掉了一截,但把回撤和波动砍掉了更多。全仓模式在净值腰斩时,普通人的心理防线早已崩溃割肉;而固定风险模式的回撤始终温和可控,能让你稳稳地把策略一直执行下去。
- 倒金字塔加仓。最容易让人爆仓的恶习:初始仓位买 10%,赚了 5% 后信心爆棚加仓到 50%,再涨 5% 索性满仓加杠杆。持仓成本被大幅拉高到顶部,哪怕大盘随后只发生 3% 的微小回调,之前的全部盈利瞬间化为乌有,直接由盈转深套。
- 拿全凯利去赌单次行情。凯利公式算出的下注比例是理论上的几何极值,而且高度依赖胜率估计。真实市场充满极端厚尾风险,一旦参数高估,全凯利会带来无法挽回的本金毁灭。必须用「半凯利」留足容错裕量。
- 忽略 A 股最小交易单位(一手 = 100 股)。在小资金账户上,算出来的理论仓位可能只有 35 股或 150 股,向下取整为 100 股后,实际承担的风险比例可能会发生严重跳跃。
- 单标的仓位风控不等于组合安全。即使每只股票单笔只承担 2% 风险,如果同时买入了 10 只同行业的股票,当行业遭遇利空时,它们会同生共死,瞬间产生 20% 的巨额回撤。这正是下一编要讨论的:如何用投资组合来实现真正的跨策略与跨资产分散。
方法论编到这里彻底完备:我们拥有了清洗合格的数据(第 1 章)、统计语言(第 2 章)、可检验的假设(第 3 章)、严肃的回测引擎(第 4 章)、全方位的绩效与基准指标(第 5 章)、防过拟合封条(第 6 章),以及今天补齐的仓位与资金管理(第 7 章)。
从下一章开始,进入第二编策略案例:我们用这套全副武装的方法论,去拆解经典量化策略。