#group-by #powerbi #multiplication
#сгруппировать по #powerbi #умножение
Вопрос:
Я пытаюсь рассчитать взвешенную доходность по времени для портфеля акций. Формула равна:
У меня есть следующие данные:
Я вычисляю TWR (возврат по времени в Power Bi как:
TWR = productx(tabel1; значение TWR / выход 1)
Отмеченные серым и синим поля представляют собой отдельные единичные запасы. Здесь вы видите, что TWR для серого запаса = 0,030561631, а для синего TWR = 0,012208719, что верно для периода с 09.03.19 по 13.03.19.
Моя проблема в том, что когда я пытаюсь рассчитать TWR для портфеля из двух акций, он принимает произведение og каждой строки. В оранжевом поле я рассчитал правильный результат в Excel. Но в Power BI он принимает произведение серых и синих запасов TWR: (0,0305661631 * 0,012208719) = 0,03143468, что неверно.
Я хочу суммировать (доходность для обеих акций) / sum (двумножитель для обеих акций) для обеих акций на каждую отдельную дату, так, чтобы в итоге получались не две строки (по одной для каждой акции), а общее число на каждую дату для портфеля.
Я вычислил столбец TWR denom / yield -1 в такой мере, как это: twr denom / yield-1 = ВЫЧИСЛИТЬ (1 sumx(tabel1;tabel1(yield) / sumx(tabel1;tabel1[TWR -знаменатель])))
Как я могу решить эту проблему?
Заранее благодарим вас!
Ответ №1:
Это одно из решений вашего вопроса, но оно предполагает, что данные представлены в следующем формате:
[Date] | [Stock] | [TWR] | [Yield]
-----------------------------------
[d1] | X | 12355 | 236
[d1] | y | 23541 | 36
[d2] ... etc.
Т.е. дата не является уникальным значением в таблице, хотя имя 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 между всеми таблицами портфолио.
Надеюсь, это поможет, в противном случае дайте мне знать, где я вас неправильно понял.
Приветствия,
Оскар