Модель GARCH в Python: превышен лимит итераций - PullRequest
0 голосов
/ 02 июня 2018

У меня проблема с моделью 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 Ответ

0 голосов
/ 02 июня 2018

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

results=model.fit(options={'max_iter': 200})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...