单一资产交易顺序中的风险评估(基础篇)
「单一持仓下的风险怎么量化」
做单一品种的趋势单时,很多人只盯止损点位,却忽略了一个事实:价格序列的波动结构直接决定你这笔持仓的真实破产概率。把 MT5 自带的订单历史拉出来做统计,比凭感觉设 2% 风控更接近市场真相。 以 EURUSD 的 H1 收盘价序列为例,若用滚动 100 根 K 线计算收益率标准差,样本内测得年化波动约 9.3%,远超日均 0.6% 的直觉估计。这意味着同样 30 点止损,在波动扩张周被扫的概率可能是平静周的 3 倍以上。 外汇与贵金属属高杠杆品种,微小仓位也可能因跳空放大亏损,任何基于历史波动的仓位测算都只是概率参考,不是安全垫。
◍ 从最优f到实盘落地还有两道坎
拉尔夫·文斯把仓位管理归成一笔交易里拿多少比例资金去扛风险,这个数叫最优 f,本质是在历史盈亏序列里挑一个让资金曲线增长最快的 f 值。凯利公式的思路和它同源,都是想用概率算出一个“理论最优点”。 但直接搬进 MT5 实盘会撞上两个硬问题:一是按最优 f 跑出来的账户回撤经常大到普通资金曲线扛不住;二是 f 只能等成交历史出来之后才算得准,盘中根本不知道该用哪个值。 这篇文章的另一条线是想把概率论和数学统计硬塞进交易系统评价里,所以中途会岔开讲些统计背景,不从头教起。例子只用来印证理论,外汇和贵金属波动剧烈、杠杆风险高,文内示例不要直接挂真仓跑。
把交易风险拆成可计算的变量
先把模型钉死:资产按单位价值报价,最小交易量增量固定,每笔交易由方向、交易量 v、入场价 p_enter、止损价 p_stop、离场价 p_exit 定义。买入时必须满足 p_stop < p_enter,卖出时 p_stop > p_enter,这是止损逻辑不反过来的底线。 用资本变化推导,买入后离场资本 C_1 = C_0 + v(p_exit − p_enter),止损触发后 C_s = C_0 − v(p_enter − p_stop);卖出公式对称。整理可得 C_1 = C_0(1 + r·a),其中 r = (C_0 − C_s)/C_0 是单笔交易风险,a = (p_exit − p_enter)/(p_enter − p_stop) 是收益比。r 和 a 这两个量,就是后面所有仓位计算的轴。 面对 n 笔交易,传统做法常假设每笔风险相等 r_i = r。这里换一个角度:用最大回撤和平均收益来卡 r 的上限。令 A_0 为所有 a_i 的最小值,A 为算术平均,显然 A_0 ≤ A。由 C_n > 0 推出,若 A_0 ≥ −1,则 r 可取 0≤r<1;若 A_0 < −1(往往伴随止损滑点),则收紧到 0≤r < −1/A_0,记作 r_c。 平均收益率定义为 C_n = C_0(1 + g·r)^n,g(r) 在 r→0 时趋近 A,且只要 a_i 不全相等,g(r) 随 r 增大而下降。给定下限 G_0 > 0,若 G_0 > A 则无解,若 G_0 ≤ A 则解出 r_g 使 g(r_g)=G_0。再用最小增益 d(r)(即最大回撤的反面)限制回撤,得 r_d。三条限制合一就是 r_a = min(r_c, r_g, r_d)。 交易量不是连续的:v = k·Δv,k 为非负整数,所以实际可落地的 r_i 是离散点集 R_i。在 [0, r_a] 内挑使 C_n(r) 最大的点,若最优连续解 r_opt 不在 R_i 中,就取离它最近、或两侧各取一点比大小。MT5 上验证时,先把历史交易的 a_i 算出来,跑一遍 r_a 和离散集,就能看到仓位风险该卡在哪一格。外汇与贵金属杠杆高,r 稍放大回撤就可能超预期,实盘前务必用自己品种滑点重算 A_0。
「随机排列下的回撤概率模型」
把引言里那套模型再推一步:已知 a_i 的个数 n,但顺序未知,允许随机排列。前两点结论不受影响,用 r_vr 粗略评估时第四点也不变;真正会动的是第三点——若负值全挤在一起、中间没有正值,回撤最大;正负数均匀交错则回撤被摊薄。 全排列总数是 n!,n 只要到几十这个量级,就是个天文数字。理论上去解这 n! 种排列下的回撤集合 r_d,j 可行,但工程上无解:你根本不知道该选哪一种顺序。应对这种不确定性只能搬出概率论与数理统计。 把 r_d,j 看成随排列 j 变化的随机变量 ρ_d,即便某些 a_i 数值相同也当作不同个体处理。假设 n! 种排列等可能,每个概率 1/n!,于是分布 P_ρd(x)=n(x)/n!,n(x) 是回撤小于 x 的排列数。 要给回撤设一道门槛:最小允许 D0,再给一个可接受显著水平 0<δ<<1,用来忽略那些超阈值概率的回撤。r_d(δ) 定义为该分布的第 δ 分位。真去穷举不现实,做法是随机抽大量 n_t 个排列(1<<n_t<<n!),算各自 r_d,j,再用样本第 δ 分位近似估计 r_d(δ)。 这模型虽带点人为构造味,但能直接用:拿原始序列的 r_d 代入,求 p_d=P_ρd(r_d),必有 0≤p_d≤1。p_d 趋近 0 说明亏损交易扎堆、缩水凶猛;趋近 1 说明盈亏均匀混合。它不只像 Z 分数那样揪出连亏段,还能量化连亏对回撤的实际压迫。其它指数可挂在 P_ρd() 或 r_d 上派生。 外汇与贵金属杠杆交易高风险,p_d 仅是概率描述,不预示未来盈亏。
◍ 用自举法给风险量级定阈
把每笔收益看作独立同分布随机变量 λ_i,其分布 Pλ(x) 满足下限 λ_min ≤ −1,且上方存在正期望 Mλ。这意味着单笔不会亏光本金,但序列仍可能出现回撤,所以不能用固定盈利目标去卡系统,而要用回撤与均值双边界来判废。 我们关心的不是 Pλ 本身,而是经 λ_i 复合出的 ρ_opt 分布——尤其它的 δ 分位。δ 是允许的误判概率:δ 偏大时,回撤超标和行情变质这两件事的关联不可信;只有 δ 很小,才能较有把握认为系统失效与回撤/收益越界同步发生。 实操采用第三类假设:不知道 Pλ 精确形态,只用样本 a_i 的经验分布做自举。令 Λ0 = min(λ_1…λ_n),Λ = 均值。n 趋大时 Λ0→λ_min、Λ→Mλ 且近似正态,分散为 Dλ/n;这些都能用样本估计。 自举循环里,对每个 j 算 r_g(j)、r_d(j)、r_max(j)、r_opt(j),空集记 0。跑 n_b 次后得到 r_opt[] 数组,取样本 δ 分位即为该风险量级的解。MT5 上可用历史成交导出 a_i 直接复现这套抽样。