Если у меня есть несколько временных рядов в CSV и я хочу использовать Python для расчета доходности и волатильности, каков наиболее эффективный способ?Набор данных будет примерно таким, как показано ниже, с различными файлами, содержащими несколько временных рядов.
![enter image description here](https://i.stack.imgur.com/17Shp.png)
1) для хранения данных (т. Е. Эффективнее ли загружать всю таблицу непосредственно в виде фрейма данных или загружать каждый временной ряд в словарь(ключ - это имя акции, значения - цены)
2) для расчета доходности и волатильности
Я знаю, что мог бы использовать numpy и pandas для следующих действий:
xls = pd.ExcelFile(filepath) # load the file
df = xls.parse(xls.sheet_names[sheetNo]) # now the file content is in the dataframe
df[‘A_ret’] = np.log(df[‘A’] / df[‘A’].shift(1)) # 1day log return for time series A
df[‘A_volatility’] = pd.rolling_std(df[‘A_ret’],window=252) * np.sqrt(252) # 1y volatility for time series A
Но так как у меня много столбцов и много файлов для обработки, мне было интересно, есть ли лучший способ.Я читал, что Python может скомпилировать некоторую часть кода, чтобы использовать Numba и сделать код очень быстрым.Но это прекрасно работает, если я использую для циклов, не уверен, что смогу использовать это каким-то образом, чтобы ускорить вычисление кода для возврата и волатильности.