使用python实现估值计算

使用python实现估值计算

在python中利蒙特卡洛公式实现估值计算,具体方法如下:

from time import time

from math import exp, sqrt, log

from random import gauss, seed

seed(2000)

# 计算的初始值

S_0 = 100.0

K = 105

T = 1.0

r = 0.05

sigma = 0.2

M = 50

dt = T/M

I = 20000

start = time()

S = []

for i in range(I):

path = []

for t in range(M+1):

if t==0:

path.append(S_0)

else:

z = gauss(0.0, 1.0)

S_t = path[t-1] * exp((r-0.5*sigma**2) * dt + sigma * sqrt(dt) * z)

path.append(S_t)

S.append(path)

# 实现估值

C_0 = exp(-r * T) *sum([max(path[-1] -K, 0) for path in S])/I

total_time = time() - start

print 'European Option value %.6f'% C_0

print 'total time is %.6f seconds'% total_time

输出结果为:

European Option value 8.159995

total time is 2.384639 seconds

我们的服务
专业提供中小企业网站建设.公司网站建设.外贸网站建设.营销型网站建设,响应式网站建设,商城网站定制,手机网站,微信小程序定制.php应用开发服务,公司成立于2014年,8年专注网站建设,秉承“以客户为根本,以科技为核心,以市场为导向”的经营理念;服务电话13714666846(微信同号)

声明:本站所有作品(图文、音视频)均由用户自行上传分享,或互联网相关知识整合,仅供网友学习交流,若您的权利被侵害,请联系 管理员 删除。

本文链接:http://news.ew35.com/