在金融计算中,蒙特卡洛算法是非常常用的一种,当然,蒙特卡洛算法不仅仅用于金融计算,闻名天下的AlfaGo也采用了蒙特卡洛算法。蒙特卡罗方法在金融工程学,宏观经济学,生物医学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算、核工程)等领域应用广泛。
通过python,即便是小白也可以轻松地掌握这种N年前金融工程硕士才会的复杂计算。
下面通过蒙特卡洛算法进行估算欧式看涨期权。设置以下五个参数:
1、初始股票指数水平S0=100;
2、欧式看涨期权的行权价格 K=105;
3、到期时间T=1年;
4、固定无风险短期利率 r=5%;
5、固定波动率 σ=20%
在Black--Scholes--Merton模型中,到期指数水平是一个随机变量。
首先在python里定义参数:
S0 = 100
K = 105
T = 1.0
r = 0.05
sigma = 0.2
然后是估值算法。需要调用NumPy库:
from numpy import *
I = 100000
z = random.standard_normal(I)
ST =S0 * exp((r - 0.5 * sigma **2) * T + sigma * sqrt(T) * z)
hT = maximum(ST - K,0)
C0 = exp(-r * T) * sum(hT) / I
最后是打印结果
print ("Value of the European Call Option %5.3F" % C0)
输出结果如下:
网友评论