Dr. Fan 1
第12章 维纳过程和伊藤引理
范 闽
金融工程研究中心
Dr. Fan 2
• 教学目的与要求
• 掌握随机变量的概念,了解马尔科夫过程的特点,
掌握维纳过程的特点和性质,掌握一般维纳过程的
特征以及其漂移率和方差率,维纳过程的均值和标
准差。掌握Ito过程的特征。
Dr. Fan 3
• 教学重点及难点
• 一、马尔科夫过程与效率市场的关系。
• 二、维纳过程、一般维纳过程与此同时Ito过程的
特征,漂移率和方差率,变量的均值与方差。以及
这几种过程的内在联系和变化。
• 三、Ito定理及其运用。
Dr. Fan 4
期权的估值
• 欧式期权的到期收益
– Max (ST-X, 0)
– ST不确定,所以期权到期的收益也不确定。
– 期权当期的价值=?
• 风险中性估值
– 期权当期的价值=未来收益折现后的期望值
– c=E [Max (ST-X, 0)]
• 问题
– ST的分布是怎样的?
– 只有确定ST的分布才能确定c的价值
Dr. Fan 5
弱式效率市场假说与马尔可夫过程
• 效率市场假说
– 1965年,法玛(Fama)提出了著名的效率市场假说。该假说认为:
– 投资者都力图利用可获得的信息获得更高的报酬;
– 证券价格对新的市场信息的反应是迅速而准确的,证券价格能完
全反应全部信息;
– 市场竞争使证券价格从一个均衡水平过渡到另一个均衡水平,而
与新信息相应的价格变动是相互独立的。
• 效率市场分类
– 效率市场假说可分为三类:弱式、半强式和强式。
– 弱式效率市场假说认为,证券价格变动的历史不包含任何对预测
证券价格未来变动有用的信息,也就是说不能通过技术分析获得
超过平均收益率的收益。
Dr. Fan 6
• 半强式效率市场假说认为,证券价格会迅速、准确
地根据可获得的所有公开信息调整,因此以往的价
格和成交量等技术面信息以及已公布的基本面信息
都无助于挑选价格被高估或低估的证券。
• 强式效率市场假说认为,不仅是已公布的信息,而
且是可能获得的有关信息都已反映在股价中,因此
任何信息(包括“内幕信息”)对挑选证券都没有用
处。
• 效率市场假说提出后,许多学者运用各种数据对此
进行了实证分析。结果发现,发达国家的证券市场
大体符合弱式效率市场假说。
Dr. Fan 7
• 马尔可夫过程
– 弱式效率市场假说可用马尔可夫随机过程(Markov Stochastic
Process)来表述。
– 马尔科夫过程(Markov process)是一种特殊类型的随机过程。
• 未来的预测只与变量的当前值有关,与变量过去的历史和变量从
过去到现在的演变方式不相关。
• 股价的马尔科夫性质与弱型市场有效性(the weak form of
market efficiency)相一致:
– 一种股票的现价已经包含了所有信息,当然包括了所有过去的价
格记录。
– 如果弱型市场有效性正确的话,技术分析师可通过分析股价的过
去历史数据图表获得高于平均收益率的收益是不可能的。
– 是市场竞争保证了弱型市场有效性成立。
Dr. Fan 8
维纳过程( Wiener Process )
• 布朗运动起源于物理学中对完全浸没于液体或气体
中的小粒子运动的描述,以发现这种现象的英国植
物学家Robert Brown命名。
• 描述布朗运动的随机过程的定义是维纳(wiener)给
出的,因此布朗运动又称维纳过程
• 股价行为模型通常用布朗运动来描述。
• 布朗运动是马尔科夫随机过程的一种特殊形式。
Dr. Fan 9
维纳过程( Wiener Process )
• 维纳过程(Wiener Process)
– 性质一:股票价格的变动是一个正态变量与时间的乘积
– (ε服从标准正态分布)
– 性质二:任意两个不重叠时段的股票价格变动相互独立
– 从性质一,我们知道△z服从正态分布,性质2则隐含z
遵循马尔科夫过程。
• 维纳过程/布朗运动的特征
– 股票价格在任意时段变动的均值都为0。
– 股票价格在某一时段变动的方差等于时间的长度
Dr. Fan 10
程序:维纳过程的模拟
• % 假设初始点为0,由标准正态分布产生随机数300个,这样将1个单
位时间等分为300个等分
• rnd=random('norm',0, 1,300,1);
• %建立初始的零向量,用来放置计算的结果
• w=zeros(1,300);
• for i=1:299
• w(i+1)=w(i)+rnd(i+1)*(1/300)^;
• end
• x=[1:1:300];
• w
• plot(x,w)
Dr. Fan 11
股票价格的一般变动
• 一般化的维纳过程
– 变量本身随着时间的推移会有定量的增长a×Δt
– 除了时间价值之外的变动为布朗运动
Dr. Fan 12
股票价格的一般变动
• 股票价格的变动
– 股票价格有随时间推移增长的稳定趋势
– 股票“实际”价格变动为布朗运动
13
布朗运动-股票价格
14
指数布朗运动-股票价格
15
上证指数
Dr. Fan 16
Ito’s Lemma
• Ito’s Lemma
– 假设存在一个伊腾过程:
– 如果G是x和t的函数,即:G=G(x,t)
– 那么:
• 期权及其他衍生证券的价格变动
– 股票价格服从维纳过程:
– 那么:
Dr. Fan 17
证明:如前述,假设标的资产价格变动过程服从:
其中
利用泰勒展开,忽略高阶项,ΔG(x,t)可以展开为
Dr. Fan 18
因此,上式可以改写为
保留1阶项,忽略1阶以上的高阶项
Dr. Fan 19
其中(忽略高阶项):
Dr. Fan 20
因此,可得
由此得到
代入前述公式可得到伊藤引理。
Dr. Fan 21
股票价格的对数正态特性
• 对数正态分布
– 股票价格服从维纳过程
– 股票价格的分布为对数正态分布
• 公式
Dr. Fan 22
关于对数正态分布
• 定义G=lnS,由于:
• 所以有:
• 即:
• 显然G为一个广义维纳过程,其漂移率为常数 ,
波动率为常数 。
• 因此,lnS的变化服从正态分布,不难知道:
Dr. Fan 23
对数正态分布
几何布朗运动的深入分析
• 在很短的时间Δt后,证券价格比率的变化值
为:
• 可见,在短时间内, 具有正态分布特征
• 其均值为 ,标准差为 ,方差为 。
几何布朗运动的深入分析(2)
• 但是,在一个较长的时间T后, 不再具有正态
分布的性质:
– 多期收益率的乘积问题
– 因此,尽管σ是短期内股票价格百分比收益率的标准
差,但是在任意时间长度T后,这个收益率的标准差
却不再是 。股票价格的年波动率并不是一年内
股票价格百分比收益率变化的标准差。
几何布朗运动的深入分析(3)
• 如果股票价格服从几何布朗运动,则可以利用
Ito引理来推导证券价格自然对数lnS所遵循的随
机过程:
• 这个随机过程的特征:
– 普通布朗运动:恒定的漂移率和恒定的方差率。
– 在任意时间长度T之后,G的变化仍然服从正态分布,
均值为 ,方差为 。标准差仍然可
以表示为 ,和时间长度平方根成正比。
– 从自然对数lnS所遵循的这个随机过程可以得到两个
结论:
(1)几何布朗运动意味着股票价格服从对数正态分布。
• 令t时刻G的值为lnS,T时刻G的值为lnST,其中S表示t
时刻(当前时刻)的证券价格,ST表示T时刻(将来时
刻)的证券价格,则在T-t期间G的变化为:
– 这意味着:
• 进一步从正态分布的性质可以得到
• 也就是说,证券价格对数服从正态分布。如果一个变量
的自然对数服从正态分布,则称这个变量服从对数正态
分布。这表明ST服从对数正态分布。
• 这正好与μ作为预期收益率的定义相符。
(2)股票价格对数收益率服从正态分布
• 由于dG实际上就是连续复利的对数收益率。因
此几何布朗运动实际上意味着对数收益率遵循
普通布朗运动,对数收益率的变化服从正态分
布,对数收益率的标准差与时间的平方根成比
例。
• 将t与T之间的连续复利年收益率定义为η,则
结论
• 几何布朗运动较好地描绘了股票价格的运动过程。
Dr. Fan 30
随机过程的蒙特卡罗模拟
• 有关蒙特卡罗方法的由来
– 取名于摩纳哥的著名赌城
– 掷色子是一个随机事件
• 蒙特卡罗方法
– 任何涉及随机采样的数值方法
– 不仅仅用于有关随机的问题
• 估计 圆周率 π
• 优化问题
– 40年代美国Los Alamos 实验室的科学家用于核武器的研究
– 代表人物:冯诺依曼
经济和金融中的模拟方法
• Monte Carlo 方法
在计量经济学里,如果我们对某种估计方法
的统计性质不是很了解,而又要用到该种方
法时,可以用Monte Carlo 方法来解决.
在计量经济学中的例子:
1.对联立方程偏误的定量研究.
2.确定Dickey-Fuller 检验的临界值.
3.确定在自相关检验中样本大小对检验功效的
影响.
经济和金融中的模拟方法
• Monte Carlo 方法
在金融中的例子:
1.奇异期权的定价.
2.确定宏观环境对金融市场的影响.
3.风险管理建模: 压力测试,例如,确定最小
资本要求.
模拟中的“随机数”
• 进行蒙特卡罗模拟首先要设定数据生成系统。而设
定数据生成系统的关键是要产生大量的随机数。例
如模拟样本为100的随机趋势过程的DF统计量的分
布,若试验1万次,则需要生成200万个随机数。
• 计量经济学中蒙特卡罗模拟和自举模拟所用到的随
机数一般是服从N(0,1)分布的随机数。
• 计算机所生成的随机数并不是“纯随机数”,而是
具有某种相同统计性质的随机数,即某种“伪随机
数”(pseudo-random number)。生成随机数的
程序称作“伪随机数生成系统”。实际上计算机不
可能生成纯随机数。
模拟的计算机实现
• 蒙特卡罗模拟和自举模拟的实现要通过计算机编程
来实现。
• 常用的软件有Mathematica,Gauss,Ox,
EViews,Stata等。其原理基本一样。
• 若干例子见图。
图1 随机游走序列 图2 带趋势项的随机游走序列
图3 三维图圆环 图4 空间曲面
图5 投币1000次的概率值模拟 图6 生长曲线
图7 二元正态分布 图8 蒲丰问题
Dr. Fan 37
蒙特卡罗模拟的实现
• 我们从几个例子来看
– 例1:两个I(1)变量相关系数分布的蒙特卡罗模拟
未达到N
图11 蒙特卡罗模拟过程示意图
生成
xt,
ytI(1)
估计相关
系数r
分析r的
分布
设定循环
次数N
设定
xt,yt I(1)
EViews程序如下:
workfile corr u 1 500
series result
for !i=1 to 500
smpl 1 100
series x=nrnd
series y=nrnd
series xx
series yy
scalar sum1=0
scalar sum2=0
for !counter=1 to 100
sum1=sum1+x(!cou
nter)
sum2=sum2+y(!cou
nter)
xx(!counter)=sum1
yy(!counter)=sum2
next
scalar r=@cor(xx,yy)
result(!i)=r
next
• 定义一个非时间序列(u)工作文件,corr,容量为500。
• 定义一个空序列result,用来存储相关系数的计算结果。
• !i为控制变量,通过一个for循环语句使计算进行500次。
• 把样本范围设置成100。
• 生成两个互不相关的白噪声序列x、y,样本容量100。
• 定义两个空的序列xx和yy,样本容量也是100。
• 定义两个标量sum1和sum2,初始值为0。
• !counter为控制变量,在这个for循环中,分别对序列x和y进行
一次累加生成两个一阶单整的序列,将结果分别放到序列xx和yy
中。
• 累加一次。
• 计算序列xx和yy的相关系数,并将结果放到标量r中。
• 将相关系数计算结果放到序列result中,在这个for循环中,这个
操作要进行500次。
• 显示序列result的直方图以及有关统计量。
图13 两个非相关I(1) 序列的相关系数的分布
例2:DW统计量分布的蒙特卡罗模拟
生成T=50的相互独立的IN(0,1)序列ut 和vt
用ut 和vt分别生成两个相互独立的I(1)序列
yt = yt-1 + ut , y0 = 0, xt = xt-1 + vt , x0 = 0,
估计模型yt = 0 + 1xt + wt 并计算残差
用残差计算DW统计量的值
存储2000个DW值
画DW频数分布直方图。记录T=50条件下DW分
布的均值、标准差和第90、95、99百分位数。
分别估计DW均值、标准差和第90、95、99百分
位数值对(1/T )的响应面函数
例3(利用模拟方法对欧式期权进行定价)
设股票价格St服从风险中性测度下的几何Brown运动:
其离散化形式为
根据金融工程理论,设现在股票价格为S0,T时
刻到期(单位天),敲定价为K的欧式看涨期权
的价格为
MC方案:按照(1)递推产生n条风险中性测度下的
轨道,提取出ST (n);(2)
42
• 对一个大众型欧式看涨期权的定价. 具体步骤如
下:
– 确定标的资产的数据产生过程. 通常假设该过程为具
有漂移的随机游走,即要确定漂移和波动参数. 同时
要确定行权价格K 及到期日T.
– 产生T 个标准正态分布的数据,作为误差项 , ut
N(0,1).
– 构造T 个标的资产的观测值.
例3:利用模拟方法对欧式期权进行定价
43
– 记录在时刻 T 时标的资产的价格ST. 对一个看涨期权
如果 ST < K, 则价值为0. 如果 ST > K, 则价值为ST - K,
然后用无风险利率贴现.
– 重复 1到 4步 N 次, 取 N 重复的平均值,这个平均值就
是该欧式看涨期权的价格.
• 对于更加复杂期权的定价可以按同样思路进行.
例:利用模拟方法对欧式期权进行定价(续)
有关随机数发生器
• 随机数产生器—能够产生在区间[0,1]上均匀分布的随机数
• Excel中
– 在excel中可以采用RAND()产生一个0和1之间的随机数,
– 累积正态分布分布的反函数为NORMSINV。
– 所以,EXCEL中从标准正态分布中随机抽样的方法是:
NORMSINV(RAND())
• STATA中
– 生成(0,1)之间伪随机数的命令为uniform
• 每运行”di uniform()”命令一次,就可以得到一个随机数
– . simulate [exp_list] , reps(#) [saving(filename [, replace]) seed(#)] :
command
• 例 simulate max=r(max), reps(10000) nodots:seq3,效果就是重复一万次,
取平均数
有关随机数发生器
• 例:虚假回归。随机生成两个随机游走序列(100个样本),
进行回归,
• 计算估计量和t统计量;如此反复10000次。
• (1)利用均匀分布或正态分布随机数生成器生成随机游走过
程。
• (2)通过如下命令进行模拟。
– . simulate beta=(r(b1)) se=(r(se1)), reps(200) : rdwalk, diff( 1 1)
• (3)观察其分布,并与标准正态分布相比较。
– . gen t=beta/se
– . histogram t
– . twoway histogram t || function y=normalden(x,0,1), range(-3 3)