【Leveraged ETFs A Risky Double That Doesn't Multiply by Two】
論文研究心得(9)
讀書後可以實做看看,實際驗證理論是最好的,這樣才能把知識變成真正有用的工具,這集就是討論一下如何用簡單的VBA工具,來做出屬於自己的蒙地卡羅模擬。程式範例的解說,程式範例在YT頻道會員貼文與方格子沙龍訂閱文中下載。
大綱:
關鍵字:
#VBA #蒙地卡羅模擬 #投資風險 #標準差 #報酬率 #價格更新公式 #歷史數據 #隨機波動 #資產路徑 #風險評估
研究心得(1) : 速成重點、作者、槓桿工具的心得、持續槓桿陷阱是什麼?
研究心得(2) : 槓桿ETF的對數正態性現象、長尾效應。
研究心得(3)(頻道會員節目,補充集) :為什麼幾何平均,長期投資波動性會影響很大? 「對數正態分佈」與「正態分佈」比較。
研究心得(4): 論文中槓桿型ETF模擬的長期結果、美國槓桿工具心得、蒙地卡羅模擬。
研究心得(5) :槓桿型ETF與保證金槓桿策略討論彈性更高的開槓方式
研究心得(6) (頻道會員節目,補充集) :蒙地卡羅回測的生活案例討論。
研究心得(7) :為何00631L歷史表現比0050好?
研究心得(8) :00631L與0050蒙地卡羅模擬討論
研究心得(9) (頻道會員節目,補充集) :如何自己做蒙地卡羅模擬?研究心得(10) :00631L高波與00713低波蒙地卡羅模擬,哪個才是最佳的投資核心?
網路上有很多管道,可以取得股票的歷史數據,這邊舉例使用
在上面可以輸入想要的股票資料,抓取歷史數據。
通過歷史資料,使用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_20241029(分享)
---
Podcast收聽入口|社群入口|節目目錄: https://cutt.ly/AwesomeMoney
威利財經角YouTube