Excel VBA 期權定價

Excel VBA 期權定價

前言

國內是2015年2月才交易所才開通期權(以前券商發行個類似物叫權證),隨著金融市場的逐漸完善,相信以後會有很大的發展潛力,那麼投行券商的定價Quant和基金做期權波動率套利策略應該會相繼火起來。這裡簡單的科普一下期權的基礎知識和定價的一些方法,最後聊聊期權定價的職業發展

一. 期權的簡單介紹

根據Wikipedia,期權是一種通常可交易的衍生金融工具,根據某項資產(如股權、股票指數或期貨)在未來某一時間段的價格,確定期權交易中買家的權利和賣家的義務。 簡單的說,期權指的是一種在一定期限內的交易選擇權,也就是賦予了持有人一種按照約定價格買或賣的權利,但是持有人可以自己決定要不要行使這個權利。

基本上,交易市場具有買賣雙方(Holder、Seller),使期權具有四種基本形式:

買入買權(Long Call)

買入買權(Long Call)

賣出買權(Short Call)

賣出買權(Short Call)

買入賣權(Long Put)

買入賣權(Long Put)

賣出賣權(Short Put)

賣出賣權(Short Put)

根據這四種形式和期權行權時間/標的不同,可以組成多樣化的交易策略。

別看期權圖片表達形式這麼簡單,它的數學表達式還是挺難的。公式的發明人是Black(已故),Scholes和Merton,在一系列的假設下,例如股票價格行為服從對數正態分布,市場無摩擦等等,建立簡潔漂亮是公式:

有了Call和Put的式子,我們可以推導出它們的數學關係式

在數學推導過程中,伊藤引理是個難點,它是由日本人發明的。其實學習期權的數學推導並沒有想像中難,就是高中的數學基礎+大學的微積分就可以了,而且就一節課4小時的內容。第一次推導,老師大概寫滿了2塊黑板,但是熟練之後,自己寫也就是一張A4紙的內容。所以期權在學習過程中並不可怕。

這個公式在70年代發明的,在97年才拿到諾貝爾獎。有趣的是,這2位學術明星,實踐起來卻不怎麼樣。在90年代,Scholes,Merton跟Morris(美聯儲的前任副主席)和Meriwether(華爾街量化債券套利之父/大老闆),共同創建了一個公司,叫Long-Term Capital Management(長期資本管理公司),是當初四大對沖基金之一。那時的4大天王有:量子基金,老虎基金,歐米加基金和長期資本管理公司。

這個公司從1994年到1997年,他們的投資回報率高達28.5%、42.8%、40.8%和17%,到1997年的年末凈資產達到48億美元。而從風險衡量的角度來看,LTCM這四年間的夏普比率為2.54,同期美國短期國債、標普500指數和全球股票的夏普比分別只有0.54、1.5和0.77,這意味他們的業績即便放在牛市環境,都讓其他的基金公司望塵莫及。但是在債券套利的同時追加高槓桿,本身資金量又很大,在98年遇到黑天鵝事件整個公司倒了:從5月至9月的短短150天,LTCM資產凈值下降90%,蒙受了43億美元的巨額虧損,資產凈值僅剩5億美元,走到破產邊緣。9月底,為了救市,14家銀行在美聯儲的組織下收購了它。

回到正題,上面公式中表明,影響期權的價格有5個因素:當前標的物的價格,行權價,無風險利息,時間,波動率和股息,他們的關係是這樣的:

上面的是美式期權,而歐式期權有一個地方不同,據到期日時間增加時,Call和Put價格上漲還是下跌的是未知的。

期權公式衍生出來的希臘值也很重要,在期權波動率套利策略的時候會用到。

期權原理就大概介紹到這裡,下面是通過Excel VBA的運用

二.基於Black&Scholes公式的期權定價

先在Excel的開發工具中進入VBA

進入後如圖

然後根據Black&Scholes期權定價公式來構建函數,分明是BSCall(看漲期權)和BSPut(看跌期權)

在Excel表中,假設A&B公司當前股票價格為35元,半年後行權價格為40塊,無風險利率為3%,波動率為30%,通過BSCall和BSPut函數就可以估算到它們的價格分別是Call=1.42和Put=5.82

上面的是普通期權定價,Black&Scholes公式當然也適應於一些特異期權

