接續前篇 選擇權評價-BS MODEL (with Excel) ,波動率主要有歷史波動率和隱含波動率兩種,此篇要先要紀錄的是歷史波動率。以 L 自己的交易心得來比喻波動率的話,瞭解波動率之前,看期權交易是方向和時間這二維的平面,瞭解波動率之後,看市場和策略像是立體的三維,方向、時間和波動。
在使用上,這個值不只對選擇權交易很重要,波動率本身就是選擇權評價重要的一個因素,不瞭解它的話,幾乎可以說別玩了。對於期貨交易也非常有參考價值,在期貨程式交易方面,也可以是不錯的濾網,甚至作為主要邏輯也可以。
歷史波動率的計算方法是: 一段期間內的收盤價計算的年化報酬率標準差,這句話不像中文,但其實不會很複雜,拿EXCEL作簡單的五日波動率範例,如下圖。
步驟是
- 列出日期和收盤價
- 把收盤價取Log,紀錄在C欄,例如C7的公式是=LN(B7)
- 計算報酬率,就是Log相減,例如D7的公式是=C7-C6
- 計算五日標準差,例如E7的公式是=STDEV(D3:D7)
- 將標準差年化,例如F7的公式是=E7*SQRT(252)
這樣就計算好了,剛好可以看到這五日台指的歷史波動率算出來只有5.09%,真是低的可怕。
再來補充在Multicharts把歷史波動率寫成指標的語法,如下圖。
計算就和上列的步驟一樣,這個指標可以算兩個期間的歷史波動率,參數是20和60,畫出來的圖如下。
有了圖就可以觀察行情和波動率的走勢,一般來說,多頭時波動率低,空頭時波動率高。或是換個角度說,波動率高行情大,波動低行情小。以這樣的特性來說,就可以作為濾網和交易邏輯了。
深入一點的再紀錄,以上兩個範例計算最近的台指,五日是5.09%,二十日11.97%,表示台指波動是壓縮中(而且壓的很小),那這個波動率的數值意義是什麼?
以波動率10%來舉例,這是年化的(計算中有乘一個根號252),假設台指現在8400點,10%是840點,表示一年之後台指在7560~9240點(8400加減840點)的機率大約是68%,這個時間和空間可能比較沒概念。來算一個月的試試,10%是年化的,月的就再除根號12,等於2.89%,等於8400*2.89%=242點,表示一個月之後的台指在8158~8642點的機率是68%。那麼,假設你覺得台指的波動應該會大於這個幅度時,就應該作多波動率。
以上所述,要再嚴謹一點的說,68%就是正負一個標準差的常態分配下的機率,實際上指數分配並不是常態分配,這是另一個要深入的主題。要簡單明瞭的說,波動率越大就是波動大,比較會有行情,K線也可能比較大根,這樣就好了。
最後再整理一下,之後要繼續紀錄的是波動率在下列幾項的應用
- 作為程式的濾網
- 作為主要交易邏輯的測試 ( 歷史波動率策略設計 )
- 選擇權與隱含波動率 (隱含波動率 (with EXCEL VBA、C#) )
站長您好,冒昧的請問一下,
回覆刪除1.為什麼波動率年化是 *252的開更號?
2.那如果不年化的話,看圖形是不是仍然能夠得到波動率大,K像長的結論(因為乘一個一樣的數值)
hi,steve,
回覆刪除252是交易日的日數,這篇例子是以交易日來計算的,如果你要用日曆日也可以,就乘根號365。
若你想瞭解的是為什麼要開根號,可能就要請J來推導說明一下才會清楚,我並不是非常確定,怕會誤導。
每個數值乘相同的數值可以看的出各別的大小,但任意數值會失去年化的意義,例子中有說明年化後的波動率代表的意思囉。
1.是的。我不明白為什麼要開更號。
回覆刪除2.我會問( 如果不年化的話...)這問題,是因為我原始思考就沒有年化。當初我以為參數就已經代表一段期間了。哈哈哈
Thanks
HI,STEVE
回覆刪除我問了J這個問題,他的回答是:
"要解釋那個開根號年化的問題,關鍵是,假設每日的波動率是獨立的才成立(一般根號法的假設),
因此變異數的可加性,使得每日標準差先平方變成變異數之後,乘上天數,再開根號就形成了。"
這種統計公式的推論我自己有些都是記下來而已QQ
舉個例來說明試試,如果有錯,J會糾正我。
假設我們有了每日波動率 10,要算年化的波動率就是 10*(根號252) = 158.745
詳細原因是,這個10是標準差,若要計算不同期間,要先轉回變異數,
變異數就是標準差的平方 = 10*10 = 100,這個100 再乘天數 252 = 25200,
求得年化的變異數,那年化的標準差就是再開根號,(根號25200) = 158.745,就算出來了
這樣的解釋應該比較容易瞭解了QQ
明白。好像有勾起我統計學的一點回憶XD。
回覆刪除關鍵是,假設每日的波動率是獨立的才成立(一般根號法的假設)--->這裡我在去查一下,不記得這個地方。
感謝站長的回答。
不客氣 :}
回覆刪除您好,我測試了在 MC 裡的 LOG,但精確度好像只能到小數位兩位,導致結果和Excel結果差距頗大,不知道是否有可能提高 MC 的小數位呢?
回覆刪除謝謝您
抱歉,我找到答案了,請您忽略我這個留言,謝謝您
回覆刪除:)
回覆刪除請問L
回覆刪除價格波動率 也就是 年度化標準差 如何計算
stddev( c[1]/c -1 ,len )*根號 252 ;
這樣對嗎
另外 LEN 要取幾天ㄋ
HI synn
回覆刪除請參考
歷史波動率2 – 期間選擇