Модель кривой процентной ставки Нельсона-Зигеля-Свенсона в 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 сроков погашения?

заранее спасибо!

0 ответов

Другие вопросы по тегам