我有一只特定股票和标准普尔500指数33年的每周数据。我想计算基于52周股票回报观察的33个年度股票betas。
我知道beta可以使用协方差和方差来计算。我发现熊猫有一个函数pd.rolling.cov,但它不工作。模块“pandas”没有属性“rolling”
import pandas as pd
import numpy as np
stock=pd.read_excel(r"C:\01.xlsx", '2') #read second sheet of excel file
stock['stockreturn']=np.log(stock.AdjCloseStock / stock.AdjCloseStock.shift(1)) #stock ln return
stock['SP500return']=np.log(stock.AdjCloseSP500 / [enter image description here][1]stock.AdjCloseSP500.shift(1)) #SP500 ln return
stock = stock.iloc[1:] #delete first row in dataframe
stock['beta'] = pd.rolling.cov(stock['stockreturn'], stock['SP500return'],
window=52) / pd.rolling.var(stock['SP500return'], window=52)
坦率地说,我不知道如何在33个52周的观察中获得33个年度测试版。任何帮助都是非常感谢的。
发布于 2019-05-26 22:03:34
你在找pd.core.window.Rolling.cov。为了正确拼写方法名,我们要求您使用Read The Fine Manual,
https://stackoverflow.com/questions/56317634
复制