def getWilliam(close, high, low):
'''
??????
:param DataFrame close: ???
:param DataFrame high: ?????
:param DataFrame low: ?????
:return: DataFrame w: ????
'''
# ?14???
n = 14
high = pd.rolling_max(high, n)
high.index = range(high.shape[0])
low = pd.rolling_min(low, n)
low.index = range(low.shape[0])
w = 100 - 100 * (close - low) / (high - low)
w.replace([np.nan, np.inf, -np.inf], 0, inplace=True)
return w
评论列表
文章目录