冻 骨 铁 心

把爱留在未来的生命里 , 冻僵的筋骨 , 铁了心还是要救你出地狱 . 在凛冽的北风中,温顺可爱的狗,变成了凶恶的狼,
个人资料
正文

ZT 'TCT 交易风险和回报概率计算公式(附程序)'

(2010-02-07 08:12:36) 下一个
感恩节和大家分享一个我最近推导出的炒股概率计算公式。在介绍公式前,试试看你能否回答以下几个问题:

问题 1 假设你每次拿出一半资金来赌,用抛硬币决定胜负,抛 100 次的情况下,你获胜的概率是多少?

问题 2 如果你单个交易胜率为 55% ,每次交易的亏赢风险为 2.5% ,交易 100 次后你获胜的概率是多少? 预期回报是多少?

问题 3 多次交易后的风险和报酬成正比吗?

问题 4 已知交易的胜率,怎样选择风险?

问题 5 某期权交易员的交易胜率只有 20% ,每次交易如果输,将损失 1% 的资金,如果赢,将赚 5% 的资金。多次交易后他能赢吗?

TCT 交易风险和回报 概率计算公式 :

基本的假设:

1 .进行 N 次交易
2 .每次交易的获胜的概率为 W
3.每次交易的或亏 L 或赢 G(风险)
那么在进行 N 次交易后获胜的概率 P 是:

P = P(W,L,G,N)

预期回报E 是:

E = E(L,G,
N) (和风险,交易次数 N 有关,和胜率 W 无关!)





现在用计算结果来回答上面所提出的几个问题:

问题1:

P(50% ,50% ,50% ,100) = 0.33% ,获胜的概率连 1% 都不到。

问题2:

P (55% ,2.5% ,2.5% ,100) = 81.73% , E (2.5% ,2.5% ,100) = 21.67%

问题 3:

见以下计算结果(以 55% 的胜率, 100 次交易, 风险 逐步增加为例):

P (55% , 1.25% ,125% ,100) = 81.73% , E (1.25% ,1.25% ,100) = 10.85%
P (55% , 2.5% ,2.5% ,100) = 81.73% , E (2.5% ,2.5% ,100) = 21.67%
P (55% ,5.0% ,5.0% ,100) = 75.06% , E (5.0% ,5.0% ,100) = 51.74%
P (55% ,10% ,10% ,100) = 69.31% , E (10% ,10% ,100) = 124.57%
P (55% ,15% ,15% ,100) = 61.96% , E (15% ,15% ,100) = 226.87%
P (55% ,20% ,20% ,100) = 46.13% , E (20% ,20% ,100) = 505.41%
P (55% ,25% ,25% ,100) = 38.28% , E (25% ,25% ,100) = 822.36%
P (55% ,30% ,30% ,100) = 30.87% , E (30% ,30% ,100) = 1312.15%

从以上计算结果可见,随着风险的增加,预期报酬也在增加,但获胜的概率同时降低。当风险高过 20% 时,获胜的概率已不到 50% 。在低风险区( 1.25% , 2.5% ),预期报酬基本上和风险成正比( 10.85% , 21.67% )。但随着风险的增加,预期报酬将呈几何增长。例如当风险从 15% 提高到 20% 时,预期报酬从 226.87% 提高到 505.41% !其原因是当风险增加时,复利的影响也迅速增加。所以当所用风险低时,多次交易的报酬和风险基本上是成正比的,但在高风险时报酬成几何增长。

问题 4:

这个问题取决于你想要的取胜概率,用公式可算出在一定的获胜概率下所对应的风险。

问题 5:

能赢!在 50 , 100 , 200 次交易后,他的获胜概率和预期回报分别是:

P (20% ,1% ,5% ,50) = 69.27% , E (1% ,5% ,50 ) = 169.16%
P (20% ,1% ,5% ,100) = 72.88% , E (1%,  5% ,100 ) = 624.46%
P (20% ,1% ,5% ,200) = 83.44% , E (1% ,5% ,200 ) = 5148.49%

用此公式还可以得到许多有趣的结论。将 ’ 交易 ’ 换成 ’ 赌博 ’ ,此公式也一样适用。

祝大家感恩节快乐!来年发大财!



附Excel VBA计算程序

Function WinningProbability(TotalTrade As Double, WinPctPerTrade As Double, Gain As Double, Loss As Double) As Double

Dim MinWins          As Double

Dim Probability      As Double

Dim Wins             As Double

  

   MinWins = Application.WorksheetFunction.RoundUp(TotalTrade * Log(1 - Loss) / (Log((1 - Loss) / (1 + Gain))), 0)

   Probability = 0

   For Wins = TotalTrade To MinWins Step -1

      Probability = Probability + WinPctPerTrade ^ Wins * (1 - WinPctPerTrade) ^ (TotalTrade - Wins) * Application.WorksheetFunction.ComBin(TotalTrade, Wins)

   Next

   WinningProbability = Probability

  

End Function

Function WinningRtn(TotalTrade As Double, Gain As Double, Loss As Double) As Double

Dim MinWins          As Double

Dim TotalRtn         As Double

Dim Wins             As Double

Dim TotalTest        As Double

    MinWins = Application.WorksheetFunction.RoundUp(TotalTrade * Log(1 - Loss) / (Log((1 - Loss) / (1 + Gain))), 0)

   TotalRtn = 0

   For Wins = TotalTrade To MinWins Step -1

      TotalRtn = TotalRtn + (1 + Gain) ^ Wins * (1 - Loss) ^ (TotalTrade - Wins) * Application.WorksheetFunction.ComBin(TotalTrade, Wins)

   Next

   TotalTest = 0

   For Wins = TotalTrade To MinWins Step -1

      TotalTest = TotalTest + Application.WorksheetFunction.ComBin(TotalTrade, Wins)

   Next

   WinningRtn = TotalRtn / TotalTest - 1

  

End Function

[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.