凍 骨 鐵 心

把愛留在未來的生命裏 , 凍僵的筋骨 , 鐵了心還是要救你出地獄 . 在凜冽的北風中,溫順可愛的狗,變成了凶惡的狼,
個人資料
正文

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)
評論
目前還沒有任何評論
登錄後才可評論.