python金融分析-欧式期权
欧式看涨期权的蒙特卡洛估值
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 03 10:32:08 2016
@author: Administrator
"""
###欧式看涨期权的蒙特卡洛估值
S0 = 100. # 初始股票指数水平S0
K = 105. # 欧式看涨期权的行权价格K
T = 1.0 # 到期时间T
r = 0.05 # 固定无风险短期利率
sigma = 0.2 # 固定波动率sigma
from numpy import *
I = 100000
random.seed(1000)
# 1 从标准正态分布中取得I个(伪)随机数z
z = random.standard_normal(I)
# 2 计算给定的z所有到期指数水平ST
ST = S0 * exp(r * T + sigma * sqrt(T) * z)
# 3 计算到期时期权的所有内在价值ht
hT = maximum(ST - K, 0)
# 4 通过模特卡罗估算函数估算期权现值C0
C0 = exp(-r * T) * sum(hT) / I
print "Value of the European Call Option %5.3f" % C0