任芳玲 喬克林
(延安大學計算機學院 延安 716000)
?
一類特殊歐式期權定價模型的Matlab算法*
任芳玲喬克林
(延安大學計算機學院延安716000)
摘要對于股票價格在布朗運動和泊松運動共同作用下、存在交易費用和連續紅利的歐式看漲期權定價模型,針對其微分方程解和數值解的復雜性,研究了其期權價格解析式解的Matlab算法,二叉樹、三叉樹數值解的Matlab算法,從而大大簡化了期權定價的過程。最后通過實例研究,對比三種算法所得結果的差異性,并分析了模型中各個參數對期權定價結果的影響程度,從而可為各類新型期權的產生提供一定的理論支持。
關鍵詞期權定價; 二叉樹模型; 三叉樹模型; Matlab算法
Class NumberF830.9
1引言
隨著金融衍生市場的不斷發展和完善,多種交易方式和交易價格靈活的新型期權已經成為市場的主角,人們開始越來越關注對此類期權的研究,例如文獻[1~2]研究了亞式期權的定價方程,但是由于變異期權的特點是靈活多變,所以研究所得定價形式復雜,其解不易求出,進而人們越來越關注對其數值解的分析。文獻[3~4]分別利用蒙特卡羅模擬方法、保險精算方法研究了此類問題的數值解,但是研究結果并不完善,所得過程較為復雜,不易實現。計算機程序語言的引入可以很好地解決此類問題,比如段新生[5]的基于Matlab的股票估價模型設計中,利用Matlab語言分析了經典歐式期權定價模型。田文昭的《金融資產的定價理論與數值計算》[6]一書中,利用C++語言給出多種金融模型的數值計算方法。可見借助于計算機語言是解決此類問題的一個思路和突破口所在。本文針對存在交易費、連續紅利、股票價格在布朗運動和泊松運動共同作用下的歐式看漲期權,研究其解析解、二叉樹模型、三叉樹模型的Matlab實現過程,高效準確地得出了計算結果,并有利于分析模型中參數的涵義,具有重要的實踐價值,事實上,文獻[7~8]也正是從參數估計的角度研究了期權定價問題。
2模型簡述
1) 基本符號:S為股票的現價,X為期權的執行價,t為當前時刻,T為期權的到期日,μ為預期收益率,r為無風險利率,q為連續紅利率,σ為無跳躍時股票價格波動率,C為歐式看漲期權價格,λ表示泊松過程的強度參數,k表示交易成本中交易額的固定比例。δt表示期權交易頭寸調整時間間隔。
2) B&P共同作用的涵義:B&P(Brownian motion and Poisson motion)指標的資產在布朗運動和泊松運動的共同作用下,即假設股票價格服從下面微分方程:
dS=μSdt+σS(dW+dQ)
其中W為布朗運動,Q為泊松過程(齊次的),N為泊松過程的補償過程,并且dQ=λdt+dN,都是常數。則
dS=μSdt+σS(dW+dN+λdt)
利用Ito公式,保值策略,得出了該形式下的歐式期權定價方程為
進而利用隨機微分方程和數學物理的有關知識可以求出模型的解析式解。
3模型求解的Matlab實現過程
3.1解析式解的Matlab算法
引理1[9]:股票價格遵循B&P(布朗運動和泊松運動共同作用下)過程,并且存在交易費用,存在連續紅利,歐式看漲期權的價格為
C=Se-q(T-t)N(d1)-Xe-r(T-t)N(d2)
其中
令
則有
針對引理1中所建立方程編寫Matlab算法(M文件)如下:
function[call]=fun1(S,X,r,q,lambd,sigma,k,deltat,T)
sigma1=sqrt((1+lambd)*sigma*sigma+2*k*sigma*(sqrt(2/
(pi*deltat))-lambd/sqrt(2*pi*deltat)-lambd/(4*deltat)))
d1=(log(S/X)+(r-q+1/2*sigma1*sigma1)*T)/(sigma1*sqrt(T));
d2=d1-sigma1*sqrt(T);
call=S*exp(-q*T)*normcdf(d1)-X*exp(-r*T)*normcdf(d2)。
3.2二叉樹解的Matlab算法
根據文獻[10]中二叉樹模型參數設置的方法,進行修正可得股票價格遵循B&P過程,存在交易費用,存在連續紅利,歐式看漲期權價格的二叉樹模型參數設置為

