我正在尝试计算股票投资组合的时间加权收益。公式是:
我有以下数据:
Im计算Power Bi中的TWR(时间加权返回)为:
TWR = productx(tabel1; TWR denom / yield + 1)
灰色和蓝色标记/选择的字段是单独的单个股票。在这里,您可以看到灰色股票的TWR = 0,030561631和蓝色股票的TWR = 0,012208719,这对于从09.03.19到13.03.19的时间段是正确的。
我的问题是,当我尝试计算两支股票的投资组合的总折旧时,每行都要取乘积。在橙色字段中,我已经计算出Excel中的正确结果。但是在Power BI中,它采用了灰色和蓝色库存TWR的乘积:(0,0305661631 * 0,012208719)= 0,03143468,这是不正确的。
我想每个日期对两只股票的总和(两只股票的收益)/总和(两只股票的TWRD终结器),这样我就不会以两行结尾(每只股票一个),而是每个日期都有一个共同的数字为投资组合。
我已经按以下方式计算了列TWR单位/产量-1: twr denom / yield-1 = CALCULATE(1 + sumx(tabel1; tabel1(yield)/ sumx(tabel1; tabel1 [TwrDenominator])))
如何解决此问题?
提前谢谢!
答案 0 :(得分:0)
这是您问题的一种解决方案,但它假定数据采用以下格式:
[Date] | [Stock] | [TWR] | [Yield]
-----------------------------------
[d1] | X | 12355 | 236
[d1] | y | 23541 | 36
[d2] ... etc.
即date不是表中的唯一值,尽管date-stock名称将是。
然后,您可以使用以下代码创建新的计算表:
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的关系。
希望这会有所帮助,否则让我知道我误解了您的地方。
干杯
奥斯卡