用Python计算收益和波动率的更有效方法

时间:2019-04-02 20:27:25

标签: python pandas numpy

如果我在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来使代码非常快速。但是,如果我使用循环,那行得通,但不确定是否可以以某种方式利用它来使代码更快地计算收益率和波动率。

0 个答案:

没有答案