-合成
期权定价分析
一、引言
期权,
是指双方当事人达成某种协议
,
期权买方向期权卖方支付
一定费用,取得在未来到期日
(Maturity
Data)
或到期前按
协议买进或
卖出一定数量某种基础证券
(Underlying
Assets)
的权利。
欧式期权则指
买入期权的一方只能在期权到期日当天才能行使的期权。
现代
金融学与传统金融学最主要的区别在于其研究由定性分析
向定量分析的转变。
数理金融学即可认为是现代金融学定量分析分支
中最具代表性的一门学科。
定量分析必然离不开相应计算软件的应
用,
matlab
就是一款最为流行的数值计算软件,
它将高性能的数值计
算和数据图形可视化集成在一起,
并提供了大量内置函数,
< br>近年来得
到了广泛的应用,
也为金融定量分析提供强有力
一直以来,
MATLAB
在期权定价模型等金融工程方面有着极
其重要的作用。
本文通过应用
MATLAB
,实现欧式期权和隐含波动率在实践中的应用。
二、
Black-Scholes-Merton
期权定价模型及
MATLAB
实现
< br>
1
、
B-S-M
模型
假设股票在时刻
t<
/p>
的价格过程
S
(
t
)
遵循如下的几何
brown
运动:
dS(t)=mS(t)dt+sS(t)dW(t)
无风险
资产价格
R
(
t
)服从如下方程:
dR(t)=rR(t)dt
其中
r
,
m
,
s>0
为常量,
m
为股票的期望回报率,
p>
s
为股票价格
波动率,
r
为无风险资产收益率且有
0<
r
;
dW
(
t
)是标准
Brown
运动由式(<
/p>
1
)可得:
l
n
S
(
T
)<
/p>
:
F
[ln
S<
/p>
(
t
)
?
(
m
?
s
2
/
2
)(
T
?
t
),
s
T
?
t
]
欧式看涨期权是一种合约,
它
给予合约持有者以预定的价格
(敲
定价格)在未来某个确定的时
间
T
(到期日)购买一种资产(标的资
产)的权力在风险中性世界里,标的资产为由式(
1
)所刻画股
票,
不付红利的欧式看涨期权到期日的期望价值为:
E
[max(
S
(
T
p>
)
?
X
,
0
]
,
其
中
E
表示风险中性条件下的期望值根据风险中性定价
原理,
不付红利
欧式看涨期权价格
c<
/p>
等于将此期望值按无风险利率进行贴现后的现
值,即:
c
?
e
?
r
(
T
?
1
)
^
^
E
[max{
s
(
T
)
?
X
,
0
}]
^
在风险中性世界里,任何资产将只能获得无风险收益率。因此
,
lnS(T)
的分布只要将
m
换成
r
即可:
p>
ln
S
(
T
)
:
F
[ln
S
(
t
)
?
(
r
?
s
2
/
2
)(
T
?
t
),
s
T
?
t
]
所以欧式期权的理论价格根据<
/p>
B-S-M
期权定价模型可以得出欧式
期
权理论价格的表达式:
欧式看涨期权:
C
t
?
S
t
N
(
d
1
p>
)
?
Xe
?
r
(
T
?
t
)
N
(
d
2
)
欧式看跌期权:
P
t
?
Xe
?
r
(
T
?
t
)
< br>*
[
1
?
N
(
d
2
)
]
?
S
*
[<
/p>
1
?
N
(
d
1
)]
S
t
r
2
ln(
)
?
(
r
?
)(
T
?
t
)
2
其中,
d
1
?
X
2
,
d
2
?
d
1
?<
/p>
?
2
(
T
?
t
)
1
/
2
1
/
2
?
(
T
?
t
)
S
t
:标的
资产市场价格
X :
执行价格
r :
无风险利率
?
:标的资产价格波动率
T-t:
距离到期时间
2. MATLAB
实现
根据上一小节欧式期权价格的计算公式可以看出,若各参数已
知,
计算不分红利的欧式看涨期权的价格一般可以分为三个步骤:
先
算出
d
1
,
d
2
,涉及对数函数;其次计算
< br>N
(
d
1
)
,N(d
2
)
,需要查正太分
布表;最后再代入公式即可得欧式期权价格。而在
< br>MATLAB
中可以
便捷的利用内部函数计算欧式期权价
格,其函数是
blsprice
>>[call,
put]= blsprice(price, strike, rate, time,
volatility)
只需要将各参数直接输入即可,
Pr
ice
是股票价格,
Strike
是执
行
价,
Rate
代表无风险利率,
p>
Time
是指距离到期日的时间,即期权的
存续期(单位:年)
,
V
olatil
ity
表示标定资产的标准差。输出参数,
Call
表示欧式看涨期权价格,
Put
表示欧式看跌期权
价格
算例:考虑一只无分红的股票,若股票的现在价格为
p>
50
,波动率
的标准差为
< br>0.2
,无风险利率为
5%
,期
权的执行价格为
60
元,执行
期为
p>
18
个月,利用
MATLAB
计算欧式期权价格。
>>[call,put]=
blsprice(50,60,0.05,1.5,0.2)
输出结果:
Call=