對于任意一支二叉樹有:SerΔt=pSu+(1-p)Sd。
針對上述二叉樹模型編寫Matlab數值算法(M文件)如下:
function[call]=fun2(S,X,r,q,lambd,sigma,k,deltat,T,N)
sigma1=sqrt((1+lambd)*sigma*sigma+2*k*sigma*(sqrt(2/
pi*deltat))-lambd/sqrt(2*pi*deltat)-lambd/(4*deltat)));
deltaT=T/N;a=exp((r-q)*deltaT);
u=a+sigma1*sqrt((1+lambd)*deltaT);
d=a-sigma1*sqrt((1+lambd)*deltaT);p=1/2;
lattice=zeros(N+1,N+1);
for j=0:N
lattice(N+1,j+1)=max(0,S*(u^j)*(d^(N-j))-X);
end
for i=N-1:-1:0
for j=0:i
lattice(i+1,j+1)=exp(-r*deltaT)*(p*lattice(i+2,j+2)+(1-p)*lattice(i+2,j+1));
end
end
call=lattice(1,1)。
3.3三叉樹解的Matlab算法
根據文獻[11]中三叉樹模型參數設置的方法,進行修正可得股票價格遵循B&P過程,存在交易費用,存在連續紅利,歐式看漲期權價格的三叉樹模型參數設置為
對于任意一支三叉樹有:
SerΔt=puSu+pmS+pdSd
針對上述三叉樹模型編寫Matlab數值算法(M文件)如下:
function[call]=fun3(S,X,r,q,lambd,sigma,k,deltat,T,N)
sigma1=sqrt((1+lambd)*sigma*sigma+2*k*sigma*(sqrt(2/
(pi*deltat))-lambd/sqrt(2*pi*deltat)-lambd/(4*deltat)));
deltaT=T/N; u=exp(sigma1*sqrt(3*deltaT)); d=1/u;
pd=-sqrt((1+lambd)*deltaT/(12*sigma12))*
(r-q-sigma12/2)+1/6;
pm=2/3;
pu=sqrt((1+lambd)*deltaT/(12*sigma12))*
(r-q-sigma12/2)+1/6;
lattice=zeros(N+1,2*N+1);
for j=0:2*N
lattice(N+1,j+1)=max(0,S*(d^(N-j))-X);
end
for i=N-1:-1:0
for j=0:2*i
lattice(i+1,j+1)=exp(-r*deltaT)*(pd*lattice(i+2,j+1)+pm*lattice(i+2,j+2)+pu*lattice(i+2,j+3));
end
end
call=lattice(1,1)。
4實例研究
已知一個6個月期的歐式看漲期權,期權是在B&P過程作用下,設股票初始價格為52元,執行價格為50元,無風險利率為每年10%,股票價格波動率為每年20%,交易費比例為2%,時間步長為一個月,泊松分布的參數為λ,考慮連續支付紅利,紅利率為10%,S=52,X=50,T=0.5,r=0.1,σ=0.2,k=0.02,q=0.1,δt=1/12。
1) 研究二叉樹、三叉樹模型中隨著參數N的變化期權價值的變化。
根據本文的三種Matlab算法設計,通過以下函數調用:
C1=fun1(52,50,0.1,0.1,0,0.2,0.02,1/12,0.5)
C2=fun2(52,50,0.1,0.1,0,0.2,0.02,1/12,0.5,N)
得出結果列于表1。