下面介紹一些簡單特異期權的定價

  1. Cash or Nothing,當股價突破行權價時,行權時會得到一筆現金,而不是差價(股價-行權價)。如A&B公司的Cash or Nothing Call,約定行權時得到10塊錢的現金。假設條件不變,當前股票價格為35元,半年後行權價格為40塊,無風險利率為3%,波動率為30%。半年後其股價漲到41塊,Cash or Nothing Call會得到約定好的10塊,而普通的Call則得到41-40=1塊錢

所以呢,根據BS公式可以推導其Cash or Nothing 公式

用VBA定義一下CashorNothingCall函數

輸入之前假設好的數據,加上我們設置約定好的現金流M=10塊

對比發現,這個Call比一般的Call要貴一些。

下面會介紹一個更加貴的期權

2. Asset or Nothing,這個期權價格很昂貴噢,因為當股價突破行權價時,行權時會得到一筆他當前的股價,而不是差價(股價-行權價)。如A&B公司的Asset or Nothing Call,當前股票價格為35元,半年後行權價格為40塊,無風險利率為3%,波動率為30%。半年後其股價漲到41塊,Asset or Nothing Call會得41塊,而普通的Call則得到1塊錢。

用VBA定義一下AssetorNothingCall函數

看看效果

發現了沒有,這個未來能獲得41塊的行使權,比未來獲得1塊錢的行使權,貴太多了。

3. Cap Option。設置一個Cap,當A&B公司前股票價格為35元,半年後行權價格為40塊,無風險利率為3%,波動率為30%。半年後其股價漲到41塊,若Cap=38,這行權時獲利 41-38=3塊錢。若Cap=42,則行權時虧41-42=-1塊,若該期權價<1塊,不行使權利,若價格>1塊,必須行使以降低損失。

(因為谷歌上找不到圖片,就自己畫一下,請不要嫌棄)

VBA定義CapCall函數

Cap=38時,為1.91塊

Cap=42時,為0.92塊

介紹完相對正常的期權,下面介紹一些比較奇葩的期權

4 Pay Later Option。也叫波士頓選擇權,這個期權在期初交易成立時不用給錢,只有在到期日從支付。即A&B公司前股票價格為35元,半年後行權價格為40塊,無風險利率為3%,波動率為30%。半年後其股價漲到41塊,若Pay Later Option的支付成本為c,這行權時獲利 41-40-c=1-c塊錢,不行權時則獲利為0.

公式好看點的話,如圖

VBA定義Pay Later Call函數

輸入之前假設好的數據,計算Pay Later Call得5.68塊

5. Chooser Option, 也叫As you like it,是個比較賺錢的期權,若市場波動幅度較大的話,在到期日前有一個選擇日,在那一天即可以選擇call,也可以選擇put。A&B公司前股票價格為35元,半年後行權價格為40塊,無風險利率為3%,波動率為30%。假設在第4個月某天是選擇日,而且在期權買方已經判斷出股票走勢的方向

1)半年後其股價漲到41塊,賺1塊,因為選擇call

2)半年後其股價跌到38塊,賺2塊,因為選擇put

所以呢,根據BS公式可以推導其數學表達式

因為推導公式比較複雜,下面提供一下具體的推導步驟:

http://www.science24.com/resources/paper/17945/Borkowski_Krawiec_QME2009_2_.doc?

www.science24.com

VBA定義Chooser Option函數

輸入之前假設好的數據,計算Chooser Call得12.12塊

6 Exchange Option,這個期權有2個標的物,如我們先前假設的A&B公司股票和C公司股票。半年後股價分別為41塊和38塊。Exchange Call行權條件是半年後當A&B股價>C股價時,行權後賺到41-38=3塊錢。這裡行權價是C公司半年後的股價,而不是約定的數值K。

根據BS公式可以推導其Exchange Call 公式

VBA定義Exchange Call函數

設定當前A&B的股價是40塊,波動率是30%,C公司當前股價是38塊,波動率是28%,二者股價的相關係數是0.5,無風險利率是3%,半年後到期,得到選擇權的價格是2.23塊

上面只是一些比較簡單的可以數學上求到解,但是還有很多特異期權是很難,或者沒辦法等到求解的。像徑依賴期權,例如亞式期權,Lookback Option,Shout Option,Barrier Option等等,所以用B&S公式對特異定價要求有相當的數學功底。

