Python黑斯科尔斯

2024-03-28 16:01:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在anaconda通过spyder运行python。我是python的新用户。我正试图运行一个布莱克斯科尔斯期权价格寻找代码在互联网上。我发现这个网站:

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 *它可以为我定义所有这些变量?你知道吗

谢谢你的帮助。你知道吗


Tags: 代码fromimportlog错误mathanacondasqrt
1条回答
网友
1楼 · 发布于 2024-03-28 16:01:13

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

其他函数(log和sqrt)导入得很好,但是您的IDE似乎忽略了它。你知道吗

相关问题 更多 >