【问题标题】:python black scholes error蟒蛇黑色斯科尔斯错误
【发布时间】:2018-03-06 00:07:46
【问题描述】:

我在 anaconda 中通过 spyder 运行 python。我是一个新的python用户。我正在尝试通过在 Internet 上查找代码来运行 black-scholes 期权定价器。我找到了这个网站:

https://www.packtpub.com/mapt/book/application_development/9781783284375/4

并开始复制代码,但出现很多错误,我不知道为什么。

我所做的只是复制最初的代码:

from math import *
def bs_call(S,X,T,r,sigma):
    d1 = (log(S/X)+(r+sigma*sigma/2.)*T)/(sigma*sqrt(T))
    d2 = d1-sigma*sqrt(T)
    return S*CND(d1)-X*exp(-r*T)*CND(d2)

我得到的错误如下:

'from math import *' use; unable to detect undefined names
log may be undefined
sqrt may be undefined
CND may be undefined

我想通过from math import * 导入数学,它会为我定义所有这些变量?

感谢您的帮助。

【问题讨论】:

    标签: python finance


    【解决方案1】:

    在您附加的示例中,CND 是本文后面定义的函数。您必须复制并运行整个代码!

    其他函数(log 和 sqrt)导入良好,但您的 IDE 似乎忽略了它。

    【讨论】:

    • 谢谢,为什么我的 IDE 会忽略这一点,我该如何解决?谢谢
    • 你可以反过来忽略IDE =)
    • 没看懂,不好意思我是python新手!我已经明确定义了需要通过以下操作导入的 4 个数学变量:from math import log from math import exp from math import sqrt from math import pi,但是,现在运行时出现错误:runfile('L: /Gordon/Python Training/untitled1.py', wdir='L:/Gordon/Python Training')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多