group-by - Power BI 中的计算时间加权回报
问题描述
我试图计算股票投资组合的时间加权回报。公式为:
我有以下数据:
我将 Power Bi 中的 TWR(时间加权回报)计算为:
TWR = productx(tabel1;TWR denom/yield+1)
灰色和蓝色标记/选定的字段是单个股票。在这里,您看到灰色股票的 TWR = 0,030561631,蓝色股票的 TWR = 0,012208719,这在 09.03.19 到 13.03.19 期间是正确的。
我的问题是,当我试图计算这两只股票的投资组合的 TWR 时,它需要每一行的产品。在橙色字段中,我在 excel 中计算了正确的结果。但在 Power BI 中,它采用灰色和蓝色股票 TWR 的乘积:(0,0305661631 * 0,012208719) = 0,03143468,这是不正确的。
我想在每个日期对两只股票的总和(两只股票的收益率)/总和(两只股票的TWRD分母),这样我最终不会得到两行(每只股票一个),而是投资组合的每个日期都有一个共同的数字.
我用这样的度量计算了列 TWR denom/yield -1:twr denom/yield-1 = CALCULATE(1+sumx(tabel1;tabel1(yield)/sumx(tabel1;tabel1[TwrDenominator])))
我该如何解决这个问题?
先感谢您!
解决方案
这是您的问题的一种解决方案,但它假定数据采用以下格式:
[Date] | [Stock] | [TWR] | [Yield]
-----------------------------------
[d1] | X | 12355 | 236
[d1] | y | 23541 | 36
[d2] ... etc.
即日期不是表中的唯一值,但日期股票名称将是。
然后您可以使用以下代码创建一个新的计算表:
Portfolio_101 =
CalculateTable(
Summarize(
DataTable;
DataTable[Date];
"Yield_over_TWR"; Sum(DataTable[Yield])/Sum(DataTable[TWR_den])+1
);
Datatable[Stock] in {"Stock_Name_1"; "Stock_Name_2"}
)
然后在新的 Portfolio_101 中创建一个度量:
Return_101 =
Productx(
Portfolio_101;
Portfolio_101[Yield_over_TWR]
)-1
如果使用下表中的数据,我创建了三个计算表,一个用于每只股票,第三个(Portfolio_103)将两者结合起来。此外,我有一个日历表,它在所有投资组合表之间具有 1:1 的关系。
希望这会有所帮助,否则让我知道我在哪里误解了你。
干杯,
奥斯卡
推荐阅读
- c# - 如何删除重复值和组数据?
- php - 如何在 php 中运行 mysql 脚本?
- react-native - 区分 react-navigation 选项卡中的滑动和单击导航
- excel - 有条件的循环。做直到数字结束
- javascript - 如何在悬停时在“li”中添加一个类并添加一个未悬停的类?
- c# - 如何从从委托集合中调用委托项目的父项运行子任务?
- node.js - 变量作为参数传递给函数和局部变量
- python - 使用python将数据从文件插入到mysql时出错
- python - 如何根据数据框中的值绘制带有颜色的表格?
- arrays - 从文件创建一个数组并根据 bash 中的一行命名