如何解决ValueError:在校准 Heston 模型参数时使用序列设置数组元素
我编写了一个 ANN 网络,它有 8 个 heston 模型参数作为输入,并给出了隐含波动率。这工作得很好。现在我开始从现实世界中获取数据并绘制波动率微笑图。然后我使用 ANN 网络,基于训练的网络并使用一些自我选择的参数给我一个 IV 微笑。
现在我想写一个 scipy.optimize 代码来最小化 IV_ANN 和 IV_market 的距离。
函数如下:
def costf(x):
money = (mean_s0/data_WRDS[:,0])*1000
maturity = data_WRDS[:,8]
riskfree = np.zeros((len(data_WRDS)))
rho = x[0] #-0.75
kappa = x[1] #2
chi = x[2] #0.75
v_bar = x[3] #0.2
v_zero = x[4] #0.01
# X2_train should be in rows values in stead of in column values!!
X2_train = (money,maturity,riskfree,rho,kappa,chi,v_bar,v_zero)
X2_train = np.asarray(X2_train).astype(np.float32)
X2_train = X2_train.transpose()
vol_trained = model.predict(X2_train)
vol_trained = vol_trained.reshape(12)
cost = vol_market - vol_trained #obj is to minimize
和 scipy 部分如下:
x0 = [-0.75,2,0.75,0.2,0.01]
sol = least_squares(costf,x0)
然后我得到了错误:
ValueError: setting an array element with a sequence.
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。