更新於 2024/11/28閱讀時間約 6 分鐘

如何自己做蒙地卡羅模擬?VBA的程式範例說明,有趣的DIY時間

投資風險評估的好工具。讀了書,可以自己做嗎?


raw-image



【Leveraged ETFs A Risky Double That Doesn't Multiply by Two】


論文研究心得(9)



前言

讀書後可以實做看看,實際驗證理論是最好的,這樣才能把知識變成真正有用的工具,這集就是討論一下如何用簡單的VBA工具,來做出屬於自己的蒙地卡羅模擬。程式範例的解說,程式範例在YT頻道會員貼文與方格子沙龍訂閱文中下載。


大綱:

  1. VBA程式範例介紹
  2. 蒙地卡羅模擬的核心程式與參數
  3. 標準差與報酬率計算方法
  4. 歷史股價資料的獲取方式
  5. 蒙地卡羅模擬應用與結果分析
  6. 結論與投資風險評估工具




關鍵字:


#VBA #蒙地卡羅模擬 #投資風險 #標準差 #報酬率 #價格更新公式 #歷史數據 #隨機波動 #資產路徑 #風險評估



系列文

研究心得(1) : 速成重點、作者、槓桿工具的心得、持續槓桿陷阱是什麼?


研究心得(2) : 槓桿ETF的對數正態性現象、長尾效應。


研究心得(3)(頻道會員節目,補充集) :為什麼幾何平均,長期投資波動性會影響很大? 「對數正態分佈」與「正態分佈」比較。


研究心得(4): 論文中槓桿型ETF模擬的長期結果、美國槓桿工具心得、蒙地卡羅模擬。


研究心得(5) :槓桿型ETF與保證金槓桿策略討論彈性更高的開槓方式


研究心得(6) (頻道會員節目,補充集) :蒙地卡羅回測的生活案例討論。


研究心得(7) :為何00631L歷史表現比0050好?


研究心得(8) :00631L與0050蒙地卡羅模擬討論


研究心得(9) (頻道會員節目,補充集) :如何自己做蒙地卡羅模擬?研究心得(10) :00631L高波與00713低波蒙地卡羅模擬,哪個才是最佳的投資核心?


怎麼取得歷史股價資料

網路上有很多管道,可以取得股票的歷史數據,這邊舉例使用

https://hk.investing.com/



在上面可以輸入想要的股票資料,抓取歷史數據。


標準差與報酬率

通過歷史資料,使用VBA計算


年化標準差與報酬率




蒙地卡羅模擬程式

輸入次數,依據需求而定,沒有標準答案,但是至少取得一定客觀的數據較好。


預設是跑10年數據,也可以自己修改喜歡的長度。


填入標的的年化標準差跟年化報酬率,初始價格,即可開始運行程式。



核心程式

程式碼解析



For i = 1 To simulations


這個迴圈會重複執行 simulations 次,每次模擬一次資產的價格路徑。


price(i, 1) = S0


每次模擬的第一步都設定初始價格 S_0S




0為起始點(例如股票的當前價格)。


For t = 2 To timeSteps


這是內部迴圈,用來模擬每個時間步的價格變化。timeSteps 代表將要模擬的總時間步數。



核心程式

randNumApplication.NormSInv(Rnd())


使用亂數生成正態分佈的隨機數:Rnd() 生成 [0, 1)[0,1) 區間內的均勻分佈亂數。


Application.NormSInv() 將此均勻分佈轉換為標準正態分佈的亂數 N(0, 1)N(0,1)。


price(i, t) = price(i, t - 1) * (1 + dailyReturn + dailyVolatility * randNum)


這是 價格更新公式。




price(i, t - 1) 是前一時間步的價格。


dailyReturn 是每日的期望報酬率(可能為正或負)。


dailyVolatility 是每日波動率(衡量價格變化幅度的標準差)。


randNum 是正態分佈的隨機數,用來模擬隨機波動。


此公式表示:下一步的價格是基於前一步的價格,加入了預期報酬率及隨機波動的影響。


finalReturns(i) = (price(i, timeSteps) / S0) - 1


計算最終回報率:


最終價格與初始價格的比例,減去 1,得到此條價格路徑的回報率。



結果輸出

可計算出各種報酬率,其中最低報酬要注意,跟標準差。



如果標的的中位數報酬跟平均報酬越接近,代表波動較小,比較容易取得平均報酬。




結論

蒙地卡羅模擬其實不會太難,只要有標的的標準差跟報酬率就可以通過亂數算出最好報酬、最差報酬跟標準差情況。


比較適合當有複數個標的做比較或是想搭配組合時,可以通過工具找出比例最佳解,就會是一個很好用的工具。


有一個簡單的方法,讓你知道最壞的情況是什麼,風險在哪裡,就是投資風險評估的好工具。


範例下載

00631L 計算年化標準差_2017(分享).xlsm

00631L蒙地卡羅模擬_2017_20241029(分享)


---

Podcast收聽入口|社群入口|節目目錄: https://cutt.ly/AwesomeMoney

威利財經角YouTube


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.