Browse Source

Clean up code

pull/367/head
Thomas 4 years ago
parent
commit
5ebfa3eb5d
  1. 2
      apps/api/src/app/portfolio/portfolio-calculator.spec.ts
  2. 34
      apps/api/src/app/portfolio/portfolio-calculator.ts

2
apps/api/src/app/portfolio/portfolio-calculator.spec.ts

@ -1,3 +1,4 @@
import { PortfolioService } from '@ghostfolio/api/app/portfolio/portfolio.service';
import { OrderType } from '@ghostfolio/api/models/order-type';
import { parseDate, resetHours } from '@ghostfolio/common/helper';
import { Currency } from '@prisma/client';
@ -18,7 +19,6 @@ import { TimelinePeriod } from './interfaces/timeline-period.interface';
import { TimelineSpecification } from './interfaces/timeline-specification.interface';
import { TransactionPoint } from './interfaces/transaction-point.interface';
import { PortfolioCalculator } from './portfolio-calculator';
import { PortfolioService } from '@ghostfolio/api/app/portfolio/portfolio.service';
function mockGetValue(symbol: string, date: Date) {
switch (symbol) {

34
apps/api/src/app/portfolio/portfolio-calculator.ts

@ -104,6 +104,23 @@ export class PortfolioCalculator {
}
}
public getAnnualizedPerformancePercent({
daysInMarket,
netPerformancePercent
}: {
daysInMarket: number;
netPerformancePercent: Big;
}): Big {
if (isNumber(daysInMarket) && daysInMarket > 0) {
const exponent = new Big(365).div(daysInMarket).toNumber();
return new Big(
Math.pow(netPerformancePercent.plus(1).toNumber(), exponent)
).minus(1);
}
return new Big(0);
}
public getTransactionPoints(): TransactionPoint[] {
return this.transactionPoints;
}
@ -618,21 +635,4 @@ export class PortfolioCalculator {
!isBefore(currentDate, parseDate(timelineSpecification[i + 1].start))
);
}
public getAnnualizedPerformancePercent({
daysInMarket,
netPerformancePercent
}: {
daysInMarket: number;
netPerformancePercent: Big;
}): Big {
if (isNumber(daysInMarket) && daysInMarket > 0) {
const exponent = new Big(365).div(daysInMarket).toNumber();
return new Big(
Math.pow(netPerformancePercent.plus(1).toNumber(), exponent)
).minus(1);
}
return new Big(0);
}
}

Loading…
Cancel
Save