表1 隨著樹叉數的變化期權價值的解析解、二叉樹解、誤差

圖1 隨著樹叉數的增加樹圖法計算期權價值與真實值的趨近規律
表1和圖1~圖3說明:
(1)隨著樹叉數的逐漸增多,二叉樹、三叉數模型所得數值解越接近解析式所得真實解。
(2)當樹叉樹N≥20,樹圖算法與真實值的接近程度已經非常好。
2) 研究解析式解和二叉樹解中隨著參數λ的變化期權價值的變化。

圖2 隨著樹叉數的大幅增加樹圖法計算期權價值與真實值的趨近規律

圖3 隨著樹叉數的增加樹圖法計算期權價值誤差的變化規律
通過以下函數調用:
C1=fun1(52,50,0.1,0.1,λ,0.2,0.02,1/12,0.5)
C2=fun2(52,50,0.1,0.1,λ,0.2,0.02,1/12,0.5,100)
得出結果列于表2。

表2 隨著的變化期權價值的解析解、二叉樹解、誤差
表2和圖4說明:
(1)隨著異常波動參數的增大,二叉樹數值解和解析解的誤差越來越大。
(2)隨著異常波動參數的增大,期權價值會略微增大。
3) 研究解析式解、二叉樹解、三叉樹解中隨著參數δt的變化期權價值的變化。
通過以下函數調用:
C1=fun1(52,50,0.1,0.1,0.04,0.2,0.02,δt,0.5)
C2=fun2(52,50,0.1,0.1,0.04,0.2,0.02,δt,0.5,100)
C3=fun2(52,50,0.1,0.1,0.04,0.2,0.02,δt,0.5,100)

圖4 隨著異常波動參數的增加二叉樹法計算期權價值與真實值的趨近規律
得出結果列于表3。

表3 隨著頭寸調整時間間隔的變化期權價值的解析解、樹圖解、誤差

