From d56d6f944fb060fb802f76852c51001606645eb8 Mon Sep 17 00:00:00 2001 From: Daniel Devaud Date: Sat, 23 Mar 2024 08:54:21 +0100 Subject: [PATCH 1/2] Fix GroupBy for investment --- apps/api/src/app/portfolio/portfolio.service.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index d0baa06b8..082721701 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -317,14 +317,21 @@ export class PortfolioService { withDataDecimation: false }); - let investments = items.map( - ({ date, investmentValueWithCurrencyEffect }) => { + let investments: InvestmentItem[]; + + if (groupBy) { + investments = portfolioCalculator.getInvestmentsByGroup({ + groupBy, + data: items + }); + } else { + investments = items.map(({ date, investmentValueWithCurrencyEffect }) => { return { date, investment: investmentValueWithCurrencyEffect }; - } - ); + }); + } let streaks: PortfolioInvestments['streaks']; From 15d27decb9517b200340b709a67df6203621dde8 Mon Sep 17 00:00:00 2001 From: Daniel Devaud Date: Sat, 23 Mar 2024 09:01:55 +0100 Subject: [PATCH 2/2] Use basecurrency for TWR calculation --- apps/api/src/app/portfolio/portfolio-calculator.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/api/src/app/portfolio/portfolio-calculator.ts b/apps/api/src/app/portfolio/portfolio-calculator.ts index 91914f3c7..c625e2b51 100644 --- a/apps/api/src/app/portfolio/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/portfolio-calculator.ts @@ -1382,7 +1382,9 @@ export class PortfolioCalculator { let unitPrices = Object.keys(marketSymbolMap).reduce( (obj, date) => - (obj = Object.assign(obj, { [date]: marketSymbolMap[date][symbol] })), + (obj = Object.assign(obj, { + [date]: marketSymbolMap[date][symbol]?.mul(exchangeRates[date]) + })), {} );