Модель GARCH в Python: превышен лимит итераций

У меня проблема с моделью GARCH в Python. Мой код выглядит следующим образом

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. У кого-нибудь есть идея, как я могу справиться с проблемой с лимитом итерации? Спасибо!

1 ответ

Читая исходный код ( здесь), вы можете передать дополнительные параметры fit метод. Внутри вызывается scipy.optimize.minimize ( doc) и, вероятно, интересующие вас параметры max_iter а также ftol, Попробуйте вручную изменить значения по умолчанию (max_iter=100 а также ftol= 1e-06) к новым, которые могут привести к сближению. Пример:

results=model.fit(options={'max_iter': 200})
Другие вопросы по тегам