0

我对 python 中的 GARCH 模型有疑问。我的代码如下

import sys
import numpy as np
import pandas as pd
from arch import arch_model

sys.setrecursionlimit(1800)

spotmarket = pd.read_excel("./data/external/Spotmarket.xlsx", index=True)

l = spotmarket['Price'].pct_change().dropna()

returns = 100 * l
returns.plot()
plt.show()

model=arch_model(returns, vol='Garch', p=1, o=0, q=1, dist='Normal')
results=model.fit()
print(results.summary())

代码的第一部分运行良好。我在一个单独的 Excel 表中有一天结束的价格,并想用 GARCH 模型对其进行建模。问题是,我收到错误消息The optimizer returned code 9. The message is: Iteration limit exceeded See scipy.optimize.fmin_slsqp for code meaning. 有人知道,我如何处理迭代限制的问题?谢谢!

4

1 回答 1

1

阅读源代码(此处),您可以将其他参数传递给该fit方法。在内部, scipy.optimize.minimize ( doc ) 被调用,您感兴趣的参数可能是max_iterand ftol。尝试手动将默认值 (max_iter=100ftol= 1e-06) 更改为可能导致收敛的新值。例子:

results=model.fit(options={'max_iter': 200})
于 2018-06-02T13:29:31.317 回答