I'd like to plot a candlestick of a promising company. My code is in follows:
import numpy as np
import pandas as pd
from pandas_datareader import data as pdr
import fix_yahoo_finance as yf
yf.pdr_override()
#My python 3.6 seem in trouble using pandas_datareader directly,so I install a makeup
gree=pdr.get_data_yahoo('000651.SZ', start='2000-01-01',end='2018-04-30')
gree.info()
gree['Close'].plot(grid=True,figsize=(8,5))
gree['42d']=pd.rolling(gree['Close'],window=42).mean()
gree['42d']=np.round(pd.rolling(gree['Close'],window=42).mean(),2)
gree['252d']=np.round(pd.rolling_mean(gree['Close'],window=252),2)
gree[['Close','42d','252d']].tail()
I met a problem: AttributeError: module 'pandas' has no attribute 'rolling'. Though I have read almost every available answer,I have no idea how to solve it. Could you do me a favor? :D
I think need Series.rolling
, check docs:
So change:
gree['42d']=pd.rolling(gree['Close'],window=42).mean()
gree['42d']=np.round(pd.rolling(gree['Close'],window=42).mean(),2)
gree['252d']=np.round(pd.rolling_mean(gree['Close'],window=252),2)
to:
gree['42d'] = gree['Close'].rolling(window=42).mean().round(2)
gree['252d'] = gree['Close'].rolling(window=252).mean().round(2)
Or if use pandas bellow 0.18.0
:
gree['42d'] = pd.rolling_mean(gree['Close'],window=42)