我在数据框中有 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))