woojean的博客 模仿、熟练、超越

交易资金管理中一个非常重要的公式

2019-08-17

“执行若干次某任务,某事件连续发生指定次数的概率”在交易中是一个非常重要的问题,数学上专业的名称叫做“游程检验”,长期来看,游程是市场中最主要的交易杀手之一。

比如现在已经找到了一个胜率60%的交易系统,按照这个系统执行100次交易,出现“连续失败10次”的概率有多大?假设每笔交易亏损5%,如果每次交易都是全仓出击,那么一旦碰到“连败10次”这样的事件,总资金将缩水至0.95^10,也就是只剩59.87%,即总资金将回撤近40%。(而这样的事件发生的概率大概为0.58%,详细数据见后文) 更何况大部分系统胜率难以超过50%,趋势跟踪系统胜率通常也就40%不到。

公式:

单独执行一次某任务X,事件A发生的概率为r,执行m次任务X,“事件A连续发生n次”(n<=m)出现的概率为:

Pm = Pm_1 + (1-Pm_n_1)*(1-r)*r^n

其中: P0~Pn_1的概率为0;Pn的概率为r^n

Python代码:

#coding:utf-8
#!/usr/bin/env python
import math
def calculate(r,m,n):
  if (m <= (n-1)):
    return 0
  if m == n:
    return math.pow(r, n)

  Pm_1 = calculate(r,m-1,n)
  Pm_n_1 = calculate(r,m-n-1,n)
  Pm = Pm_1 + (1-Pm_n_1)*(1-r)*math.pow(r, n)
  return Pm


if __name__ == '__main__':
  r = 0.9
  m = 100
  n = 10
  Pm = calculate(r,m,n)
  print Pm

结论: 胜率60%的系统等于失败率为40%的系统,执行100次,连续失败10次的概率为0.5754%


文章目录