Более эффективный способ вычисления доходности и волатильности в Python - PullRequest
0 голосов
/ 02 апреля 2019

Если у меня есть несколько временных рядов в CSV и я хочу использовать Python для расчета доходности и волатильности, каков наиболее эффективный способ?Набор данных будет примерно таким, как показано ниже, с различными файлами, содержащими несколько временных рядов.

enter image description here

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 и сделать код очень быстрым.Но это прекрасно работает, если я использую для циклов, не уверен, что смогу использовать это каким-то образом, чтобы ускорить вычисление кода для возврата и волатильности.

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