當前位置:股票大全官網 - 股票投資 - 如何用matlab計算期權價格

如何用matlab計算期權價格

參考論文

 期權定價理論是現代金融學中最為重要的理論之壹,也是衍生金融工具定價中最復雜的。本文給出了歐式期權定價過程的壹個簡單推導,並利用Matlab對定價公式給出了數值算例及比較靜態分析,以使讀者能更直觀地理解期權定價理論。

 關鍵詞:Matlab;教學實踐

 基金項目:國家自然科學基金項目(70971037);教育部人文社科青年項目(12YJCZH128)

 中圖分類號:F83 文獻標識碼:A

收錄日期:2012年4月17日

 現代金融學與傳統金融學最主要的區別在於其研究由定性分析向定量分析的轉變。數理金融學即可認為是現代金融學定量分析分支中最具代表性的壹門學科。定量分析必然離不開相應計算軟件的應用,Matlab就是壹款最為流行的數值計算軟件,它將高性能的數值計算和數據圖形可視化集成在壹起,並提供了大量內置函數,近年來得到了廣泛的應用,也為金融定量分析提供了強有力的數學工具。

 壹、Black-Scholes-Merton期權定價模型

 本節先給出B-S-M期權定價模型的簡單推導,下節給出B-S-M期權定價模型的Matlab的實現。設股票在時刻t的價格過程S(t)遵循如下的幾何Brown運動:

 dS(t)=mS(t)dt+sS(t)dW(t) (1)

 無風險資產價格R(t)服從如下方程:

 dR(t)=rR(t)dt (2)

 其中,r,m,s>0為常量,m為股票的期望回報率,s為股票價格波動率,r為無風險資產收益率且有0<r<m;dW(t)是標準Brown運動。由式(1)可得:

 lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■] (3)

 歐式看漲期權是壹種合約,它給予合約持有者以預定的價格(敲定價格)在未來某個確定的時間T(到期日)購買壹種資產(標的資產)的權力。在風險中性世界裏,標的資產為由式(1)所刻畫股票,不付紅利的歐式看漲期權到期日的期望價值為:■[max(S(T)-X,0)],其中■表示風險中性條件下的期望值。根據風險中性定價原理,不付紅利歐式看漲期權價格c等於將此期望值按無風險利率進行貼現後的現值,即:

 c=e-r(T-1)■[max{S(T)-X,0}] (4)

 在風險中性世界裏,任何資產將只能獲得無風險收益率。因此,lnS(T)的分布只要將m換成r即可:

 lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■] (5)

 由式(3)-(4)可得歐式看漲期權價格:

 c=S(t)N(d1)-Xe-r(T-1)N(d2) (6)

 這裏:

 d1=■ (7)

 d2=■=d1-s■ (8)

 N(x)為均值為0標準差為1的標準正態分布變量的累積概率分布函數。S(t)為t時刻股票的價格,X為敲定價格,r為無風險利率,T為到期時間。歐式看跌期權也是壹種合約,它給予期權持有者以敲定價格X,在到期日賣出標的股票的權力。

 下面推導歐式看漲期權c與歐式看跌期權p的聯系。考慮兩個組合,組合1包括壹個看漲期權加上Xe-r(T-1)資金,組合2包含壹個看跌期權加上壹股股票。於是,在到期時兩個組合的價值必然都是:

 max{X,S(T)} (9)

 歐式期權在到期日之前是不允許提前執行的,所以當前兩個組合的價值也必相等,於是可得歐式看漲期權與看跌期權之間的平價關系(put-call parity):

 c+Xe-r(T-t)=p+S(t) (10)

 由式(10)可得,不付紅利歐式看跌期權的價格為:

 p=Xe-r(T-t)N(-d2)-S(t)N(-d1) (11)

 二、Black-Scholes-Merton模型的Matlab實現

 1、歐式期權價格的計算。由式(6)可知,若各參數具體數值都已知,計算不付紅利的歐式看漲期權的價格壹般可以分為三個步驟:先算出d1,d2,涉及對數函數;其次計算N(d1),N(d2),需要查正態分布表;最後再代入式(6)及式(11)即可得歐式期權價格,涉及指數函數。不過,歐式期權價格的計算可利用Matlab中專有blsprice函數實現,顯然更為簡單:

[call,put]=blsprice(Price,Strike,Rate,Time,Volatility) (12)

 只需要將各參數值直接輸入即可,下面給出壹個算例:設股票t時刻的價格S(t)=20元,敲定價格X=25,無風險利率r=3%,股票的波動率s=10%,到期期限為T-t=1年,則不付紅利的歐式看漲及看跌期權價格計算的Matlab實現過程為:

 輸入命令為:[call,put]= blsprice(20,25,0.03,0.1,1)

 輸出結果為:call=1.0083 put=5.9334

即購買壹份標的股票價格過程滿足式(1)的不付紅利的歐式看漲和看跌期權價格分別為1.0083元和5.9334元。

 2、歐式期權價格的比較靜態分析。也許純粹計算歐式期權價格還可以不利用Matlab軟件,不過在授課中,教師要講解期權價格隨個參數的變化規律,只看定價公式無法給學生壹個直觀的感受,此時可利用Matlab數值計算功能及作圖功能就能很方便地展示出期權價格的變動規律。下面筆者基於Matlab展示歐式看漲期權價格隨各參數變動規律:

 (1)看漲期權價格股票價格變化規律

 輸入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;

 c=blsprice(s,x,r,t,v);

 plot(s,c,'r-.')

 title('圖1看漲期權價格股票價格變化規律');

 xlabel('股票價格');ylabel('期權價值');grid on

(2)看漲期權價格隨時間變化規律

 輸入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);

 plot(t,c,'r-.')

 title('圖2看漲期權價格隨時間變化規律');

 xlabel('到期時間');ylabel('期權價值');grid on

(3)看漲期權價格隨無風險利率變化規律

 s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);

 plot(r,c,'r-.')

 title('圖3看漲期權價格隨無風險利率變化規律');

 xlabel('無風險利率');ylabel('期權價值');grid on

(4)看漲期權價格隨波動率變化規律

 s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);

 plot(v,c,'r-.')

 title('圖4看漲期權價格隨波動率變化規律');

 xlabel('波動率');ylabel('期權價值');grid on

(作者單位:南京審計學院數學與統計學院)

主要參考文獻:

[1]羅琰,楊招軍,張維.非完備市場歐式期權無差別定價研究[J].湖南大學學報(自科版),2011.9.

[2]羅琰,覃展輝.隨機收益流的效用無差別定價[J].重慶工商大學學報(自科版),2011.

[3]鄧留寶,李柏年,楊桂元.Matlab與金融模型分析[M].合肥工業大學出版社,2007.