binomial tree in python

本文介绍了一个使用Python实现的二项期权定价模型。模型参数包括股票初始价格(S0)、到期时间(T)、无风险利率(r)、波动率(vol)、时间步长(M)等。通过生成二项树并计算内在价值,最终对欧式看跌期权进行估值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np

def binomial(strike, optype, extype):
    # optype 'C' = call, 'P' = put
    # extype 'E' = european, 'A' = american    
    
    # set model paramters
    S0 = 100    # initial stock level
    T = 1.0     # time to maturity
    r = 0.05    # risk free rate
    vol = 0.20  # volatility

    M = 1000    # time stpes
    dt = T/M    # length of time interval

    df = np.exp(-r*dt)  
    u = np.exp(vol*np.sqrt(dt)) 
    d = 1/u
    q = (np.exp(r*dt) - d) / (u - d)
    
    # generate tree
    S = np.zeros((M+1,M+1), dtype=np.float64)
    S[0,0] = S0
    for j in xrange(1, M+1, 1):
        for i in xrange(j+1):
            S[i,j] = S[0,0]*u**(j-2*i)
            
    # calculte intrinsic value
    iv = np.zeros((M+1,M+1), dtype=np.float64)
    for j in xrange(M+1):
        for i in xrange(j+1):
            if optype=='C':
                iv[i,j] = max(S[i,j]-strike, 0)
            else:
                iv[i,j] = max(strike-S[i,j], 0)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值