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

发布于: 修改于:雪球转发:0回复:0喜欢:4

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

比如现在已经找到了一个胜率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%。

$贵州茅台(SH600519)$ $正邦科技(SZ002157)$ $亚星客车(SH600213)$