使用Excel創建Monte Carlo仿真

基本分析

基本分析的工具

使用Excel

創建MonteCarlo仿真

  • FACEBOOK

  • 推特

  • linkedin.


通過


工作人員
更新了1月2日,2020


目錄

  • MonteCarloSimulation

  • 骰子遊戲

  • 步驟1:骰子滾動事件

  • 步驟2:結果範圍

  • 第3步:結論

  • 步驟4:骰子卷數

  • 步驟5:仿真

  • 步驟6:概率

可以使用MicrosoftExcel和Dice遊戲開發MonteCarlo仿真。MonteCarlo仿真是一種數學數字方法,使用隨機抽取來執行計算和復雜問題。今天,它被廣泛使用並在各種領域中扮演一個關鍵部分,例如金融,物理,化學和經濟學。

鍵Takeaways

  • MonteCarlo方法旨在使用隨機和概率方法來解決複雜問題。
  • 可以使用MicrosoftExcel和骰子遊戲開發MonteCarlo仿真。
  • 數據表可用於生成結果-總共需要5,000個結果來準備MonteCarlo仿真。

蒙特卡羅模擬

MonteCarlo方法由JohnVonNeumann和StanislawUlam在20世紀40年代發明,並尋求使用隨機和概率方法來解決複雜問題。蒙特卡洛術語是指摩納哥的行政區域,被稱為歐洲精英賭博的地方

MonteCarlo仿真方法計算積分的概率並解決部分微分方程,從而引入概率決策中的風險統計方法。雖然存在許多高級統計工具來創建MonteCarlo模擬,但使用MicrosoftExcel和繞過數學底線,更容易模擬正常法律和統一法律。

何時使用MonteCarlo仿真

當問題太複雜並且難以直接計算時,我們使用MonteCarlo方法。使用模擬可以幫助提供證明不確定的情況的解決方案。大量迭代允許模擬正態分佈。它也可以用來了解風險如何工作,並理解預測模型中的不確定性。

如上所述,模擬通常用於許多不同的學科,包括金融,科學,工程和供應鏈管理-特別是在遊戲中有太多隨機變量的情況下。例如,分析師可以使用MonteCarlo模擬來評估包括選項的衍生品或確定包括公司可能違約的可能性的風險。

骰子遊戲

對於蒙特卡羅模擬,我們隔離了許多控制和描述實驗結果的關鍵變量,然後在執行大量隨機樣本後分配概率分佈。為了演示,讓我們拍一場骰子作為模型。以下是骰子遊戲卷的方式:

•玩家拋出三個骰子三次。

•如果三次拋出的總數為7或11,則玩家獲勝。

•如果三次投擲總數是:三,四,五,16,17或18,球員丟失。

•如果總數是任何其他結果,則玩家再次播放並重新滾動骰子。

•當播放器再次拋出骰子時,遊戲以相同的方式繼續,除了當播放器時贏得總和等於第一輪中確定的總和。

還建議使用數據表來生成結果。此外,需要5,000個結果來製備蒙特卡羅模擬。

為了準備MonteCarlo仿真,您需要5,000個結果。

步驟1:骰子滾動事件

首先,我們開發一系列數據,其中包括50輥的三個骰子中的每一個的結果。為此,建議使用“RANDBETWEEEN(1,6)”功能。因此,每次單擊F9時,我們會生成一組新的捲效果。“結果”細胞是三輥的結果的總和。

步驟2:結果範圍

然後,我們需要製定一系列數據以確定第一輪和後續輪的可能結果。有一個三列數據范圍。在第一列中,我們的數字一到18.這些數字代表擲骰子後的可能結果三次:最大值為3×6=18.您將注意到,對於一個和兩個,對於細胞,結果是n/a,因為不可能使用三個骰子獲得一個或兩個。最小是三個。

在第二欄中,包括第一輪之後的可能結論。如初始聲明中所述,播放器贏得(獲勝)或失去(丟失),或者他們重放(重新滾動),具體取決於結果(三個骰子卷的總共)。

在第三列中,註冊了對後續輪的可能結論。我們可以使用“if”功能來實現這些結果。這確保瞭如果所獲得的結果相當於在第一輪中獲得的結果,我們贏得了,否則我們遵循原始播放的初始規則以確定我們是否重新滾動骰子。

步驟3:結論

在這一步驟中,我們確定了50個骰子卷的結果。第一個結論可以通過索引功能獲得。該功能搜索第一輪的可能結果,結論對應於所獲得的結果。例如,當我們滾動六時,我們再次播放。

可以使用“或”功能,使用“或”功能和折衷函數在“if”功能中嵌套索引函數來獲取其他骰子卷的發現。這個功能告訴Excel,“如果上一個結果贏或丟失,”停止擲骰子,因為一旦我們贏了或丟失我們就完成了。否則,我們轉到以下可能的結論中的欄目,我們確定結果的結論。

步驟4:骰子卷數

現在,我們確定丟失或獲勝前所需的骰子卷數。為此,我們可以使用“countif”函數,這需要Excel計算“重新滾動”的結果並將數字添加到它。它增加了一個,因為我們有一個額外的回合,我們得到了最終結果(勝利或丟失)。

步驟5:仿真

我們開發了一種跟踪不同模擬結果的範圍。為此,我們將創建三列。在第一列中,包括的數字之一是5,000。在第二列中,我們將在50滴輥後尋找結果。在第三列中,列的標題,我們將在獲得最終狀態(獲勝或丟失)之前查找骰子卷數。

然後,我們將通過使用功能數據或表數據表(此靈敏度將插入第二表和第三列)來創建一個靈敏度分析表。在這種敏感性分析中,必須將一到5,000的事件數插入到文件的單元格A1中。實際上,人們可以選擇任何空的細胞。這些想法只是每次強制重新計算,從而獲得新的骰子卷(新模擬的結果)而不損壞公式。

步驟6:概率

我們最終可以計算獲勝和失敗的概率。我們使用“countif”功能來執行此操作。該公式計數“勝利”和“丟失”的數量,然後除以總體事件,5,000,獲得另一個的比例。我們終於看到獲得勝利結果的可能性是73.2%,因此丟失結果是26.8%。