首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameError:我的函数还没有定义

NameError:我的函数还没有定义
EN

Stack Overflow用户
提问于 2016-09-18 12:48:42
回答 1查看 243关注 0票数 0

这是我在ipython笔记本中的python代码

代码语言:javascript
复制
import sys
sys.path.append('C:/Users/dell/.ipynb_checkpoints/bsm_functions.py')
tol=0.5
for option in options_data.index:
forward=futures_data[futures_data['MATURITY']==\
                   options_data.loc[option]['MATURITY']]['PRICE'].values[0]
if(forward*(1-tol)<options_data.loc[option]['STRIKE']
                             <forward*(1+tol)):
    imp_vol=bsm_call_imp_vol(v0,
                 options_data.loc[option]['STRIKE'],
    options_data.loc[option]['TTM'],r,
    options_data.loc[option]['PRICE'],
    sigma_est=2,it=100)
    options_data['IMP_VOL'].loc[option]=imp_vol

这是我写的模块:

代码语言:javascript
复制
def bsm_call_value(S0,K,T,r,sigma):
    from math import log,sqrt,exp
    from scipy import stats
    S0=float(S0)
    d1=(log(S0/K)+(r+0.5*sigma**2)*T)/(sigma*sqrt(T))
    d2=(log(S0/K)+(r-0.5*sigma**2)*T)/(sigma*sqrt(T))
    value=(S0*stats.norm.cdf(d1,0.0,1.0)-K*exp(-r- T)*stats.norm.cdf(d2,0.0,1.0))
    return value
def bsm_vega(S0,K,T,r,sigma):
    from math import log,sqrt
    from scipy import stats
    S0=float(S0)
    d1 = (log(S0 / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * sqrt(T))
    vega=S0*stats.norm.cdf(d1,0.0,1.0)*sqrt(T)
    return vega
def bsm_call_imp_vol(S0,K,T,r,C0,sigma_est,it=100):
    for i in range(it):
        sigma_est-=((bsm_call_value(S0,K,T,r,sigma_est)-C0)/bsm_vega(S0,K,T,r,sigma_est))    
        return sigma_est

我的错误是:

代码语言:javascript
复制
name 'bsm_call_imp_vol' is not defined

我不知道这个错误的原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-18 12:51:21

您需要导入模块。将模块的父目录添加到sys.path中,然后从模块导入名称:

代码语言:javascript
复制
sys.path.append('C:/Users/dell/.ipynb_checkpoints')
from bsm_functions import bsm_call_imp_vol

将路径添加到.py文件本身到sys.path并不会导入模块。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39557798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档