微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ValueError:在校准 Heston 模型参数时使用序列设置数组元素

如何解决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 举报,一经查实,本站将立刻删除。