1. wiener Processes (维纳过程)

Stochastic processes(随机过程) : Any variable whose value changes over time in an uncertain way is said to follow a stochastic process. Stochastic processes can be classified as discrete time or continuous time.

随机过程就是变量根据时间变化,而这个变化是不可预测的。随机过程分为离散时间和连续时间两种。

Markov Process(马尔科夫过程) : a particular type of stochastic process whre only the current value of a variable is relevent for predicting the future.
马尔科夫过程是特殊的随机过程,只有当前变量值会影响后面的值,历史数据对后面的预测没有影响。拿到股票上面就是只有当前的股票价格对后续价格有影响,当前价格已经包含了历史数据的信息。
这符合weak form of market efficiency(弱式市场假说),如果历史数据可以预测后面的股价,那么很多人会据此获利,去购买某些预测会涨的股票,这些股票价格会飙升,破坏原有的pattern,达到一个新的平衡

股票价格波动量一般会符合正态分布,于是我们可以定义一个关于股票的马尔科夫过程,它的后续变动符合N(m,v)的正态分布, 其中m是均值,v是方差
例子:股票当前价格是10, 如果一年的变动符合N(0,1),那么两年的变动则会符合N(0, 2),均值是0,标准差是1和√2

Wiener Processes(维纳过程) : It’s a particular type of Markov stochastic process with a mean change of zero and a variance rate of 1.0 per year.
维纳过程就是我们上述的一年变动符合N(0,1)的特殊马尔科夫过程

  • 公式如下,Δz 是变动,ε符合标准正态分布N(0,1),√Δt是时间变动

对于两个不同的Δt时间间隔,他们是无关的
于是有:
Δz 的均值是 0
Δz 的标准差是 √Δt
Δz 的方差是 Δt

于是Δz是符合马尔科夫过程的

我们看一年的股票价格变动的话,应该是由每个Δt的变动加起来的,Δt取的越小出来的图应该就越细,但对于每个Δt都是跳跃的(jagged)。因为对于每个Δt,标准差是√Δt,Δt越小, √Δt会比Δt 大很多。
写个python程序验证一下维纳过程:

import numpy as np
import matplotlib.pyplot as plt
import mathdaysCount = 1000
days = np.arange(0, daysCount, 1)
changes = np.random.randn(daysCount - 1, 1)*np.sqrt(1/daysCount)
prices = np.zeros(days.shape)prices[0] = 10
for index in range(changes.shape[0]):prices[index + 1] = prices[index] + changes[index][0]plt.plot(days, prices)
plt.show()

Generalized Wiener Process(广义维纳过程) : The generalized Wiener Process has an expected drift rate of a and a variance rate of b2(平方)
广义维纳过程是维纳过程的扩充,为维纳过程增加了趋势项a,加上原来的维纳过程作为变量路径上的扰动。
我们之所以加入这个a,是因为股票投资者对于股票是有预期收益的,在风险中性的环境里这个预期收益应该等于无风险利率。
公式如下:

Δx 的均值是 aΔt
Δx 的标准差是 b√Δt
Δx 的方差是 b^2Δt

再画个图对比一下维纳过程a = 0.2, b=1.5:

代码:

import numpy as np
import matplotlib.pyplot as plt
import math#Wiener Process
daysCount = 1000
days = np.arange(0, daysCount, 1)
changes = np.random.randn(daysCount - 1, 1)*np.sqrt(1/daysCount)
prices = np.zeros(days.shape)prices[0] = 10
for index in range(changes.shape[0]):prices[index + 1] = prices[index] + changes[index][0]plt.plot(days, prices, label = "Wiener Process")#Generalized Wiener Process
a = 0.3
b = 1.5
deltaT = 1/daysCount
changes_g = a*deltaT + np.random.randn(daysCount - 1, 1)*np.sqrt(1/daysCount) * b
prices_g = np.zeros(days.shape)
prices_g[0] = 10
for index in range(changes_g.shape[0]):prices_g[index + 1] = prices_g[index] + changes_g[index][0]plt.plot(days, prices_g, label = 'Generalized Wiener process')
plt.legend()
plt.show()
  1. Ito’s Lemma(伊藤引理)

