Browse Source

Combine portfolio calculator creation

pull/3226/head
Thomas Kaul 1 year ago
parent
commit
490cc5d41c
  1. 38
      apps/api/src/app/portfolio/portfolio.service.ts

38
apps/api/src/app/portfolio/portfolio.service.ts

@ -356,6 +356,7 @@ export class PortfolioService {
withExcludedAccounts withExcludedAccounts
}); });
// TODO: 1. Create portfolio calculator
const portfolioCalculator = this.calculatorFactory.createCalculator({ const portfolioCalculator = this.calculatorFactory.createCalculator({
activities, activities,
calculationType: PerformanceCalculationType.TWR, calculationType: PerformanceCalculationType.TWR,
@ -1151,6 +1152,7 @@ export class PortfolioService {
}; };
} }
// TODO: 2. Create portfolio calculator
const portfolioCalculator = this.calculatorFactory.createCalculator({ const portfolioCalculator = this.calculatorFactory.createCalculator({
activities, activities,
calculationType: PerformanceCalculationType.TWR, calculationType: PerformanceCalculationType.TWR,
@ -1769,12 +1771,14 @@ export class PortfolioService {
const daysInMarket = differenceInDays(new Date(), firstOrderDate); const daysInMarket = differenceInDays(new Date(), firstOrderDate);
const annualizedPerformancePercent = this.calculatorFactory // TODO: 3. Create portfolio calculator
.createCalculator({ const portfolioCalculator = this.calculatorFactory.createCalculator({
activities: [], activities: [],
calculationType: PerformanceCalculationType.TWR, calculationType: PerformanceCalculationType.TWR,
currency: userCurrency currency: userCurrency
}) });
const annualizedPerformancePercent = portfolioCalculator
.getAnnualizedPerformancePercent({ .getAnnualizedPerformancePercent({
daysInMarket, daysInMarket,
netPerformancePercent: new Big( netPerformancePercent: new Big(
@ -1783,20 +1787,14 @@ export class PortfolioService {
}) })
?.toNumber(); ?.toNumber();
const annualizedPerformancePercentWithCurrencyEffect = const annualizedPerformancePercentWithCurrencyEffect = portfolioCalculator
this.calculatorFactory .getAnnualizedPerformancePercent({
.createCalculator({ daysInMarket,
activities: [], netPerformancePercent: new Big(
calculationType: PerformanceCalculationType.TWR, performanceInformation.performance.currentNetPerformancePercentWithCurrencyEffect
currency: userCurrency )
}) })
.getAnnualizedPerformancePercent({ ?.toNumber();
daysInMarket,
netPerformancePercent: new Big(
performanceInformation.performance.currentNetPerformancePercentWithCurrencyEffect
)
})
?.toNumber();
return { return {
...performanceInformation.performance, ...performanceInformation.performance,

Loading…
Cancel
Save