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 (将#修改为@)