【问题标题】:Compounded monthly growth rate calculation in tableau表中的复合月增长率计算
【发布时间】:2020-11-30 21:24:55
【问题描述】:

我有一个包含不同证券的 MTD 回报的数据集,我想随着时间的推移对它们进行复合。有谁知道我如何在 Tableau 中做到这一点?

理想情况下,我想要一个显示每月复利回报的时间表。因为我有每个证券每个月的期末收益,我不需要计算这个,另一方面,我没有证券的美元价值,所以我不能在计算中使用它。

可取的样本数据

+--------+--------+
| Month  | return |
+--------+--------+
| Jan-19 | 10%    |
+--------+--------+
| Feb-19 | 15%    |
+--------+--------+
| Mar-19 | 20%    |
+--------+--------+
| Apr-19 | 10%    |
+--------+--------+
| May-19 | 0%     |
+--------+--------+
| Jun-19 | 11%    |
+--------+--------+
| Jul-19 | 14%    |
+--------+--------+
| Aug-19 | 9%     |
+--------+--------+
| Sep-19 | 6%     |
+--------+--------+
| Oct-19 | 15%    |
+--------+--------+
| Nov-19 | 20%    |
+--------+--------+
| Dec-19 | 8%     |
+--------+--------+
| Jan-20 | 4%     |
+--------+--------+
| Feb-20 | 9%     |
+--------+--------+
| Mar-20 | 7%     |
+--------+--------+
| Apr-20 | 1%     |
+--------+--------+

我希望时间线将复合月增长率 (CMGR) 显示为:

August: 10% return
September: 26.5% return (1-(1+0.10)*(1+0.15) = 0.265 OR 26.5%)
October: 51.8% return (1-(1+0.10)*(1+0.15)(1+0.20) = 0.518 OR 51.8%)

目前我每个月都在做单独的计算,但我很确定在 tableau 中有一个简单的方法来显示这个增长率,通过应用一些运行产品(累积产品)类型的函数.

感谢任何帮助!

【问题讨论】:

  • 您有任何起始本金值吗?还是只需要百分比?
  • 不,我只有每个时期的回报......
  • 第一个和第二个值是正确的,但从那里的值是错误的。这是我目前所拥有的:IF INDEX()==1 THEN AVG([Gross Return (%), MTD]) ELSEIF INDEX()==2 THEN ([Return + 1]*LOOKUP([Return + 1], FIRST())) - 1 ELSEIF INDEX()==3 THEN ([Return + 1]*LOOKUP([Return + 1], FIRST()+1)) - 1 END
  • 我做到了!我就是这样做的:IF INDEX()==1 THEN AVG([Gross Return (%), MTD]) ELSEIF INDEX()==2 THEN ([Return + 1]*LOOKUP([Return + 1], FIRST())) - 1 ELSEIF INDEX()==3 THEN ([Return + 1]*LOOKUP([Return + 1], FIRST()+1)*LOOKUP([Return + 1],FIRST())) - 1 END
  • 可能有更简单的方法,但我只做了 14 次(我的 14 个时期)。

标签: performance tableau-api finance rolling-computation


【解决方案1】:

我已经获取了这个样本数据..

+--------+--------+
| Month  | return |
+--------+--------+
| Jan-19 | 10%    |
+--------+--------+
| Feb-19 | 15%    |
+--------+--------+
| Mar-19 | 20%    |
+--------+--------+
| Apr-19 | 10%    |
+--------+--------+
| May-19 | 0%     |
+--------+--------+
| Jun-19 | 11%    |
+--------+--------+
| Jul-19 | 14%    |
+--------+--------+
| Aug-19 | 9%     |
+--------+--------+
| Sep-19 | 6%     |
+--------+--------+
| Oct-19 | 15%    |
+--------+--------+
| Nov-19 | 20%    |
+--------+--------+
| Dec-19 | 8%     |
+--------+--------+
| Jan-20 | 4%     |
+--------+--------+
| Feb-20 | 9%     |
+--------+--------+
| Mar-20 | 7%     |
+--------+--------+
| Apr-20 | 1%     |
+--------+--------+

Step-1在tableau中导入数据后,创建一个计算字段CMGR,计算为

EXP(RUNNING_SUM(LN(1+SUM([Return]))))-1

running_sum 在对数刻度上进行计算,为我们提供了类似running_product 的函数(遗憾的是,目前在 tableau 中不可用

第 2 步构建您的视图(如屏幕截图所示,它可以按需要工作)

或折线图(如果需要)

【讨论】:

  • 哇,太棒了!谢谢!
  • 很高兴得到帮助。如果它达到目的,请接受并投票,如堆栈溢出所需要的那样!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多