但是隨著計算機的發展,提供了一般人也能夠對期權「大概」定價的方法,叫Montes Carlos Simulation,例如二叉樹模擬,三叉樹模擬等等。下面簡單介紹二叉樹的模擬方法

三. 基於二叉樹模型的期權定價

根據百度百科,二項期權定價模型假設股價波動只有向上和向下兩個方向,且假設在整個考察期內,股價每次向上(或向下)波動的概率和幅度不變。模型將考察的存續期分為若干階段,根據股價的歷史波動率模擬出正股在整個存續期內所有可能的發展路徑,並對每一路徑上的每一節點計算權證行權收益和用貼現法計算出的權證價格。

下面用VBA來描述其步驟

在開發工具選擇「插入」中的「表單控制項」左上方的灰色矩形

畫完框框後自動出現下面窗口,選擇第一個「Arbols」

這個框框命名為Montes Carlos Simulation,

滑鼠點擊框框一下,會出現下面的畫面,要求輸入參數

最後得到結果,Call=1.4194,於B&S計算的結果大致吻合。當N越大時,2者差異越少;若N等於無限大,2者相同

下面把Excel表格縮小,看著二叉樹這圖有點達達主義的感覺

四. 聊聊期權定價這個職業

期權定價Quant偏向於高大上的Q宗的。

Q宗最根本基礎在意Q measure,也叫Risk neutrality measure,就是風險中性測度對應著無套利,無套利對應著可以完美對沖各種風險。Q quant主要是協助structuring desk和exotic trading desk來做衍生品定價。因為其定價是基於無風險套利,這是一個非常虛幻的(不具有實盤意義的)假設,其模型要求得到一個很好的數學解析解,必定很注重數模,而對實盤上的歷史數據不太重視。所以Q quant是『重模型而輕數據』。這要涉及的數學技術主要是隨機過程,偏微分方程等高大上的分支。總之呢,Q總是跟學術界走得非常近的,都是屬於大後期才爆發的職業,由於其高大上的性質,可以鄙視其他職業。

P宗則反之,表現為『重數據而輕模型』。字母P模型依賴的概率分布是從歷史數據上估算出來的。在實踐中,對沖基金或者各大投行券商的自營部門拿到一組數據時,會用若干備選模型來跑數據,由數據的計算結果來選擇最佳的模型。所以P Quant最看重的是處於數學界食物鏈底端的統計學。也因為這個理由經常被Q宗鄙視。

回到正題,期權定價職業的發展土壤是國際投行和大券商。屬於高門檻,生活工作穩定,最牛B之處在於其成就感了。一些結構性期權,因為其極端複雜的鑲嵌屬性,能把各種東西一起打包,本來只值300塊,打完包之後卻賣500。關鍵在於太過於複雜難懂,全世界可能就只有該衍生物的創造者知道他到底值多少錢。這能坑到不少錢呢:記得09年的時候,央企吃了大虧,如中國遠洋所持FFA(遠期運費協議)約有40億元浮虧。東方航空航油套期保值公允價值損失約62億元,國航燃油套期保值合約截至去年底公允價值損失也高達68億元。靠智商來碾壓全世界的感覺簡直High爆了,有木有o(≧o≦)o

最後,用董可人的話來收尾,描述一下10年前Q宗的輝煌:

華爾街上,精通此道的數學物理博士們一時風頭無兩,是各大行紛紛爭搶的寵兒。主流金融機構都在熱衷於開發各種複雜的衍生品,發揮到極致後可以把能賣的不能賣的都打包到一塊,盤子越做越大,一派不盡長江滾滾來的勢頭。(喪心病狂的)他們甚至連諾獎都不放過。另外當年衍生品大行其道的時候,Q宗的定價能力甚至還可以用來尋找市面產品的錯誤定價,從而發現能直接盈利的套利機會。這一切給Q宗帶來爆髮式的增長。


推薦閱讀:

03-通過乘法運算學習單元格賦值與選取(2)
Excel VBA入門(零)
關於UsedRange屬性,你想要的都在這裡
EXCEL VBA小白第六課:豆瓣精選話題爬蟲數據分析小嘗試
為什麼excel表格里數字設置為文本格式後,需要使用滑鼠單個點擊才會轉換成文本格式?

TAG:期權定價 | 金融工程學 | VBA |