仓位管理
仓位管理(position sizing)是在某一次入场上决定下多少手的过程:它由交易者愿意在止损被打掉时承担的金额、以跳动点计的止损距离,以及该品种的每跳价值推导出来,并受账户单日亏损和回撤规则的约束。
Senzoukria · 术语表 · 更新于 2026 年 9 月
算术本身
从这笔交易的风险预算出发,也就是止损被打掉时会亏掉的现金金额。用它除以「以跳动点计的止损距离 × 该合约的每跳价值」。结果向下取整,就是手数。由于期货只能按整手交易,小账户在标准合约上常常会取整成零——这正是微型合约存在的一个理由。
同一笔交易用 R 来表示,就能让不同的仓位具有可比性:一个 R 就是入场时所冒的现金风险,而每个结果都被表示成它的倍数。一笔冒了 8 美元风险却赚了 40 美元的交易,和一笔冒了 40 美元风险也赚了 40 美元的交易,用美元算都是 40 美元,用风险单位算却分别是 5R 和 1R。
凌驾于公式之上的约束
- 单日亏损上限:适合单笔交易的手数,可能让这一天再也承受不了第二次亏损。仓位既是「每笔」的问题,也是「每天」的问题。
- 最大回撤,无论是跟踪式还是固定式:仓位越大越早触到亏损阈值,而且毛结果和按手计的成本都会随手数一起增长。
- 最大持仓:自营公司的规则和交易者自己的设置都会给手数封顶,公式说了不算。
- 波动性:同样的跳动点距离,在安静的日子和有消息的日子里,占一个时段波动幅度的比例并不相同。已实现波动率和时段风险预算能为止损距离提供背景。
仓位和止损是同一个决定
止损放在市场否定这个想法的地方,由它决定手数;先定手数、再硬凑一个止损,就把逻辑颠倒了过来,结果是止损太紧,扛不住正常的噪声。「否定点在哪里」是一个看图的问题,要参考成交过的价位、分布形态和成交量打印的位置;而「这允许下多少手」则是一道算术题。
在 Senzoukria 里
下单票据会套用设置里配置的护栏:单笔委托的最大手数、发送前的确认,以及单日亏损上限;Flatten 可以在任何界面一键平掉全部持仓,而且没有一张委托会在没有点击的情况下发出去。自动驾驶面板有它自己的 Max contracts 和 Max daily loss 字段,作用于已布防的策略。回测面板里的自营公司模拟会对名为 Max drawdown、Daily loss limit 和 Position size 的规则建模,并说明什么时候它无法裁定某条规则,例如当交易不带偏移数据时,那条跟踪浮动盈利的回撤规则就无法判定。交易日志会连同上下文记录每笔交易的手数,而回测的 R 汇总会报告有多少比例的交易带有止损,因为没有止损的交易就没有 R。
常见错误
- 按目标位而不是按止损来定手数。
- 无论止损距离多远都用同样的手数,结果每笔交易的风险在不知不觉中不断变化。
- 忽略按手计的手续费会随手数成比例增长,而账户的亏损上限并不会。
- 赢了几笔之后就加手数,却不重新核对单日上限和回撤底线。
相关内容
其他语言版本
常见问题
- 怎么把一个风险金额换算成手数?
- 用你能接受在这笔交易上亏掉的现金,除以「以跳动点计的止损距离 × 该合约的每跳价值」,然后向下取整成整数。如果算出来是零,说明在这个风险预算下,止损对这份合约来说太宽了;诚实的答案是换微型合约或换一个交易机会,而不是把止损收紧。
- 仓位大小应该随波动率变化吗?
- 如果止损是按图上的价格定的,那么波动更大的时段通常需要更宽的止损,因此在同样的风险下手数更少。如果止损是固定的跳动点数,波动率升高会让它更容易被噪声扫到。无论哪一种,应当保持稳定的是风险金额,而不是手数。
- 桌面端的手数限制能代替自营公司的规则吗?
- 不能。Max contracts 和单日亏损上限这类应用层限制,是交易者这一侧的护栏。自营公司自己关于回撤、一致性和持仓规模的规则独立生效;回测面板里的自营公司模拟会说明,凭它手上的交易数据,哪些规则能裁定、哪些不能。