隨機布朗模擬驚人的結果
前幾天我在 Excel 中玩耍,為我設計的一個簡單遊戲模擬可能的權益曲線/損益路徑。該遊戲實際上是在嘗試找到最佳的風險管理策略。
我從初始資本開始:100。在每次增量中,您都有機會在擲硬幣時冒一定比例的資本風險,在每個時間段,您可以在每次擲硬幣時獲得/失去您下注的金額。例如,在最初的拋硬幣中,如果您賭了 25% 的本金,您可以贏 25 也可以輸 25。每次拋硬幣獲勝的可能性為 50%,失敗的可能性為 50%。
我在 10 次拋硬幣中模擬了超過 4000 條可能的 P/L 路徑,而且我的勝率一直低於 50。每次拋硬幣的投入越多,我輸的越多。我玩的硬幣越多,我的勝率下降得越多。(注意,我對勝率的定義是在第 10 次投擲結束時,有多少模擬以最終資本大於我的初始資本 100 結束)
所以我後來決定根據我是否贏/輸了之前的硬幣翻轉來改變我在每次硬幣翻轉上的投資百分比。換句話說,如果最後一次拋硬幣贏了,我投資的 % 金額將是 $ x $ 如果我失去了之前的硬幣翻轉我投資的百分比金額將是 $ y% $ . 我得出了相當驚人的結果。我發現如果我失去了前一次的翻轉,我應該增加我在下一次翻轉時的投資金額。對於 10 次翻轉中的 4000 次模擬,我得出的投資金額百分比為 53% $ x=3 $ 和 $ y=16 $ ,即,隨著您輸得越多,您的下注規模就會越大。這有什麼理由嗎?有沒有人從類似的模擬中得出類似的結論。如果有人想看一下,我很樂意發布 Excel 電子表格。
當我執行這個模擬時,我看到了相同的結果,這是有道理的。
對於直接的 50%/50%,我發現我的勝率約為 38%,而我的失敗率約為 61%。不是 50/50 的原因是,如果我連續進行向上翻轉,我的價值可能會繼續上升,但如果我連續向下翻轉,我會 0 出局,並且由於我輸掉了所有的錢,所以序列將不得不結束。 ..由於它是隨機的,歸零的機會並不是那麼不可能。
當我將翻轉次數從 10 增加到 100 時,我的勝率下降到 9%,而我的失敗率約為 90%。
當我嘗試使用基於先前結果修改 % 的替代方法時,結果更糟。在 10 次翻轉時,10000 人中只有 7 人賺了錢,在 100 次翻轉時,0 人倖免於難……
輕微修正 這並不是說你要歸零,而是如果你減去 25% 然後加上 25%,你最終不會得到相同的數字。因此,如果您從 100 開始有 3 次連續減法,然後是 3 次連續加法,您最終得到 ~82。
當我將程式碼更改為使用 +/- 而不是百分比的絕對值時,我得到 30% 的勝利和 60% 的損失。當我移除 0 處的止損使其變為負數時,它會變為 50/50。這與我是否在贏/輸時使用固定金額或是否使用備用 x/y 策略無關。
有趣的旁注
我不確定你的遊戲實際上是什麼,但也許這個關於 Random Walks 的頁面可能會感興趣:http ://en.wikipedia.org/wiki/Random_walk 。他們在右側有一個很好的圖表,顯示了從 0 開始並以隨機向上/向下模式移動的多個系列。
沒有特殊設備,電腦無法生成真正的隨機數,請閱讀http://en.wikipedia.org/wiki/Hardware_random_number_generator了解更多資訊。
在普通電腦或 excel 偽隨機數生成中,通常看起來像是在同一個硬編碼表上一遍又一遍地走來走去,其中基於時間的播種和一些模運算。
我認為您在收支平衡遊戲中使用某些參數獲得更好結果的結論恰好適合硬編碼數據中的偽隨機數生成器模式。
首先,您應該使用其他隨機數生成流,例如http://www.random.org/(真正的隨機數),並使用該數據在第一個算法中收斂到 50%(50/50,相等的增益/損失),之後,您可以開始測試假設。