2016年4月17日 星期日

輕鬆用Excel函式做蒙地卡羅分析(上)

蒙地卡羅分析又被稱作統計模擬方法,是一種利用電腦強大計算能力產生大量模擬資料以供分析的方法。


但是在什麼情況之下會用到它呢?

下面先來個不會用到它的簡單例子(先備知識),
【假設長期聘請顧問給予公司經營上的建議,
據信可以讓每個月的利潤較聘請顧問前增加4%~8%。】
某公司目前每個月的利潤是500萬元,
(顧問費用/每月)應該要控制在多少以下,才能確信這八成是個賺錢的交易?

這樣的問題不需要用到蒙地卡羅分析,我們來小試身手:
『Step1:
每個月利潤增長率為4%~8%(換算利潤為20萬~40萬),
我們可以簡單估算出增長率的標準差大約為1.2%(換算利潤為60,790元),
(常態分佈中,數值有90%的機會坐落在±1.645個標準差內,
故對於大部份的資料區間,我們可以直接除以(1.645*2)來得到估計的標準差。)

Step2:
接下來我們要找出下圖的X點("八成"是個賺錢的交易),
Excel中有個函式可以解決這個問題,
叫做NORM.INV(累積機率, 平均值, 標準差),
它可以給出在特定累積機率下,常態分佈曲線上的值,
在這個例子上即是NORM.INV(20%, 300000, 60790),
可以得出248838元這個數字,
也就是說聘請顧問後所增加的利潤有80%以上的機率大於248,838元,
因此若能控制顧問成本在一個月248,838元以下,則這八成就是筆賺錢的交易了。』

注:
與NORM.INV成雙成對的是NORM.DIST函數,
詳細為NORM.DIST(某值, 平均值, 標準差, 是否為累積機率),
它會給出某值在常態分配中的累積機率。
舉例來說:
『NORM.DIST(248838 ,300000 ,60790 ,TRUE)的值就是近似於20%了』

下一篇文章中,我們會討論更多相關的函數,
以及它們在蒙地卡羅分析法中的應用。




5 則留言:

  1. 版主你好,先謝謝你的分享。文中有不解之處: "....每個月利潤增長率為4%~8%(換算利潤為20萬~40萬),我們可以簡單估算出增長率的標準差大約為1.2%..."
    其中,1.2%是如何計算出來,實在是沒有頭緒,可否請版主列出算式,謝謝!

    期待版主蒙地卡羅分析(下) !!!

    回覆刪除
    回覆
    1. Hello Allen,

      若資料適用於常態分布(高斯模型)時(像是壽命、身高、體重..等等),數值有90%的機會坐落在平均值±1.645個標準差內、95%的機會坐落在平均值±1.96個標準差內...。

      也因此在處理資料區間時(像是文章裡的每個月利潤增長率為4%~8%)我們可以假定這是某個信心水準下得出的範圍,文章裡設定這是90%信心水準下的區間,也就是:「利潤增長率平均值為(8%+4%)/2,90%信心水準下的上下界分別為4%與8%,因此利潤增長率的標準差為(8%-4%)/3.29=1.2%。」

      如果有任何問題請再留言~


      刪除
  2. 再進一步請教,(8%-4%)/3.29=1.2%,這裡的 3.29 是怎麼來的? 查表?

    回覆刪除
    回覆
    1. Allen您好,因為我們假設8%~4%是信心水準90%的上下兩界限,隱含著平均值±(1.645個標準差)=8% & 4%,所以(8%-4%)/3.29=1.2%中的3.29指的是2*1.645的意思

      刪除
  3. 請問蒙地卡羅可以做銷售額模擬嗎?例如50萬到100萬之間做常態分配亂數是嗎?
    函數如何打呢?謝謝

    回覆刪除