首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要在一个数据框中计算30只股票的252天的年度每日收益,并分别打印它们

我需要在一个数据框中计算30只股票的252天的年度每日收益,并分别打印它们
EN

Stack Overflow用户
提问于 2019-08-15 15:45:52
回答 1查看 190关注 0票数 1

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

代码语言:javascript
复制
variance = data['Axis Bank'].var()
daily_volatility = np.sqrt(variance)
annual_volatility = np.sqrt(252)*variance

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

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2019-08-15 15:52:28

我认为这里没有必要循环,按所有列获取std,然后按标量乘(如果需要处理Dataframe中的所有列):

代码语言:javascript
复制
df = adj_close.std()
print("Annual HDFC STD Daily Returns:", df*np.sqrt(252))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57506384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档