gpt4 book ai didi

python - 成交量加权移动平均线

转载 作者:行者123 更新时间:2023-11-28 17:17:53 25 4
gpt4 key购买 nike

我有一个如下所示的 DataFrame:

              LAST PRICE        VOLUME     volume_ratio
date
2005-01-03 1202.08 1.332210e+09 1.23
2005-01-04 1188.05 1.552646e+09 1.55
2005-01-05 1183.74 1.428365e+09 1.65
2005-01-06 1187.89 1.331004e+09 1.23
2005-01-07 1186.19 1.273960e+09 0.83
2005-01-10 1190.25 1.213694e+09 1.06

period = 5 ,我想计算移动平均线 VAMA = CumSum/CumDiv其中 CumSum = (df['volume_ratio']*df['LAST PRICE']).cumsum()CumDiv = df['volume_ratio'].cumsum() , 条件为 CumDiv <= Period .

最初我想使用 expanding.sum()df.apply会工作,但我正在努力;像这样的东西:

cum_div = df['volume_ratio'].expanding(min_periods = 1).sum()
cum_summ = (df['LAST PRICE']*df['volume_ratio']).expanding(min_periods =1).sum()

df['cum_sum'] = df.apply(lambda x: cum_summ if cum_div <= 13, axis = 1)

这显然行不通,所以我对解决这个问题的最佳方法很感兴趣。

提前致谢

最佳答案

只使用滚动 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rolling.html

df['myrollingmean'] = df.VAMA.rolling(window = 5).mean()

关于python - 成交量加权移动平均线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43258216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com