【问题标题】:How to calculate vwap (volume weighted average price) using groupby?如何使用 groupby 计算 vwap(交易量加权平均价格)?
【发布时间】:2019-11-02 09:09:03
【问题描述】:

我想计算每个月的 VWAP 值(即创建的每个组)。

data['Month'] = pd.DatetimeIndex(data['Date']).month
data.head()
data['Year'] = pd.DatetimeIndex(data['Date']).year
data.head()
group = data.groupby(['Month', 'Year'])
group.first() 
data['VWAP'] = (np.cumsum(data['Close Price' * data['Total Traded 
Quantity']) / np.cumsum(data['Total Traded Quantity']))

AttributeError: 'DataFrame' 对象没有属性 'quantity'

【问题讨论】:

  • 你能添加一些示例数据吗,大部分 5-10 行足以理解你的问题。
  • 您的代码不包含任何quantity,如错误所示。
  • 您在 Total Traded 之后添加了一个换行符。这就是为什么它抱怨没有名为“数量”的属性
  • 感谢帮助我发现错误的人。刚刚添加了这一行 'data['VWAP'] = (data['Close Price'] * data['Total Traded Quantity']).cumsum() / data['Total Traded Quantity'].fillna(0).cumsum () 数据.head()'

标签: python-3.x pandas machine-learning


【解决方案1】:

你忘了在数据['收盘价']后面写']',这是我的代码

df['Month'] = pd.DatetimeIndex(df['Date']).month
df['Year'] = pd.DatetimeIndex(df['Date']).year
group = df.groupby(['Month', 'Year'])
df['VWAP'] = (np.cumsum(df['Close Price'] * df['Total Traded Quantity']) / np.cumsum(df['Total Traded Quantity']))

谢谢...

【讨论】:

    猜你喜欢
    • 2017-12-04
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多