【问题标题】:How to build a simple moving average measure如何建立一个简单的移动平均线度量
【发布时间】:2021-11-21 04:53:56
【问题描述】:

我想建立一个度量来获得每天的简单移动平均线。我有一个多维数据集,其中包含一个包含股市信息的表格。

架构

预期结果是,对于每个日期,此度量显示截至该日期的前 X 天的收盘价平均值。

例如,对于日期 2013-02-28 和 X = 5 天,此度量将显示 2013-02-28、2013-02-27、2013-02-26、 2013 年 2 月 25 日,2013 年 2 月 22 日。将这些日期的收盘值相加,然后除以 5。
对每一行进行相同的处理。

仪表板示例

也许仅使用函数tt..agg.mean() 就可以实现,但在范围参数中指明前几天。

问题是我不确定如何动态获取每个日期的前 X 天,以便我可以在度量中使用它们。

【问题讨论】:

    标签: activepivot atoti


    【解决方案1】:

    您可以计算一个滑动平均值,您可以使用 attoti 文档https://docs.atoti.io/latest/lib/atoti.scope.html#atoti.scope.cumulative 中引用的累积范围。

    通过传递包含日期范围的元组,在您的情况下为("-5D", None),您将能够计算数据中每个日期在过去 5 天内的滑动平均值。

    生成的 Python 代码将是:

    import atoti as tt
    // session setup
    ...
    m, l = cube.measures, cube.levels
    // measure setup
    ...
    tt.agg.mean(m["ClosingPrice"], scope=tt.scope.cumulative(l["date"], window=("-5D", None)))
    

    【讨论】:

      猜你喜欢
      • 2012-10-04
      • 2015-01-29
      • 1970-01-01
      • 2013-04-15
      • 2017-09-01
      • 2013-12-22
      • 1970-01-01
      • 2013-11-22
      • 2021-12-26
      相关资源
      最近更新 更多