我需要在数据帧中计算 30 只股票的 252 天的年每日回报率并单独打印它们



我在数据框中有 30 只股票的调整后收盘价。我需要计算这30只股票中每只的年度每日回报和年度波动率

我需要对此数据框中的 30 个股票(即 30 列(执行此操作

对一列的操作按以下方式执行:

variance = data['Axis Bank'].var()
daily_volatility = np.sqrt(variance)
annual_volatility = np.sqrt(252)*variance

是否有一种方法可以在循环中对数据帧中的所有列执行上述操作?

我尝试了这个循环,但它不起作用,我无法在变量中获取这些值

for columns in data.columns.values.tolist():
variance = data[columns].var()
daily_volatility = np.sqrt(variance)
annual_volatility = np.sqrt(252)*daily_volatility
print(annual_volatility)

我认为这里的循环是没有必要的,按所有列获取std,然后按标量倍数(如果需要处理数据帧中的所有列(:

df = adj_close.std()
print("Annual HDFC STD Daily Returns:", df*np.sqrt(252))

最新更新