我对Cython还不熟悉,我试着把Black(没有股票分红的Black Scholes)从Python转换成Cython。在编译之后,它不允许我实际使用这个函数。我相信经验丰富的人可以很容易地看到这一点并找出原因。在编译和导入函数from CyBlack import CyBlack并调用CyBlack(BlackPnL, Black_S, Black_Texpiry, Black_strike, Black_volatility, Black_IR, Black_callput)之后,我得到的错误是TypeError: 'module' object is not callable:所以下面是代码:from numpy cimport ndarray

cimport numpy as np

cimport cython

cdef extern from "math.h":

double exp(double)

double sqrt(double)

double pow(double)

double log(double)

double erf(double)

cdef double std_norm_cdf(double x):

return 0.5*(1+erf(x/sqrt(2.0)))

@cython.boundscheck(False)

cdef CyBlack(ndarray[np.float64_t, ndim=1] BlackPnL, ndarray[np.float64_t, ndim=1] Black_S, ndarray[np.float64_t, ndim=1] Black_Texpiry, ndarray[np.float64_t, ndim=1] Black_strike, ndarray [np.float64_t, ndim=1] Black_volatility, ndarray[np.float64_t, ndim=1] Black_IR, ndarray[np.float64_t, ndim=1] Black_callput):

cdef Py_ssize_t i

cdef Py_ssize_t N = BlackPnL.shape[0]

cdef double d1, d2

for i in range(N):

d1 = ((log(Black_S[i] / Black_strike[i]) + Black_Texpiry[i] * Black_volatility[i] **2 / 2)) / (Black_volatility[i] * sqrt(Black_Texpiry[i]))

d2 = d1 - Black_volatility[i] * sqrt(Black_Texpiry[i])

BlackPnL[i] = exp(-Black_IR[i] * Black_Texpiry[i]) * (Black_callput[i] * Black_S[i] * std_norm_cdf(Black_callput[i] * d1) - Black_callput[i] * Black_strike[i] * std_norm_cdf(Black_callput[i] * d2))

return BlackPnL

谢谢你的帮助!如果您需要测试,我可以发布python伪数据-尽管用任何数据调用它都会暴露错误。。。一些东西告诉我变量没有从C代码中暴露给Python。在

在这里添加我的setup.py,这样其他人就可以构建这种类型:python setup.py build_ext --inplace是用VS2015为python3.5 64位Windows构建的。在

^{pr2}$

python 函数定义 编译_Cython编译的模块不允许访问函数定义的“module”而不是callab...相关推荐

  1. [转载] python中string函数的用法_python中string模块各属性以及函数的用法

    参考链接: Python中的string.octdigits 任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符 ...

  2. 2 python全局变量如何指定(是在模块内,还是函数内)

    示例代码1 xx=1 def __recurrence(): # #前面的0到sentence_length-1的下标,存储的就是最原始的词向量,但是我们也要将其转变为Tensorglobal xxx ...

  3. [python](windows)分布式进程问题:pickle模块不能序列化lambda函数

    运行错误:_pickle.PicklingError: Can't pickle <function <lambda> at 0x000002BAAEF12F28>: attr ...

  4. Python入门记录(25)os模块的一些常用函数

    # 项目名:pythonProject2 # NAME:demo33 # 开发时间:2021/4/23 11:51 #os模块 import os #os.system('notepad.exe') ...

  5. python3 selenium 自动化 登录搜狐邮箱之 函数的二次封装和模块的调用及函数的调用

    先建一个 sohuEmailPublic.py 文件,对函数进行封装,让它作为公共的模块开使用 代码如下: from selenium import webdriver from time impor ...

  6. python echo(msg) 字符串_python的subprocess模块

    1 os与commands模块 2 subprocess模块 3 subprocess.Popen类 我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell. ...

  7. Python?Python!(python是解释型还是编译型)

    文章目录 解释型语言?编译型语言? 1. 为什么要有解释型语言? 2. `.pyc`文件 3 对于python是解释型还是编译型的判断 3.1 字节码和机器语言的区别 3.2 解释器和虚拟机 4. 为 ...

  8. python编译反编译,你不知道的心机与陷阱

    谈到python的文件后缀,说眼花缭乱也不为过.来看看你遇到过哪些类型! .py 如果这个不知道,呵呵-那请出门左拐,你还是充钱那个少年,没有一丝丝改变.接着打游戏去吧- .pyc 这个后缀应该算是除 ...

  9. python执行pyc文件_Python 编译:code对象 与 pyc文件

    运行程序 当在shell中敲入python xx.py运行 Python 程序时,就是激活了 Python 解释器. Python 解释器并不会立即运行程序,而是会对 Python 程序的源代码进行编 ...

最新文章

  1. joyui版本和android版本,JOYUI 11内测版正式推送,黑鲨游戏手机体验大幅升级
  2. poj1068解题报告(模拟类)
  3. Linux grep命令分析以及C语言版本的实现
  4. Android从网络上获取图片的两种方式
  5. 从玉农业谋定塞外-丰收节交易会·林裕豪:巴彦淖尔深圳签约
  6. 《Elixir in Action》书评及作者问答录
  7. unity自发光透明shader
  8. Write operations are not allowed in read-only mode 只读模式下(FlushMode.NEVER/MANUAL)写操作不允
  9. 测试丢包_入行游戏测试之弱网测试工具
  10. 用matlab仿真0到9十个数字的语音识别
  11. 缓存与缓冲的区别 Difference Between Cache and Buffer
  12. Python请求外部POST请求,常见四种请求体
  13. 经济基础知识(中级)【9】
  14. 青龙面板跑爱企查脚本 兑换爱奇艺月卡 百度网盘会员等
  15. 浙江省计算机高级教程,2019年9月浙江省计算机二级教程:MS Office高级应用上机指导...
  16. 工业交换机的功率和网络管理方法
  17. 字节后端开发工程师-基础架构 二面面经
  18. PTA习题【python】 7-5 特立独行的幸福
  19. 服务器客户端传输文件,服务器传输文件到客户端
  20. What's the differece between high price houses and low price houses of airbnb?

热门文章

  1. 各种插入函数收集整理
  2. 2023年产品经理需要考的证书——NPDP,含金量高,666
  3. 社区儿童计算机活动总结,幼儿园与社区活动总结
  4. UnicodeEncodeError: 'ascii' codec can't encode character '\u2013'
  5. 软件实施工程师的岗位职责和要求
  6. 软件战场加速剧变!诚迈科技成为Elektrobit中国区增值代理经销商
  7. 最简单DIY基于STM32的远程控制电脑系统②(无线遥杆+按键控制)
  8. 线程池中各个参数如何合理设置
  9. 云队友丨何加盐:影响10位企业大佬的10本书
  10. 航天二院计算机硕士待遇怎么样,航天二院706所