Ito Process(伊藤过程) : A further type of generalized Wiener process in which the parameters a and b are functions of the value of the underlying varaibles x and time t.
伊藤过程是维纳过程的扩充,让上面的a和b由常量变成了x和t的变量,公式如下:

这里有个小的假设,a和b的值决定于时间t,并且在Δt时间内保持一致

The Process of Stock Price(股票价格过程)公式:
dS = μS dt + σS dz
dz = ε√Δt

考虑一支没有分红的股票,一年的volatility是30%,期望收益是15%一年,那么μ = 0.15,σ = 0.30
那么 dS = 0.15Sdt + 0.30Sdz

考虑一个礼拜,那么是0.0192 年,所以Δt = 0.0192.
则 dS = 0.15 * 0.0192 S + 0.30 * √0.0192 Sε

Ito’s Lemma(伊藤引理)
关于伊藤引理可以看这个链接,找了几个这个讲的最好:
https://zhuanlan.zhihu.com/p/38293827

股票价格过程是符合布朗运动的,但是布朗运动是处处不可微的,所以很难研究
dS = μS dt + σS dz
dz = ε√Δt

伊藤引理做了什么呢,他给出了公式证明把布朗运动函数作为变量的另外一个函数也是符合布朗运动的,而且这个函数G是处处可微的。
而金融衍生品的本质就是基于underlying的另外一个衍生品,可以用函数G来表达,于是我们可以研究了

伊藤引理带入股票价格过程的公式:

应用在forward contracts上面:

有一个远期合约,基于一个无分红的股票,无风险利率为r

那么在时间t,t < T时的forward价格:

假设S的价格变化符合布朗运动:
dS = μS dt + σS dz
dz = ε√Δt

计算伊藤引理的参数:

带入伊藤引理:

带入F:

于是基于股票的衍生品还是符合布朗运动,但是变得可微了,也就是期权定价BS公式的基础

股票价格的对数正态分布
前面说了股票价格变动符合布朗运动:
dS = μS dt + σS dz
dz = ε√Δt

但是股票价格绝对值的变动不好衡量,比如从100涨到110和从1000涨到1100其实增幅是一样的,但如果直接用dS就是10和100的涨幅了,我们用比例比较好衡量,也就是都涨了10%,St/S0.
为了消除掉S的影响,我们把股票价格表示为G = ln(S)

带入前面伊藤引理的方程:

得到:

也就是说股票价格的对数变动符合上述的正态分布
均值:

方差:

期权定价 - BS模型 - 维纳过程和伊藤引理相关推荐

  1. 白话解析BS模型(一)

        要想不用一个数学模型只用大白话说明白Black-Scholes这个伟大的期权类衍生品定价模型,似乎与用地球语言解释火星文化一样的困难.所以我的所谓白话也不可能是真的大白话了,总要摆出几个简单的 ...

  2. 白话解析BS模型(三)

        在二叉树模型中我们考虑了买入delta份股票卖出一份看涨期权的无风险组合.提到了将分叉步数变大后,每一步的Delta值都是不同的,其任何一个微小时期内的Delta等于Δf/ΔS,而无风险收益就 ...

  3. linux运维-BS模型|前端|后端|数据库都是干嘛的?

    BS模型 最近陷入疯狂的画图中,模拟一个信息管理系统开发的流程,来了解运维和数据库模块的工作内容(没有项目可以做,就自己创造项目啊) 基于目前都是BS模型的web开发,即用浏览器登录系统,而不是下载客 ...

  4. alin的学习之路(Linux网络编程:十)(http协议,BS模型)

    alin的学习之路(Linux网络编程:十)(http协议,BS模型) 需求:使用B/S模型来访问主机中的文件(包括目录) 0. B/S 模型 注意事项 1. 浏览器请求ico ​ 准备一个favic ...

  5. 如何用MATLAB写欧氏看涨看跌期权(B-S模型)的代码

    如何用MATLAB写欧氏看涨看跌期权(B-S模型)的代码 欧式期权 (European Options) 即是指买入期权的一方必须在期权到期日当天才能行使的期权. 具体的数学模型为: 无收益欧式看涨期 ...

  6. 利用BS模型计算欧式看涨期权价格——基于中国沪深300ETF看涨期权_20200524_

    利用BS模型计算欧式看涨期权价格--基于中国沪深300ETF看涨期权验证,结果发现当期权虚值程度较深时,理论价格与现实价格差异极大.比如,在近年来沪深300很少能到4600点以上,因此理论价格几乎为零 ...

  7. 白话解析BS模型(二)

    维纳过程     维纳过程其实就是物理学中布朗运动的统计学表达模型.就是均值为0,方差为1的标准正态分布.在一个很小时间Δt内,变量Z的变化Δz=Єsqrt(Δt),Є服从于标准状态分布φ(0,1). ...

  8. bs模型 cs模型

    以前一直知道有C/S和B/S模型,但不知道是什么东西.今天看了其他博客的算了比较理解了.记录下吧,记录的东西常常回来翻看,就可以长久记忆了. C/S结构,即Client/Server(客户机/服务器) ...

  9. bs模型Nd怎么用计算机算,BS模式的下试卷自动生成系统的设计与实现

    B/S模式的下试卷自动生成系统的设计与实现 信息与计算科学06101班马德岭 指导老师:庄曰华 摘要:教学评价是教学工作的一个重要环节,通常的教学评价方式多为通过试卷进行考试,因而试卷的质量将直接影响 ...

  10. 毕设项目:基于BS模型的在线OJ系统

    系列文章目录 文章目录 系列文章目录 前言 一.在线OJ系统描述 二.在线编译模块 1.搭建一个HTTP服务器完成在线编译 2.收到HTTP请求,进行数据格式转化(HTTP中body的内容转换为JSO ...

最新文章

  1. Eclipse,myeclipse开发中常用技巧总结
  2. activiti操作流程的几个demo
  3. c#调用系统资源大集合(二)
  4. 【HDU5008】Boring String Problem(后缀数组+二分查找+st表)
  5. 联网JAVA模拟器_java模拟器
  6. Android POPWindow
  7. python爬微博数据中心,网易微博爬虫(自定义关键字爬取微博数据)(附软件源码)...
  8. gb和gib的区别_高端存储手册里面的KiB,MiB,GiB是啥意思?
  9. 将表中一整列数据都生成五笔和拼音
  10. 不会拼音怎么学计算机,不会拼音打字怎么办
  11. Ubuntu安装网络打印机
  12. java操作k8s api报错:SSLHandshakeException: should not be presented in certificate_request
  13. 电脑由于按SHIFT键删除文件的资料的正确恢复方式
  14. 使用redis+切面完成分布式锁
  15. KCNScrew Pack for mac(Mac序列号查询软件)
  16. WAS7和WAS8.5布署Axis2 webservice
  17. ip地址+斜杠数字含义
  18. C语言编程>第七周 ⑧ 请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中。
  19. 使用devops的团队_DevOps团队如何为网络星期一做准备
  20. Python使用OpenCV处理图片通道数

热门文章

  1. eclipse 2018 安装html、jsp、JavaScript编辑器
  2. PHP 使用 hprose RPC 服务 系列文章之三——Laravel5.8中使用Hprose
  3. dtcms传递多个参数怎么获取
  4. 秃友进销存标准版内存注册机 Cracked.By.HackWm.
  5. java毕设_java毕业设计选题?
  6. JAVA生成随机数工具类
  7. 安卓开发环境使用 Lombok
  8. 住宅内部通信系统市场现状研究分析与发展前景预测报告
  9. 三菱plc pwm指令_【三菱PLC指令教程】步进指令STL和RET(单序列状态转移图编程)
  10. 【云计算】阿里云-pyodps处理指南