本文目录一览:

如何用excel计算bs模型中的波动率

1、打开一个空白Excel工作表,打开VBA编辑器(点击菜单:工具 - 宏 - Visual Basic编辑器):

2、插入模块(点击VBA编辑器菜单:插入 - 模块):

3、将以下代码复制/粘贴到代码窗口中:

Function CallOpt(stock, exercise, maturity, rate, volatility) As Double

D1 = (Log(stock / exercise) + (rate + (volatility ^ 2) / 2) * maturity) / (volatility * Sqr(maturity))

D2 = D1 - volatility * Sqr(maturity)

CallOpt = stock * Application.NormSDist(D1) - exercise * Exp(-rate * maturity) * Application.NormSDist(D2)

End Function

Function PutOpt(stock, exercise, maturity, rate, volatility) As Double

D1 = (Log(stock / exercise) + (rate + (volatility ^ 2) / 2) * maturity) / (volatility * Sqr(maturity))

D2 = D1 - volatility * Sqr(maturity)

PutOpt = exercise * Exp(-rate * maturity) * Application.NormSDist(-D2) - stock * Application.NormSDist(-D1)

End Function

如何通过一段时间的股票价格来计算该段时期的股价波动率。请给出公式及excel函数。

股价波动率通常是通过股价收益率的波动率来表示。在Excel里的公式也一并如下写出。

股价收益率有两种方法,一种是不连续的,R(t)=P(t)/P(t-1)-1;一种是连续的,R(t)=ln[P(t)/P(t-1)]。

P(t)表示第t天的股价,ln表示自然对数。由于要用到前一天的股价来计算今天的收益率,因此所计算出的收益率的数量n-1比你所知道的股价的数量n要少1个。

计算完收益率R(1),R(2),...R(n-1)之后,开始计算波动率。

所谓波动率,就是标准差。股价收益率的波动率=STDEV(),括号里请框选出n-1个收益率。

这里计算出的是日波动率v。

如果要计算年波动率V,请用日波动率v乘以每年工作天数的根号。比如一年有252个工作日,年波动率的公式V=v*sqrt(252)

excel中期权定价模型怎么求解股价波动率

简单的话就通过隐含波动率的曲面进行插值,如果想精确的话,是远比B-S顺推麻烦N倍,呵呵

求问 在EXCEL中如何使数据随机上下浮动20% ,RAND()的波动性太小了,要波动性大一点

假设数据在A1,利用公式=RANDBETWEEN(-20,20)/100*A1+A1可以求得随机在A1上下浮动20%的值

Excel内有一组数据存在第一行计算需要波动率

b3=AVERAGE(B2:L2) 平均值

b4=IF(B2-$b$30,B2-$C$3,"") 右拉填充至L4 Group1

b5=IF(B2-$C$30,B2-$C$3,"") 右拉填充至L5 Group2

b6=AVERAGE(b4:L4) Group1平均值

b7=AVERAGE(b5:L5) Group2平均值

b8=(abs(b7)+b6)/b3

excel 波动率计算

公式:

=STDEV(OFFSET($B$1,MATCH(D2,$A$2:$A$18,0),,MATCH(F2,$A$2:$A$18,0)-MATCH(D2,$A$2:$A$18,0)+1))