圖5 隨著頭寸調整時間間隔的增加樹圖法計算期權價值與真實值的趨近規律
表3和圖5說明:
1) 隨著頭寸調整時間間隔的減小,調整會越頻繁,即交易費用會收取的越多,所得期權價格會越高。
2) 在同一樹叉數下,三叉樹模型比二叉樹模型更接近于解析解所得真實值。
5結語
本文針對一類特殊期權的定價問題,結合簡單易學操作方便的Matlab語言,給出了三種方法的數值計算。從實例驗證的過程中來看,三種程序語言都是準確可行的,初步解決了變異期權計算繁雜,結果不易用于實際金融市場等問題,為以后解決多種新型期權的定價問題提供了很好的解決思路,對金融市場中的衍生產品定價問題具有一定的實際意義和參考價值。
參 考 文 獻
[1] 陳萬義.冪型支付的歐式期權定價公式[J].數學的實踐與認識,2015,35(6):52-56.
CHEN Wanyi. European option pricing formula of exponential pay[J]. Journal of Mathematics Practice and Understanding,2015,35(6):52-56.
[2] 張應應,代春蘭.Monte Carl方法的精度分析及其在算術平均亞洲期權定價中的應用[J].工程數學學報,2015,32(2):185-196.
ZHANG Yingying, DAI Chunlan. Accuracy analysis of Monte Carlo method and its application in the arithmetic average Asian option pricing[J]. Journal of Engineering Mathematics,2015,32(2):185-196.
[3] 袁國軍,肖慶憲.基于近似對沖跳躍風險的美式看跌期權定價及數值解法研究[J].運籌與管理,2014,23(3):226-233.
YUAN Guojun, XIAO Qingxian. The pricing of American put options and numerical solution based on approximating hedge jump risk[J]. Operations Research and Management Science,2014,23(3):226-233.
[4] 梁義娟,徐承龍.兩因子期權定價模型的條件蒙特卡羅加速方法[J].同濟大學學報:自然科學版,2014,42(4):645-650.
LIANG Yijuan, XU Chenglong. Efficient accelerating method of conditional Monte-Carlo simulation for two-factor option pricing model[J]. Journal of Tongji University: Natural Science edition,2014,42(4):645-650.
[5] 段新生.基于MATLAB的股票估價模型設計[J].中國管理信息化,2008,11(4):39-41.
DUAN Xinsheng. The stock valuation model design based on MATLAB[J]. Journal of Management Informatization in China,2008,11(4):39-41.
[6] 田文昭.金融資產的定價理論與數值計算[M].北京:北京大學出版社,2010:155-158.
TIAN Wenzhao. The pricing theory and numerical calculation of financial asset[M]. Beijing: Peking University Press,2010:155-158.
[7] 柳向東,楊飛.基于期權價格Lévy過程參數估計研究[J].深圳大學學報理工版,2014,31(3):325-330.
LIU Xiangdong, YANG Fei. The research of parameter estimation under the Lévy process based on option pricing[J]. Journal of Shenzhen University Science and Engineering,2014,31(3):325-330.
[8] 劉睿宸,劉國祥,葉偉.一類跳擴散過程下期權定價公式的參數估計[J].南京師大學報:自然科學版,2014,377(3):36-47.
LIU Ruichen, LIU Guoxiang, YE Wei. Parameter estimation of the option pricing formula on a Class of Jump-Diffusion model[J]. Journal of Nanjing Normal University: Natural Science Edition,2014,377(3):36-47.
[9] 喬克林,任芳玲,李粉香.有交易成本且標的資產在布朗運動和泊松運動共同作用下的期權定價[J].江西科學,2009,27(4):572-575.
QIAO Kelin, REN Fangling, LI Fenxiang. The option pricing with transaction costs and the underlying asset under the action of Brownian motion and Poisson motion[J]. Journal of Jiangxi Science,2009,27(4):572-575.
[10] 連穎穎,張鐵.期權定價新型二叉樹參數模型的構造[J].數學的實踐與認識,2010,40(2):15-19.
LIAN Yingying, ZHANG Tie. The structure of new model of the binary tree parameters in option pricing[J]. Journal of Mathematics Practice and Understanding,2010,40(2):15-19.
[11] 韓立杰,劉喜波,劉宇.期權定價的新型三叉樹方法[J].數學的實踐與認識,2007,37(18):39-44.
HAN Lijie, LIU Xibo, LIU Yu. The approach to new type trigeminal tree of option pricing[J]. Journal of Mathematics Practice and Understanding,2007,37(18):39-44.
收稿日期:2016年1月17日,修回日期:2016年2月25日
基金項目:國家自然科學基金項目(編號:11471007);陜西省教育廳專項科研計劃項目(編號:15JK1822);延安市科研計劃項目(編號:2014ZC-6);延安大學科研計劃項目(編號:YDQ2014-47)資助。
作者簡介:任芳玲,女,碩士,講師,研究方向:金融數學和概率統計。喬克林,男,碩士,副教授,研究方向:金融數學和隨機分析。
中圖分類號F830.9
DOI:10.3969/j.issn.1672-9722.2016.07.001
Matlab Algorithm of A Specil European Option Pricing Model
REN FanglingQIAO Kelin
(College of Computer Science, Yan’an University, Yan’an716000)
AbstractIn this paper, for a kind of European call option pricing model with stock price’s Brownian and Poisson process, transaction cost and continuous dividend, aiming at the complexity of its differential equation solution and numerical solution, the Matlab algorithm of option price’s analytical solution, the Matlab algorithm of Binomial tree, Triple tree model’s numerical solution are studied, Thus the process of option pricing is greatly simplified. Finally, through the example study, comparing the difference of three kinds of algorithm results, the influence degree for option pricing results of every parameter in this model is analyzed, which can provide certain technology support to the production of all kinds of new options.
Key Wordsoption pricing, binomial tree model, triple tree model, Matlab algorithm