Conda环境下Python对冲算法报错:No module named 'scipy'
问题解决方案
一、解决ModuleNotFoundError: No module named 'scipy'
你的代码运行在snowflakes conda环境中,但该环境未安装scipy,按以下步骤操作:
- 打开Mac终端,激活
snowflakes环境:conda activate snowflakes - 在激活的环境中安装scipy:
若conda安装速度慢,也可使用pip安装:conda install scipypip install scipy - 安装完成后重新运行代码,即可解决模块缺失问题。
二、解决第19行的SyntaxWarning
报错行的核心问题是浮点数与括号之间缺少乘法运算符,Python会将.5视为float对象尝试调用,从而触发语法警告。修改代码第19行:
原代码:
x1 = math.log(asset_price/(b*strike_price)) + .5(asset_volatility*asset_volatility)*time_to_expiration
修改为(添加*,可简化平方写法):
x1 = math.log(asset_price/(b*strike_price)) + 0.5 * (asset_volatility**2) * time_to_expiration
或保留原乘法逻辑:
x1 = math.log(asset_price/(b*strike_price)) + .5 * (asset_volatility*asset_volatility) * time_to_expiration
内容的提问来源于stack exchange,提问作者micfold
相关产品推荐
相关产品推荐

