怎樣無套利波動率曲面?
假定由市面上有的有限數量的期權報價反推出相應的隱含波動率,怎樣才能擬合出一個無套利波動率曲面呢? 大致的思路是怎樣的?
任何思路, 參考資料都歡迎
最近我正好在做這個,目前還沒擬合出一個特別好的曲面(能儘可能match市場上listed option price)
總的來說,這是個非常困難的工程(如果你不是在一個大型金融機構,有多個相關經驗的人支持的話)目前比較簡單的solution是local vol或者heston vol。簡單來說,heston vol的難點在於optimization那一步涉及數值積分,而如果你要fit整個surface,你的目標函數是一個sum of error squares,每一個option對應一個expiry和strike,需要單獨計算一次數值積分,給定一組參數,就需要計算n次數值積分(n等於surface上observed option prices)。這樣優化下來最後會有非常多局部解。。而另一個難點在於優化的參數太多,梯度很難計算。。我calibrate時基本無法拿到make sense的參數Local vol的問題在於,首先需要smooth implied vol或者price surface(這裡已經有一萬篇papers和methodologies了,主流的是一種regularized spline,還有的帶有arbitrage-free 性質,例如Fengler的),而且在smoothing前往往還有個pre-smoothing步驟。smoothing非常關鍵,因為最後的local vol對smoothing很敏感。個人感覺這一步清洗數據也非常關鍵,拿掉那些明顯偏離arbirage free的點。而我做quick implementatio時基本是把整個surface扔進algo,這可能是造成我的IV surface一直不太好的原因(smooth以後離market IV很遠)值得一提的是,最近看了bloomberg文檔,他們用的log-normal mixture model (Brigo 2002),還沒功夫去研究。
拿到smoothed IV surface以後就可以用Dupire公式計算local vol了我這裡只是提出了一些implementation的困難,還望大神指教貌似你的問題只是smooth implied vol surface,那看這篇就好(Fengler)http://www.ssoar.info/ssoar/bitstream/handle/document/22137/ssoar-2009-04-fengler-arbitrage-free_smoothing_of_the_implied.pdf?sequence=1我們自己有開發波動率曲面調試工具,分享一下心得:
- 只考慮真正有人Trade的檔期,太遠期的不考慮,數據太少,實用度太低;
- 把能拿的數據都拿下來;
- 洗好數據;
- 檔期間(調整完分紅後)去Interpolate缺失數據效果要優於同檔期內不同執行價Interpolate
- 實在沒把握就把Bid/Ask拉寬點
Interpolate的話可以考慮Cubic Spline(檔期間適用)和SVI(同檔期內適用)。
如果只是做Plain Vanilla Call/Put(不帶Barrier、Knockout、Knockin之類的)上述的就夠了,比較exotic的考慮用local stochastic vol來確保整個曲面都是arb free。
是哪種類型的波動率曲面? Equity 可以參考Jim Gatheral的SSVI/SVI
https://arxiv.org/pdf/1204.0646.pdf
需要注意的是不同的產品線需要的parameterization不一樣,見Gatheral 的5.1。
去看jim gatheral的書
大致思路其實很簡單,3D想像起來困難的話,2D的類比就是一個平面上給你一些點,然後你根據這些點畫出一條曲線。
和regression不一樣的是,有效的市價產生的點你不能找折中點而必須讓曲線經過那個點。其他的點你可以選擇不經過。
主要的問題有三點:
1。你是不是能為這條曲線找到一個函數——你肯定不能引入無限多的參數,同時要思考參數是否具有一定的意義是否穩定。
2。對於不再是有效的市價的點,你要如何處理?經過?不經過?曲線向該點偏移的時候權重要如何設置?
3。對於點之間的部分,如果之前你沒找到函數,你要如何處理?劃直線還是某種曲線?
推薦閱讀:
※做市商制度價格是怎樣產生的?價格的調整是根據什麼?
※撮合交易和做市商都有哪些區別?各自的優缺點是什麼?
※做市商交易機制中「做市商」是靠什麼盈利?
※Etrading 做市交易員的一天是怎麼度過的?
※作為高頻做市商都會面臨哪些潛在的風險?