c10_42_binomialCallEuropean.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:Python-for-Finance-Second-Edition 作者: PacktPublishing 项目源码 文件源码
def binomialCall(s,x,T,r,sigma,n=100): 
    deltaT = T /n
    u = exp(sigma * sqrt(deltaT)) 
    d = 1.0 / u
    a = exp(r * deltaT)
    p = (a - d) / (u - d)
    v = [[0.0 for j in sp.arange(i + 1)]  for i in sp.arange(n + 1)] 
    for j in sp.arange(n+1):
        v[n][j] = max(s * u**j * d**(n - j) - x, 0.0) 
    for i in sp.arange(n-1, -1, -1):
        for j in sp.arange(i + 1):
            v[i][j]=exp(-r*deltaT)*(p*v[i+1][j+1]+(1.0-p)*v[i+1][j]) 
    return v[0][0]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号