Модель кривой процентной ставки Нельсона-Зигеля-Свенсона в Python
Nelson-Siegel-Svensson Версия модели: из nelson_siegel_svensson импорт NelsonSiegelSvenssonCurve из nelson_siegel_svensson.calibrate импорт calibrate_ns_ols Версия Python: Операционная система: Описание Привет,
У меня есть задача: модель Нельсона-Сигеля-Свенссона подобрать кривую доходности каждый день, используя 6 контрольных значений доходности для данных за октябрь. (Требуются только 2-летние, 3-летние, 5-летние, 7-летние, 10-летние и 30-летние сроки погашения). Импорт данных и графика - это не проблема.
Я нашел несколько кодов для модели Нельсона-Зигеля-Свенссона, сейчас пытаюсь откалибровать.
Что я сделал до сих пор. Код:
Importrates = quandl.get("USTREASURY/YIELD", start_date="2019-10-01", end_date="2019-11-30")Tyields = Importrates.drop(['1 MO', '2 MO', '3 MO','6 MO','1 YR', '20 YR'], ось =1)
t = np.array([2.0, 3.0, 5.0, 7.0, 10.0, 30.0])y = (Tyields)
curve, status = calibrate_ns_ols(t, y, tau0=1) # Калибровка модели NS
Также пробовал это:t = ([2.0, 3.0, 5.0, 7.0, 10.0, 30.0])y = (Tyields)
Насколько я понимаю, t = сроки погашения, а y = доходность. Теперь я пытаюсь получить урожайность из таблицы, но получаю ошибки: несоответствие формы времени и значений или объект 'list' не имеет атрибута 'shape',
В любом случае я знаю, что делаю что-то не так. Может кто-нибудь объяснить или показать код, как это можно сделать из этой таблицы для 6 сроков погашения?
заранее спасибо!