функция не возвращает nan для столбцов в кадре данных, у которых недостаточно точек данных для вычисления ошибки отслеживания 2 Y - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть датафрейм, который содержит избыточные доходы для целого ряда средств.Для дат, на которые данные недоступны (т. Е. Фонд еще не создан), фрейм данных возвращает nan.

        Fund1  Fund2

31/10 / 2016 nan 0.01 30/11/2016 nan 0.05 31/12/2016 nan0,002 31/01/2017 nan -0,023 ... .. ... 31/10/2018 0,01 0,05 30/11/2018 0,003 0,06 31/12/2018 0,01 0,023

Я пытаюсь вычислить отслеживаниеошибка за последние 1 и 2 года с использованием приведенной ниже функции.Для фондов, у которых недостаточно данных для расчета ошибки отслеживания за 2 года (поскольку фонд был создан 1,5 года назад), я хотел бы, чтобы функция возвращала NaN.

Моя функция:

def calc_tracking_error_2Y (data, freq_per_year = 12, tenor_timestep = 24):

if len(data)>=tenor_timestep:
    tracking_error_Y=data.iloc[tenor_timestep:].std()*np.sqrt(freq_per_year)
else:
    tracking_error_Y = np.nan

return tracking_error_Y

Моя проблема в том, что функция не возвращает NaNдля фондов, которые не имеют достаточных точек данных, вместо этого он возвращает число.Можете ли вы посоветовать, как мне написать функцию, чтобы получить nan для фондов, у которых недостаточно данных?

Большое спасибо заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...