加权移动平均成交量

3

我有一个类似于下面的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)

这显然不起作用,所以我很想知道最好的方法来解决这个问题。

提前感谢。


你有可以验证的输出吗? - Scott Boston
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接